summaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2017-09-29 12:46:30 -0700
committerGitHub <noreply@github.com>2017-09-29 12:46:30 -0700
commitb84736e9b6401df0c6eeab9950bef09458a6aefd (patch)
treed9175208de3236db75a33879750a57b3000ba096 /vendor
parent8b9dbb86133ff0fd6002a391268383d1593918ca (diff)
downloadchat-b84736e9b6401df0c6eeab9950bef09458a6aefd.tar.gz
chat-b84736e9b6401df0c6eeab9950bef09458a6aefd.tar.bz2
chat-b84736e9b6401df0c6eeab9950bef09458a6aefd.zip
Updating server dependancies. (#7538)
Diffstat (limited to 'vendor')
-rw-r--r--vendor/github.com/NYTimes/gziphandler/LICENSE201
-rw-r--r--vendor/github.com/NYTimes/gziphandler/LICENSE.md13
-rw-r--r--vendor/github.com/NYTimes/gziphandler/gzip.go4
-rw-r--r--vendor/github.com/NYTimes/gziphandler/gzip_test.go19
-rw-r--r--vendor/github.com/armon/go-metrics/prometheus/prometheus.go6
-rw-r--r--vendor/github.com/cpanato/html2text/LICENSE1
-rw-r--r--vendor/github.com/disintegration/imaging/.travis.yml5
-rw-r--r--vendor/github.com/disintegration/imaging/helpers.go411
-rw-r--r--vendor/github.com/go-redis/redis/.travis.yml1
-rw-r--r--vendor/github.com/go-redis/redis/README.md3
-rw-r--r--vendor/github.com/go-redis/redis/cluster.go366
-rw-r--r--vendor/github.com/go-redis/redis/cluster_commands.go22
-rw-r--r--vendor/github.com/go-redis/redis/cluster_test.go79
-rw-r--r--vendor/github.com/go-redis/redis/command.go86
-rw-r--r--vendor/github.com/go-redis/redis/commands.go5
-rw-r--r--vendor/github.com/go-redis/redis/commands_test.go55
-rw-r--r--vendor/github.com/go-redis/redis/export_test.go14
-rw-r--r--vendor/github.com/go-redis/redis/internal/error.go27
-rw-r--r--vendor/github.com/go-redis/redis/internal/pool/pool.go25
-rw-r--r--vendor/github.com/go-redis/redis/internal/proto/reader.go2
-rw-r--r--vendor/github.com/go-redis/redis/internal/proto/scan.go2
-rw-r--r--vendor/github.com/go-redis/redis/main_test.go4
-rw-r--r--vendor/github.com/go-redis/redis/options.go10
-rw-r--r--vendor/github.com/go-redis/redis/pipeline.go10
-rw-r--r--vendor/github.com/go-redis/redis/pool_test.go10
-rw-r--r--vendor/github.com/go-redis/redis/pubsub.go5
-rw-r--r--vendor/github.com/go-redis/redis/pubsub_test.go6
-rw-r--r--vendor/github.com/go-redis/redis/redis.go92
-rw-r--r--vendor/github.com/go-redis/redis/ring.go121
-rw-r--r--vendor/github.com/go-redis/redis/sentinel.go6
-rw-r--r--vendor/github.com/go-redis/redis/tx.go23
-rw-r--r--vendor/github.com/go-redis/redis/universal.go7
-rw-r--r--vendor/github.com/golang/protobuf/.travis.yml1
-rw-r--r--vendor/github.com/golang/protobuf/README.md1
-rw-r--r--vendor/github.com/golang/protobuf/jsonpb/jsonpb.go66
-rw-r--r--vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go107
-rw-r--r--vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go425
-rw-r--r--vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto28
-rw-r--r--vendor/github.com/golang/protobuf/protoc-gen-go/generator/generator.go63
-rw-r--r--vendor/github.com/golang/protobuf/protoc-gen-go/generator/name_test.go29
-rw-r--r--vendor/github.com/golang/protobuf/protoc-gen-go/plugin/plugin.proto1
-rw-r--r--vendor/github.com/golang/protobuf/ptypes/any/any.pb.go10
-rw-r--r--vendor/github.com/golang/protobuf/ptypes/any/any.proto10
-rw-r--r--vendor/github.com/gorilla/mux/README.md50
-rw-r--r--vendor/github.com/gorilla/mux/doc.go12
-rw-r--r--vendor/github.com/gorilla/mux/mux.go48
-rw-r--r--vendor/github.com/gorilla/mux/mux_test.go145
-rw-r--r--vendor/github.com/gorilla/mux/old_test.go8
-rw-r--r--vendor/github.com/gorilla/mux/regexp.go5
-rw-r--r--vendor/github.com/gorilla/mux/route.go50
-rw-r--r--vendor/github.com/hashicorp/hcl/decoder.go2
-rw-r--r--vendor/github.com/hashicorp/hcl/decoder_test.go9
-rw-r--r--vendor/github.com/hashicorp/hcl/hcl/parser/parser.go14
-rw-r--r--vendor/github.com/hashicorp/hcl/test-fixtures/float.hcl1
-rw-r--r--vendor/github.com/hashicorp/hcl/test-fixtures/float.json3
-rw-r--r--vendor/github.com/hashicorp/memberlist/memberlist.go4
-rw-r--r--vendor/github.com/lib/pq/.travis.yml1
-rw-r--r--vendor/github.com/lib/pq/conn.go34
-rw-r--r--vendor/github.com/lib/pq/encode.go12
-rw-r--r--vendor/github.com/lib/pq/encode_test.go9
-rw-r--r--vendor/github.com/lib/pq/oid/gen.go59
-rw-r--r--vendor/github.com/lib/pq/oid/types.go172
-rw-r--r--vendor/github.com/lib/pq/rows.go93
-rw-r--r--vendor/github.com/lib/pq/rows_test.go220
-rw-r--r--vendor/github.com/magiconair/properties/.travis.yml1
-rw-r--r--vendor/github.com/magiconair/properties/CHANGELOG.md5
-rw-r--r--vendor/github.com/magiconair/properties/properties.go3
-rw-r--r--vendor/github.com/magiconair/properties/properties_test.go13
-rw-r--r--vendor/github.com/mattermost/html2text/LICENSE1
-rw-r--r--vendor/github.com/miekg/dns/CONTRIBUTORS1
-rw-r--r--vendor/github.com/miekg/dns/client.go332
-rw-r--r--vendor/github.com/miekg/dns/client_test.go168
-rw-r--r--vendor/github.com/miekg/dns/dnsutil/util.go2
-rw-r--r--vendor/github.com/miekg/dns/doc.go30
-rw-r--r--vendor/github.com/miekg/dns/edns.go15
-rw-r--r--vendor/github.com/miekg/dns/internal/socket/cmsghdr.go7
-rw-r--r--vendor/github.com/miekg/dns/internal/socket/cmsghdr_linux_32bit.go20
-rw-r--r--vendor/github.com/miekg/dns/internal/socket/cmsghdr_linux_64bit.go20
-rw-r--r--vendor/github.com/miekg/dns/internal/socket/cmsghdr_other.go13
-rw-r--r--vendor/github.com/miekg/dns/internal/socket/controlmessage.go118
-rw-r--r--vendor/github.com/miekg/dns/internal/socket/controlmessage_test.go103
-rw-r--r--vendor/github.com/miekg/dns/internal/socket/socket.go4
-rw-r--r--vendor/github.com/miekg/dns/internal/socket/sys.go14
-rw-r--r--vendor/github.com/miekg/dns/msg_helpers.go7
-rw-r--r--vendor/github.com/miekg/dns/parse_test.go190
-rw-r--r--vendor/github.com/miekg/dns/privaterr_test.go2
-rw-r--r--vendor/github.com/miekg/dns/scan.go129
-rw-r--r--vendor/github.com/miekg/dns/scan_rr.go590
-rw-r--r--vendor/github.com/miekg/dns/scan_test.go5
-rw-r--r--vendor/github.com/miekg/dns/server_test.go10
-rw-r--r--vendor/github.com/miekg/dns/udp.go15
-rw-r--r--vendor/github.com/miekg/dns/udp_linux.go115
-rw-r--r--vendor/github.com/miekg/dns/udp_linux_test.go68
-rw-r--r--vendor/github.com/miekg/dns/udp_other.go10
-rw-r--r--vendor/github.com/miekg/dns/udp_windows.go5
-rw-r--r--vendor/github.com/minio/minio-go/.travis.yml1
-rw-r--r--vendor/github.com/minio/minio-go/MAINTAINERS.md21
-rw-r--r--vendor/github.com/minio/minio-go/README.md31
-rw-r--r--vendor/github.com/minio/minio-go/api-presigned.go26
-rw-r--r--vendor/github.com/minio/minio-go/api-put-object-multipart.go30
-rw-r--r--vendor/github.com/minio/minio-go/api-put-object-streaming.go4
-rw-r--r--vendor/github.com/minio/minio-go/api-put-object.go17
-rw-r--r--vendor/github.com/minio/minio-go/api.go43
-rw-r--r--vendor/github.com/minio/minio-go/api_unit_test.go44
-rw-r--r--vendor/github.com/minio/minio-go/appveyor.yml1
-rw-r--r--vendor/github.com/minio/minio-go/bucket-cache.go14
-rw-r--r--vendor/github.com/minio/minio-go/docs/API.md47
-rw-r--r--vendor/github.com/minio/minio-go/examples/s3/presignedheadobject.go53
-rw-r--r--vendor/github.com/minio/minio-go/functional_tests.go2253
-rw-r--r--vendor/github.com/minio/minio-go/pkg/s3utils/utils.go5
-rw-r--r--vendor/github.com/mssola/user_agent/.travis.yml11
-rw-r--r--vendor/github.com/mssola/user_agent/LICENSE2
-rw-r--r--vendor/github.com/mssola/user_agent/README.md4
-rw-r--r--vendor/github.com/mssola/user_agent/all_test.go670
-rw-r--r--vendor/github.com/mssola/user_agent/bot.go14
-rw-r--r--vendor/github.com/mssola/user_agent/browser.go40
-rw-r--r--vendor/github.com/mssola/user_agent/operating_systems.go107
-rw-r--r--vendor/github.com/mssola/user_agent/user_agent.go15
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/.travis.yml2
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/main.go4
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/plurals.xml18
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/language/language_test.go4
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/language/operands.go20
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/language/operands_test.go24
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec.go5
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen.go166
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen_test.go52
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_test.go27
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/translation/plural_translation.go2
-rw-r--r--vendor/github.com/nicksnyder/go-i18n/i18n/translation/single_translation.go2
-rw-r--r--vendor/github.com/pelletier/go-toml/.travis.yml2
-rw-r--r--vendor/github.com/pelletier/go-toml/README.md9
-rw-r--r--vendor/github.com/pelletier/go-toml/query/parser.go2
-rw-r--r--vendor/github.com/pkg/errors/.travis.yml1
-rw-r--r--vendor/github.com/prometheus/common/promlog/flag/flag.go33
-rw-r--r--vendor/github.com/prometheus/common/promlog/log.go63
-rw-r--r--vendor/github.com/spf13/afero/match.go110
-rw-r--r--vendor/github.com/spf13/afero/match_test.go183
-rw-r--r--vendor/github.com/spf13/afero/memmap.go5
-rw-r--r--vendor/github.com/spf13/afero/memmap_test.go41
-rw-r--r--vendor/github.com/spf13/cobra/README.md442
-rw-r--r--vendor/github.com/spf13/cobra/bash_completions.go36
-rw-r--r--vendor/github.com/spf13/cobra/bash_completions_test.go2
-rw-r--r--vendor/github.com/spf13/cobra/command.go5
-rw-r--r--vendor/github.com/spf13/cobra/zsh_completions.go20
-rw-r--r--vendor/github.com/spf13/jwalterweatherman/notepad.go2
-rw-r--r--vendor/github.com/xenolf/lego/CHANGELOG.md11
-rw-r--r--vendor/github.com/xenolf/lego/Dockerfile15
-rw-r--r--vendor/github.com/xenolf/lego/README.md4
-rw-r--r--vendor/github.com/xenolf/lego/cli.go4
-rw-r--r--vendor/github.com/xenolf/lego/providers/dns/azure/azure.go7
-rw-r--r--vendor/github.com/xenolf/lego/providers/dns/exoscale/exoscale.go2
-rw-r--r--vendor/github.com/xenolf/lego/providers/dns/rackspace/rackspace.go2
-rw-r--r--vendor/golang.org/x/crypto/acme/acme.go2
-rw-r--r--vendor/golang.org/x/crypto/acme/autocert/autocert.go6
-rw-r--r--vendor/golang.org/x/crypto/acme/autocert/example_test.go1
-rw-r--r--vendor/golang.org/x/crypto/blake2b/blake2b_test.go2
-rw-r--r--vendor/golang.org/x/crypto/chacha20poly1305/internal/chacha20/chacha_generic.go5
-rw-r--r--vendor/golang.org/x/crypto/cryptobyte/asn1.go240
-rw-r--r--vendor/golang.org/x/crypto/cryptobyte/asn1/asn1.go46
-rw-r--r--vendor/golang.org/x/crypto/cryptobyte/asn1_test.go45
-rw-r--r--vendor/golang.org/x/crypto/cryptobyte/builder.go84
-rw-r--r--vendor/golang.org/x/crypto/cryptobyte/cryptobyte_test.go49
-rw-r--r--vendor/golang.org/x/crypto/cryptobyte/example_test.go50
-rw-r--r--vendor/golang.org/x/crypto/cryptobyte/string.go16
-rw-r--r--vendor/golang.org/x/crypto/curve25519/curve25519.go2
-rw-r--r--vendor/golang.org/x/crypto/nacl/box/box.go21
-rw-r--r--vendor/golang.org/x/crypto/nacl/secretbox/secretbox.go17
-rw-r--r--vendor/golang.org/x/crypto/openpgp/keys_test.go25
-rw-r--r--vendor/golang.org/x/crypto/openpgp/packet/private_key_test.go2
-rw-r--r--vendor/golang.org/x/crypto/pkcs12/crypto.go2
-rw-r--r--vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go2
-rw-r--r--vendor/golang.org/x/crypto/salsa20/salsa/salsa20_ref.go2
-rw-r--r--vendor/golang.org/x/crypto/salsa20/salsa20.go4
-rw-r--r--vendor/golang.org/x/crypto/sha3/sha3.go5
-rw-r--r--vendor/golang.org/x/crypto/ssh/agent/client_test.go2
-rw-r--r--vendor/golang.org/x/crypto/ssh/buffer.go5
-rw-r--r--vendor/golang.org/x/crypto/ssh/client_auth.go2
-rw-r--r--vendor/golang.org/x/crypto/ssh/keys.go43
-rw-r--r--vendor/golang.org/x/crypto/ssh/terminal/util.go4
-rw-r--r--vendor/golang.org/x/crypto/xts/xts.go4
-rw-r--r--vendor/golang.org/x/image/README3
-rw-r--r--vendor/golang.org/x/image/README.md17
-rw-r--r--vendor/golang.org/x/image/vector/raster_floating.go42
-rw-r--r--vendor/golang.org/x/image/vector/vector_test.go97
-rw-r--r--vendor/golang.org/x/net/README3
-rw-r--r--vendor/golang.org/x/net/README.md16
-rw-r--r--vendor/golang.org/x/net/html/atom/gen.go135
-rw-r--r--vendor/golang.org/x/net/html/atom/table.go1468
-rw-r--r--vendor/golang.org/x/net/html/atom/table_test.go42
-rw-r--r--vendor/golang.org/x/net/html/const.go4
-rw-r--r--vendor/golang.org/x/net/http2/transport.go190
-rw-r--r--vendor/golang.org/x/net/http2/transport_test.go368
-rw-r--r--vendor/golang.org/x/net/idna/idna.go2
-rw-r--r--vendor/golang.org/x/net/idna/idna_test.go65
-rw-r--r--vendor/golang.org/x/net/proxy/socks5.go3
-rw-r--r--vendor/golang.org/x/net/publicsuffix/gen.go2
-rw-r--r--vendor/golang.org/x/net/publicsuffix/table.go18304
-rw-r--r--vendor/golang.org/x/net/publicsuffix/table_test.go308
-rw-r--r--vendor/golang.org/x/net/webdav/lock_test.go2
-rw-r--r--vendor/golang.org/x/sys/README3
-rw-r--r--vendor/golang.org/x/sys/README.md18
-rw-r--r--vendor/golang.org/x/sys/unix/creds_test.go183
-rw-r--r--vendor/golang.org/x/sys/unix/dev_darwin.go24
-rw-r--r--vendor/golang.org/x/sys/unix/dev_darwin_test.go49
-rw-r--r--vendor/golang.org/x/sys/unix/dev_dragonfly.go30
-rw-r--r--vendor/golang.org/x/sys/unix/dev_dragonfly_test.go48
-rw-r--r--vendor/golang.org/x/sys/unix/dev_freebsd.go30
-rw-r--r--vendor/golang.org/x/sys/unix/dev_linux.go8
-rw-r--r--vendor/golang.org/x/sys/unix/dev_netbsd.go29
-rw-r--r--vendor/golang.org/x/sys/unix/dev_netbsd_test.go50
-rw-r--r--vendor/golang.org/x/sys/unix/dev_openbsd.go29
-rw-r--r--vendor/golang.org/x/sys/unix/dev_openbsd_test.go52
-rw-r--r--vendor/golang.org/x/sys/unix/dev_solaris_test.go49
-rw-r--r--vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go20
-rw-r--r--vendor/golang.org/x/sys/unix/linux/Dockerfile11
-rw-r--r--vendor/golang.org/x/sys/unix/linux/types.go67
-rwxr-xr-xvendor/golang.org/x/sys/unix/mkerrors.sh12
-rwxr-xr-xvendor/golang.org/x/sys/unix/mksysnum_netbsd.pl2
-rw-r--r--vendor/golang.org/x/sys/unix/mmap_unix_test.go12
-rw-r--r--vendor/golang.org/x/sys/unix/pagesize_unix.go15
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_bsd.go11
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin.go11
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin_386.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin_arm.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_dragonfly.go11
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd.go11
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd_386.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux.go17
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_386.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_amd64.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_arm.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_arm64.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go4
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_s390x.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go20
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_test.go7
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd.go5
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd_386.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd.go5
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd_386.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go4
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_solaris.go35
-rw-r--r--vendor/golang.org/x/sys/unix/types_solaris.go4
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_386.go63
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go63
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_arm.go63
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go64
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mips.go62
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go62
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go62
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go62
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go63
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go63
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go63
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go3
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go6
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go184
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go184
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_386.go24
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go24
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go24
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go24
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go24
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go24
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go24
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go24
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go26
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go26
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go24
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go168
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go56
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_386.go2
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go2
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go1
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_386.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_arm.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mips.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go105
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go2
-rw-r--r--vendor/golang.org/x/sys/windows/syscall_windows.go23
-rw-r--r--vendor/golang.org/x/sys/windows/zsyscall_windows.go64
-rw-r--r--vendor/golang.org/x/text/README23
-rw-r--r--vendor/golang.org/x/text/README.md63
-rw-r--r--vendor/golang.org/x/text/cases/tables.go600
-rw-r--r--vendor/golang.org/x/text/cases/tables_test.go44
-rw-r--r--vendor/golang.org/x/text/collate/build/contract.go2
-rw-r--r--vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go2
-rw-r--r--vendor/golang.org/x/text/feature/plural/example_test.go46
-rwxr-xr-xvendor/golang.org/x/text/feature/plural/message.go244
-rw-r--r--vendor/golang.org/x/text/feature/plural/message_test.go197
-rw-r--r--vendor/golang.org/x/text/feature/plural/plural.go34
-rw-r--r--vendor/golang.org/x/text/feature/plural/plural_test.go17
-rw-r--r--vendor/golang.org/x/text/gen.go38
-rw-r--r--vendor/golang.org/x/text/internal/catmsg/catmsg.go2
-rw-r--r--vendor/golang.org/x/text/internal/catmsg/catmsg_test.go26
-rwxr-xr-xvendor/golang.org/x/text/internal/catmsg/codec.go2
-rw-r--r--vendor/golang.org/x/text/internal/export/idna/gen.go19
-rw-r--r--vendor/golang.org/x/text/internal/export/idna/gen_test.go9
-rw-r--r--vendor/golang.org/x/text/internal/export/idna/gen_trieval.go17
-rw-r--r--vendor/golang.org/x/text/internal/export/idna/idna.go107
-rw-r--r--vendor/golang.org/x/text/internal/export/idna/idna_test.go31
-rw-r--r--vendor/golang.org/x/text/internal/export/idna/tables.go4396
-rw-r--r--vendor/golang.org/x/text/internal/export/idna/trieval.go17
-rw-r--r--vendor/golang.org/x/text/internal/format/format.go24
-rw-r--r--vendor/golang.org/x/text/internal/number/decimal.go185
-rw-r--r--vendor/golang.org/x/text/internal/number/decimal_test.go63
-rwxr-xr-xvendor/golang.org/x/text/internal/number/format.go176
-rwxr-xr-xvendor/golang.org/x/text/internal/number/format_test.go70
-rw-r--r--vendor/golang.org/x/text/internal/number/pattern.go92
-rw-r--r--vendor/golang.org/x/text/internal/number/pattern_test.go333
-rw-r--r--vendor/golang.org/x/text/internal/number/tables.go378
-rw-r--r--vendor/golang.org/x/text/internal/ucd/ucd.go115
-rw-r--r--vendor/golang.org/x/text/language/data_test.go425
-rw-r--r--vendor/golang.org/x/text/language/display/display.go77
-rw-r--r--vendor/golang.org/x/text/language/display/display_test.go158
-rw-r--r--vendor/golang.org/x/text/language/display/examples_test.go18
-rw-r--r--vendor/golang.org/x/text/language/display/maketables.go8
-rw-r--r--vendor/golang.org/x/text/language/display/tables.go3114
-rw-r--r--vendor/golang.org/x/text/language/doc.go102
-rw-r--r--vendor/golang.org/x/text/language/examples_test.go21
-rw-r--r--vendor/golang.org/x/text/language/gen.go43
-rw-r--r--vendor/golang.org/x/text/language/index.go1022
-rw-r--r--vendor/golang.org/x/text/language/language.go97
-rw-r--r--vendor/golang.org/x/text/language/match.go306
-rw-r--r--vendor/golang.org/x/text/language/match_test.go247
-rw-r--r--vendor/golang.org/x/text/language/parse.go2
-rw-r--r--vendor/golang.org/x/text/language/tables.go5061
-rw-r--r--vendor/golang.org/x/text/language/testdata/CLDRLocaleMatcherTest.txt (renamed from vendor/golang.org/x/text/language/testdata/localeMatcherTest.txt)0
-rw-r--r--vendor/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt226
-rw-r--r--vendor/golang.org/x/text/message/doc.go100
-rw-r--r--vendor/golang.org/x/text/message/examples_test.go42
-rwxr-xr-xvendor/golang.org/x/text/message/fmt_test.go14
-rw-r--r--vendor/golang.org/x/text/message/message.go10
-rw-r--r--vendor/golang.org/x/text/message/print.go41
-rw-r--r--vendor/golang.org/x/text/number/doc.go28
-rw-r--r--vendor/golang.org/x/text/number/examples_test.go28
-rwxr-xr-xvendor/golang.org/x/text/number/format.go122
-rw-r--r--vendor/golang.org/x/text/number/format_test.go107
-rwxr-xr-xvendor/golang.org/x/text/number/number.go77
-rw-r--r--vendor/golang.org/x/text/number/number_test.go190
-rw-r--r--vendor/golang.org/x/text/number/option.go177
-rw-r--r--vendor/golang.org/x/text/secure/bidirule/bidirule.go4
-rw-r--r--vendor/golang.org/x/text/secure/bidirule/bidirule_test.go86
-rw-r--r--vendor/golang.org/x/text/secure/precis/enforce_test.go24
-rw-r--r--vendor/golang.org/x/text/secure/precis/tables.go3127
-rw-r--r--vendor/golang.org/x/text/unicode/bidi/tables.go1356
-rw-r--r--vendor/golang.org/x/text/unicode/norm/tables.go2842
-rw-r--r--vendor/golang.org/x/text/unicode/norm/transform.go2
-rw-r--r--vendor/golang.org/x/text/unicode/rangetable/gen.go8
-rw-r--r--vendor/golang.org/x/text/unicode/rangetable/tables.go1401
-rw-r--r--vendor/golang.org/x/text/width/tables.go318
-rw-r--r--vendor/golang.org/x/time/README1
-rw-r--r--vendor/golang.org/x/time/README.md17
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/.gitignore1
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/.travis.yml10
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/CONTRIBUTORS4
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/README.md96
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/backoff_test.go6
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/client.go4
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/docker-compose.yml23
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/etc/ingest-geoip/.gitkeep0
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_fsq.go5
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match.go71
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all.go14
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all_test.go17
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match_none.go39
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match_none_test.go44
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase.go79
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_prefix.go89
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_prefix_test.go27
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_test.go29
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_queries_match_test.go34
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_source.go1
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/search_source_test.go4
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/update.go2
415 files changed, 38786 insertions, 27715 deletions
diff --git a/vendor/github.com/NYTimes/gziphandler/LICENSE b/vendor/github.com/NYTimes/gziphandler/LICENSE
new file mode 100644
index 000000000..df6192d36
--- /dev/null
+++ b/vendor/github.com/NYTimes/gziphandler/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2016-2017 The New York Times Company
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/vendor/github.com/NYTimes/gziphandler/LICENSE.md b/vendor/github.com/NYTimes/gziphandler/LICENSE.md
deleted file mode 100644
index b7e2ecb63..000000000
--- a/vendor/github.com/NYTimes/gziphandler/LICENSE.md
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (c) 2015 The New York Times Company
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this library except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/vendor/github.com/NYTimes/gziphandler/gzip.go b/vendor/github.com/NYTimes/gziphandler/gzip.go
index c47039fd3..b6af9115a 100644
--- a/vendor/github.com/NYTimes/gziphandler/gzip.go
+++ b/vendor/github.com/NYTimes/gziphandler/gzip.go
@@ -105,7 +105,7 @@ func (w *GzipResponseWriter) Write(b []byte) (int, error) {
// If the global writes are bigger than the minSize and we're about to write
// a response containing a content type we want to handle, enable
// compression.
- if len(w.buf) >= w.minSize && handleContentType(w.contentTypes, w) {
+ if len(w.buf) >= w.minSize && handleContentType(w.contentTypes, w) && w.Header().Get(contentEncoding) == "" {
err := w.startGzip()
if err != nil {
return 0, err
@@ -134,7 +134,7 @@ func (w *GzipResponseWriter) startGzip() error {
// Initialize the GZIP response.
w.init()
- // Flush the buffer into the gzip reponse.
+ // Flush the buffer into the gzip response.
n, err := w.gw.Write(w.buf)
// This should never happen (per io.Writer docs), but if the write didn't
diff --git a/vendor/github.com/NYTimes/gziphandler/gzip_test.go b/vendor/github.com/NYTimes/gziphandler/gzip_test.go
index d5a7eb82b..655a19373 100644
--- a/vendor/github.com/NYTimes/gziphandler/gzip_test.go
+++ b/vendor/github.com/NYTimes/gziphandler/gzip_test.go
@@ -81,6 +81,17 @@ func TestGzipHandler(t *testing.T) {
assert.Equal(t, http.DetectContentType([]byte(testBody)), res3.Header().Get("Content-Type"))
}
+func TestGzipHandlerAlreadyCompressed(t *testing.T) {
+ handler := newTestHandler(testBody)
+
+ req, _ := http.NewRequest("GET", "/gzipped", nil)
+ req.Header.Set("Accept-Encoding", "gzip")
+ res := httptest.NewRecorder()
+ handler.ServeHTTP(res, req)
+
+ assert.Equal(t, testBody, res.Body.String())
+}
+
func TestNewGzipLevelHandler(t *testing.T) {
handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
@@ -435,6 +446,12 @@ func runBenchmark(b *testing.B, req *http.Request, handler http.Handler) {
func newTestHandler(body string) http.Handler {
return GzipHandler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- io.WriteString(w, body)
+ switch r.URL.Path {
+ case "/gzipped":
+ w.Header().Set("Content-Encoding", "gzip")
+ io.WriteString(w, body)
+ default:
+ io.WriteString(w, body)
+ }
}))
}
diff --git a/vendor/github.com/armon/go-metrics/prometheus/prometheus.go b/vendor/github.com/armon/go-metrics/prometheus/prometheus.go
index f31f2f9a5..a647e5965 100644
--- a/vendor/github.com/armon/go-metrics/prometheus/prometheus.go
+++ b/vendor/github.com/armon/go-metrics/prometheus/prometheus.go
@@ -66,7 +66,7 @@ func (p *PrometheusSink) SetGaugeWithLabels(parts []string, val float32, labels
ConstLabels: prometheusLabels(labels),
})
prometheus.MustRegister(g)
- p.gauges[key] = g
+ p.gauges[hash] = g
}
g.Set(float64(val))
}
@@ -88,7 +88,7 @@ func (p *PrometheusSink) AddSampleWithLabels(parts []string, val float32, labels
ConstLabels: prometheusLabels(labels),
})
prometheus.MustRegister(g)
- p.summaries[key] = g
+ p.summaries[hash] = g
}
g.Observe(float64(val))
}
@@ -115,7 +115,7 @@ func (p *PrometheusSink) IncrCounterWithLabels(parts []string, val float32, labe
ConstLabels: prometheusLabels(labels),
})
prometheus.MustRegister(g)
- p.counters[key] = g
+ p.counters[hash] = g
}
g.Add(float64(val))
}
diff --git a/vendor/github.com/cpanato/html2text/LICENSE b/vendor/github.com/cpanato/html2text/LICENSE
index 24dc4abec..1f2423ecb 100644
--- a/vendor/github.com/cpanato/html2text/LICENSE
+++ b/vendor/github.com/cpanato/html2text/LICENSE
@@ -1,6 +1,7 @@
The MIT License (MIT)
Copyright (c) 2015 Jay Taylor
+Modified work: Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/github.com/disintegration/imaging/.travis.yml b/vendor/github.com/disintegration/imaging/.travis.yml
index 110437d6a..4886abd74 100644
--- a/vendor/github.com/disintegration/imaging/.travis.yml
+++ b/vendor/github.com/disintegration/imaging/.travis.yml
@@ -4,12 +4,9 @@ sudo: false
go:
- 1.2
- - 1.3
- - 1.4
- - 1.5
- - 1.6
- 1.7
- 1.8
+ - 1.9
before_install:
- go get golang.org/x/tools/cmd/cover
diff --git a/vendor/github.com/disintegration/imaging/helpers.go b/vendor/github.com/disintegration/imaging/helpers.go
index 3a4cbde80..9184ccde6 100644
--- a/vendor/github.com/disintegration/imaging/helpers.go
+++ b/vendor/github.com/disintegration/imaging/helpers.go
@@ -168,213 +168,266 @@ func New(width, height int, fillColor color.Color) *image.NRGBA {
// Clone returns a copy of the given image.
func Clone(img image.Image) *image.NRGBA {
- srcBounds := img.Bounds()
- srcMinX := srcBounds.Min.X
- srcMinY := srcBounds.Min.Y
-
- dstBounds := srcBounds.Sub(srcBounds.Min)
- dstW := dstBounds.Dx()
- dstH := dstBounds.Dy()
+ dstBounds := img.Bounds().Sub(img.Bounds().Min)
dst := image.NewNRGBA(dstBounds)
switch src := img.(type) {
-
case *image.NRGBA:
- rowSize := srcBounds.Dx() * 4
- parallel(dstH, func(partStart, partEnd int) {
- for dstY := partStart; dstY < partEnd; dstY++ {
- di := dst.PixOffset(0, dstY)
- si := src.PixOffset(srcMinX, srcMinY+dstY)
- copy(dst.Pix[di:di+rowSize], src.Pix[si:si+rowSize])
+ copyNRGBA(dst, src)
+ case *image.NRGBA64:
+ copyNRGBA64(dst, src)
+ case *image.RGBA:
+ copyRGBA(dst, src)
+ case *image.RGBA64:
+ copyRGBA64(dst, src)
+ case *image.Gray:
+ copyGray(dst, src)
+ case *image.Gray16:
+ copyGray16(dst, src)
+ case *image.YCbCr:
+ copyYCbCr(dst, src)
+ case *image.Paletted:
+ copyPaletted(dst, src)
+ default:
+ copyImage(dst, src)
+ }
+
+ return dst
+}
+
+func copyNRGBA(dst *image.NRGBA, src *image.NRGBA) {
+ srcMinX := src.Rect.Min.X
+ srcMinY := src.Rect.Min.Y
+ dstW := dst.Rect.Dx()
+ dstH := dst.Rect.Dy()
+ rowSize := dstW * 4
+ parallel(dstH, func(partStart, partEnd int) {
+ for dstY := partStart; dstY < partEnd; dstY++ {
+ di := dst.PixOffset(0, dstY)
+ si := src.PixOffset(srcMinX, srcMinY+dstY)
+ copy(dst.Pix[di:di+rowSize], src.Pix[si:si+rowSize])
+ }
+ })
+}
+
+func copyNRGBA64(dst *image.NRGBA, src *image.NRGBA64) {
+ srcMinX := src.Rect.Min.X
+ srcMinY := src.Rect.Min.Y
+ dstW := dst.Rect.Dx()
+ dstH := dst.Rect.Dy()
+ parallel(dstH, func(partStart, partEnd int) {
+ for dstY := partStart; dstY < partEnd; dstY++ {
+ di := dst.PixOffset(0, dstY)
+ si := src.PixOffset(srcMinX, srcMinY+dstY)
+ for dstX := 0; dstX < dstW; dstX++ {
+ dst.Pix[di+0] = src.Pix[si+0]
+ dst.Pix[di+1] = src.Pix[si+2]
+ dst.Pix[di+2] = src.Pix[si+4]
+ dst.Pix[di+3] = src.Pix[si+6]
+ di += 4
+ si += 8
}
- })
+ }
+ })
+}
- case *image.NRGBA64:
- parallel(dstH, func(partStart, partEnd int) {
- for dstY := partStart; dstY < partEnd; dstY++ {
- di := dst.PixOffset(0, dstY)
- si := src.PixOffset(srcMinX, srcMinY+dstY)
- for dstX := 0; dstX < dstW; dstX++ {
+func copyRGBA(dst *image.NRGBA, src *image.RGBA) {
+ srcMinX := src.Rect.Min.X
+ srcMinY := src.Rect.Min.Y
+ dstW := dst.Rect.Dx()
+ dstH := dst.Rect.Dy()
+ parallel(dstH, func(partStart, partEnd int) {
+ for dstY := partStart; dstY < partEnd; dstY++ {
+ di := dst.PixOffset(0, dstY)
+ si := src.PixOffset(srcMinX, srcMinY+dstY)
+ for dstX := 0; dstX < dstW; dstX++ {
+ a := src.Pix[si+3]
+ dst.Pix[di+3] = a
+
+ switch a {
+ case 0:
+ dst.Pix[di+0] = 0
+ dst.Pix[di+1] = 0
+ dst.Pix[di+2] = 0
+ case 0xff:
dst.Pix[di+0] = src.Pix[si+0]
- dst.Pix[di+1] = src.Pix[si+2]
- dst.Pix[di+2] = src.Pix[si+4]
- dst.Pix[di+3] = src.Pix[si+6]
- di += 4
- si += 8
+ dst.Pix[di+1] = src.Pix[si+1]
+ dst.Pix[di+2] = src.Pix[si+2]
+ default:
+ var tmp uint16
+ tmp = uint16(src.Pix[si+0]) * 0xff / uint16(a)
+ dst.Pix[di+0] = uint8(tmp)
+ tmp = uint16(src.Pix[si+1]) * 0xff / uint16(a)
+ dst.Pix[di+1] = uint8(tmp)
+ tmp = uint16(src.Pix[si+2]) * 0xff / uint16(a)
+ dst.Pix[di+2] = uint8(tmp)
}
- }
- })
- case *image.RGBA:
- parallel(dstH, func(partStart, partEnd int) {
- for dstY := partStart; dstY < partEnd; dstY++ {
- di := dst.PixOffset(0, dstY)
- si := src.PixOffset(srcMinX, srcMinY+dstY)
- for dstX := 0; dstX < dstW; dstX++ {
- a := src.Pix[si+3]
- dst.Pix[di+3] = a
-
- switch a {
- case 0:
- dst.Pix[di+0] = 0
- dst.Pix[di+1] = 0
- dst.Pix[di+2] = 0
- case 0xff:
- dst.Pix[di+0] = src.Pix[si+0]
- dst.Pix[di+1] = src.Pix[si+1]
- dst.Pix[di+2] = src.Pix[si+2]
- default:
- var tmp uint16
- tmp = uint16(src.Pix[si+0]) * 0xff / uint16(a)
- dst.Pix[di+0] = uint8(tmp)
- tmp = uint16(src.Pix[si+1]) * 0xff / uint16(a)
- dst.Pix[di+1] = uint8(tmp)
- tmp = uint16(src.Pix[si+2]) * 0xff / uint16(a)
- dst.Pix[di+2] = uint8(tmp)
- }
-
- di += 4
- si += 4
- }
+ di += 4
+ si += 4
}
- })
+ }
+ })
+}
- case *image.RGBA64:
- parallel(dstH, func(partStart, partEnd int) {
- for dstY := partStart; dstY < partEnd; dstY++ {
- di := dst.PixOffset(0, dstY)
- si := src.PixOffset(srcMinX, srcMinY+dstY)
- for dstX := 0; dstX < dstW; dstX++ {
- a := src.Pix[si+6]
- dst.Pix[di+3] = a
-
- switch a {
- case 0:
- dst.Pix[di+0] = 0
- dst.Pix[di+1] = 0
- dst.Pix[di+2] = 0
- case 0xff:
- dst.Pix[di+0] = src.Pix[si+0]
- dst.Pix[di+1] = src.Pix[si+2]
- dst.Pix[di+2] = src.Pix[si+4]
- default:
- var tmp uint16
- tmp = uint16(src.Pix[si+0]) * 0xff / uint16(a)
- dst.Pix[di+0] = uint8(tmp)
- tmp = uint16(src.Pix[si+2]) * 0xff / uint16(a)
- dst.Pix[di+1] = uint8(tmp)
- tmp = uint16(src.Pix[si+4]) * 0xff / uint16(a)
- dst.Pix[di+2] = uint8(tmp)
- }
-
- di += 4
- si += 8
+func copyRGBA64(dst *image.NRGBA, src *image.RGBA64) {
+ srcMinX := src.Rect.Min.X
+ srcMinY := src.Rect.Min.Y
+ dstW := dst.Rect.Dx()
+ dstH := dst.Rect.Dy()
+ parallel(dstH, func(partStart, partEnd int) {
+ for dstY := partStart; dstY < partEnd; dstY++ {
+ di := dst.PixOffset(0, dstY)
+ si := src.PixOffset(srcMinX, srcMinY+dstY)
+ for dstX := 0; dstX < dstW; dstX++ {
+ a := src.Pix[si+6]
+ dst.Pix[di+3] = a
+
+ switch a {
+ case 0:
+ dst.Pix[di+0] = 0
+ dst.Pix[di+1] = 0
+ dst.Pix[di+2] = 0
+ case 0xff:
+ dst.Pix[di+0] = src.Pix[si+0]
+ dst.Pix[di+1] = src.Pix[si+2]
+ dst.Pix[di+2] = src.Pix[si+4]
+ default:
+ var tmp uint16
+ tmp = uint16(src.Pix[si+0]) * 0xff / uint16(a)
+ dst.Pix[di+0] = uint8(tmp)
+ tmp = uint16(src.Pix[si+2]) * 0xff / uint16(a)
+ dst.Pix[di+1] = uint8(tmp)
+ tmp = uint16(src.Pix[si+4]) * 0xff / uint16(a)
+ dst.Pix[di+2] = uint8(tmp)
}
- }
- })
- case *image.Gray:
- parallel(dstH, func(partStart, partEnd int) {
- for dstY := partStart; dstY < partEnd; dstY++ {
- di := dst.PixOffset(0, dstY)
- si := src.PixOffset(srcMinX, srcMinY+dstY)
- for dstX := 0; dstX < dstW; dstX++ {
- c := src.Pix[si]
- dst.Pix[di+0] = c
- dst.Pix[di+1] = c
- dst.Pix[di+2] = c
- dst.Pix[di+3] = 0xff
- di += 4
- si += 1
- }
+ di += 4
+ si += 8
}
- })
+ }
+ })
+}
- case *image.Gray16:
- parallel(dstH, func(partStart, partEnd int) {
- for dstY := partStart; dstY < partEnd; dstY++ {
- di := dst.PixOffset(0, dstY)
- si := src.PixOffset(srcMinX, srcMinY+dstY)
- for dstX := 0; dstX < dstW; dstX++ {
- c := src.Pix[si]
- dst.Pix[di+0] = c
- dst.Pix[di+1] = c
- dst.Pix[di+2] = c
- dst.Pix[di+3] = 0xff
- di += 4
- si += 2
- }
+func copyGray(dst *image.NRGBA, src *image.Gray) {
+ srcMinX := src.Rect.Min.X
+ srcMinY := src.Rect.Min.Y
+ dstW := dst.Rect.Dx()
+ dstH := dst.Rect.Dy()
+ parallel(dstH, func(partStart, partEnd int) {
+ for dstY := partStart; dstY < partEnd; dstY++ {
+ di := dst.PixOffset(0, dstY)
+ si := src.PixOffset(srcMinX, srcMinY+dstY)
+ for dstX := 0; dstX < dstW; dstX++ {
+ c := src.Pix[si]
+ dst.Pix[di+0] = c
+ dst.Pix[di+1] = c
+ dst.Pix[di+2] = c
+ dst.Pix[di+3] = 0xff
+ di += 4
+ si++
}
- })
+ }
+ })
+}
- case *image.YCbCr:
- parallel(dstH, func(partStart, partEnd int) {
- for dstY := partStart; dstY < partEnd; dstY++ {
- di := dst.PixOffset(0, dstY)
- for dstX := 0; dstX < dstW; dstX++ {
- srcX := srcMinX + dstX
- srcY := srcMinY + dstY
- siy := src.YOffset(srcX, srcY)
- sic := src.COffset(srcX, srcY)
- r, g, b := color.YCbCrToRGB(src.Y[siy], src.Cb[sic], src.Cr[sic])
- dst.Pix[di+0] = r
- dst.Pix[di+1] = g
- dst.Pix[di+2] = b
- dst.Pix[di+3] = 0xff
- di += 4
- }
+func copyGray16(dst *image.NRGBA, src *image.Gray16) {
+ srcMinX := src.Rect.Min.X
+ srcMinY := src.Rect.Min.Y
+ dstW := dst.Rect.Dx()
+ dstH := dst.Rect.Dy()
+ parallel(dstH, func(partStart, partEnd int) {
+ for dstY := partStart; dstY < partEnd; dstY++ {
+ di := dst.PixOffset(0, dstY)
+ si := src.PixOffset(srcMinX, srcMinY+dstY)
+ for dstX := 0; dstX < dstW; dstX++ {
+ c := src.Pix[si]
+ dst.Pix[di+0] = c
+ dst.Pix[di+1] = c
+ dst.Pix[di+2] = c
+ dst.Pix[di+3] = 0xff
+ di += 4
+ si += 2
}
- })
-
- case *image.Paletted:
- plen := len(src.Palette)
- pnew := make([]color.NRGBA, plen)
- for i := 0; i < plen; i++ {
- pnew[i] = color.NRGBAModel.Convert(src.Palette[i]).(color.NRGBA)
}
- parallel(dstH, func(partStart, partEnd int) {
- for dstY := partStart; dstY < partEnd; dstY++ {
- di := dst.PixOffset(0, dstY)
- si := src.PixOffset(srcMinX, srcMinY+dstY)
- for dstX := 0; dstX < dstW; dstX++ {
- c := pnew[src.Pix[si]]
- dst.Pix[di+0] = c.R
- dst.Pix[di+1] = c.G
- dst.Pix[di+2] = c.B
- dst.Pix[di+3] = c.A
- di += 4
- si += 1
- }
- }
- })
+ })
+}
- default:
- parallel(dstH, func(partStart, partEnd int) {
- for dstY := partStart; dstY < partEnd; dstY++ {
- di := dst.PixOffset(0, dstY)
- for dstX := 0; dstX < dstW; dstX++ {
- c := color.NRGBAModel.Convert(img.At(srcMinX+dstX, srcMinY+dstY)).(color.NRGBA)
- dst.Pix[di+0] = c.R
- dst.Pix[di+1] = c.G
- dst.Pix[di+2] = c.B
- dst.Pix[di+3] = c.A
- di += 4
- }
+func copyYCbCr(dst *image.NRGBA, src *image.YCbCr) {
+ srcMinX := src.Rect.Min.X
+ srcMinY := src.Rect.Min.Y
+ dstW := dst.Rect.Dx()
+ dstH := dst.Rect.Dy()
+ parallel(dstH, func(partStart, partEnd int) {
+ for dstY := partStart; dstY < partEnd; dstY++ {
+ di := dst.PixOffset(0, dstY)
+ for dstX := 0; dstX < dstW; dstX++ {
+ srcX := srcMinX + dstX
+ srcY := srcMinY + dstY
+ siy := src.YOffset(srcX, srcY)
+ sic := src.COffset(srcX, srcY)
+ r, g, b := color.YCbCrToRGB(src.Y[siy], src.Cb[sic], src.Cr[sic])
+ dst.Pix[di+0] = r
+ dst.Pix[di+1] = g
+ dst.Pix[di+2] = b
+ dst.Pix[di+3] = 0xff
+ di += 4
}
- })
+ }
+ })
+}
+func copyPaletted(dst *image.NRGBA, src *image.Paletted) {
+ srcMinX := src.Rect.Min.X
+ srcMinY := src.Rect.Min.Y
+ dstW := dst.Rect.Dx()
+ dstH := dst.Rect.Dy()
+ plen := len(src.Palette)
+ pnew := make([]color.NRGBA, plen)
+ for i := 0; i < plen; i++ {
+ pnew[i] = color.NRGBAModel.Convert(src.Palette[i]).(color.NRGBA)
}
+ parallel(dstH, func(partStart, partEnd int) {
+ for dstY := partStart; dstY < partEnd; dstY++ {
+ di := dst.PixOffset(0, dstY)
+ si := src.PixOffset(srcMinX, srcMinY+dstY)
+ for dstX := 0; dstX < dstW; dstX++ {
+ c := pnew[src.Pix[si]]
+ dst.Pix[di+0] = c.R
+ dst.Pix[di+1] = c.G
+ dst.Pix[di+2] = c.B
+ dst.Pix[di+3] = c.A
+ di += 4
+ si++
+ }
+ }
+ })
+}
- return dst
+func copyImage(dst *image.NRGBA, src image.Image) {
+ srcMinX := src.Bounds().Min.X
+ srcMinY := src.Bounds().Min.Y
+ dstW := dst.Bounds().Dx()
+ dstH := dst.Bounds().Dy()
+ parallel(dstH, func(partStart, partEnd int) {
+ for dstY := partStart; dstY < partEnd; dstY++ {
+ di := dst.PixOffset(0, dstY)
+ for dstX := 0; dstX < dstW; dstX++ {
+ c := color.NRGBAModel.Convert(src.At(srcMinX+dstX, srcMinY+dstY)).(color.NRGBA)
+ dst.Pix[di+0] = c.R
+ dst.Pix[di+1] = c.G
+ dst.Pix[di+2] = c.B
+ dst.Pix[di+3] = c.A
+ di += 4
+ }
+ }
+ })
}
// toNRGBA converts any image type to *image.NRGBA with min-point at (0, 0).
func toNRGBA(img image.Image) *image.NRGBA {
- srcBounds := img.Bounds()
- if srcBounds.Min.X == 0 && srcBounds.Min.Y == 0 {
- if src0, ok := img.(*image.NRGBA); ok {
- return src0
- }
+ if img, ok := img.(*image.NRGBA); ok && img.Bounds().Min.Eq(image.ZP) {
+ return img
}
return Clone(img)
}
diff --git a/vendor/github.com/go-redis/redis/.travis.yml b/vendor/github.com/go-redis/redis/.travis.yml
index f4666c593..f49927ee8 100644
--- a/vendor/github.com/go-redis/redis/.travis.yml
+++ b/vendor/github.com/go-redis/redis/.travis.yml
@@ -8,6 +8,7 @@ go:
- 1.4.x
- 1.7.x
- 1.8.x
+ - 1.9.x
- tip
matrix:
diff --git a/vendor/github.com/go-redis/redis/README.md b/vendor/github.com/go-redis/redis/README.md
index fd036496d..0a2a67124 100644
--- a/vendor/github.com/go-redis/redis/README.md
+++ b/vendor/github.com/go-redis/redis/README.md
@@ -6,6 +6,7 @@
Supports:
- Redis 3 commands except QUIT, MONITOR, SLOWLOG and SYNC.
+- Automatic connection pooling with [circuit breaker](https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern) support.
- [Pub/Sub](https://godoc.org/github.com/go-redis/redis#PubSub).
- [Transactions](https://godoc.org/github.com/go-redis/redis#Multi).
- [Pipeline](https://godoc.org/github.com/go-redis/redis#example-Client-Pipeline) and [TxPipeline](https://godoc.org/github.com/go-redis/redis#example-Client-TxPipeline).
@@ -16,7 +17,7 @@ Supports:
- [Ring](https://godoc.org/github.com/go-redis/redis#NewRing).
- [Instrumentation](https://godoc.org/github.com/go-redis/redis#ex-package--Instrumentation).
- [Cache friendly](https://github.com/go-redis/cache).
-- [Rate limiting](https://github.com/go-redis/rate).
+- [Rate limiting](https://github.com/go-redis/redis_rate).
- [Distributed Locks](https://github.com/bsm/redis-lock).
API docs: https://godoc.org/github.com/go-redis/redis.
diff --git a/vendor/github.com/go-redis/redis/cluster.go b/vendor/github.com/go-redis/redis/cluster.go
index 647a25be3..c81fc1d57 100644
--- a/vendor/github.com/go-redis/redis/cluster.go
+++ b/vendor/github.com/go-redis/redis/cluster.go
@@ -14,8 +14,8 @@ import (
"github.com/go-redis/redis/internal/proto"
)
-var errClusterNoNodes = internal.RedisError("redis: cluster has no nodes")
-var errNilClusterState = internal.RedisError("redis: cannot load cluster slots")
+var errClusterNoNodes = fmt.Errorf("redis: cluster has no nodes")
+var errNilClusterState = fmt.Errorf("redis: cannot load cluster slots")
// ClusterOptions are used to configure a cluster client and should be
// passed to NewClusterClient.
@@ -64,6 +64,19 @@ func (opt *ClusterOptions) init() {
opt.ReadOnly = true
}
+ switch opt.ReadTimeout {
+ case -1:
+ opt.ReadTimeout = 0
+ case 0:
+ opt.ReadTimeout = 3 * time.Second
+ }
+ switch opt.WriteTimeout {
+ case -1:
+ opt.WriteTimeout = 0
+ case 0:
+ opt.WriteTimeout = opt.ReadTimeout
+ }
+
switch opt.MinRetryBackoff {
case -1:
opt.MinRetryBackoff = 0
@@ -192,6 +205,21 @@ func (c *clusterNodes) Close() error {
return firstErr
}
+func (c *clusterNodes) Addrs() ([]string, error) {
+ c.mu.RLock()
+ closed := c.closed
+ addrs := c.addrs
+ c.mu.RUnlock()
+
+ if closed {
+ return nil, pool.ErrClosed
+ }
+ if len(addrs) == 0 {
+ return nil, errClusterNoNodes
+ }
+ return addrs, nil
+}
+
func (c *clusterNodes) NextGeneration() uint32 {
c.generation++
return c.generation
@@ -272,16 +300,9 @@ func (c *clusterNodes) GetOrCreate(addr string) (*clusterNode, error) {
}
func (c *clusterNodes) Random() (*clusterNode, error) {
- c.mu.RLock()
- closed := c.closed
- addrs := c.addrs
- c.mu.RUnlock()
-
- if closed {
- return nil, pool.ErrClosed
- }
- if len(addrs) == 0 {
- return nil, errClusterNoNodes
+ addrs, err := c.Addrs()
+ if err != nil {
+ return nil, err
}
var nodeErr error
@@ -468,13 +489,23 @@ func (c *ClusterClient) Options() *ClusterOptions {
return c.opt
}
-func (c *ClusterClient) state() *clusterState {
+func (c *ClusterClient) retryBackoff(attempt int) time.Duration {
+ return internal.RetryBackoff(attempt, c.opt.MinRetryBackoff, c.opt.MaxRetryBackoff)
+}
+
+func (c *ClusterClient) state() (*clusterState, error) {
v := c._state.Load()
if v != nil {
- return v.(*clusterState)
+ return v.(*clusterState), nil
}
+
+ _, err := c.nodes.Addrs()
+ if err != nil {
+ return nil, err
+ }
+
c.lazyReloadState()
- return nil
+ return nil, errNilClusterState
}
func (c *ClusterClient) cmdInfo(name string) *CommandInfo {
@@ -495,17 +526,22 @@ func (c *ClusterClient) cmdInfo(name string) *CommandInfo {
if err != nil {
return nil
}
- return c.cmdsInfo[name]
+ info := c.cmdsInfo[name]
+ if info == nil {
+ internal.Logf("info for cmd=%s not found", name)
+ }
+ return info
}
-func (c *ClusterClient) cmdSlotAndNode(state *clusterState, cmd Cmder) (int, *clusterNode, error) {
- if state == nil {
- node, err := c.nodes.Random()
- return 0, node, err
- }
+func (c *ClusterClient) cmdSlot(cmd Cmder) int {
+ cmdInfo := c.cmdInfo(cmd.Name())
+ firstKey := cmd.stringArg(cmdFirstKeyPos(cmd, cmdInfo))
+ return hashtag.Slot(firstKey)
+}
+func (c *ClusterClient) cmdSlotAndNode(state *clusterState, cmd Cmder) (int, *clusterNode, error) {
cmdInfo := c.cmdInfo(cmd.Name())
- firstKey := cmd.arg(cmdFirstKeyPos(cmd, cmdInfo))
+ firstKey := cmd.stringArg(cmdFirstKeyPos(cmd, cmdInfo))
slot := hashtag.Slot(firstKey)
if cmdInfo != nil && cmdInfo.ReadOnly && c.opt.ReadOnly {
@@ -523,19 +559,51 @@ func (c *ClusterClient) cmdSlotAndNode(state *clusterState, cmd Cmder) (int, *cl
}
func (c *ClusterClient) Watch(fn func(*Tx) error, keys ...string) error {
- state := c.state()
+ if len(keys) == 0 {
+ return fmt.Errorf("redis: keys don't hash to the same slot")
+ }
- var node *clusterNode
- var err error
- if state != nil && len(keys) > 0 {
- node, err = state.slotMasterNode(hashtag.Slot(keys[0]))
- } else {
- node, err = c.nodes.Random()
+ state, err := c.state()
+ if err != nil {
+ return err
+ }
+
+ slot := hashtag.Slot(keys[0])
+ for _, key := range keys[1:] {
+ if hashtag.Slot(key) != slot {
+ return fmt.Errorf("redis: Watch requires all keys to be in the same slot")
+ }
}
+
+ node, err := state.slotMasterNode(slot)
if err != nil {
return err
}
- return node.Client.Watch(fn, keys...)
+
+ for attempt := 0; attempt <= c.opt.MaxRedirects; attempt++ {
+ if attempt > 0 {
+ time.Sleep(c.retryBackoff(attempt))
+ }
+
+ err = node.Client.Watch(fn, keys...)
+ if err == nil {
+ break
+ }
+
+ moved, ask, addr := internal.IsMovedError(err)
+ if moved || ask {
+ c.lazyReloadState()
+ node, err = c.nodes.GetOrCreate(addr)
+ if err != nil {
+ return err
+ }
+ continue
+ }
+
+ return err
+ }
+
+ return err
}
// Close closes the cluster client, releasing any open resources.
@@ -547,7 +615,13 @@ func (c *ClusterClient) Close() error {
}
func (c *ClusterClient) Process(cmd Cmder) error {
- slot, node, err := c.cmdSlotAndNode(c.state(), cmd)
+ state, err := c.state()
+ if err != nil {
+ cmd.setErr(err)
+ return err
+ }
+
+ _, node, err := c.cmdSlotAndNode(state, cmd)
if err != nil {
cmd.setErr(err)
return err
@@ -556,7 +630,7 @@ func (c *ClusterClient) Process(cmd Cmder) error {
var ask bool
for attempt := 0; attempt <= c.opt.MaxRedirects; attempt++ {
if attempt > 0 {
- time.Sleep(node.Client.retryBackoff(attempt))
+ time.Sleep(c.retryBackoff(attempt))
}
if ask {
@@ -572,7 +646,7 @@ func (c *ClusterClient) Process(cmd Cmder) error {
// If there is no error - we are done.
if err == nil {
- return nil
+ break
}
// If slave is loading - read from master.
@@ -582,12 +656,11 @@ func (c *ClusterClient) Process(cmd Cmder) error {
continue
}
- // On network errors try random node.
- if internal.IsRetryableError(err) || internal.IsClusterDownError(err) {
- node, err = c.nodes.Random()
- if err != nil {
- cmd.setErr(err)
- return err
+ if internal.IsRetryableError(err, true) {
+ var nodeErr error
+ node, nodeErr = c.nodes.Random()
+ if nodeErr != nil {
+ break
}
continue
}
@@ -596,20 +669,13 @@ func (c *ClusterClient) Process(cmd Cmder) error {
var addr string
moved, ask, addr = internal.IsMovedError(err)
if moved || ask {
- state := c.state()
- if state != nil && slot >= 0 {
- master, _ := state.slotMasterNode(slot)
- if moved && (master == nil || master.Client.getAddr() != addr) {
- c.lazyReloadState()
- }
- }
+ c.lazyReloadState()
- node, err = c.nodes.GetOrCreate(addr)
- if err != nil {
- cmd.setErr(err)
- return err
+ var nodeErr error
+ node, nodeErr = c.nodes.GetOrCreate(addr)
+ if nodeErr != nil {
+ break
}
-
continue
}
@@ -622,9 +688,9 @@ func (c *ClusterClient) Process(cmd Cmder) error {
// ForEachMaster concurrently calls the fn on each master node in the cluster.
// It returns the first error if any.
func (c *ClusterClient) ForEachMaster(fn func(client *Client) error) error {
- state := c.state()
- if state == nil {
- return errNilClusterState
+ state, err := c.state()
+ if err != nil {
+ return err
}
var wg sync.WaitGroup
@@ -655,9 +721,9 @@ func (c *ClusterClient) ForEachMaster(fn func(client *Client) error) error {
// ForEachSlave concurrently calls the fn on each slave node in the cluster.
// It returns the first error if any.
func (c *ClusterClient) ForEachSlave(fn func(client *Client) error) error {
- state := c.state()
- if state == nil {
- return errNilClusterState
+ state, err := c.state()
+ if err != nil {
+ return err
}
var wg sync.WaitGroup
@@ -688,9 +754,9 @@ func (c *ClusterClient) ForEachSlave(fn func(client *Client) error) error {
// ForEachNode concurrently calls the fn on each known node in the cluster.
// It returns the first error if any.
func (c *ClusterClient) ForEachNode(fn func(client *Client) error) error {
- state := c.state()
- if state == nil {
- return errNilClusterState
+ state, err := c.state()
+ if err != nil {
+ return err
}
var wg sync.WaitGroup
@@ -728,27 +794,31 @@ func (c *ClusterClient) ForEachNode(fn func(client *Client) error) error {
func (c *ClusterClient) PoolStats() *PoolStats {
var acc PoolStats
- state := c.state()
+ state, _ := c.state()
if state == nil {
return &acc
}
for _, node := range state.masters {
s := node.Client.connPool.Stats()
- acc.Requests += s.Requests
acc.Hits += s.Hits
+ acc.Misses += s.Misses
acc.Timeouts += s.Timeouts
+
acc.TotalConns += s.TotalConns
acc.FreeConns += s.FreeConns
+ acc.StaleConns += s.StaleConns
}
for _, node := range state.slaves {
s := node.Client.connPool.Stats()
- acc.Requests += s.Requests
acc.Hits += s.Hits
+ acc.Misses += s.Misses
acc.Timeouts += s.Timeouts
+
acc.TotalConns += s.TotalConns
acc.FreeConns += s.FreeConns
+ acc.StaleConns += s.StaleConns
}
return &acc
@@ -762,10 +832,8 @@ func (c *ClusterClient) lazyReloadState() {
go func() {
defer atomic.StoreUint32(&c.reloading, 0)
- var state *clusterState
for {
- var err error
- state, err = c.reloadState()
+ state, err := c.reloadState()
if err == pool.ErrClosed {
return
}
@@ -776,11 +844,10 @@ func (c *ClusterClient) lazyReloadState() {
}
c._state.Store(state)
+ time.Sleep(5 * time.Second)
+ c.nodes.GC(state.generation)
break
}
-
- time.Sleep(3 * time.Second)
- c.nodes.GC(state.generation)
}()
}
@@ -810,21 +877,12 @@ func (c *ClusterClient) reaper(idleCheckFrequency time.Duration) {
break
}
- var n int
for _, node := range nodes {
- nn, err := node.Client.connPool.(*pool.ConnPool).ReapStaleConns()
+ _, err := node.Client.connPool.(*pool.ConnPool).ReapStaleConns()
if err != nil {
internal.Logf("ReapStaleConns failed: %s", err)
- } else {
- n += nn
}
}
-
- s := c.PoolStats()
- internal.Logf(
- "reaper: removed %d stale conns (TotalConns=%d FreeConns=%d Requests=%d Hits=%d Timeouts=%d)",
- n, s.TotalConns, s.FreeConns, s.Requests, s.Hits, s.Timeouts,
- )
}
}
@@ -837,16 +895,21 @@ func (c *ClusterClient) Pipeline() Pipeliner {
}
func (c *ClusterClient) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.Pipeline().pipelined(fn)
+ return c.Pipeline().Pipelined(fn)
}
func (c *ClusterClient) pipelineExec(cmds []Cmder) error {
cmdsMap, err := c.mapCmdsByNode(cmds)
if err != nil {
+ setCmdsErr(cmds, err)
return err
}
- for i := 0; i <= c.opt.MaxRedirects; i++ {
+ for attempt := 0; attempt <= c.opt.MaxRedirects; attempt++ {
+ if attempt > 0 {
+ time.Sleep(c.retryBackoff(attempt))
+ }
+
failedCmds := make(map[*clusterNode][]Cmder)
for node, cmds := range cmdsMap {
@@ -856,8 +919,12 @@ func (c *ClusterClient) pipelineExec(cmds []Cmder) error {
continue
}
- err = c.pipelineProcessCmds(cn, cmds, failedCmds)
- node.Client.releaseConn(cn, err)
+ err = c.pipelineProcessCmds(node, cn, cmds, failedCmds)
+ if err == nil || internal.IsRedisError(err) {
+ _ = node.Client.connPool.Put(cn)
+ } else {
+ _ = node.Client.connPool.Remove(cn)
+ }
}
if len(failedCmds) == 0 {
@@ -866,21 +933,20 @@ func (c *ClusterClient) pipelineExec(cmds []Cmder) error {
cmdsMap = failedCmds
}
- var firstErr error
- for _, cmd := range cmds {
- if err := cmd.Err(); err != nil {
- firstErr = err
- break
- }
- }
- return firstErr
+ return firstCmdsErr(cmds)
}
func (c *ClusterClient) mapCmdsByNode(cmds []Cmder) (map[*clusterNode][]Cmder, error) {
- state := c.state()
+ state, err := c.state()
+ if err != nil {
+ setCmdsErr(cmds, err)
+ return nil, err
+ }
+
cmdsMap := make(map[*clusterNode][]Cmder)
for _, cmd := range cmds {
- _, node, err := c.cmdSlotAndNode(state, cmd)
+ slot := c.cmdSlot(cmd)
+ node, err := state.slotMasterNode(slot)
if err != nil {
return nil, err
}
@@ -890,11 +956,12 @@ func (c *ClusterClient) mapCmdsByNode(cmds []Cmder) (map[*clusterNode][]Cmder, e
}
func (c *ClusterClient) pipelineProcessCmds(
- cn *pool.Conn, cmds []Cmder, failedCmds map[*clusterNode][]Cmder,
+ node *clusterNode, cn *pool.Conn, cmds []Cmder, failedCmds map[*clusterNode][]Cmder,
) error {
cn.SetWriteTimeout(c.opt.WriteTimeout)
if err := writeCmd(cn, cmds...); err != nil {
setCmdsErr(cmds, err)
+ failedCmds[node] = cmds
return err
}
@@ -907,46 +974,53 @@ func (c *ClusterClient) pipelineProcessCmds(
func (c *ClusterClient) pipelineReadCmds(
cn *pool.Conn, cmds []Cmder, failedCmds map[*clusterNode][]Cmder,
) error {
- var firstErr error
for _, cmd := range cmds {
err := cmd.readReply(cn)
if err == nil {
continue
}
- if firstErr == nil {
- firstErr = err
+ if c.checkMovedErr(cmd, err, failedCmds) {
+ continue
}
- err = c.checkMovedErr(cmd, failedCmds)
- if err != nil && firstErr == nil {
- firstErr = err
+ if internal.IsRedisError(err) {
+ continue
}
+
+ return err
}
- return firstErr
+ return nil
}
-func (c *ClusterClient) checkMovedErr(cmd Cmder, failedCmds map[*clusterNode][]Cmder) error {
- moved, ask, addr := internal.IsMovedError(cmd.Err())
+func (c *ClusterClient) checkMovedErr(
+ cmd Cmder, err error, failedCmds map[*clusterNode][]Cmder,
+) bool {
+ moved, ask, addr := internal.IsMovedError(err)
+
if moved {
c.lazyReloadState()
node, err := c.nodes.GetOrCreate(addr)
if err != nil {
- return err
+ return false
}
failedCmds[node] = append(failedCmds[node], cmd)
+ return true
}
+
if ask {
node, err := c.nodes.GetOrCreate(addr)
if err != nil {
- return err
+ return false
}
failedCmds[node] = append(failedCmds[node], NewCmd("ASKING"), cmd)
+ return true
}
- return nil
+
+ return false
}
// TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
@@ -959,29 +1033,29 @@ func (c *ClusterClient) TxPipeline() Pipeliner {
}
func (c *ClusterClient) TxPipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.TxPipeline().pipelined(fn)
+ return c.TxPipeline().Pipelined(fn)
}
func (c *ClusterClient) txPipelineExec(cmds []Cmder) error {
- cmdsMap, err := c.mapCmdsBySlot(cmds)
+ state, err := c.state()
if err != nil {
return err
}
- state := c.state()
- if state == nil {
- return errNilClusterState
- }
-
+ cmdsMap := c.mapCmdsBySlot(cmds)
for slot, cmds := range cmdsMap {
node, err := state.slotMasterNode(slot)
if err != nil {
setCmdsErr(cmds, err)
continue
}
-
cmdsMap := map[*clusterNode][]Cmder{node: cmds}
- for i := 0; i <= c.opt.MaxRedirects; i++ {
+
+ for attempt := 0; attempt <= c.opt.MaxRedirects; attempt++ {
+ if attempt > 0 {
+ time.Sleep(c.retryBackoff(attempt))
+ }
+
failedCmds := make(map[*clusterNode][]Cmder)
for node, cmds := range cmdsMap {
@@ -992,7 +1066,11 @@ func (c *ClusterClient) txPipelineExec(cmds []Cmder) error {
}
err = c.txPipelineProcessCmds(node, cn, cmds, failedCmds)
- node.Client.releaseConn(cn, err)
+ if err == nil || internal.IsRedisError(err) {
+ _ = node.Client.connPool.Put(cn)
+ } else {
+ _ = node.Client.connPool.Remove(cn)
+ }
}
if len(failedCmds) == 0 {
@@ -1002,27 +1080,16 @@ func (c *ClusterClient) txPipelineExec(cmds []Cmder) error {
}
}
- var firstErr error
- for _, cmd := range cmds {
- if err := cmd.Err(); err != nil {
- firstErr = err
- break
- }
- }
- return firstErr
+ return firstCmdsErr(cmds)
}
-func (c *ClusterClient) mapCmdsBySlot(cmds []Cmder) (map[int][]Cmder, error) {
- state := c.state()
+func (c *ClusterClient) mapCmdsBySlot(cmds []Cmder) map[int][]Cmder {
cmdsMap := make(map[int][]Cmder)
for _, cmd := range cmds {
- slot, _, err := c.cmdSlotAndNode(state, cmd)
- if err != nil {
- return nil, err
- }
+ slot := c.cmdSlot(cmd)
cmdsMap[slot] = append(cmdsMap[slot], cmd)
}
- return cmdsMap, nil
+ return cmdsMap
}
func (c *ClusterClient) txPipelineProcessCmds(
@@ -1039,22 +1106,20 @@ func (c *ClusterClient) txPipelineProcessCmds(
cn.SetReadTimeout(c.opt.ReadTimeout)
if err := c.txPipelineReadQueued(cn, cmds, failedCmds); err != nil {
+ setCmdsErr(cmds, err)
return err
}
- _, err := pipelineReadCmds(cn, cmds)
- return err
+ return pipelineReadCmds(cn, cmds)
}
func (c *ClusterClient) txPipelineReadQueued(
cn *pool.Conn, cmds []Cmder, failedCmds map[*clusterNode][]Cmder,
) error {
- var firstErr error
-
// Parse queued replies.
var statusCmd StatusCmd
- if err := statusCmd.readReply(cn); err != nil && firstErr == nil {
- firstErr = err
+ if err := statusCmd.readReply(cn); err != nil {
+ return err
}
for _, cmd := range cmds {
@@ -1063,15 +1128,11 @@ func (c *ClusterClient) txPipelineReadQueued(
continue
}
- cmd.setErr(err)
- if firstErr == nil {
- firstErr = err
+ if c.checkMovedErr(cmd, err, failedCmds) || internal.IsRedisError(err) {
+ continue
}
- err = c.checkMovedErr(cmd, failedCmds)
- if err != nil && firstErr == nil {
- firstErr = err
- }
+ return err
}
// Parse number of replies.
@@ -1085,7 +1146,13 @@ func (c *ClusterClient) txPipelineReadQueued(
switch line[0] {
case proto.ErrorReply:
- return proto.ParseErrorReply(line)
+ err := proto.ParseErrorReply(line)
+ for _, cmd := range cmds {
+ if !c.checkMovedErr(cmd, err, failedCmds) {
+ break
+ }
+ }
+ return err
case proto.ArrayReply:
// ok
default:
@@ -1093,7 +1160,7 @@ func (c *ClusterClient) txPipelineReadQueued(
return err
}
- return firstErr
+ return nil
}
func (c *ClusterClient) pubSub(channels []string) *PubSub {
@@ -1112,7 +1179,12 @@ func (c *ClusterClient) pubSub(channels []string) *PubSub {
slot = -1
}
- masterNode, err := c.state().slotMasterNode(slot)
+ state, err := c.state()
+ if err != nil {
+ return nil, err
+ }
+
+ masterNode, err := state.slotMasterNode(slot)
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/go-redis/redis/cluster_commands.go b/vendor/github.com/go-redis/redis/cluster_commands.go
new file mode 100644
index 000000000..dff62c902
--- /dev/null
+++ b/vendor/github.com/go-redis/redis/cluster_commands.go
@@ -0,0 +1,22 @@
+package redis
+
+import "sync/atomic"
+
+func (c *ClusterClient) DBSize() *IntCmd {
+ cmd := NewIntCmd("dbsize")
+ var size int64
+ err := c.ForEachMaster(func(master *Client) error {
+ n, err := master.DBSize().Result()
+ if err != nil {
+ return err
+ }
+ atomic.AddInt64(&size, n)
+ return nil
+ })
+ if err != nil {
+ cmd.setErr(err)
+ return cmd
+ }
+ cmd.val = size
+ return cmd
+}
diff --git a/vendor/github.com/go-redis/redis/cluster_test.go b/vendor/github.com/go-redis/redis/cluster_test.go
index 324bd1ce1..6f3677b93 100644
--- a/vendor/github.com/go-redis/redis/cluster_test.go
+++ b/vendor/github.com/go-redis/redis/cluster_test.go
@@ -200,7 +200,7 @@ var _ = Describe("ClusterClient", func() {
Eventually(func() string {
return client.Get("A").Val()
- }).Should(Equal("VALUE"))
+ }, 30*time.Second).Should(Equal("VALUE"))
cnt, err := client.Del("A").Result()
Expect(err).NotTo(HaveOccurred())
@@ -215,7 +215,7 @@ var _ = Describe("ClusterClient", func() {
Eventually(func() string {
return client.Get("A").Val()
- }).Should(Equal("VALUE"))
+ }, 30*time.Second).Should(Equal("VALUE"))
})
It("distributes keys", func() {
@@ -227,7 +227,7 @@ var _ = Describe("ClusterClient", func() {
for _, master := range cluster.masters() {
Eventually(func() string {
return master.Info("keyspace").Val()
- }, 5*time.Second).Should(Or(
+ }, 30*time.Second).Should(Or(
ContainSubstring("keys=31"),
ContainSubstring("keys=29"),
ContainSubstring("keys=40"),
@@ -251,7 +251,7 @@ var _ = Describe("ClusterClient", func() {
for _, master := range cluster.masters() {
Eventually(func() string {
return master.Info("keyspace").Val()
- }, 5*time.Second).Should(Or(
+ }, 30*time.Second).Should(Or(
ContainSubstring("keys=31"),
ContainSubstring("keys=29"),
ContainSubstring("keys=40"),
@@ -320,10 +320,6 @@ var _ = Describe("ClusterClient", func() {
Expect(err).NotTo(HaveOccurred())
Expect(cmds).To(HaveLen(14))
- if opt.RouteByLatency {
- return
- }
-
for _, key := range keys {
slot := hashtag.Slot(key)
client.SwapSlotNodes(slot)
@@ -432,6 +428,9 @@ var _ = Describe("ClusterClient", func() {
})
AfterEach(func() {
+ _ = client.ForEachMaster(func(master *redis.Client) error {
+ return master.FlushDB().Err()
+ })
Expect(client.Close()).NotTo(HaveOccurred())
})
@@ -476,11 +475,9 @@ var _ = Describe("ClusterClient", func() {
})
Expect(err).NotTo(HaveOccurred())
- for _, client := range cluster.masters() {
- size, err := client.DBSize().Result()
- Expect(err).NotTo(HaveOccurred())
- Expect(size).To(Equal(int64(0)))
- }
+ size, err := client.DBSize().Result()
+ Expect(err).NotTo(HaveOccurred())
+ Expect(size).To(Equal(int64(0)))
})
It("should CLUSTER SLOTS", func() {
@@ -560,6 +557,9 @@ var _ = Describe("ClusterClient", func() {
})
AfterEach(func() {
+ _ = client.ForEachMaster(func(master *redis.Client) error {
+ return master.FlushDB().Err()
+ })
Expect(client.Close()).NotTo(HaveOccurred())
})
@@ -575,10 +575,19 @@ var _ = Describe("ClusterClient", func() {
_ = client.ForEachMaster(func(master *redis.Client) error {
return master.FlushDB().Err()
})
+
+ _ = client.ForEachSlave(func(slave *redis.Client) error {
+ Eventually(func() int64 {
+ return client.DBSize().Val()
+ }, 30*time.Second).Should(Equal(int64(0)))
+ return nil
+ })
})
AfterEach(func() {
- client.FlushDB()
+ _ = client.ForEachMaster(func(master *redis.Client) error {
+ return master.FlushDB().Err()
+ })
Expect(client.Close()).NotTo(HaveOccurred())
})
@@ -597,7 +606,7 @@ var _ = Describe("ClusterClient without nodes", func() {
Expect(client.Close()).NotTo(HaveOccurred())
})
- It("returns an error", func() {
+ It("Ping returns an error", func() {
err := client.Ping().Err()
Expect(err).To(MatchError("redis: cluster has no nodes"))
})
@@ -626,7 +635,7 @@ var _ = Describe("ClusterClient without valid nodes", func() {
It("returns an error", func() {
err := client.Ping().Err()
- Expect(err).To(MatchError("ERR This instance has cluster support disabled"))
+ Expect(err).To(MatchError("redis: cannot load cluster slots"))
})
It("pipeline returns an error", func() {
@@ -634,7 +643,7 @@ var _ = Describe("ClusterClient without valid nodes", func() {
pipe.Ping()
return nil
})
- Expect(err).To(MatchError("ERR This instance has cluster support disabled"))
+ Expect(err).To(MatchError("redis: cannot load cluster slots"))
})
})
@@ -664,7 +673,7 @@ var _ = Describe("ClusterClient timeout", func() {
It("Tx timeouts", func() {
err := client.Watch(func(tx *redis.Tx) error {
return tx.Ping().Err()
- })
+ }, "foo")
Expect(err).To(HaveOccurred())
Expect(err.(net.Error).Timeout()).To(BeTrue())
})
@@ -676,42 +685,20 @@ var _ = Describe("ClusterClient timeout", func() {
return nil
})
return err
- })
+ }, "foo")
Expect(err).To(HaveOccurred())
Expect(err.(net.Error).Timeout()).To(BeTrue())
})
}
- Context("read timeout", func() {
- BeforeEach(func() {
- opt := redisClusterOptions()
- opt.ReadTimeout = time.Nanosecond
- opt.WriteTimeout = -1
- client = cluster.clusterClient(opt)
- })
-
- testTimeout()
- })
-
- Context("write timeout", func() {
- BeforeEach(func() {
- opt := redisClusterOptions()
- opt.ReadTimeout = time.Nanosecond
- opt.WriteTimeout = -1
- client = cluster.clusterClient(opt)
- })
-
- testTimeout()
- })
-
- Context("ClientPause timeout", func() {
- const pause = time.Second
+ const pause = time.Second
+ Context("read/write timeout", func() {
BeforeEach(func() {
opt := redisClusterOptions()
- opt.ReadTimeout = pause / 10
- opt.WriteTimeout = pause / 10
- opt.MaxRedirects = -1
+ opt.ReadTimeout = 100 * time.Millisecond
+ opt.WriteTimeout = 100 * time.Millisecond
+ opt.MaxRedirects = 1
client = cluster.clusterClient(opt)
err := client.ForEachNode(func(client *redis.Client) error {
diff --git a/vendor/github.com/go-redis/redis/command.go b/vendor/github.com/go-redis/redis/command.go
index 0e5b2016e..d2688082a 100644
--- a/vendor/github.com/go-redis/redis/command.go
+++ b/vendor/github.com/go-redis/redis/command.go
@@ -12,28 +12,10 @@ import (
"github.com/go-redis/redis/internal/proto"
)
-var (
- _ Cmder = (*Cmd)(nil)
- _ Cmder = (*SliceCmd)(nil)
- _ Cmder = (*StatusCmd)(nil)
- _ Cmder = (*IntCmd)(nil)
- _ Cmder = (*DurationCmd)(nil)
- _ Cmder = (*BoolCmd)(nil)
- _ Cmder = (*StringCmd)(nil)
- _ Cmder = (*FloatCmd)(nil)
- _ Cmder = (*StringSliceCmd)(nil)
- _ Cmder = (*BoolSliceCmd)(nil)
- _ Cmder = (*StringStringMapCmd)(nil)
- _ Cmder = (*StringIntMapCmd)(nil)
- _ Cmder = (*ZSliceCmd)(nil)
- _ Cmder = (*ScanCmd)(nil)
- _ Cmder = (*ClusterSlotsCmd)(nil)
-)
-
type Cmder interface {
- args() []interface{}
- arg(int) string
Name() string
+ Args() []interface{}
+ stringArg(int) string
readReply(*pool.Conn) error
setErr(error)
@@ -46,14 +28,25 @@ type Cmder interface {
func setCmdsErr(cmds []Cmder, e error) {
for _, cmd := range cmds {
- cmd.setErr(e)
+ if cmd.Err() == nil {
+ cmd.setErr(e)
+ }
}
}
+func firstCmdsErr(cmds []Cmder) error {
+ for _, cmd := range cmds {
+ if err := cmd.Err(); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
func writeCmd(cn *pool.Conn, cmds ...Cmder) error {
cn.Wb.Reset()
for _, cmd := range cmds {
- if err := cn.Wb.Append(cmd.args()); err != nil {
+ if err := cn.Wb.Append(cmd.Args()); err != nil {
return err
}
}
@@ -64,7 +57,7 @@ func writeCmd(cn *pool.Conn, cmds ...Cmder) error {
func cmdString(cmd Cmder, val interface{}) string {
var ss []string
- for _, arg := range cmd.args() {
+ for _, arg := range cmd.Args() {
ss = append(ss, fmt.Sprint(arg))
}
s := strings.Join(ss, " ")
@@ -86,7 +79,7 @@ func cmdString(cmd Cmder, val interface{}) string {
func cmdFirstKeyPos(cmd Cmder, info *CommandInfo) int {
switch cmd.Name() {
case "eval", "evalsha":
- if cmd.arg(2) != "0" {
+ if cmd.stringArg(2) != "0" {
return 3
} else {
return -1
@@ -95,7 +88,6 @@ func cmdFirstKeyPos(cmd Cmder, info *CommandInfo) int {
return 1
}
if info == nil {
- internal.Logf("info for cmd=%s not found", cmd.Name())
return -1
}
return int(info.FirstKeyPos)
@@ -110,15 +102,17 @@ type baseCmd struct {
_readTimeout *time.Duration
}
+var _ Cmder = (*Cmd)(nil)
+
func (cmd *baseCmd) Err() error {
return cmd.err
}
-func (cmd *baseCmd) args() []interface{} {
+func (cmd *baseCmd) Args() []interface{} {
return cmd._args
}
-func (cmd *baseCmd) arg(pos int) string {
+func (cmd *baseCmd) stringArg(pos int) string {
if pos < 0 || pos >= len(cmd._args) {
return ""
}
@@ -129,7 +123,7 @@ func (cmd *baseCmd) arg(pos int) string {
func (cmd *baseCmd) Name() string {
if len(cmd._args) > 0 {
// Cmd name must be lower cased.
- s := internal.ToLower(cmd.arg(0))
+ s := internal.ToLower(cmd.stringArg(0))
cmd._args[0] = s
return s
}
@@ -194,6 +188,8 @@ type SliceCmd struct {
val []interface{}
}
+var _ Cmder = (*SliceCmd)(nil)
+
func NewSliceCmd(args ...interface{}) *SliceCmd {
return &SliceCmd{
baseCmd: baseCmd{_args: args},
@@ -230,6 +226,8 @@ type StatusCmd struct {
val string
}
+var _ Cmder = (*StatusCmd)(nil)
+
func NewStatusCmd(args ...interface{}) *StatusCmd {
return &StatusCmd{
baseCmd: baseCmd{_args: args},
@@ -261,6 +259,8 @@ type IntCmd struct {
val int64
}
+var _ Cmder = (*IntCmd)(nil)
+
func NewIntCmd(args ...interface{}) *IntCmd {
return &IntCmd{
baseCmd: baseCmd{_args: args},
@@ -293,6 +293,8 @@ type DurationCmd struct {
precision time.Duration
}
+var _ Cmder = (*DurationCmd)(nil)
+
func NewDurationCmd(precision time.Duration, args ...interface{}) *DurationCmd {
return &DurationCmd{
baseCmd: baseCmd{_args: args},
@@ -330,6 +332,8 @@ type TimeCmd struct {
val time.Time
}
+var _ Cmder = (*TimeCmd)(nil)
+
func NewTimeCmd(args ...interface{}) *TimeCmd {
return &TimeCmd{
baseCmd: baseCmd{_args: args},
@@ -366,6 +370,8 @@ type BoolCmd struct {
val bool
}
+var _ Cmder = (*BoolCmd)(nil)
+
func NewBoolCmd(args ...interface{}) *BoolCmd {
return &BoolCmd{
baseCmd: baseCmd{_args: args},
@@ -421,6 +427,8 @@ type StringCmd struct {
val []byte
}
+var _ Cmder = (*StringCmd)(nil)
+
func NewStringCmd(args ...interface{}) *StringCmd {
return &StringCmd{
baseCmd: baseCmd{_args: args},
@@ -484,6 +492,8 @@ type FloatCmd struct {
val float64
}
+var _ Cmder = (*FloatCmd)(nil)
+
func NewFloatCmd(args ...interface{}) *FloatCmd {
return &FloatCmd{
baseCmd: baseCmd{_args: args},
@@ -515,6 +525,8 @@ type StringSliceCmd struct {
val []string
}
+var _ Cmder = (*StringSliceCmd)(nil)
+
func NewStringSliceCmd(args ...interface{}) *StringSliceCmd {
return &StringSliceCmd{
baseCmd: baseCmd{_args: args},
@@ -555,6 +567,8 @@ type BoolSliceCmd struct {
val []bool
}
+var _ Cmder = (*BoolSliceCmd)(nil)
+
func NewBoolSliceCmd(args ...interface{}) *BoolSliceCmd {
return &BoolSliceCmd{
baseCmd: baseCmd{_args: args},
@@ -591,6 +605,8 @@ type StringStringMapCmd struct {
val map[string]string
}
+var _ Cmder = (*StringStringMapCmd)(nil)
+
func NewStringStringMapCmd(args ...interface{}) *StringStringMapCmd {
return &StringStringMapCmd{
baseCmd: baseCmd{_args: args},
@@ -627,6 +643,8 @@ type StringIntMapCmd struct {
val map[string]int64
}
+var _ Cmder = (*StringIntMapCmd)(nil)
+
func NewStringIntMapCmd(args ...interface{}) *StringIntMapCmd {
return &StringIntMapCmd{
baseCmd: baseCmd{_args: args},
@@ -663,6 +681,8 @@ type ZSliceCmd struct {
val []Z
}
+var _ Cmder = (*ZSliceCmd)(nil)
+
func NewZSliceCmd(args ...interface{}) *ZSliceCmd {
return &ZSliceCmd{
baseCmd: baseCmd{_args: args},
@@ -702,6 +722,8 @@ type ScanCmd struct {
process func(cmd Cmder) error
}
+var _ Cmder = (*ScanCmd)(nil)
+
func NewScanCmd(process func(cmd Cmder) error, args ...interface{}) *ScanCmd {
return &ScanCmd{
baseCmd: baseCmd{_args: args},
@@ -752,6 +774,8 @@ type ClusterSlotsCmd struct {
val []ClusterSlot
}
+var _ Cmder = (*ClusterSlotsCmd)(nil)
+
func NewClusterSlotsCmd(args ...interface{}) *ClusterSlotsCmd {
return &ClusterSlotsCmd{
baseCmd: baseCmd{_args: args},
@@ -811,6 +835,8 @@ type GeoLocationCmd struct {
locations []GeoLocation
}
+var _ Cmder = (*GeoLocationCmd)(nil)
+
func NewGeoLocationCmd(q *GeoRadiusQuery, args ...interface{}) *GeoLocationCmd {
args = append(args, q.Radius)
if q.Unit != "" {
@@ -881,6 +907,8 @@ type GeoPosCmd struct {
positions []*GeoPos
}
+var _ Cmder = (*GeoPosCmd)(nil)
+
func NewGeoPosCmd(args ...interface{}) *GeoPosCmd {
return &GeoPosCmd{
baseCmd: baseCmd{_args: args},
@@ -927,6 +955,8 @@ type CommandsInfoCmd struct {
val map[string]*CommandInfo
}
+var _ Cmder = (*CommandsInfoCmd)(nil)
+
func NewCommandsInfoCmd(args ...interface{}) *CommandsInfoCmd {
return &CommandsInfoCmd{
baseCmd: baseCmd{_args: args},
diff --git a/vendor/github.com/go-redis/redis/commands.go b/vendor/github.com/go-redis/redis/commands.go
index 83b3824f8..a3b90f12d 100644
--- a/vendor/github.com/go-redis/redis/commands.go
+++ b/vendor/github.com/go-redis/redis/commands.go
@@ -11,7 +11,7 @@ func readTimeout(timeout time.Duration) time.Duration {
if timeout == 0 {
return 0
}
- return timeout + time.Second
+ return timeout + 10*time.Second
}
func usePrecise(dur time.Duration) bool {
@@ -42,6 +42,9 @@ type Cmdable interface {
Pipeline() Pipeliner
Pipelined(fn func(Pipeliner) error) ([]Cmder, error)
+ TxPipelined(fn func(Pipeliner) error) ([]Cmder, error)
+ TxPipeline() Pipeliner
+
ClientGetName() *StringCmd
Echo(message interface{}) *StringCmd
Ping() *StatusCmd
diff --git a/vendor/github.com/go-redis/redis/commands_test.go b/vendor/github.com/go-redis/redis/commands_test.go
index 4298cba68..6b81f23cf 100644
--- a/vendor/github.com/go-redis/redis/commands_test.go
+++ b/vendor/github.com/go-redis/redis/commands_test.go
@@ -27,11 +27,21 @@ var _ = Describe("Commands", func() {
Describe("server", func() {
It("should Auth", func() {
- _, err := client.Pipelined(func(pipe redis.Pipeliner) error {
+ cmds, err := client.Pipelined(func(pipe redis.Pipeliner) error {
pipe.Auth("password")
+ pipe.Auth("")
return nil
})
Expect(err).To(MatchError("ERR Client sent AUTH, but no password is set"))
+ Expect(cmds[0].Err()).To(MatchError("ERR Client sent AUTH, but no password is set"))
+ Expect(cmds[1].Err()).To(MatchError("ERR Client sent AUTH, but no password is set"))
+
+ stats := client.PoolStats()
+ Expect(stats.Hits).To(Equal(uint32(1)))
+ Expect(stats.Misses).To(Equal(uint32(1)))
+ Expect(stats.Timeouts).To(Equal(uint32(0)))
+ Expect(stats.TotalConns).To(Equal(uint32(1)))
+ Expect(stats.FreeConns).To(Equal(uint32(1)))
})
It("should Echo", func() {
@@ -187,6 +197,29 @@ var _ = Describe("Commands", func() {
Expect(tm).To(BeTemporally("~", time.Now(), 3*time.Second))
})
+ It("Should Command", func() {
+ cmds, err := client.Command().Result()
+ Expect(err).NotTo(HaveOccurred())
+ Expect(len(cmds)).To(BeNumerically("~", 180, 10))
+
+ cmd := cmds["mget"]
+ Expect(cmd.Name).To(Equal("mget"))
+ Expect(cmd.Arity).To(Equal(int8(-2)))
+ Expect(cmd.Flags).To(ContainElement("readonly"))
+ Expect(cmd.FirstKeyPos).To(Equal(int8(1)))
+ Expect(cmd.LastKeyPos).To(Equal(int8(-1)))
+ Expect(cmd.StepCount).To(Equal(int8(1)))
+
+ cmd = cmds["ping"]
+ Expect(cmd.Name).To(Equal("ping"))
+ Expect(cmd.Arity).To(Equal(int8(-1)))
+ Expect(cmd.Flags).To(ContainElement("stale"))
+ Expect(cmd.Flags).To(ContainElement("fast"))
+ Expect(cmd.FirstKeyPos).To(Equal(int8(0)))
+ Expect(cmd.LastKeyPos).To(Equal(int8(0)))
+ Expect(cmd.StepCount).To(Equal(int8(0)))
+ })
+
})
Describe("debugging", func() {
@@ -1358,8 +1391,8 @@ var _ = Describe("Commands", func() {
Expect(client.Ping().Err()).NotTo(HaveOccurred())
stats := client.PoolStats()
- Expect(stats.Requests).To(Equal(uint32(3)))
Expect(stats.Hits).To(Equal(uint32(1)))
+ Expect(stats.Misses).To(Equal(uint32(2)))
Expect(stats.Timeouts).To(Equal(uint32(0)))
})
@@ -2887,24 +2920,6 @@ var _ = Describe("Commands", func() {
})
- Describe("Command", func() {
-
- It("returns map of commands", func() {
- cmds, err := client.Command().Result()
- Expect(err).NotTo(HaveOccurred())
- Expect(len(cmds)).To(BeNumerically("~", 180, 10))
-
- cmd := cmds["mget"]
- Expect(cmd.Name).To(Equal("mget"))
- Expect(cmd.Arity).To(Equal(int8(-2)))
- Expect(cmd.Flags).To(ContainElement("readonly"))
- Expect(cmd.FirstKeyPos).To(Equal(int8(1)))
- Expect(cmd.LastKeyPos).To(Equal(int8(-1)))
- Expect(cmd.StepCount).To(Equal(int8(1)))
- })
-
- })
-
Describe("Eval", func() {
It("returns keys and values", func() {
diff --git a/vendor/github.com/go-redis/redis/export_test.go b/vendor/github.com/go-redis/redis/export_test.go
index 3b7965d79..bcc18c457 100644
--- a/vendor/github.com/go-redis/redis/export_test.go
+++ b/vendor/github.com/go-redis/redis/export_test.go
@@ -20,8 +20,13 @@ func (c *PubSub) ReceiveMessageTimeout(timeout time.Duration) (*Message, error)
}
func (c *ClusterClient) SlotAddrs(slot int) []string {
+ state, err := c.state()
+ if err != nil {
+ panic(err)
+ }
+
var addrs []string
- for _, n := range c.state().slotNodes(slot) {
+ for _, n := range state.slotNodes(slot) {
addrs = append(addrs, n.Client.getAddr())
}
return addrs
@@ -29,7 +34,12 @@ func (c *ClusterClient) SlotAddrs(slot int) []string {
// SwapSlot swaps a slot's master/slave address for testing MOVED redirects.
func (c *ClusterClient) SwapSlotNodes(slot int) {
- nodes := c.state().slots[slot]
+ state, err := c.state()
+ if err != nil {
+ panic(err)
+ }
+
+ nodes := state.slots[slot]
if len(nodes) == 2 {
nodes[0], nodes[1] = nodes[1], nodes[0]
}
diff --git a/vendor/github.com/go-redis/redis/internal/error.go b/vendor/github.com/go-redis/redis/internal/error.go
index 90f6503a1..0898eeb62 100644
--- a/vendor/github.com/go-redis/redis/internal/error.go
+++ b/vendor/github.com/go-redis/redis/internal/error.go
@@ -12,11 +12,24 @@ type RedisError string
func (e RedisError) Error() string { return string(e) }
-func IsRetryableError(err error) bool {
- return IsNetworkError(err) || err.Error() == "ERR max number of clients reached"
+func IsRetryableError(err error, retryNetError bool) bool {
+ if IsNetworkError(err) {
+ return retryNetError
+ }
+ s := err.Error()
+ if s == "ERR max number of clients reached" {
+ return true
+ }
+ if strings.HasPrefix(s, "LOADING ") {
+ return true
+ }
+ if strings.HasPrefix(s, "CLUSTERDOWN ") {
+ return true
+ }
+ return false
}
-func IsInternalError(err error) bool {
+func IsRedisError(err error) bool {
_, ok := err.(RedisError)
return ok
}
@@ -33,7 +46,7 @@ func IsBadConn(err error, allowTimeout bool) bool {
if err == nil {
return false
}
- if IsInternalError(err) {
+ if IsRedisError(err) {
return false
}
if allowTimeout {
@@ -45,7 +58,7 @@ func IsBadConn(err error, allowTimeout bool) bool {
}
func IsMovedError(err error) (moved bool, ask bool, addr string) {
- if !IsInternalError(err) {
+ if !IsRedisError(err) {
return
}
@@ -69,7 +82,3 @@ func IsMovedError(err error) (moved bool, ask bool, addr string) {
func IsLoadingError(err error) bool {
return strings.HasPrefix(err.Error(), "LOADING ")
}
-
-func IsClusterDownError(err error) bool {
- return strings.HasPrefix(err.Error(), "CLUSTERDOWN ")
-}
diff --git a/vendor/github.com/go-redis/redis/internal/pool/pool.go b/vendor/github.com/go-redis/redis/internal/pool/pool.go
index 25e78aa3c..836ec1045 100644
--- a/vendor/github.com/go-redis/redis/internal/pool/pool.go
+++ b/vendor/github.com/go-redis/redis/internal/pool/pool.go
@@ -23,12 +23,13 @@ var timers = sync.Pool{
// Stats contains pool state information and accumulated stats.
type Stats struct {
- Requests uint32 // number of times a connection was requested by the pool
Hits uint32 // number of times free connection was found in the pool
+ Misses uint32 // number of times free connection was NOT found in the pool
Timeouts uint32 // number of times a wait timeout occurred
- TotalConns uint32 // the number of total connections in the pool
- FreeConns uint32 // the number of free connections in the pool
+ TotalConns uint32 // number of total connections in the pool
+ FreeConns uint32 // number of free connections in the pool
+ StaleConns uint32 // number of stale connections removed from the pool
}
type Pooler interface {
@@ -150,8 +151,6 @@ func (p *ConnPool) Get() (*Conn, bool, error) {
return nil, false, ErrClosed
}
- atomic.AddUint32(&p.stats.Requests, 1)
-
select {
case p.queue <- struct{}{}:
default:
@@ -189,6 +188,8 @@ func (p *ConnPool) Get() (*Conn, bool, error) {
return cn, false, nil
}
+ atomic.AddUint32(&p.stats.Misses, 1)
+
newcn, err := p.NewConn()
if err != nil {
<-p.queue
@@ -265,11 +266,13 @@ func (p *ConnPool) FreeLen() int {
func (p *ConnPool) Stats() *Stats {
return &Stats{
- Requests: atomic.LoadUint32(&p.stats.Requests),
- Hits: atomic.LoadUint32(&p.stats.Hits),
- Timeouts: atomic.LoadUint32(&p.stats.Timeouts),
+ Hits: atomic.LoadUint32(&p.stats.Hits),
+ Misses: atomic.LoadUint32(&p.stats.Misses),
+ Timeouts: atomic.LoadUint32(&p.stats.Timeouts),
+
TotalConns: uint32(p.Len()),
FreeConns: uint32(p.FreeLen()),
+ StaleConns: atomic.LoadUint32(&p.stats.StaleConns),
}
}
@@ -362,10 +365,6 @@ func (p *ConnPool) reaper(frequency time.Duration) {
internal.Logf("ReapStaleConns failed: %s", err)
continue
}
- s := p.Stats()
- internal.Logf(
- "reaper: removed %d stale conns (TotalConns=%d FreeConns=%d Requests=%d Hits=%d Timeouts=%d)",
- n, s.TotalConns, s.FreeConns, s.Requests, s.Hits, s.Timeouts,
- )
+ atomic.AddUint32(&p.stats.StaleConns, uint32(n))
}
}
diff --git a/vendor/github.com/go-redis/redis/internal/proto/reader.go b/vendor/github.com/go-redis/redis/internal/proto/reader.go
index 2159cf639..cd94329d8 100644
--- a/vendor/github.com/go-redis/redis/internal/proto/reader.go
+++ b/vendor/github.com/go-redis/redis/internal/proto/reader.go
@@ -63,7 +63,7 @@ func (p *Reader) ReadLine() ([]byte, error) {
return nil, bufio.ErrBufferFull
}
if len(line) == 0 {
- return nil, internal.RedisError("redis: reply is empty")
+ return nil, fmt.Errorf("redis: reply is empty")
}
if isNilReply(line) {
return nil, internal.Nil
diff --git a/vendor/github.com/go-redis/redis/internal/proto/scan.go b/vendor/github.com/go-redis/redis/internal/proto/scan.go
index 3ab40b94f..0431a877d 100644
--- a/vendor/github.com/go-redis/redis/internal/proto/scan.go
+++ b/vendor/github.com/go-redis/redis/internal/proto/scan.go
@@ -11,7 +11,7 @@ import (
func Scan(b []byte, v interface{}) error {
switch v := v.(type) {
case nil:
- return internal.RedisError("redis: Scan(nil)")
+ return fmt.Errorf("redis: Scan(nil)")
case *string:
*v = internal.BytesToString(b)
return nil
diff --git a/vendor/github.com/go-redis/redis/main_test.go b/vendor/github.com/go-redis/redis/main_test.go
index 30f09c618..7c5a6a969 100644
--- a/vendor/github.com/go-redis/redis/main_test.go
+++ b/vendor/github.com/go-redis/redis/main_test.go
@@ -50,10 +50,6 @@ var cluster = &clusterScenario{
clients: make(map[string]*redis.Client, 6),
}
-func init() {
- //redis.SetLogger(log.New(os.Stderr, "redis: ", log.LstdFlags|log.Lshortfile))
-}
-
var _ = BeforeSuite(func() {
var err error
diff --git a/vendor/github.com/go-redis/redis/options.go b/vendor/github.com/go-redis/redis/options.go
index dea045453..75648053d 100644
--- a/vendor/github.com/go-redis/redis/options.go
+++ b/vendor/github.com/go-redis/redis/options.go
@@ -198,13 +198,3 @@ func newConnPool(opt *Options) *pool.ConnPool {
IdleCheckFrequency: opt.IdleCheckFrequency,
})
}
-
-// PoolStats contains pool state information and accumulated stats.
-type PoolStats struct {
- Requests uint32 // number of times a connection was requested by the pool
- Hits uint32 // number of times free connection was found in the pool
- Timeouts uint32 // number of times a wait timeout occurred
-
- TotalConns uint32 // the number of total connections in the pool
- FreeConns uint32 // the number of free connections in the pool
-}
diff --git a/vendor/github.com/go-redis/redis/pipeline.go b/vendor/github.com/go-redis/redis/pipeline.go
index b66c0597f..9349ef553 100644
--- a/vendor/github.com/go-redis/redis/pipeline.go
+++ b/vendor/github.com/go-redis/redis/pipeline.go
@@ -13,9 +13,7 @@ type Pipeliner interface {
Process(cmd Cmder) error
Close() error
Discard() error
- discard() error
Exec() ([]Cmder, error)
- pipelined(fn func(Pipeliner) error) ([]Cmder, error)
}
var _ Pipeliner = (*Pipeline)(nil)
@@ -104,3 +102,11 @@ func (c *Pipeline) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
func (c *Pipeline) Pipeline() Pipeliner {
return c
}
+
+func (c *Pipeline) TxPipelined(fn func(Pipeliner) error) ([]Cmder, error) {
+ return c.pipelined(fn)
+}
+
+func (c *Pipeline) TxPipeline() Pipeliner {
+ return c
+}
diff --git a/vendor/github.com/go-redis/redis/pool_test.go b/vendor/github.com/go-redis/redis/pool_test.go
index 34a548a63..0ca09adc7 100644
--- a/vendor/github.com/go-redis/redis/pool_test.go
+++ b/vendor/github.com/go-redis/redis/pool_test.go
@@ -95,8 +95,8 @@ var _ = Describe("pool", func() {
Expect(pool.FreeLen()).To(Equal(1))
stats := pool.Stats()
- Expect(stats.Requests).To(Equal(uint32(4)))
Expect(stats.Hits).To(Equal(uint32(2)))
+ Expect(stats.Misses).To(Equal(uint32(2)))
Expect(stats.Timeouts).To(Equal(uint32(0)))
})
@@ -112,30 +112,32 @@ var _ = Describe("pool", func() {
Expect(pool.FreeLen()).To(Equal(1))
stats := pool.Stats()
- Expect(stats.Requests).To(Equal(uint32(101)))
Expect(stats.Hits).To(Equal(uint32(100)))
+ Expect(stats.Misses).To(Equal(uint32(1)))
Expect(stats.Timeouts).To(Equal(uint32(0)))
})
It("removes idle connections", func() {
stats := client.PoolStats()
Expect(stats).To(Equal(&redis.PoolStats{
- Requests: 1,
Hits: 0,
+ Misses: 1,
Timeouts: 0,
TotalConns: 1,
FreeConns: 1,
+ StaleConns: 0,
}))
time.Sleep(2 * time.Second)
stats = client.PoolStats()
Expect(stats).To(Equal(&redis.PoolStats{
- Requests: 1,
Hits: 0,
+ Misses: 1,
Timeouts: 0,
TotalConns: 0,
FreeConns: 0,
+ StaleConns: 1,
}))
})
})
diff --git a/vendor/github.com/go-redis/redis/pubsub.go b/vendor/github.com/go-redis/redis/pubsub.go
index 4a5c65f57..e754a16f2 100644
--- a/vendor/github.com/go-redis/redis/pubsub.go
+++ b/vendor/github.com/go-redis/redis/pubsub.go
@@ -95,7 +95,10 @@ func (c *PubSub) releaseConn(cn *pool.Conn, err error) {
}
func (c *PubSub) _releaseConn(cn *pool.Conn, err error) {
- if internal.IsBadConn(err, true) && c.cn == cn {
+ if c.cn != cn {
+ return
+ }
+ if internal.IsBadConn(err, true) {
_ = c.closeTheCn()
}
}
diff --git a/vendor/github.com/go-redis/redis/pubsub_test.go b/vendor/github.com/go-redis/redis/pubsub_test.go
index 1d9dfcb99..6fc04a198 100644
--- a/vendor/github.com/go-redis/redis/pubsub_test.go
+++ b/vendor/github.com/go-redis/redis/pubsub_test.go
@@ -68,7 +68,7 @@ var _ = Describe("PubSub", func() {
}
stats := client.PoolStats()
- Expect(stats.Requests - stats.Hits).To(Equal(uint32(2)))
+ Expect(stats.Misses).To(Equal(uint32(2)))
})
It("should pub/sub channels", func() {
@@ -191,7 +191,7 @@ var _ = Describe("PubSub", func() {
}
stats := client.PoolStats()
- Expect(stats.Requests - stats.Hits).To(Equal(uint32(2)))
+ Expect(stats.Misses).To(Equal(uint32(2)))
})
It("should ping/pong", func() {
@@ -290,8 +290,8 @@ var _ = Describe("PubSub", func() {
Eventually(done).Should(Receive())
stats := client.PoolStats()
- Expect(stats.Requests).To(Equal(uint32(2)))
Expect(stats.Hits).To(Equal(uint32(1)))
+ Expect(stats.Misses).To(Equal(uint32(1)))
})
It("returns an error when subscribe fails", func() {
diff --git a/vendor/github.com/go-redis/redis/redis.go b/vendor/github.com/go-redis/redis/redis.go
index b18973cdb..230091b3e 100644
--- a/vendor/github.com/go-redis/redis/redis.go
+++ b/vendor/github.com/go-redis/redis/redis.go
@@ -3,6 +3,7 @@ package redis
import (
"fmt"
"log"
+ "os"
"time"
"github.com/go-redis/redis/internal"
@@ -13,6 +14,10 @@ import (
// Redis nil reply, .e.g. when key does not exist.
const Nil = internal.Nil
+func init() {
+ SetLogger(log.New(os.Stderr, "redis: ", log.LstdFlags|log.Lshortfile))
+}
+
func SetLogger(logger *log.Logger) {
internal.Logger = logger
}
@@ -131,7 +136,7 @@ func (c *baseClient) defaultProcess(cmd Cmder) error {
cn, _, err := c.getConn()
if err != nil {
cmd.setErr(err)
- if internal.IsRetryableError(err) {
+ if internal.IsRetryableError(err, true) {
continue
}
return err
@@ -141,7 +146,7 @@ func (c *baseClient) defaultProcess(cmd Cmder) error {
if err := writeCmd(cn, cmd); err != nil {
c.releaseConn(cn, err)
cmd.setErr(err)
- if internal.IsRetryableError(err) {
+ if internal.IsRetryableError(err, true) {
continue
}
return err
@@ -150,7 +155,7 @@ func (c *baseClient) defaultProcess(cmd Cmder) error {
cn.SetReadTimeout(c.cmdTimeout(cmd))
err = cmd.readReply(cn)
c.releaseConn(cn, err)
- if err != nil && internal.IsRetryableError(err) {
+ if err != nil && internal.IsRetryableError(err, cmd.readTimeout() == nil) {
continue
}
@@ -197,8 +202,11 @@ type pipelineProcessor func(*pool.Conn, []Cmder) (bool, error)
func (c *baseClient) pipelineExecer(p pipelineProcessor) pipelineExecer {
return func(cmds []Cmder) error {
- var firstErr error
- for i := 0; i <= c.opt.MaxRetries; i++ {
+ for attempt := 0; attempt <= c.opt.MaxRetries; attempt++ {
+ if attempt > 0 {
+ time.Sleep(c.retryBackoff(attempt))
+ }
+
cn, _, err := c.getConn()
if err != nil {
setCmdsErr(cmds, err)
@@ -206,18 +214,18 @@ func (c *baseClient) pipelineExecer(p pipelineProcessor) pipelineExecer {
}
canRetry, err := p(cn, cmds)
- c.releaseConn(cn, err)
- if err == nil {
- return nil
- }
- if firstErr == nil {
- firstErr = err
+
+ if err == nil || internal.IsRedisError(err) {
+ _ = c.connPool.Put(cn)
+ break
}
- if !canRetry || !internal.IsRetryableError(err) {
+ _ = c.connPool.Remove(cn)
+
+ if !canRetry || !internal.IsRetryableError(err, true) {
break
}
}
- return firstErr
+ return firstCmdsErr(cmds)
}
}
@@ -230,23 +238,17 @@ func (c *baseClient) pipelineProcessCmds(cn *pool.Conn, cmds []Cmder) (bool, err
// Set read timeout for all commands.
cn.SetReadTimeout(c.opt.ReadTimeout)
- return pipelineReadCmds(cn, cmds)
+ return true, pipelineReadCmds(cn, cmds)
}
-func pipelineReadCmds(cn *pool.Conn, cmds []Cmder) (retry bool, firstErr error) {
- for i, cmd := range cmds {
+func pipelineReadCmds(cn *pool.Conn, cmds []Cmder) error {
+ for _, cmd := range cmds {
err := cmd.readReply(cn)
- if err == nil {
- continue
- }
- if i == 0 {
- retry = true
- }
- if firstErr == nil {
- firstErr = err
+ if err != nil && !internal.IsRedisError(err) {
+ return err
}
}
- return
+ return nil
}
func (c *baseClient) txPipelineProcessCmds(cn *pool.Conn, cmds []Cmder) (bool, error) {
@@ -260,11 +262,11 @@ func (c *baseClient) txPipelineProcessCmds(cn *pool.Conn, cmds []Cmder) (bool, e
cn.SetReadTimeout(c.opt.ReadTimeout)
if err := c.txPipelineReadQueued(cn, cmds); err != nil {
+ setCmdsErr(cmds, err)
return false, err
}
- _, err := pipelineReadCmds(cn, cmds)
- return false, err
+ return false, pipelineReadCmds(cn, cmds)
}
func txPipelineWriteMulti(cn *pool.Conn, cmds []Cmder) error {
@@ -276,21 +278,16 @@ func txPipelineWriteMulti(cn *pool.Conn, cmds []Cmder) error {
}
func (c *baseClient) txPipelineReadQueued(cn *pool.Conn, cmds []Cmder) error {
- var firstErr error
-
// Parse queued replies.
var statusCmd StatusCmd
- if err := statusCmd.readReply(cn); err != nil && firstErr == nil {
- firstErr = err
+ if err := statusCmd.readReply(cn); err != nil {
+ return err
}
- for _, cmd := range cmds {
+ for _ = range cmds {
err := statusCmd.readReply(cn)
- if err != nil {
- cmd.setErr(err)
- if firstErr == nil {
- firstErr = err
- }
+ if err != nil && !internal.IsRedisError(err) {
+ return err
}
}
@@ -355,21 +352,16 @@ func (c *Client) Options() *Options {
return c.opt
}
+type PoolStats pool.Stats
+
// PoolStats returns connection pool stats.
func (c *Client) PoolStats() *PoolStats {
- s := c.connPool.Stats()
- return &PoolStats{
- Requests: s.Requests,
- Hits: s.Hits,
- Timeouts: s.Timeouts,
-
- TotalConns: s.TotalConns,
- FreeConns: s.FreeConns,
- }
+ stats := c.connPool.Stats()
+ return (*PoolStats)(stats)
}
func (c *Client) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.Pipeline().pipelined(fn)
+ return c.Pipeline().Pipelined(fn)
}
func (c *Client) Pipeline() Pipeliner {
@@ -381,7 +373,7 @@ func (c *Client) Pipeline() Pipeliner {
}
func (c *Client) TxPipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.TxPipeline().pipelined(fn)
+ return c.TxPipeline().Pipelined(fn)
}
// TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
@@ -433,7 +425,7 @@ type Conn struct {
}
func (c *Conn) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.Pipeline().pipelined(fn)
+ return c.Pipeline().Pipelined(fn)
}
func (c *Conn) Pipeline() Pipeliner {
@@ -445,7 +437,7 @@ func (c *Conn) Pipeline() Pipeliner {
}
func (c *Conn) TxPipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.TxPipeline().pipelined(fn)
+ return c.TxPipeline().Pipelined(fn)
}
// TxPipeline acts like Pipeline, but wraps queued commands with MULTI/EXEC.
diff --git a/vendor/github.com/go-redis/redis/ring.go b/vendor/github.com/go-redis/redis/ring.go
index 72d52bf75..a30c32102 100644
--- a/vendor/github.com/go-redis/redis/ring.go
+++ b/vendor/github.com/go-redis/redis/ring.go
@@ -34,7 +34,9 @@ type RingOptions struct {
DB int
Password string
- MaxRetries int
+ MaxRetries int
+ MinRetryBackoff time.Duration
+ MaxRetryBackoff time.Duration
DialTimeout time.Duration
ReadTimeout time.Duration
@@ -50,6 +52,19 @@ func (opt *RingOptions) init() {
if opt.HeartbeatFrequency == 0 {
opt.HeartbeatFrequency = 500 * time.Millisecond
}
+
+ switch opt.MinRetryBackoff {
+ case -1:
+ opt.MinRetryBackoff = 0
+ case 0:
+ opt.MinRetryBackoff = 8 * time.Millisecond
+ }
+ switch opt.MaxRetryBackoff {
+ case -1:
+ opt.MaxRetryBackoff = 0
+ case 0:
+ opt.MaxRetryBackoff = 512 * time.Millisecond
+ }
}
func (opt *RingOptions) clientOptions() *Options {
@@ -130,9 +145,10 @@ type Ring struct {
opt *RingOptions
nreplicas int
- mu sync.RWMutex
- hash *consistenthash.Map
- shards map[string]*ringShard
+ mu sync.RWMutex
+ hash *consistenthash.Map
+ shards map[string]*ringShard
+ shardsList []*ringShard
cmdsInfoOnce internal.Once
cmdsInfo map[string]*CommandInfo
@@ -154,24 +170,41 @@ func NewRing(opt *RingOptions) *Ring {
for name, addr := range opt.Addrs {
clopt := opt.clientOptions()
clopt.Addr = addr
- ring.addClient(name, NewClient(clopt))
+ ring.addShard(name, NewClient(clopt))
}
go ring.heartbeat()
return ring
}
+func (c *Ring) addShard(name string, cl *Client) {
+ shard := &ringShard{Client: cl}
+ c.mu.Lock()
+ c.hash.Add(name)
+ c.shards[name] = shard
+ c.shardsList = append(c.shardsList, shard)
+ c.mu.Unlock()
+}
+
// Options returns read-only Options that were used to create the client.
func (c *Ring) Options() *RingOptions {
return c.opt
}
+func (c *Ring) retryBackoff(attempt int) time.Duration {
+ return internal.RetryBackoff(attempt, c.opt.MinRetryBackoff, c.opt.MaxRetryBackoff)
+}
+
// PoolStats returns accumulated connection pool stats.
func (c *Ring) PoolStats() *PoolStats {
+ c.mu.RLock()
+ shards := c.shardsList
+ c.mu.RUnlock()
+
var acc PoolStats
- for _, shard := range c.shards {
+ for _, shard := range shards {
s := shard.Client.connPool.Stats()
- acc.Requests += s.Requests
acc.Hits += s.Hits
+ acc.Misses += s.Misses
acc.Timeouts += s.Timeouts
acc.TotalConns += s.TotalConns
acc.FreeConns += s.FreeConns
@@ -210,9 +243,13 @@ func (c *Ring) PSubscribe(channels ...string) *PubSub {
// ForEachShard concurrently calls the fn on each live shard in the ring.
// It returns the first error if any.
func (c *Ring) ForEachShard(fn func(client *Client) error) error {
+ c.mu.RLock()
+ shards := c.shardsList
+ c.mu.RUnlock()
+
var wg sync.WaitGroup
errCh := make(chan error, 1)
- for _, shard := range c.shards {
+ for _, shard := range shards {
if shard.IsDown() {
continue
}
@@ -241,8 +278,12 @@ func (c *Ring) ForEachShard(fn func(client *Client) error) error {
func (c *Ring) cmdInfo(name string) *CommandInfo {
err := c.cmdsInfoOnce.Do(func() error {
+ c.mu.RLock()
+ shards := c.shardsList
+ c.mu.RUnlock()
+
var firstErr error
- for _, shard := range c.shards {
+ for _, shard := range shards {
cmdsInfo, err := shard.Client.Command().Result()
if err == nil {
c.cmdsInfo = cmdsInfo
@@ -257,14 +298,11 @@ func (c *Ring) cmdInfo(name string) *CommandInfo {
if err != nil {
return nil
}
- return c.cmdsInfo[name]
-}
-
-func (c *Ring) addClient(name string, cl *Client) {
- c.mu.Lock()
- c.hash.Add(name)
- c.shards[name] = &ringShard{Client: cl}
- c.mu.Unlock()
+ info := c.cmdsInfo[name]
+ if info == nil {
+ internal.Logf("info for cmd=%s not found", name)
+ }
+ return info
}
func (c *Ring) shardByKey(key string) (*ringShard, error) {
@@ -305,7 +343,7 @@ func (c *Ring) shardByName(name string) (*ringShard, error) {
func (c *Ring) cmdShard(cmd Cmder) (*ringShard, error) {
cmdInfo := c.cmdInfo(cmd.Name())
- firstKey := cmd.arg(cmdFirstKeyPos(cmd, cmdInfo))
+ firstKey := cmd.stringArg(cmdFirstKeyPos(cmd, cmdInfo))
return c.shardByKey(firstKey)
}
@@ -346,7 +384,10 @@ func (c *Ring) heartbeat() {
break
}
- for _, shard := range c.shards {
+ shards := c.shardsList
+ c.mu.RUnlock()
+
+ for _, shard := range shards {
err := shard.Client.Ping().Err()
if shard.Vote(err == nil || err == pool.ErrPoolTimeout) {
internal.Logf("ring shard state changed: %s", shard)
@@ -354,8 +395,6 @@ func (c *Ring) heartbeat() {
}
}
- c.mu.RUnlock()
-
if rebalance {
c.rebalance()
}
@@ -383,6 +422,7 @@ func (c *Ring) Close() error {
}
c.hash = nil
c.shards = nil
+ c.shardsList = nil
return firstErr
}
@@ -396,51 +436,48 @@ func (c *Ring) Pipeline() Pipeliner {
}
func (c *Ring) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.Pipeline().pipelined(fn)
+ return c.Pipeline().Pipelined(fn)
}
-func (c *Ring) pipelineExec(cmds []Cmder) (firstErr error) {
+func (c *Ring) pipelineExec(cmds []Cmder) error {
cmdsMap := make(map[string][]Cmder)
for _, cmd := range cmds {
cmdInfo := c.cmdInfo(cmd.Name())
- name := cmd.arg(cmdFirstKeyPos(cmd, cmdInfo))
+ name := cmd.stringArg(cmdFirstKeyPos(cmd, cmdInfo))
if name != "" {
name = c.hash.Get(hashtag.Key(name))
}
cmdsMap[name] = append(cmdsMap[name], cmd)
}
- for i := 0; i <= c.opt.MaxRetries; i++ {
+ for attempt := 0; attempt <= c.opt.MaxRetries; attempt++ {
+ if attempt > 0 {
+ time.Sleep(c.retryBackoff(attempt))
+ }
+
var failedCmdsMap map[string][]Cmder
for name, cmds := range cmdsMap {
shard, err := c.shardByName(name)
if err != nil {
setCmdsErr(cmds, err)
- if firstErr == nil {
- firstErr = err
- }
continue
}
cn, _, err := shard.Client.getConn()
if err != nil {
setCmdsErr(cmds, err)
- if firstErr == nil {
- firstErr = err
- }
continue
}
canRetry, err := shard.Client.pipelineProcessCmds(cn, cmds)
- shard.Client.releaseConn(cn, err)
- if err == nil {
+ if err == nil || internal.IsRedisError(err) {
+ _ = shard.Client.connPool.Put(cn)
continue
}
- if firstErr == nil {
- firstErr = err
- }
- if canRetry && internal.IsRetryableError(err) {
+ _ = shard.Client.connPool.Remove(cn)
+
+ if canRetry && internal.IsRetryableError(err, true) {
if failedCmdsMap == nil {
failedCmdsMap = make(map[string][]Cmder)
}
@@ -454,5 +491,13 @@ func (c *Ring) pipelineExec(cmds []Cmder) (firstErr error) {
cmdsMap = failedCmdsMap
}
- return firstErr
+ return firstCmdsErr(cmds)
+}
+
+func (c *Ring) TxPipeline() Pipeliner {
+ panic("not implemented")
+}
+
+func (c *Ring) TxPipelined(fn func(Pipeliner) error) ([]Cmder, error) {
+ panic("not implemented")
}
diff --git a/vendor/github.com/go-redis/redis/sentinel.go b/vendor/github.com/go-redis/redis/sentinel.go
index 3bfdb4a3f..37d06b482 100644
--- a/vendor/github.com/go-redis/redis/sentinel.go
+++ b/vendor/github.com/go-redis/redis/sentinel.go
@@ -301,8 +301,10 @@ func (d *sentinelFailover) listen(sentinel *sentinelClient) {
msg, err := pubsub.ReceiveMessage()
if err != nil {
- internal.Logf("sentinel: ReceiveMessage failed: %s", err)
- pubsub.Close()
+ if err != pool.ErrClosed {
+ internal.Logf("sentinel: ReceiveMessage failed: %s", err)
+ pubsub.Close()
+ }
d.resetSentinel()
return
}
diff --git a/vendor/github.com/go-redis/redis/tx.go b/vendor/github.com/go-redis/redis/tx.go
index 5ef89619b..11d5d5cb0 100644
--- a/vendor/github.com/go-redis/redis/tx.go
+++ b/vendor/github.com/go-redis/redis/tx.go
@@ -36,11 +36,10 @@ func (c *Client) Watch(fn func(*Tx) error, keys ...string) error {
return err
}
}
- firstErr := fn(tx)
- if err := tx.Close(); err != nil && firstErr == nil {
- firstErr = err
- }
- return firstErr
+
+ err := fn(tx)
+ _ = tx.Close()
+ return err
}
// close closes the transaction, releasing any open resources.
@@ -53,7 +52,7 @@ func (c *Tx) Close() error {
// of a transaction.
func (c *Tx) Watch(keys ...string) *StatusCmd {
args := make([]interface{}, 1+len(keys))
- args[0] = "WATCH"
+ args[0] = "watch"
for i, key := range keys {
args[1+i] = key
}
@@ -65,7 +64,7 @@ func (c *Tx) Watch(keys ...string) *StatusCmd {
// Unwatch flushes all the previously watched keys for a transaction.
func (c *Tx) Unwatch(keys ...string) *StatusCmd {
args := make([]interface{}, 1+len(keys))
- args[0] = "UNWATCH"
+ args[0] = "unwatch"
for i, key := range keys {
args[1+i] = key
}
@@ -92,5 +91,13 @@ func (c *Tx) Pipeline() Pipeliner {
// TxFailedErr is returned. Otherwise Exec returns error of the first
// failed command or nil.
func (c *Tx) Pipelined(fn func(Pipeliner) error) ([]Cmder, error) {
- return c.Pipeline().pipelined(fn)
+ return c.Pipeline().Pipelined(fn)
+}
+
+func (c *Tx) TxPipelined(fn func(Pipeliner) error) ([]Cmder, error) {
+ return c.Pipelined(fn)
+}
+
+func (c *Tx) TxPipeline() Pipeliner {
+ return c.Pipeline()
}
diff --git a/vendor/github.com/go-redis/redis/universal.go b/vendor/github.com/go-redis/redis/universal.go
index 4aa579fa4..29eb12b18 100644
--- a/vendor/github.com/go-redis/redis/universal.go
+++ b/vendor/github.com/go-redis/redis/universal.go
@@ -90,8 +90,8 @@ func (o *UniversalOptions) simple() *Options {
}
return &Options{
- Addr: addr,
- DB: o.DB,
+ Addr: addr,
+ DB: o.DB,
MaxRetries: o.MaxRetries,
Password: o.Password,
@@ -117,6 +117,9 @@ type UniversalClient interface {
Close() error
}
+var _ UniversalClient = (*Client)(nil)
+var _ UniversalClient = (*ClusterClient)(nil)
+
// NewUniversalClient returns a new multi client. The type of client returned depends
// on the following three conditions:
//
diff --git a/vendor/github.com/golang/protobuf/.travis.yml b/vendor/github.com/golang/protobuf/.travis.yml
index 24e22f85a..93c67805b 100644
--- a/vendor/github.com/golang/protobuf/.travis.yml
+++ b/vendor/github.com/golang/protobuf/.travis.yml
@@ -4,6 +4,7 @@ go:
- 1.6.x
- 1.7.x
- 1.8.x
+- 1.9.x
install:
- go get -v -d -t github.com/golang/protobuf/...
diff --git a/vendor/github.com/golang/protobuf/README.md b/vendor/github.com/golang/protobuf/README.md
index 795f53f6f..207eb6b48 100644
--- a/vendor/github.com/golang/protobuf/README.md
+++ b/vendor/github.com/golang/protobuf/README.md
@@ -111,6 +111,7 @@ When the .proto file specifies `syntax="proto3"`, there are some differences:
Consider file test.proto, containing
```proto
+ syntax = "proto2";
package example;
enum FOO { X = 17; };
diff --git a/vendor/github.com/golang/protobuf/jsonpb/jsonpb.go b/vendor/github.com/golang/protobuf/jsonpb/jsonpb.go
index 29bca020f..110ae1384 100644
--- a/vendor/github.com/golang/protobuf/jsonpb/jsonpb.go
+++ b/vendor/github.com/golang/protobuf/jsonpb/jsonpb.go
@@ -73,6 +73,31 @@ type Marshaler struct {
// Whether to use the original (.proto) name for fields.
OrigName bool
+
+ // A custom URL resolver to use when marshaling Any messages to JSON.
+ // If unset, the default resolution strategy is to extract the
+ // fully-qualified type name from the type URL and pass that to
+ // proto.MessageType(string).
+ AnyResolver AnyResolver
+}
+
+// AnyResolver takes a type URL, present in an Any message, and resolves it into
+// an instance of the associated message.
+type AnyResolver interface {
+ Resolve(typeUrl string) (proto.Message, error)
+}
+
+func defaultResolveAny(typeUrl string) (proto.Message, error) {
+ // Only the part of typeUrl after the last slash is relevant.
+ mname := typeUrl
+ if slash := strings.LastIndex(mname, "/"); slash >= 0 {
+ mname = mname[slash+1:]
+ }
+ mt := proto.MessageType(mname)
+ if mt == nil {
+ return nil, fmt.Errorf("unknown message type %q", mname)
+ }
+ return reflect.New(mt.Elem()).Interface().(proto.Message), nil
}
// JSONPBMarshaler is implemented by protobuf messages that customize the
@@ -344,16 +369,17 @@ func (m *Marshaler) marshalAny(out *errWriter, any proto.Message, indent string)
turl := v.Field(0).String()
val := v.Field(1).Bytes()
- // Only the part of type_url after the last slash is relevant.
- mname := turl
- if slash := strings.LastIndex(mname, "/"); slash >= 0 {
- mname = mname[slash+1:]
+ var msg proto.Message
+ var err error
+ if m.AnyResolver != nil {
+ msg, err = m.AnyResolver.Resolve(turl)
+ } else {
+ msg, err = defaultResolveAny(turl)
}
- mt := proto.MessageType(mname)
- if mt == nil {
- return fmt.Errorf("unknown message type %q", mname)
+ if err != nil {
+ return err
}
- msg := reflect.New(mt.Elem()).Interface().(proto.Message)
+
if err := proto.Unmarshal(val, msg); err != nil {
return err
}
@@ -590,6 +616,12 @@ type Unmarshaler struct {
// Whether to allow messages to contain unknown fields, as opposed to
// failing to unmarshal.
AllowUnknownFields bool
+
+ // A custom URL resolver to use when unmarshaling Any messages from JSON.
+ // If unset, the default resolution strategy is to extract the
+ // fully-qualified type name from the type URL and pass that to
+ // proto.MessageType(string).
+ AnyResolver AnyResolver
}
// UnmarshalNext unmarshals the next protocol buffer from a JSON object stream.
@@ -641,7 +673,8 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe
if targetType.Kind() == reflect.Ptr {
// If input value is "null" and target is a pointer type, then the field should be treated as not set
// UNLESS the target is structpb.Value, in which case it should be set to structpb.NullValue.
- if string(inputValue) == "null" && targetType != reflect.TypeOf(&stpb.Value{}) {
+ _, isJSONPBUnmarshaler := target.Interface().(JSONPBUnmarshaler)
+ if string(inputValue) == "null" && targetType != reflect.TypeOf(&stpb.Value{}) && !isJSONPBUnmarshaler {
return nil
}
target.Set(reflect.New(targetType.Elem()))
@@ -679,16 +712,17 @@ func (u *Unmarshaler) unmarshalValue(target reflect.Value, inputValue json.RawMe
}
target.Field(0).SetString(turl)
- mname := turl
- if slash := strings.LastIndex(mname, "/"); slash >= 0 {
- mname = mname[slash+1:]
+ var m proto.Message
+ var err error
+ if u.AnyResolver != nil {
+ m, err = u.AnyResolver.Resolve(turl)
+ } else {
+ m, err = defaultResolveAny(turl)
}
- mt := proto.MessageType(mname)
- if mt == nil {
- return fmt.Errorf("unknown message type %q", mname)
+ if err != nil {
+ return err
}
- m := reflect.New(mt.Elem()).Interface().(proto.Message)
if _, ok := m.(wkt); ok {
val, ok := jsonFields["value"]
if !ok {
diff --git a/vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go b/vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go
index 254caa6c4..2428d0566 100644
--- a/vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go
+++ b/vendor/github.com/golang/protobuf/jsonpb/jsonpb_test.go
@@ -721,6 +721,65 @@ func TestUnmarshalingBadInput(t *testing.T) {
}
}
+type funcResolver func(turl string) (proto.Message, error)
+
+func (fn funcResolver) Resolve(turl string) (proto.Message, error) {
+ return fn(turl)
+}
+
+func TestAnyWithCustomResolver(t *testing.T) {
+ var resolvedTypeUrls []string
+ resolver := funcResolver(func(turl string) (proto.Message, error) {
+ resolvedTypeUrls = append(resolvedTypeUrls, turl)
+ return new(pb.Simple), nil
+ })
+ msg := &pb.Simple{
+ OBytes: []byte{1, 2, 3, 4},
+ OBool: proto.Bool(true),
+ OString: proto.String("foobar"),
+ OInt64: proto.Int64(1020304),
+ }
+ msgBytes, err := proto.Marshal(msg)
+ if err != nil {
+ t.Errorf("an unexpected error occurred when marshaling message: %v", err)
+ }
+ // make an Any with a type URL that won't resolve w/out custom resolver
+ any := &anypb.Any{
+ TypeUrl: "https://foobar.com/some.random.MessageKind",
+ Value: msgBytes,
+ }
+
+ m := Marshaler{AnyResolver: resolver}
+ js, err := m.MarshalToString(any)
+ if err != nil {
+ t.Errorf("an unexpected error occurred when marshaling any to JSON: %v", err)
+ }
+ if len(resolvedTypeUrls) != 1 {
+ t.Errorf("custom resolver was not invoked during marshaling")
+ } else if resolvedTypeUrls[0] != "https://foobar.com/some.random.MessageKind" {
+ t.Errorf("custom resolver was invoked with wrong URL: got %q, wanted %q", resolvedTypeUrls[0], "https://foobar.com/some.random.MessageKind")
+ }
+ wanted := `{"@type":"https://foobar.com/some.random.MessageKind","oBool":true,"oInt64":"1020304","oString":"foobar","oBytes":"AQIDBA=="}`
+ if js != wanted {
+ t.Errorf("marshalling JSON produced incorrect output: got %s, wanted %s", js, wanted)
+ }
+
+ u := Unmarshaler{AnyResolver: resolver}
+ roundTrip := &anypb.Any{}
+ err = u.Unmarshal(bytes.NewReader([]byte(js)), roundTrip)
+ if err != nil {
+ t.Errorf("an unexpected error occurred when unmarshaling any from JSON: %v", err)
+ }
+ if len(resolvedTypeUrls) != 2 {
+ t.Errorf("custom resolver was not invoked during marshaling")
+ } else if resolvedTypeUrls[1] != "https://foobar.com/some.random.MessageKind" {
+ t.Errorf("custom resolver was invoked with wrong URL: got %q, wanted %q", resolvedTypeUrls[1], "https://foobar.com/some.random.MessageKind")
+ }
+ if !proto.Equal(any, roundTrip) {
+ t.Errorf("message contents not set correctly after unmarshalling JSON: got %s, wanted %s", roundTrip, any)
+ }
+}
+
func TestUnmarshalJSONPBUnmarshaler(t *testing.T) {
rawJson := `{ "foo": "bar", "baz": [0, 1, 2, 3] }`
var msg dynamicMessage
@@ -732,6 +791,19 @@ func TestUnmarshalJSONPBUnmarshaler(t *testing.T) {
}
}
+func TestUnmarshalNullWithJSONPBUnmarshaler(t *testing.T) {
+ rawJson := `{"stringField":null}`
+ var ptrFieldMsg ptrFieldMessage
+ if err := Unmarshal(strings.NewReader(rawJson), &ptrFieldMsg); err != nil {
+ t.Errorf("unmarshal error: %v", err)
+ }
+
+ want := ptrFieldMessage{StringField: &stringField{IsSet: true, StringValue: "null"}}
+ if !proto.Equal(&ptrFieldMsg, &want) {
+ t.Errorf("unmarshal result StringField: got %v, want %v", ptrFieldMsg, want)
+ }
+}
+
func TestUnmarshalAnyJSONPBUnmarshaler(t *testing.T) {
rawJson := `{ "@type": "blah.com/` + dynamicMessageName + `", "foo": "bar", "baz": [0, 1, 2, 3] }`
var got anypb.Any
@@ -762,6 +834,41 @@ func init() {
proto.RegisterType((*dynamicMessage)(nil), dynamicMessageName)
}
+type ptrFieldMessage struct {
+ StringField *stringField `protobuf:"bytes,1,opt,name=stringField"`
+}
+
+func (m *ptrFieldMessage) Reset() {
+}
+
+func (m *ptrFieldMessage) String() string {
+ return m.StringField.StringValue
+}
+
+func (m *ptrFieldMessage) ProtoMessage() {
+}
+
+type stringField struct {
+ IsSet bool `protobuf:"varint,1,opt,name=isSet"`
+ StringValue string `protobuf:"bytes,2,opt,name=stringValue"`
+}
+
+func (s *stringField) Reset() {
+}
+
+func (s *stringField) String() string {
+ return s.StringValue
+}
+
+func (s *stringField) ProtoMessage() {
+}
+
+func (s *stringField) UnmarshalJSONPB(jum *Unmarshaler, js []byte) error {
+ s.IsSet = true
+ s.StringValue = string(js)
+ return nil
+}
+
// dynamicMessage implements protobuf.Message but is not a normal generated message type.
// It provides implementations of JSONPBMarshaler and JSONPBUnmarshaler for JSON support.
type dynamicMessage struct {
diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go
index 1d92cb272..c6a91bcab 100644
--- a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go
+++ b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go
@@ -11,6 +11,7 @@ It has these top-level messages:
FileDescriptorSet
FileDescriptorProto
DescriptorProto
+ ExtensionRangeOptions
FieldDescriptorProto
OneofDescriptorProto
EnumDescriptorProto
@@ -137,7 +138,7 @@ func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
*x = FieldDescriptorProto_Type(value)
return nil
}
-func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 0} }
+func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4, 0} }
type FieldDescriptorProto_Label int32
@@ -176,7 +177,7 @@ func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
return nil
}
func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor0, []int{3, 1}
+ return fileDescriptor0, []int{4, 1}
}
// Generated classes can be optimized for speed or code size.
@@ -216,7 +217,7 @@ func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
*x = FileOptions_OptimizeMode(value)
return nil
}
-func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9, 0} }
+func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 0} }
type FieldOptions_CType int32
@@ -254,7 +255,7 @@ func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
*x = FieldOptions_CType(value)
return nil
}
-func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 0} }
+func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 0} }
type FieldOptions_JSType int32
@@ -294,7 +295,7 @@ func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
*x = FieldOptions_JSType(value)
return nil
}
-func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 1} }
+func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{12, 1} }
// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
// or neither? HTTP based RPC implementation may choose GET verb for safe
@@ -335,7 +336,7 @@ func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {
return nil
}
func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {
- return fileDescriptor0, []int{16, 0}
+ return fileDescriptor0, []int{17, 0}
}
// The protocol compiler can output a FileDescriptorSet containing the .proto
@@ -567,9 +568,10 @@ func (m *DescriptorProto) GetReservedName() []string {
}
type DescriptorProto_ExtensionRange struct {
- Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
- End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
- XXX_unrecognized []byte `json:"-"`
+ Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
+ End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
+ Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
+ XXX_unrecognized []byte `json:"-"`
}
func (m *DescriptorProto_ExtensionRange) Reset() { *m = DescriptorProto_ExtensionRange{} }
@@ -593,6 +595,13 @@ func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
return 0
}
+func (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {
+ if m != nil {
+ return m.Options
+ }
+ return nil
+}
+
// Range of reserved tag numbers. Reserved tag numbers may not be used by
// fields or extension ranges in the same message. Reserved ranges may
// not overlap.
@@ -623,6 +632,33 @@ func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
return 0
}
+type ExtensionRangeOptions struct {
+ // The parser stores options it doesn't recognize here. See above.
+ UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
+ proto.XXX_InternalExtensions `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+}
+
+func (m *ExtensionRangeOptions) Reset() { *m = ExtensionRangeOptions{} }
+func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) }
+func (*ExtensionRangeOptions) ProtoMessage() {}
+func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+var extRange_ExtensionRangeOptions = []proto.ExtensionRange{
+ {1000, 536870911},
+}
+
+func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {
+ return extRange_ExtensionRangeOptions
+}
+
+func (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {
+ if m != nil {
+ return m.UninterpretedOption
+ }
+ return nil
+}
+
// Describes a field within a message.
type FieldDescriptorProto struct {
Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
@@ -661,7 +697,7 @@ type FieldDescriptorProto struct {
func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} }
func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) }
func (*FieldDescriptorProto) ProtoMessage() {}
-func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *FieldDescriptorProto) GetName() string {
if m != nil && m.Name != nil {
@@ -743,7 +779,7 @@ type OneofDescriptorProto struct {
func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} }
func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) }
func (*OneofDescriptorProto) ProtoMessage() {}
-func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (m *OneofDescriptorProto) GetName() string {
if m != nil && m.Name != nil {
@@ -770,7 +806,7 @@ type EnumDescriptorProto struct {
func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} }
func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) }
func (*EnumDescriptorProto) ProtoMessage() {}
-func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (m *EnumDescriptorProto) GetName() string {
if m != nil && m.Name != nil {
@@ -804,7 +840,7 @@ type EnumValueDescriptorProto struct {
func (m *EnumValueDescriptorProto) Reset() { *m = EnumValueDescriptorProto{} }
func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }
func (*EnumValueDescriptorProto) ProtoMessage() {}
-func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (m *EnumValueDescriptorProto) GetName() string {
if m != nil && m.Name != nil {
@@ -838,7 +874,7 @@ type ServiceDescriptorProto struct {
func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} }
func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) }
func (*ServiceDescriptorProto) ProtoMessage() {}
-func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (m *ServiceDescriptorProto) GetName() string {
if m != nil && m.Name != nil {
@@ -879,7 +915,7 @@ type MethodDescriptorProto struct {
func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} }
func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) }
func (*MethodDescriptorProto) ProtoMessage() {}
-func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
const Default_MethodDescriptorProto_ClientStreaming bool = false
const Default_MethodDescriptorProto_ServerStreaming bool = false
@@ -974,7 +1010,7 @@ type FileOptions struct {
CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
- PhpGenericServices *bool `protobuf:"varint,19,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"`
+ PhpGenericServices *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"`
// Is this file deprecated?
// Depending on the target platform, this can emit Deprecated annotations
// for everything in the file, or it will be completely ignored; in the very
@@ -1009,7 +1045,7 @@ type FileOptions struct {
func (m *FileOptions) Reset() { *m = FileOptions{} }
func (m *FileOptions) String() string { return proto.CompactTextString(m) }
func (*FileOptions) ProtoMessage() {}
-func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
+func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
var extRange_FileOptions = []proto.ExtensionRange{
{1000, 536870911},
@@ -1222,7 +1258,7 @@ type MessageOptions struct {
func (m *MessageOptions) Reset() { *m = MessageOptions{} }
func (m *MessageOptions) String() string { return proto.CompactTextString(m) }
func (*MessageOptions) ProtoMessage() {}
-func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
+func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
var extRange_MessageOptions = []proto.ExtensionRange{
{1000, 536870911},
@@ -1285,13 +1321,15 @@ type FieldOptions struct {
Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
// The jstype option determines the JavaScript type used for values of the
// field. The option is permitted only for 64 bit integral and fixed types
- // (int64, uint64, sint64, fixed64, sfixed64). By default these types are
- // represented as JavaScript strings. This avoids loss of precision that can
- // happen when a large value is converted to a floating point JavaScript
- // numbers. Specifying JS_NUMBER for the jstype causes the generated
- // JavaScript code to use the JavaScript "number" type instead of strings.
- // This option is an enum to permit additional types to be added,
- // e.g. goog.math.Integer.
+ // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
+ // is represented as JavaScript string, which avoids loss of precision that
+ // can happen when a large value is converted to a floating point JavaScript.
+ // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
+ // use the JavaScript "number" type. The behavior of the default option
+ // JS_NORMAL is implementation dependent.
+ //
+ // This option is an enum to permit additional types to be added, e.g.
+ // goog.math.Integer.
Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
// Should this field be parsed lazily? Lazy applies only to message-type
// fields. It means that when the outer message is initially parsed, the
@@ -1338,7 +1376,7 @@ type FieldOptions struct {
func (m *FieldOptions) Reset() { *m = FieldOptions{} }
func (m *FieldOptions) String() string { return proto.CompactTextString(m) }
func (*FieldOptions) ProtoMessage() {}
-func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
+func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
var extRange_FieldOptions = []proto.ExtensionRange{
{1000, 536870911},
@@ -1413,7 +1451,7 @@ type OneofOptions struct {
func (m *OneofOptions) Reset() { *m = OneofOptions{} }
func (m *OneofOptions) String() string { return proto.CompactTextString(m) }
func (*OneofOptions) ProtoMessage() {}
-func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
+func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
var extRange_OneofOptions = []proto.ExtensionRange{
{1000, 536870911},
@@ -1448,7 +1486,7 @@ type EnumOptions struct {
func (m *EnumOptions) Reset() { *m = EnumOptions{} }
func (m *EnumOptions) String() string { return proto.CompactTextString(m) }
func (*EnumOptions) ProtoMessage() {}
-func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
+func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
var extRange_EnumOptions = []proto.ExtensionRange{
{1000, 536870911},
@@ -1496,7 +1534,7 @@ type EnumValueOptions struct {
func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} }
func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) }
func (*EnumValueOptions) ProtoMessage() {}
-func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
+func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
var extRange_EnumValueOptions = []proto.ExtensionRange{
{1000, 536870911},
@@ -1537,7 +1575,7 @@ type ServiceOptions struct {
func (m *ServiceOptions) Reset() { *m = ServiceOptions{} }
func (m *ServiceOptions) String() string { return proto.CompactTextString(m) }
func (*ServiceOptions) ProtoMessage() {}
-func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
+func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
var extRange_ServiceOptions = []proto.ExtensionRange{
{1000, 536870911},
@@ -1579,7 +1617,7 @@ type MethodOptions struct {
func (m *MethodOptions) Reset() { *m = MethodOptions{} }
func (m *MethodOptions) String() string { return proto.CompactTextString(m) }
func (*MethodOptions) ProtoMessage() {}
-func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
+func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
var extRange_MethodOptions = []proto.ExtensionRange{
{1000, 536870911},
@@ -1635,7 +1673,7 @@ type UninterpretedOption struct {
func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} }
func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) }
func (*UninterpretedOption) ProtoMessage() {}
-func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
+func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
if m != nil {
@@ -1701,7 +1739,7 @@ func (m *UninterpretedOption_NamePart) Reset() { *m = UninterpretedOptio
func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
func (*UninterpretedOption_NamePart) ProtoMessage() {}
func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
- return fileDescriptor0, []int{17, 0}
+ return fileDescriptor0, []int{18, 0}
}
func (m *UninterpretedOption_NamePart) GetNamePart() string {
@@ -1771,7 +1809,7 @@ type SourceCodeInfo struct {
func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} }
func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) }
func (*SourceCodeInfo) ProtoMessage() {}
-func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
+func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
if m != nil {
@@ -1867,7 +1905,7 @@ type SourceCodeInfo_Location struct {
func (m *SourceCodeInfo_Location) Reset() { *m = SourceCodeInfo_Location{} }
func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }
func (*SourceCodeInfo_Location) ProtoMessage() {}
-func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18, 0} }
+func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19, 0} }
func (m *SourceCodeInfo_Location) GetPath() []int32 {
if m != nil {
@@ -1917,7 +1955,7 @@ type GeneratedCodeInfo struct {
func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} }
func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) }
func (*GeneratedCodeInfo) ProtoMessage() {}
-func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
+func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
if m != nil {
@@ -1946,7 +1984,7 @@ func (m *GeneratedCodeInfo_Annotation) Reset() { *m = GeneratedCodeInfo_
func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
- return fileDescriptor0, []int{19, 0}
+ return fileDescriptor0, []int{20, 0}
}
func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
@@ -1983,6 +2021,7 @@ func init() {
proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
+ proto.RegisterType((*ExtensionRangeOptions)(nil), "google.protobuf.ExtensionRangeOptions")
proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
@@ -2014,161 +2053,163 @@ func init() {
func init() { proto.RegisterFile("google/protobuf/descriptor.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
- // 2490 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x8e, 0xdb, 0xc6,
- 0x15, 0x8e, 0x7e, 0x57, 0x3a, 0xd2, 0x6a, 0x67, 0x67, 0x37, 0x36, 0xbd, 0xf9, 0xf1, 0x5a, 0xf9,
- 0xf1, 0x3a, 0x69, 0xb4, 0xc1, 0xc6, 0x76, 0x9c, 0x4d, 0xe1, 0x42, 0x2b, 0xd1, 0x1b, 0xb9, 0x5a,
- 0x49, 0xa5, 0xb4, 0x8d, 0x9d, 0x1b, 0x62, 0x96, 0x1c, 0x49, 0xb4, 0x29, 0x92, 0x21, 0x29, 0xdb,
- 0x9b, 0x2b, 0x03, 0xbd, 0x2a, 0xd0, 0x07, 0x28, 0x8a, 0xa2, 0x17, 0xb9, 0x09, 0xd0, 0x07, 0x28,
- 0xd0, 0xbb, 0x3e, 0x41, 0x81, 0xbc, 0x41, 0x51, 0x14, 0x68, 0xdf, 0xa0, 0xb7, 0xc5, 0xcc, 0x90,
- 0x14, 0xa9, 0x1f, 0x7b, 0x1b, 0xc0, 0xc9, 0x95, 0x34, 0xdf, 0xf9, 0xce, 0x99, 0x33, 0x67, 0xce,
- 0xcc, 0x9c, 0x19, 0xc2, 0xee, 0xc8, 0xb6, 0x47, 0x26, 0xdd, 0x77, 0x5c, 0xdb, 0xb7, 0xcf, 0xa6,
- 0xc3, 0x7d, 0x9d, 0x7a, 0x9a, 0x6b, 0x38, 0xbe, 0xed, 0xd6, 0x38, 0x86, 0x37, 0x04, 0xa3, 0x16,
- 0x32, 0xaa, 0x27, 0xb0, 0x79, 0xcf, 0x30, 0x69, 0x33, 0x22, 0xf6, 0xa9, 0x8f, 0xef, 0x40, 0x76,
- 0x68, 0x98, 0x54, 0x4a, 0xed, 0x66, 0xf6, 0x4a, 0x07, 0xef, 0xd6, 0xe6, 0x94, 0x6a, 0x49, 0x8d,
- 0x1e, 0x83, 0x15, 0xae, 0x51, 0xfd, 0x57, 0x16, 0xb6, 0x96, 0x48, 0x31, 0x86, 0xac, 0x45, 0x26,
- 0xcc, 0x62, 0x6a, 0xaf, 0xa8, 0xf0, 0xff, 0x58, 0x82, 0x35, 0x87, 0x68, 0x8f, 0xc9, 0x88, 0x4a,
- 0x69, 0x0e, 0x87, 0x4d, 0xfc, 0x36, 0x80, 0x4e, 0x1d, 0x6a, 0xe9, 0xd4, 0xd2, 0xce, 0xa5, 0xcc,
- 0x6e, 0x66, 0xaf, 0xa8, 0xc4, 0x10, 0xfc, 0x21, 0x6c, 0x3a, 0xd3, 0x33, 0xd3, 0xd0, 0xd4, 0x18,
- 0x0d, 0x76, 0x33, 0x7b, 0x39, 0x05, 0x09, 0x41, 0x73, 0x46, 0xbe, 0x0e, 0x1b, 0x4f, 0x29, 0x79,
- 0x1c, 0xa7, 0x96, 0x38, 0xb5, 0xc2, 0xe0, 0x18, 0xb1, 0x01, 0xe5, 0x09, 0xf5, 0x3c, 0x32, 0xa2,
- 0xaa, 0x7f, 0xee, 0x50, 0x29, 0xcb, 0x47, 0xbf, 0xbb, 0x30, 0xfa, 0xf9, 0x91, 0x97, 0x02, 0xad,
- 0xc1, 0xb9, 0x43, 0x71, 0x1d, 0x8a, 0xd4, 0x9a, 0x4e, 0x84, 0x85, 0xdc, 0x8a, 0xf8, 0xc9, 0xd6,
- 0x74, 0x32, 0x6f, 0xa5, 0xc0, 0xd4, 0x02, 0x13, 0x6b, 0x1e, 0x75, 0x9f, 0x18, 0x1a, 0x95, 0xf2,
- 0xdc, 0xc0, 0xf5, 0x05, 0x03, 0x7d, 0x21, 0x9f, 0xb7, 0x11, 0xea, 0xe1, 0x06, 0x14, 0xe9, 0x33,
- 0x9f, 0x5a, 0x9e, 0x61, 0x5b, 0xd2, 0x1a, 0x37, 0xf2, 0xde, 0x92, 0x59, 0xa4, 0xa6, 0x3e, 0x6f,
- 0x62, 0xa6, 0x87, 0x6f, 0xc3, 0x9a, 0xed, 0xf8, 0x86, 0x6d, 0x79, 0x52, 0x61, 0x37, 0xb5, 0x57,
- 0x3a, 0x78, 0x73, 0x69, 0x22, 0x74, 0x05, 0x47, 0x09, 0xc9, 0xb8, 0x05, 0xc8, 0xb3, 0xa7, 0xae,
- 0x46, 0x55, 0xcd, 0xd6, 0xa9, 0x6a, 0x58, 0x43, 0x5b, 0x2a, 0x72, 0x03, 0x57, 0x17, 0x07, 0xc2,
- 0x89, 0x0d, 0x5b, 0xa7, 0x2d, 0x6b, 0x68, 0x2b, 0x15, 0x2f, 0xd1, 0xc6, 0x97, 0x20, 0xef, 0x9d,
- 0x5b, 0x3e, 0x79, 0x26, 0x95, 0x79, 0x86, 0x04, 0xad, 0xea, 0x7f, 0x73, 0xb0, 0x71, 0x91, 0x14,
- 0xfb, 0x1c, 0x72, 0x43, 0x36, 0x4a, 0x29, 0xfd, 0xff, 0xc4, 0x40, 0xe8, 0x24, 0x83, 0x98, 0xff,
- 0x81, 0x41, 0xac, 0x43, 0xc9, 0xa2, 0x9e, 0x4f, 0x75, 0x91, 0x11, 0x99, 0x0b, 0xe6, 0x14, 0x08,
- 0xa5, 0xc5, 0x94, 0xca, 0xfe, 0xa0, 0x94, 0x7a, 0x00, 0x1b, 0x91, 0x4b, 0xaa, 0x4b, 0xac, 0x51,
- 0x98, 0x9b, 0xfb, 0x2f, 0xf3, 0xa4, 0x26, 0x87, 0x7a, 0x0a, 0x53, 0x53, 0x2a, 0x34, 0xd1, 0xc6,
- 0x4d, 0x00, 0xdb, 0xa2, 0xf6, 0x50, 0xd5, 0xa9, 0x66, 0x4a, 0x85, 0x15, 0x51, 0xea, 0x32, 0xca,
- 0x42, 0x94, 0x6c, 0x81, 0x6a, 0x26, 0xfe, 0x6c, 0x96, 0x6a, 0x6b, 0x2b, 0x32, 0xe5, 0x44, 0x2c,
- 0xb2, 0x85, 0x6c, 0x3b, 0x85, 0x8a, 0x4b, 0x59, 0xde, 0x53, 0x3d, 0x18, 0x59, 0x91, 0x3b, 0x51,
- 0x7b, 0xe9, 0xc8, 0x94, 0x40, 0x4d, 0x0c, 0x6c, 0xdd, 0x8d, 0x37, 0xf1, 0x3b, 0x10, 0x01, 0x2a,
- 0x4f, 0x2b, 0xe0, 0xbb, 0x50, 0x39, 0x04, 0x3b, 0x64, 0x42, 0x77, 0xee, 0x40, 0x25, 0x19, 0x1e,
- 0xbc, 0x0d, 0x39, 0xcf, 0x27, 0xae, 0xcf, 0xb3, 0x30, 0xa7, 0x88, 0x06, 0x46, 0x90, 0xa1, 0x96,
- 0xce, 0x77, 0xb9, 0x9c, 0xc2, 0xfe, 0xee, 0x7c, 0x0a, 0xeb, 0x89, 0xee, 0x2f, 0xaa, 0x58, 0xfd,
- 0x7d, 0x1e, 0xb6, 0x97, 0xe5, 0xdc, 0xd2, 0xf4, 0xbf, 0x04, 0x79, 0x6b, 0x3a, 0x39, 0xa3, 0xae,
- 0x94, 0xe1, 0x16, 0x82, 0x16, 0xae, 0x43, 0xce, 0x24, 0x67, 0xd4, 0x94, 0xb2, 0xbb, 0xa9, 0xbd,
- 0xca, 0xc1, 0x87, 0x17, 0xca, 0xea, 0x5a, 0x9b, 0xa9, 0x28, 0x42, 0x13, 0xdf, 0x85, 0x6c, 0xb0,
- 0xc5, 0x31, 0x0b, 0x1f, 0x5c, 0xcc, 0x02, 0xcb, 0x45, 0x85, 0xeb, 0xe1, 0x37, 0xa0, 0xc8, 0x7e,
- 0x45, 0x6c, 0xf3, 0xdc, 0xe7, 0x02, 0x03, 0x58, 0x5c, 0xf1, 0x0e, 0x14, 0x78, 0x9a, 0xe9, 0x34,
- 0x3c, 0x1a, 0xa2, 0x36, 0x9b, 0x18, 0x9d, 0x0e, 0xc9, 0xd4, 0xf4, 0xd5, 0x27, 0xc4, 0x9c, 0x52,
- 0x9e, 0x30, 0x45, 0xa5, 0x1c, 0x80, 0xbf, 0x66, 0x18, 0xbe, 0x0a, 0x25, 0x91, 0x95, 0x86, 0xa5,
- 0xd3, 0x67, 0x7c, 0xf7, 0xc9, 0x29, 0x22, 0x51, 0x5b, 0x0c, 0x61, 0xdd, 0x3f, 0xf2, 0x6c, 0x2b,
- 0x9c, 0x5a, 0xde, 0x05, 0x03, 0x78, 0xf7, 0x9f, 0xce, 0x6f, 0x7c, 0x6f, 0x2d, 0x1f, 0xde, 0x7c,
- 0x2e, 0x56, 0xff, 0x92, 0x86, 0x2c, 0x5f, 0x6f, 0x1b, 0x50, 0x1a, 0x3c, 0xec, 0xc9, 0x6a, 0xb3,
- 0x7b, 0x7a, 0xd4, 0x96, 0x51, 0x0a, 0x57, 0x00, 0x38, 0x70, 0xaf, 0xdd, 0xad, 0x0f, 0x50, 0x3a,
- 0x6a, 0xb7, 0x3a, 0x83, 0xdb, 0x37, 0x51, 0x26, 0x52, 0x38, 0x15, 0x40, 0x36, 0x4e, 0xf8, 0xe4,
- 0x00, 0xe5, 0x30, 0x82, 0xb2, 0x30, 0xd0, 0x7a, 0x20, 0x37, 0x6f, 0xdf, 0x44, 0xf9, 0x24, 0xf2,
- 0xc9, 0x01, 0x5a, 0xc3, 0xeb, 0x50, 0xe4, 0xc8, 0x51, 0xb7, 0xdb, 0x46, 0x85, 0xc8, 0x66, 0x7f,
- 0xa0, 0xb4, 0x3a, 0xc7, 0xa8, 0x18, 0xd9, 0x3c, 0x56, 0xba, 0xa7, 0x3d, 0x04, 0x91, 0x85, 0x13,
- 0xb9, 0xdf, 0xaf, 0x1f, 0xcb, 0xa8, 0x14, 0x31, 0x8e, 0x1e, 0x0e, 0xe4, 0x3e, 0x2a, 0x27, 0xdc,
- 0xfa, 0xe4, 0x00, 0xad, 0x47, 0x5d, 0xc8, 0x9d, 0xd3, 0x13, 0x54, 0xc1, 0x9b, 0xb0, 0x2e, 0xba,
- 0x08, 0x9d, 0xd8, 0x98, 0x83, 0x6e, 0xdf, 0x44, 0x68, 0xe6, 0x88, 0xb0, 0xb2, 0x99, 0x00, 0x6e,
- 0xdf, 0x44, 0xb8, 0xda, 0x80, 0x1c, 0xcf, 0x2e, 0x8c, 0xa1, 0xd2, 0xae, 0x1f, 0xc9, 0x6d, 0xb5,
- 0xdb, 0x1b, 0xb4, 0xba, 0x9d, 0x7a, 0x1b, 0xa5, 0x66, 0x98, 0x22, 0xff, 0xea, 0xb4, 0xa5, 0xc8,
- 0x4d, 0x94, 0x8e, 0x63, 0x3d, 0xb9, 0x3e, 0x90, 0x9b, 0x28, 0x53, 0xd5, 0x60, 0x7b, 0xd9, 0x3e,
- 0xb3, 0x74, 0x65, 0xc4, 0xa6, 0x38, 0xbd, 0x62, 0x8a, 0xb9, 0xad, 0x85, 0x29, 0xfe, 0x36, 0x05,
- 0x5b, 0x4b, 0xf6, 0xda, 0xa5, 0x9d, 0xfc, 0x02, 0x72, 0x22, 0x45, 0xc5, 0xe9, 0x73, 0x63, 0xe9,
- 0xa6, 0xcd, 0x13, 0x76, 0xe1, 0x04, 0xe2, 0x7a, 0xf1, 0x13, 0x38, 0xb3, 0xe2, 0x04, 0x66, 0x26,
- 0x16, 0x9c, 0xfc, 0x4d, 0x0a, 0xa4, 0x55, 0xb6, 0x5f, 0xb2, 0x51, 0xa4, 0x13, 0x1b, 0xc5, 0xe7,
- 0xf3, 0x0e, 0x5c, 0x5b, 0x3d, 0x86, 0x05, 0x2f, 0xbe, 0x4b, 0xc1, 0xa5, 0xe5, 0x85, 0xca, 0x52,
- 0x1f, 0xee, 0x42, 0x7e, 0x42, 0xfd, 0xb1, 0x1d, 0x1e, 0xd6, 0xef, 0x2f, 0x39, 0x02, 0x98, 0x78,
- 0x3e, 0x56, 0x81, 0x56, 0xfc, 0x0c, 0xc9, 0xac, 0xaa, 0x36, 0x84, 0x37, 0x0b, 0x9e, 0xfe, 0x36,
- 0x0d, 0xaf, 0x2f, 0x35, 0xbe, 0xd4, 0xd1, 0xb7, 0x00, 0x0c, 0xcb, 0x99, 0xfa, 0xe2, 0x40, 0x16,
+ // 2519 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x6e, 0x1b, 0xc7,
+ 0x15, 0x0e, 0x7f, 0x45, 0x1e, 0x52, 0xd4, 0x68, 0xa4, 0xd8, 0x6b, 0xe5, 0xc7, 0x32, 0xf3, 0x63,
+ 0xd9, 0x69, 0xa8, 0x40, 0xb1, 0x1d, 0x47, 0x29, 0xd2, 0x52, 0xe4, 0x5a, 0xa1, 0x4a, 0x91, 0xec,
+ 0x92, 0x6a, 0x7e, 0x6e, 0x16, 0xa3, 0xdd, 0x21, 0xb9, 0xf6, 0x72, 0x77, 0xb3, 0xbb, 0xb4, 0xad,
+ 0xa0, 0x17, 0x06, 0x7a, 0x55, 0xa0, 0x0f, 0x50, 0x14, 0x45, 0x2f, 0x72, 0x13, 0xa0, 0x0f, 0x50,
+ 0x20, 0x77, 0x7d, 0x82, 0x02, 0x79, 0x83, 0xa2, 0x28, 0xd0, 0x3e, 0x46, 0x31, 0x33, 0xbb, 0xcb,
+ 0x5d, 0xfe, 0xc4, 0x6a, 0x80, 0x38, 0x57, 0xe4, 0x7c, 0xe7, 0x3b, 0x67, 0xce, 0x9c, 0x39, 0x33,
+ 0x73, 0x66, 0x16, 0x76, 0x47, 0xb6, 0x3d, 0x32, 0xe9, 0xbe, 0xe3, 0xda, 0xbe, 0x7d, 0x3e, 0x1d,
+ 0xee, 0xeb, 0xd4, 0xd3, 0x5c, 0xc3, 0xf1, 0x6d, 0xb7, 0xc6, 0x31, 0xbc, 0x21, 0x18, 0xb5, 0x90,
+ 0x51, 0x3d, 0x85, 0xcd, 0x07, 0x86, 0x49, 0x9b, 0x11, 0xb1, 0x4f, 0x7d, 0x7c, 0x1f, 0xb2, 0x43,
+ 0xc3, 0xa4, 0x52, 0x6a, 0x37, 0xb3, 0x57, 0x3a, 0x78, 0xb3, 0x36, 0xa7, 0x54, 0x4b, 0x6a, 0xf4,
+ 0x18, 0xac, 0x70, 0x8d, 0xea, 0xbf, 0xb3, 0xb0, 0xb5, 0x44, 0x8a, 0x31, 0x64, 0x2d, 0x32, 0x61,
+ 0x16, 0x53, 0x7b, 0x45, 0x85, 0xff, 0xc7, 0x12, 0xac, 0x39, 0x44, 0x7b, 0x44, 0x46, 0x54, 0x4a,
+ 0x73, 0x38, 0x6c, 0xe2, 0xd7, 0x01, 0x74, 0xea, 0x50, 0x4b, 0xa7, 0x96, 0x76, 0x21, 0x65, 0x76,
+ 0x33, 0x7b, 0x45, 0x25, 0x86, 0xe0, 0x77, 0x60, 0xd3, 0x99, 0x9e, 0x9b, 0x86, 0xa6, 0xc6, 0x68,
+ 0xb0, 0x9b, 0xd9, 0xcb, 0x29, 0x48, 0x08, 0x9a, 0x33, 0xf2, 0x4d, 0xd8, 0x78, 0x42, 0xc9, 0xa3,
+ 0x38, 0xb5, 0xc4, 0xa9, 0x15, 0x06, 0xc7, 0x88, 0x0d, 0x28, 0x4f, 0xa8, 0xe7, 0x91, 0x11, 0x55,
+ 0xfd, 0x0b, 0x87, 0x4a, 0x59, 0x3e, 0xfa, 0xdd, 0x85, 0xd1, 0xcf, 0x8f, 0xbc, 0x14, 0x68, 0x0d,
+ 0x2e, 0x1c, 0x8a, 0xeb, 0x50, 0xa4, 0xd6, 0x74, 0x22, 0x2c, 0xe4, 0x56, 0xc4, 0x4f, 0xb6, 0xa6,
+ 0x93, 0x79, 0x2b, 0x05, 0xa6, 0x16, 0x98, 0x58, 0xf3, 0xa8, 0xfb, 0xd8, 0xd0, 0xa8, 0x94, 0xe7,
+ 0x06, 0x6e, 0x2e, 0x18, 0xe8, 0x0b, 0xf9, 0xbc, 0x8d, 0x50, 0x0f, 0x37, 0xa0, 0x48, 0x9f, 0xfa,
+ 0xd4, 0xf2, 0x0c, 0xdb, 0x92, 0xd6, 0xb8, 0x91, 0xb7, 0x96, 0xcc, 0x22, 0x35, 0xf5, 0x79, 0x13,
+ 0x33, 0x3d, 0x7c, 0x0f, 0xd6, 0x6c, 0xc7, 0x37, 0x6c, 0xcb, 0x93, 0x0a, 0xbb, 0xa9, 0xbd, 0xd2,
+ 0xc1, 0xab, 0x4b, 0x13, 0xa1, 0x2b, 0x38, 0x4a, 0x48, 0xc6, 0x2d, 0x40, 0x9e, 0x3d, 0x75, 0x35,
+ 0xaa, 0x6a, 0xb6, 0x4e, 0x55, 0xc3, 0x1a, 0xda, 0x52, 0x91, 0x1b, 0xb8, 0xbe, 0x38, 0x10, 0x4e,
+ 0x6c, 0xd8, 0x3a, 0x6d, 0x59, 0x43, 0x5b, 0xa9, 0x78, 0x89, 0x36, 0xbe, 0x02, 0x79, 0xef, 0xc2,
+ 0xf2, 0xc9, 0x53, 0xa9, 0xcc, 0x33, 0x24, 0x68, 0x55, 0xbf, 0xcd, 0xc3, 0xc6, 0x65, 0x52, 0xec,
+ 0x23, 0xc8, 0x0d, 0xd9, 0x28, 0xa5, 0xf4, 0xff, 0x13, 0x03, 0xa1, 0x93, 0x0c, 0x62, 0xfe, 0x07,
+ 0x06, 0xb1, 0x0e, 0x25, 0x8b, 0x7a, 0x3e, 0xd5, 0x45, 0x46, 0x64, 0x2e, 0x99, 0x53, 0x20, 0x94,
+ 0x16, 0x53, 0x2a, 0xfb, 0x83, 0x52, 0xea, 0x33, 0xd8, 0x88, 0x5c, 0x52, 0x5d, 0x62, 0x8d, 0xc2,
+ 0xdc, 0xdc, 0x7f, 0x9e, 0x27, 0x35, 0x39, 0xd4, 0x53, 0x98, 0x9a, 0x52, 0xa1, 0x89, 0x36, 0x6e,
+ 0x02, 0xd8, 0x16, 0xb5, 0x87, 0xaa, 0x4e, 0x35, 0x53, 0x2a, 0xac, 0x88, 0x52, 0x97, 0x51, 0x16,
+ 0xa2, 0x64, 0x0b, 0x54, 0x33, 0xf1, 0x87, 0xb3, 0x54, 0x5b, 0x5b, 0x91, 0x29, 0xa7, 0x62, 0x91,
+ 0x2d, 0x64, 0xdb, 0x19, 0x54, 0x5c, 0xca, 0xf2, 0x9e, 0xea, 0xc1, 0xc8, 0x8a, 0xdc, 0x89, 0xda,
+ 0x73, 0x47, 0xa6, 0x04, 0x6a, 0x62, 0x60, 0xeb, 0x6e, 0xbc, 0x89, 0xdf, 0x80, 0x08, 0x50, 0x79,
+ 0x5a, 0x01, 0xdf, 0x85, 0xca, 0x21, 0xd8, 0x21, 0x13, 0xba, 0xf3, 0x15, 0x54, 0x92, 0xe1, 0xc1,
+ 0xdb, 0x90, 0xf3, 0x7c, 0xe2, 0xfa, 0x3c, 0x0b, 0x73, 0x8a, 0x68, 0x60, 0x04, 0x19, 0x6a, 0xe9,
+ 0x7c, 0x97, 0xcb, 0x29, 0xec, 0x2f, 0xfe, 0xe5, 0x6c, 0xc0, 0x19, 0x3e, 0xe0, 0xb7, 0x17, 0x67,
+ 0x34, 0x61, 0x79, 0x7e, 0xdc, 0x3b, 0x1f, 0xc0, 0x7a, 0x62, 0x00, 0x97, 0xed, 0xba, 0xfa, 0x5b,
+ 0x78, 0x79, 0xa9, 0x69, 0xfc, 0x19, 0x6c, 0x4f, 0x2d, 0xc3, 0xf2, 0xa9, 0xeb, 0xb8, 0x94, 0x65,
+ 0xac, 0xe8, 0x4a, 0xfa, 0xcf, 0xda, 0x8a, 0x9c, 0x3b, 0x8b, 0xb3, 0x85, 0x15, 0x65, 0x6b, 0xba,
+ 0x08, 0xde, 0x2e, 0x16, 0xfe, 0xbb, 0x86, 0x9e, 0x3d, 0x7b, 0xf6, 0x2c, 0x5d, 0xfd, 0x63, 0x1e,
+ 0xb6, 0x97, 0xad, 0x99, 0xa5, 0xcb, 0xf7, 0x0a, 0xe4, 0xad, 0xe9, 0xe4, 0x9c, 0xba, 0x3c, 0x48,
+ 0x39, 0x25, 0x68, 0xe1, 0x3a, 0xe4, 0x4c, 0x72, 0x4e, 0x4d, 0x29, 0xbb, 0x9b, 0xda, 0xab, 0x1c,
+ 0xbc, 0x73, 0xa9, 0x55, 0x59, 0x6b, 0x33, 0x15, 0x45, 0x68, 0xe2, 0x8f, 0x21, 0x1b, 0x6c, 0xd1,
+ 0xcc, 0xc2, 0xed, 0xcb, 0x59, 0x60, 0x6b, 0x49, 0xe1, 0x7a, 0xf8, 0x15, 0x28, 0xb2, 0x5f, 0x91,
+ 0x1b, 0x79, 0xee, 0x73, 0x81, 0x01, 0x2c, 0x2f, 0xf0, 0x0e, 0x14, 0xf8, 0x32, 0xd1, 0x69, 0x78,
+ 0xb4, 0x45, 0x6d, 0x96, 0x58, 0x3a, 0x1d, 0x92, 0xa9, 0xe9, 0xab, 0x8f, 0x89, 0x39, 0xa5, 0x3c,
+ 0xe1, 0x8b, 0x4a, 0x39, 0x00, 0x7f, 0xc3, 0x30, 0x7c, 0x1d, 0x4a, 0x62, 0x55, 0x19, 0x96, 0x4e,
+ 0x9f, 0xf2, 0xdd, 0x33, 0xa7, 0x88, 0x85, 0xd6, 0x62, 0x08, 0xeb, 0xfe, 0xa1, 0x67, 0x5b, 0x61,
+ 0x6a, 0xf2, 0x2e, 0x18, 0xc0, 0xbb, 0xff, 0x60, 0x7e, 0xe3, 0x7e, 0x6d, 0xf9, 0xf0, 0xe6, 0x73,
+ 0xaa, 0xfa, 0xb7, 0x34, 0x64, 0xf9, 0x7e, 0xb1, 0x01, 0xa5, 0xc1, 0xe7, 0x3d, 0x59, 0x6d, 0x76,
+ 0xcf, 0x8e, 0xda, 0x32, 0x4a, 0xe1, 0x0a, 0x00, 0x07, 0x1e, 0xb4, 0xbb, 0xf5, 0x01, 0x4a, 0x47,
+ 0xed, 0x56, 0x67, 0x70, 0xef, 0x0e, 0xca, 0x44, 0x0a, 0x67, 0x02, 0xc8, 0xc6, 0x09, 0xef, 0x1f,
+ 0xa0, 0x1c, 0x46, 0x50, 0x16, 0x06, 0x5a, 0x9f, 0xc9, 0xcd, 0x7b, 0x77, 0x50, 0x3e, 0x89, 0xbc,
+ 0x7f, 0x80, 0xd6, 0xf0, 0x3a, 0x14, 0x39, 0x72, 0xd4, 0xed, 0xb6, 0x51, 0x21, 0xb2, 0xd9, 0x1f,
+ 0x28, 0xad, 0xce, 0x31, 0x2a, 0x46, 0x36, 0x8f, 0x95, 0xee, 0x59, 0x0f, 0x41, 0x64, 0xe1, 0x54,
+ 0xee, 0xf7, 0xeb, 0xc7, 0x32, 0x2a, 0x45, 0x8c, 0xa3, 0xcf, 0x07, 0x72, 0x1f, 0x95, 0x13, 0x6e,
+ 0xbd, 0x7f, 0x80, 0xd6, 0xa3, 0x2e, 0xe4, 0xce, 0xd9, 0x29, 0xaa, 0xe0, 0x4d, 0x58, 0x17, 0x5d,
+ 0x84, 0x4e, 0x6c, 0xcc, 0x41, 0xf7, 0xee, 0x20, 0x34, 0x73, 0x44, 0x58, 0xd9, 0x4c, 0x00, 0xf7,
+ 0xee, 0x20, 0x5c, 0x6d, 0x40, 0x8e, 0x67, 0x17, 0xc6, 0x50, 0x69, 0xd7, 0x8f, 0xe4, 0xb6, 0xda,
+ 0xed, 0x0d, 0x5a, 0xdd, 0x4e, 0xbd, 0x8d, 0x52, 0x33, 0x4c, 0x91, 0x7f, 0x7d, 0xd6, 0x52, 0xe4,
+ 0x26, 0x4a, 0xc7, 0xb1, 0x9e, 0x5c, 0x1f, 0xc8, 0x4d, 0x94, 0xa9, 0x6a, 0xb0, 0xbd, 0x6c, 0x9f,
+ 0x5c, 0xba, 0x32, 0x62, 0x53, 0x9c, 0x5e, 0x31, 0xc5, 0xdc, 0xd6, 0xc2, 0x14, 0x7f, 0x9d, 0x82,
+ 0xad, 0x25, 0x67, 0xc5, 0xd2, 0x4e, 0x7e, 0x01, 0x39, 0x91, 0xa2, 0xe2, 0xf4, 0xbc, 0xb5, 0xf4,
+ 0xd0, 0xe1, 0x09, 0xbb, 0x70, 0x82, 0x72, 0xbd, 0x78, 0x05, 0x91, 0x59, 0x51, 0x41, 0x30, 0x13,
+ 0x0b, 0x4e, 0xfe, 0x2e, 0x05, 0xd2, 0x2a, 0xdb, 0xcf, 0xd9, 0x28, 0xd2, 0x89, 0x8d, 0xe2, 0xa3,
+ 0x79, 0x07, 0x6e, 0xac, 0x1e, 0xc3, 0x82, 0x17, 0xdf, 0xa4, 0xe0, 0xca, 0xf2, 0x42, 0x6b, 0xa9,
+ 0x0f, 0x1f, 0x43, 0x7e, 0x42, 0xfd, 0xb1, 0x1d, 0x16, 0x1b, 0x6f, 0x2f, 0x39, 0xc2, 0x98, 0x78,
+ 0x3e, 0x56, 0x81, 0x56, 0xfc, 0x0c, 0xcc, 0xac, 0xaa, 0x96, 0x84, 0x37, 0x0b, 0x9e, 0xfe, 0x3e,
+ 0x0d, 0x2f, 0x2f, 0x35, 0xbe, 0xd4, 0xd1, 0xd7, 0x00, 0x0c, 0xcb, 0x99, 0xfa, 0xa2, 0xa0, 0x10,
0xfb, 0x53, 0x91, 0x23, 0x7c, 0xed, 0xb3, 0xbd, 0x67, 0xea, 0x47, 0xf2, 0x0c, 0x97, 0x83, 0x80,
- 0x38, 0xe1, 0xce, 0xcc, 0xd1, 0x2c, 0x77, 0xf4, 0xed, 0x15, 0x23, 0x5d, 0x38, 0xeb, 0x3e, 0x06,
+ 0x38, 0xe1, 0xfe, 0xcc, 0xd1, 0x2c, 0x77, 0xf4, 0xf5, 0x15, 0x23, 0x5d, 0x38, 0xab, 0xdf, 0x03,
0xa4, 0x99, 0x06, 0xb5, 0x7c, 0xd5, 0xf3, 0x5d, 0x4a, 0x26, 0x86, 0x35, 0xe2, 0x1b, 0x70, 0xe1,
- 0x30, 0x37, 0x24, 0xa6, 0x47, 0x95, 0x0d, 0x21, 0xee, 0x87, 0x52, 0xa6, 0xc1, 0x4f, 0x19, 0x37,
- 0xa6, 0x91, 0x4f, 0x68, 0x08, 0x71, 0xa4, 0x51, 0xfd, 0x6b, 0x01, 0x4a, 0xb1, 0xb2, 0x0e, 0x5f,
- 0x83, 0xf2, 0x23, 0xf2, 0x84, 0xa8, 0x61, 0xa9, 0x2e, 0x22, 0x51, 0x62, 0x58, 0x2f, 0x28, 0xd7,
- 0x3f, 0x86, 0x6d, 0x4e, 0xb1, 0xa7, 0x3e, 0x75, 0x55, 0xcd, 0x24, 0x9e, 0xc7, 0x83, 0x56, 0xe0,
- 0x54, 0xcc, 0x64, 0x5d, 0x26, 0x6a, 0x84, 0x12, 0x7c, 0x0b, 0xb6, 0xb8, 0xc6, 0x64, 0x6a, 0xfa,
- 0x86, 0x63, 0x52, 0x95, 0x5d, 0x1e, 0x3c, 0xbe, 0x11, 0x47, 0x9e, 0x6d, 0x32, 0xc6, 0x49, 0x40,
- 0x60, 0x1e, 0x79, 0xb8, 0x09, 0x6f, 0x71, 0xb5, 0x11, 0xb5, 0xa8, 0x4b, 0x7c, 0xaa, 0xd2, 0xaf,
- 0xa7, 0xc4, 0xf4, 0x54, 0x62, 0xe9, 0xea, 0x98, 0x78, 0x63, 0x69, 0x9b, 0x19, 0x38, 0x4a, 0x4b,
- 0x29, 0xe5, 0x0a, 0x23, 0x1e, 0x07, 0x3c, 0x99, 0xd3, 0xea, 0x96, 0xfe, 0x05, 0xf1, 0xc6, 0xf8,
- 0x10, 0x2e, 0x71, 0x2b, 0x9e, 0xef, 0x1a, 0xd6, 0x48, 0xd5, 0xc6, 0x54, 0x7b, 0xac, 0x4e, 0xfd,
- 0xe1, 0x1d, 0xe9, 0x8d, 0x78, 0xff, 0xdc, 0xc3, 0x3e, 0xe7, 0x34, 0x18, 0xe5, 0xd4, 0x1f, 0xde,
- 0xc1, 0x7d, 0x28, 0xb3, 0xc9, 0x98, 0x18, 0xdf, 0x50, 0x75, 0x68, 0xbb, 0xfc, 0x64, 0xa9, 0x2c,
- 0x59, 0xd9, 0xb1, 0x08, 0xd6, 0xba, 0x81, 0xc2, 0x89, 0xad, 0xd3, 0xc3, 0x5c, 0xbf, 0x27, 0xcb,
- 0x4d, 0xa5, 0x14, 0x5a, 0xb9, 0x67, 0xbb, 0x2c, 0xa1, 0x46, 0x76, 0x14, 0xe0, 0x92, 0x48, 0xa8,
- 0x91, 0x1d, 0x86, 0xf7, 0x16, 0x6c, 0x69, 0x9a, 0x18, 0xb3, 0xa1, 0xa9, 0x41, 0x89, 0xef, 0x49,
- 0x28, 0x11, 0x2c, 0x4d, 0x3b, 0x16, 0x84, 0x20, 0xc7, 0x3d, 0xfc, 0x19, 0xbc, 0x3e, 0x0b, 0x56,
- 0x5c, 0x71, 0x73, 0x61, 0x94, 0xf3, 0xaa, 0xb7, 0x60, 0xcb, 0x39, 0x5f, 0x54, 0xc4, 0x89, 0x1e,
- 0x9d, 0xf3, 0x79, 0xb5, 0x4f, 0x61, 0xdb, 0x19, 0x3b, 0x8b, 0x7a, 0x5b, 0x71, 0x3d, 0xec, 0x8c,
- 0x9d, 0x79, 0xc5, 0xf7, 0xf8, 0x7d, 0xcf, 0xa5, 0x1a, 0xf1, 0xa9, 0x2e, 0x5d, 0x8e, 0xd3, 0x63,
- 0x02, 0xbc, 0x0f, 0x48, 0xd3, 0x54, 0x6a, 0x91, 0x33, 0x93, 0xaa, 0xc4, 0xa5, 0x16, 0xf1, 0xa4,
- 0xab, 0x71, 0x72, 0x45, 0xd3, 0x64, 0x2e, 0xad, 0x73, 0x21, 0xfe, 0x00, 0x36, 0xed, 0xb3, 0x47,
- 0x9a, 0x48, 0x49, 0xd5, 0x71, 0xe9, 0xd0, 0x78, 0x26, 0xbd, 0xcb, 0xe3, 0xbb, 0xc1, 0x04, 0x3c,
- 0x21, 0x7b, 0x1c, 0xc6, 0x37, 0x00, 0x69, 0xde, 0x98, 0xb8, 0x0e, 0xaf, 0x09, 0x3c, 0x87, 0x68,
- 0x54, 0x7a, 0x4f, 0x50, 0x05, 0xde, 0x09, 0x61, 0xb6, 0x24, 0xbc, 0xa7, 0xc6, 0xd0, 0x0f, 0x2d,
- 0x5e, 0x17, 0x4b, 0x82, 0x63, 0x81, 0xb5, 0x3d, 0x40, 0x2c, 0x14, 0x89, 0x8e, 0xf7, 0x38, 0xad,
- 0xe2, 0x8c, 0x9d, 0x78, 0xbf, 0xef, 0xc0, 0x3a, 0x63, 0xce, 0x3a, 0xbd, 0x21, 0xea, 0x19, 0x67,
- 0x1c, 0xeb, 0xf1, 0x01, 0x6c, 0x4f, 0x2d, 0xc3, 0xf2, 0xa9, 0xeb, 0xb8, 0x94, 0x5d, 0x26, 0xc4,
- 0x8e, 0x20, 0xfd, 0x7b, 0x6d, 0xc5, 0x75, 0xe0, 0x34, 0xce, 0x16, 0x89, 0xa8, 0x6c, 0x4d, 0x17,
- 0xc1, 0xea, 0x21, 0x94, 0xe3, 0xf9, 0x89, 0x8b, 0x20, 0x32, 0x14, 0xa5, 0xd8, 0x59, 0xdf, 0xe8,
- 0x36, 0xd9, 0x29, 0xfd, 0x95, 0x8c, 0xd2, 0xac, 0x5a, 0x68, 0xb7, 0x06, 0xb2, 0xaa, 0x9c, 0x76,
- 0x06, 0xad, 0x13, 0x19, 0x65, 0x3e, 0x28, 0x16, 0xfe, 0xb3, 0x86, 0x9e, 0x3f, 0x7f, 0xfe, 0x3c,
- 0x7d, 0x3f, 0x5b, 0x78, 0x1f, 0x5d, 0xaf, 0x7e, 0x9f, 0x86, 0x4a, 0xb2, 0x4e, 0xc7, 0x3f, 0x87,
- 0xcb, 0xe1, 0xa5, 0xda, 0xa3, 0xbe, 0xfa, 0xd4, 0x70, 0xf9, 0xc2, 0x99, 0x10, 0x51, 0xe9, 0x46,
- 0x53, 0xb7, 0x1d, 0xb0, 0xfa, 0xd4, 0xff, 0xd2, 0x70, 0xd9, 0xb2, 0x98, 0x10, 0x1f, 0xb7, 0xe1,
- 0xaa, 0x65, 0xab, 0x9e, 0x4f, 0x2c, 0x9d, 0xb8, 0xba, 0x3a, 0x7b, 0xce, 0x50, 0x89, 0xa6, 0x51,
- 0xcf, 0xb3, 0xc5, 0x81, 0x15, 0x59, 0x79, 0xd3, 0xb2, 0xfb, 0x01, 0x79, 0xb6, 0x93, 0xd7, 0x03,
- 0xea, 0x5c, 0x9a, 0x65, 0x56, 0xa5, 0xd9, 0x1b, 0x50, 0x9c, 0x10, 0x47, 0xa5, 0x96, 0xef, 0x9e,
- 0xf3, 0xea, 0xb2, 0xa0, 0x14, 0x26, 0xc4, 0x91, 0x59, 0xfb, 0xd5, 0xcd, 0x44, 0x32, 0x9a, 0x05,
- 0x54, 0xbc, 0x9f, 0x2d, 0x14, 0x11, 0x54, 0xff, 0x99, 0x81, 0x72, 0xbc, 0xda, 0x64, 0xc5, 0xbb,
- 0xc6, 0x4f, 0x96, 0x14, 0xdf, 0x7b, 0xde, 0x79, 0x61, 0x6d, 0x5a, 0x6b, 0xb0, 0x23, 0xe7, 0x30,
- 0x2f, 0x6a, 0x40, 0x45, 0x68, 0xb2, 0xe3, 0x9e, 0xed, 0x36, 0x54, 0xdc, 0x2c, 0x0a, 0x4a, 0xd0,
- 0xc2, 0xc7, 0x90, 0x7f, 0xe4, 0x71, 0xdb, 0x79, 0x6e, 0xfb, 0xdd, 0x17, 0xdb, 0xbe, 0xdf, 0xe7,
- 0xc6, 0x8b, 0xf7, 0xfb, 0x6a, 0xa7, 0xab, 0x9c, 0xd4, 0xdb, 0x4a, 0xa0, 0x8e, 0xaf, 0x40, 0xd6,
- 0x24, 0xdf, 0x9c, 0x27, 0x0f, 0x27, 0x0e, 0x5d, 0x74, 0x12, 0xae, 0x40, 0xf6, 0x29, 0x25, 0x8f,
- 0x93, 0x47, 0x02, 0x87, 0x5e, 0xe1, 0x62, 0xd8, 0x87, 0x1c, 0x8f, 0x17, 0x06, 0x08, 0x22, 0x86,
- 0x5e, 0xc3, 0x05, 0xc8, 0x36, 0xba, 0x0a, 0x5b, 0x10, 0x08, 0xca, 0x02, 0x55, 0x7b, 0x2d, 0xb9,
- 0x21, 0xa3, 0x74, 0xf5, 0x16, 0xe4, 0x45, 0x10, 0xd8, 0x62, 0x89, 0xc2, 0x80, 0x5e, 0x0b, 0x9a,
- 0x81, 0x8d, 0x54, 0x28, 0x3d, 0x3d, 0x39, 0x92, 0x15, 0x94, 0x4e, 0x4e, 0x75, 0x16, 0xe5, 0xaa,
- 0x1e, 0x94, 0xe3, 0xe5, 0xe6, 0x8f, 0x92, 0x65, 0xd5, 0xbf, 0xa5, 0xa0, 0x14, 0x2b, 0x1f, 0x59,
- 0xe1, 0x42, 0x4c, 0xd3, 0x7e, 0xaa, 0x12, 0xd3, 0x20, 0x5e, 0x90, 0x1a, 0xc0, 0xa1, 0x3a, 0x43,
- 0x2e, 0x3a, 0x75, 0x3f, 0xd2, 0x12, 0xc9, 0xa1, 0x7c, 0xf5, 0x4f, 0x29, 0x40, 0xf3, 0x05, 0xe8,
- 0x9c, 0x9b, 0xa9, 0x9f, 0xd2, 0xcd, 0xea, 0x1f, 0x53, 0x50, 0x49, 0x56, 0x9d, 0x73, 0xee, 0x5d,
- 0xfb, 0x49, 0xdd, 0xfb, 0x47, 0x1a, 0xd6, 0x13, 0xb5, 0xe6, 0x45, 0xbd, 0xfb, 0x1a, 0x36, 0x0d,
- 0x9d, 0x4e, 0x1c, 0xdb, 0xa7, 0x96, 0x76, 0xae, 0x9a, 0xf4, 0x09, 0x35, 0xa5, 0x2a, 0xdf, 0x34,
- 0xf6, 0x5f, 0x5c, 0xcd, 0xd6, 0x5a, 0x33, 0xbd, 0x36, 0x53, 0x3b, 0xdc, 0x6a, 0x35, 0xe5, 0x93,
- 0x5e, 0x77, 0x20, 0x77, 0x1a, 0x0f, 0xd5, 0xd3, 0xce, 0x2f, 0x3b, 0xdd, 0x2f, 0x3b, 0x0a, 0x32,
- 0xe6, 0x68, 0xaf, 0x70, 0xd9, 0xf7, 0x00, 0xcd, 0x3b, 0x85, 0x2f, 0xc3, 0x32, 0xb7, 0xd0, 0x6b,
- 0x78, 0x0b, 0x36, 0x3a, 0x5d, 0xb5, 0xdf, 0x6a, 0xca, 0xaa, 0x7c, 0xef, 0x9e, 0xdc, 0x18, 0xf4,
- 0xc5, 0xf5, 0x3e, 0x62, 0x0f, 0x12, 0x0b, 0xbc, 0xfa, 0x87, 0x0c, 0x6c, 0x2d, 0xf1, 0x04, 0xd7,
- 0x83, 0x9b, 0x85, 0xb8, 0xec, 0x7c, 0x74, 0x11, 0xef, 0x6b, 0xac, 0x20, 0xe8, 0x11, 0xd7, 0x0f,
- 0x2e, 0x22, 0x37, 0x80, 0x45, 0xc9, 0xf2, 0x8d, 0xa1, 0x41, 0xdd, 0xe0, 0x35, 0x44, 0x5c, 0x37,
- 0x36, 0x66, 0xb8, 0x78, 0x10, 0xf9, 0x19, 0x60, 0xc7, 0xf6, 0x0c, 0xdf, 0x78, 0x42, 0x55, 0xc3,
- 0x0a, 0x9f, 0x4e, 0xd8, 0xf5, 0x23, 0xab, 0xa0, 0x50, 0xd2, 0xb2, 0xfc, 0x88, 0x6d, 0xd1, 0x11,
- 0x99, 0x63, 0xb3, 0xcd, 0x3c, 0xa3, 0xa0, 0x50, 0x12, 0xb1, 0xaf, 0x41, 0x59, 0xb7, 0xa7, 0xac,
- 0x26, 0x13, 0x3c, 0x76, 0x76, 0xa4, 0x94, 0x92, 0xc0, 0x22, 0x4a, 0x50, 0x6d, 0xcf, 0xde, 0x6c,
- 0xca, 0x4a, 0x49, 0x60, 0x82, 0x72, 0x1d, 0x36, 0xc8, 0x68, 0xe4, 0x32, 0xe3, 0xa1, 0x21, 0x71,
- 0x7f, 0xa8, 0x44, 0x30, 0x27, 0xee, 0xdc, 0x87, 0x42, 0x18, 0x07, 0x76, 0x54, 0xb3, 0x48, 0xa8,
- 0x8e, 0x78, 0x39, 0x4b, 0xef, 0x15, 0x95, 0x82, 0x15, 0x0a, 0xaf, 0x41, 0xd9, 0xf0, 0xd4, 0xd9,
- 0x13, 0x6e, 0x7a, 0x37, 0xbd, 0x57, 0x50, 0x4a, 0x86, 0x17, 0xbd, 0xd9, 0x55, 0xbf, 0x4b, 0x43,
- 0x25, 0xf9, 0x04, 0x8d, 0x9b, 0x50, 0x30, 0x6d, 0x8d, 0xf0, 0xd4, 0x12, 0xdf, 0x3f, 0xf6, 0x5e,
- 0xf2, 0x6a, 0x5d, 0x6b, 0x07, 0x7c, 0x25, 0xd2, 0xdc, 0xf9, 0x7b, 0x0a, 0x0a, 0x21, 0x8c, 0x2f,
- 0x41, 0xd6, 0x21, 0xfe, 0x98, 0x9b, 0xcb, 0x1d, 0xa5, 0x51, 0x4a, 0xe1, 0x6d, 0x86, 0x7b, 0x0e,
- 0xb1, 0x78, 0x0a, 0x04, 0x38, 0x6b, 0xb3, 0x79, 0x35, 0x29, 0xd1, 0xf9, 0xe5, 0xc4, 0x9e, 0x4c,
- 0xa8, 0xe5, 0x7b, 0xe1, 0xbc, 0x06, 0x78, 0x23, 0x80, 0xf1, 0x87, 0xb0, 0xe9, 0xbb, 0xc4, 0x30,
- 0x13, 0xdc, 0x2c, 0xe7, 0xa2, 0x50, 0x10, 0x91, 0x0f, 0xe1, 0x4a, 0x68, 0x57, 0xa7, 0x3e, 0xd1,
- 0xc6, 0x54, 0x9f, 0x29, 0xe5, 0xf9, 0xfb, 0xe6, 0xe5, 0x80, 0xd0, 0x0c, 0xe4, 0xa1, 0x6e, 0xf5,
- 0xfb, 0x14, 0x6c, 0x86, 0xd7, 0x29, 0x3d, 0x0a, 0xd6, 0x09, 0x00, 0xb1, 0x2c, 0xdb, 0x8f, 0x87,
- 0x6b, 0x31, 0x95, 0x17, 0xf4, 0x6a, 0xf5, 0x48, 0x49, 0x89, 0x19, 0xd8, 0x99, 0x00, 0xcc, 0x24,
- 0x2b, 0xc3, 0x76, 0x15, 0x4a, 0xc1, 0xf7, 0x05, 0xfe, 0x91, 0x4a, 0x5c, 0xc0, 0x41, 0x40, 0xec,
- 0xde, 0x85, 0xb7, 0x21, 0x77, 0x46, 0x47, 0x86, 0x15, 0xbc, 0x7a, 0x8a, 0x46, 0xf8, 0x96, 0x9a,
- 0x8d, 0xde, 0x52, 0x8f, 0x7e, 0x97, 0x82, 0x2d, 0xcd, 0x9e, 0xcc, 0xfb, 0x7b, 0x84, 0xe6, 0x5e,
- 0x01, 0xbc, 0x2f, 0x52, 0x5f, 0xdd, 0x1d, 0x19, 0xfe, 0x78, 0x7a, 0x56, 0xd3, 0xec, 0xc9, 0xfe,
- 0xc8, 0x36, 0x89, 0x35, 0x9a, 0x7d, 0x65, 0xe3, 0x7f, 0xb4, 0x8f, 0x46, 0xd4, 0xfa, 0x68, 0x64,
- 0xc7, 0xbe, 0xb9, 0x7d, 0x3e, 0xfb, 0xfb, 0x6d, 0x3a, 0x73, 0xdc, 0x3b, 0xfa, 0x73, 0x7a, 0xe7,
- 0x58, 0xf4, 0xd5, 0x0b, 0x63, 0xa3, 0xd0, 0xa1, 0x49, 0x35, 0x36, 0xde, 0xff, 0x05, 0x00, 0x00,
- 0xff, 0xff, 0xa2, 0xc3, 0x4e, 0x18, 0xbe, 0x1b, 0x00, 0x00,
+ 0x30, 0x37, 0x24, 0xa6, 0x47, 0x95, 0x0d, 0x21, 0xee, 0x87, 0x52, 0xa6, 0xc1, 0xcf, 0x38, 0x37,
+ 0xa6, 0x91, 0x4f, 0x68, 0x08, 0x71, 0xa4, 0x51, 0xfd, 0xb6, 0x00, 0xa5, 0x58, 0x59, 0x8a, 0x6f,
+ 0x40, 0xf9, 0x21, 0x79, 0x4c, 0xd4, 0xf0, 0xaa, 0x21, 0x22, 0x51, 0x62, 0x58, 0x2f, 0xb8, 0x6e,
+ 0xbc, 0x07, 0xdb, 0x9c, 0x62, 0x4f, 0x7d, 0xea, 0xaa, 0x9a, 0x49, 0x3c, 0x8f, 0x07, 0xad, 0xc0,
+ 0xa9, 0x98, 0xc9, 0xba, 0x4c, 0xd4, 0x08, 0x25, 0xf8, 0x2e, 0x6c, 0x71, 0x8d, 0xc9, 0xd4, 0xf4,
+ 0x0d, 0xc7, 0xa4, 0x2a, 0xbb, 0xfc, 0x78, 0x7c, 0x23, 0x8e, 0x3c, 0xdb, 0x64, 0x8c, 0xd3, 0x80,
+ 0xc0, 0x3c, 0xf2, 0x70, 0x13, 0x5e, 0xe3, 0x6a, 0x23, 0x6a, 0x51, 0x97, 0xf8, 0x54, 0xa5, 0x5f,
+ 0x4e, 0x89, 0xe9, 0xa9, 0xc4, 0xd2, 0xd5, 0x31, 0xf1, 0xc6, 0xd2, 0x36, 0x33, 0x70, 0x94, 0x96,
+ 0x52, 0xca, 0x35, 0x46, 0x3c, 0x0e, 0x78, 0x32, 0xa7, 0xd5, 0x2d, 0xfd, 0x13, 0xe2, 0x8d, 0xf1,
+ 0x21, 0x5c, 0xe1, 0x56, 0x3c, 0xdf, 0x35, 0xac, 0x91, 0xaa, 0x8d, 0xa9, 0xf6, 0x48, 0x9d, 0xfa,
+ 0xc3, 0xfb, 0xd2, 0x2b, 0xf1, 0xfe, 0xb9, 0x87, 0x7d, 0xce, 0x69, 0x30, 0xca, 0x99, 0x3f, 0xbc,
+ 0x8f, 0xfb, 0x50, 0x66, 0x93, 0x31, 0x31, 0xbe, 0xa2, 0xea, 0xd0, 0x76, 0xf9, 0xc9, 0x52, 0x59,
+ 0xb2, 0xb2, 0x63, 0x11, 0xac, 0x75, 0x03, 0x85, 0x53, 0x5b, 0xa7, 0x87, 0xb9, 0x7e, 0x4f, 0x96,
+ 0x9b, 0x4a, 0x29, 0xb4, 0xf2, 0xc0, 0x76, 0x59, 0x42, 0x8d, 0xec, 0x28, 0xc0, 0x25, 0x91, 0x50,
+ 0x23, 0x3b, 0x0c, 0xef, 0x5d, 0xd8, 0xd2, 0x34, 0x31, 0x66, 0x43, 0x53, 0x83, 0x2b, 0x8a, 0x27,
+ 0xa1, 0x44, 0xb0, 0x34, 0xed, 0x58, 0x10, 0x82, 0x1c, 0xf7, 0xf0, 0x87, 0xf0, 0xf2, 0x2c, 0x58,
+ 0x71, 0xc5, 0xcd, 0x85, 0x51, 0xce, 0xab, 0xde, 0x85, 0x2d, 0xe7, 0x62, 0x51, 0x11, 0x27, 0x7a,
+ 0x74, 0x2e, 0xe6, 0xd5, 0x3e, 0x80, 0x6d, 0x67, 0xec, 0x2c, 0xea, 0xdd, 0x8e, 0xeb, 0x61, 0x67,
+ 0xec, 0xcc, 0x2b, 0xbe, 0xc5, 0xef, 0xab, 0x2e, 0xd5, 0x88, 0x4f, 0x75, 0xe9, 0x6a, 0x9c, 0x1e,
+ 0x13, 0xe0, 0x7d, 0x40, 0x9a, 0xa6, 0x52, 0x8b, 0x9c, 0x9b, 0x54, 0x25, 0x2e, 0xb5, 0x88, 0x27,
+ 0x5d, 0x8f, 0x93, 0x2b, 0x9a, 0x26, 0x73, 0x69, 0x9d, 0x0b, 0xf1, 0x6d, 0xd8, 0xb4, 0xcf, 0x1f,
+ 0x6a, 0x22, 0x25, 0x55, 0xc7, 0xa5, 0x43, 0xe3, 0xa9, 0xf4, 0x26, 0x8f, 0xef, 0x06, 0x13, 0xf0,
+ 0x84, 0xec, 0x71, 0x18, 0xdf, 0x02, 0xa4, 0x79, 0x63, 0xe2, 0x3a, 0xbc, 0x26, 0xf0, 0x1c, 0xa2,
+ 0x51, 0xe9, 0x2d, 0x41, 0x15, 0x78, 0x27, 0x84, 0xd9, 0x92, 0xf0, 0x9e, 0x18, 0x43, 0x3f, 0xb4,
+ 0x78, 0x53, 0x2c, 0x09, 0x8e, 0x05, 0xd6, 0xf6, 0x00, 0xb1, 0x50, 0x24, 0x3a, 0xde, 0xe3, 0xb4,
+ 0x8a, 0x33, 0x76, 0xe2, 0xfd, 0xbe, 0x01, 0xeb, 0x8c, 0x39, 0xeb, 0xf4, 0x96, 0xa8, 0x67, 0x9c,
+ 0x71, 0xac, 0xc7, 0x1f, 0xad, 0xb4, 0xac, 0x1e, 0x42, 0x39, 0x9e, 0x9f, 0xb8, 0x08, 0x22, 0x43,
+ 0x51, 0x8a, 0x9d, 0xf5, 0x8d, 0x6e, 0x93, 0x9d, 0xd2, 0x5f, 0xc8, 0x28, 0xcd, 0xaa, 0x85, 0x76,
+ 0x6b, 0x20, 0xab, 0xca, 0x59, 0x67, 0xd0, 0x3a, 0x95, 0x51, 0x26, 0x56, 0x96, 0x9e, 0x64, 0x0b,
+ 0x6f, 0xa3, 0x9b, 0xd5, 0xef, 0xd2, 0x50, 0x49, 0xde, 0x33, 0xf0, 0xcf, 0xe1, 0x6a, 0xf8, 0x28,
+ 0xe0, 0x51, 0x5f, 0x7d, 0x62, 0xb8, 0x7c, 0xe1, 0x4c, 0x88, 0xa8, 0xb3, 0xa3, 0xa9, 0xdb, 0x0e,
+ 0x58, 0x7d, 0xea, 0x7f, 0x6a, 0xb8, 0x6c, 0x59, 0x4c, 0x88, 0x8f, 0xdb, 0x70, 0xdd, 0xb2, 0x55,
+ 0xcf, 0x27, 0x96, 0x4e, 0x5c, 0x5d, 0x9d, 0x3d, 0xc7, 0xa8, 0x44, 0xd3, 0xa8, 0xe7, 0xd9, 0xe2,
+ 0xc0, 0x8a, 0xac, 0xbc, 0x6a, 0xd9, 0xfd, 0x80, 0x3c, 0xdb, 0xc9, 0xeb, 0x01, 0x75, 0x2e, 0xcd,
+ 0x32, 0xab, 0xd2, 0xec, 0x15, 0x28, 0x4e, 0x88, 0xa3, 0x52, 0xcb, 0x77, 0x2f, 0x78, 0x75, 0x59,
+ 0x50, 0x0a, 0x13, 0xe2, 0xc8, 0xac, 0xfd, 0x42, 0x8a, 0xfc, 0x93, 0x6c, 0xa1, 0x80, 0x8a, 0x27,
+ 0xd9, 0x42, 0x11, 0x41, 0xf5, 0x5f, 0x19, 0x28, 0xc7, 0xab, 0x4d, 0x56, 0xbc, 0x6b, 0xfc, 0x64,
+ 0x49, 0xf1, 0xbd, 0xe7, 0x8d, 0xef, 0xad, 0x4d, 0x6b, 0x0d, 0x76, 0xe4, 0x1c, 0xe6, 0x45, 0x0d,
+ 0xa8, 0x08, 0x4d, 0x76, 0xdc, 0xb3, 0xdd, 0x86, 0x8a, 0x7b, 0x4d, 0x41, 0x09, 0x5a, 0xf8, 0x18,
+ 0xf2, 0x0f, 0x3d, 0x6e, 0x3b, 0xcf, 0x6d, 0xbf, 0xf9, 0xfd, 0xb6, 0x4f, 0xfa, 0xdc, 0x78, 0xf1,
+ 0xa4, 0xaf, 0x76, 0xba, 0xca, 0x69, 0xbd, 0xad, 0x04, 0xea, 0xf8, 0x1a, 0x64, 0x4d, 0xf2, 0xd5,
+ 0x45, 0xf2, 0x70, 0xe2, 0xd0, 0x65, 0x27, 0xe1, 0x1a, 0x64, 0x9f, 0x50, 0xf2, 0x28, 0x79, 0x24,
+ 0x70, 0xe8, 0x47, 0x5c, 0x0c, 0xfb, 0x90, 0xe3, 0xf1, 0xc2, 0x00, 0x41, 0xc4, 0xd0, 0x4b, 0xb8,
+ 0x00, 0xd9, 0x46, 0x57, 0x61, 0x0b, 0x02, 0x41, 0x59, 0xa0, 0x6a, 0xaf, 0x25, 0x37, 0x64, 0x94,
+ 0xae, 0xde, 0x85, 0xbc, 0x08, 0x02, 0x5b, 0x2c, 0x51, 0x18, 0xd0, 0x4b, 0x41, 0x33, 0xb0, 0x91,
+ 0x0a, 0xa5, 0x67, 0xa7, 0x47, 0xb2, 0x82, 0xd2, 0xc9, 0xa9, 0xce, 0xa2, 0x5c, 0xd5, 0x83, 0x72,
+ 0xbc, 0xdc, 0x7c, 0x31, 0x57, 0xc9, 0xbf, 0xa7, 0xa0, 0x14, 0x2b, 0x1f, 0x59, 0xe1, 0x42, 0x4c,
+ 0xd3, 0x7e, 0xa2, 0x12, 0xd3, 0x20, 0x5e, 0x90, 0x1a, 0xc0, 0xa1, 0x3a, 0x43, 0x2e, 0x3b, 0x75,
+ 0x2f, 0x68, 0x89, 0xe4, 0x50, 0xbe, 0xfa, 0x97, 0x14, 0xa0, 0xf9, 0x02, 0x74, 0xce, 0xcd, 0xd4,
+ 0x4f, 0xe9, 0x66, 0xf5, 0xcf, 0x29, 0xa8, 0x24, 0xab, 0xce, 0x39, 0xf7, 0x6e, 0xfc, 0xa4, 0xee,
+ 0xfd, 0x33, 0x0d, 0xeb, 0x89, 0x5a, 0xf3, 0xb2, 0xde, 0x7d, 0x09, 0x9b, 0x86, 0x4e, 0x27, 0x8e,
+ 0xed, 0x53, 0x4b, 0xbb, 0x50, 0x4d, 0xfa, 0x98, 0x9a, 0x52, 0x95, 0x6f, 0x1a, 0xfb, 0xdf, 0x5f,
+ 0xcd, 0xd6, 0x5a, 0x33, 0xbd, 0x36, 0x53, 0x3b, 0xdc, 0x6a, 0x35, 0xe5, 0xd3, 0x5e, 0x77, 0x20,
+ 0x77, 0x1a, 0x9f, 0xab, 0x67, 0x9d, 0x5f, 0x75, 0xba, 0x9f, 0x76, 0x14, 0x64, 0xcc, 0xd1, 0x7e,
+ 0xc4, 0x65, 0xdf, 0x03, 0x34, 0xef, 0x14, 0xbe, 0x0a, 0xcb, 0xdc, 0x42, 0x2f, 0xe1, 0x2d, 0xd8,
+ 0xe8, 0x74, 0xd5, 0x7e, 0xab, 0x29, 0xab, 0xf2, 0x83, 0x07, 0x72, 0x63, 0xd0, 0x17, 0xd7, 0xfb,
+ 0x88, 0x3d, 0x48, 0x2c, 0xf0, 0xea, 0x9f, 0x32, 0xb0, 0xb5, 0xc4, 0x13, 0x5c, 0x0f, 0x6e, 0x16,
+ 0xe2, 0xb2, 0xf3, 0xee, 0x65, 0xbc, 0xaf, 0xb1, 0x82, 0xa0, 0x47, 0x5c, 0x3f, 0xb8, 0x88, 0xdc,
+ 0x02, 0x16, 0x25, 0xcb, 0x37, 0x86, 0x06, 0x75, 0x83, 0xd7, 0x10, 0x71, 0xdd, 0xd8, 0x98, 0xe1,
+ 0xe2, 0x41, 0xe4, 0x67, 0x80, 0x1d, 0xdb, 0x33, 0x7c, 0xe3, 0x31, 0x55, 0x0d, 0x2b, 0x7c, 0x3a,
+ 0x61, 0xd7, 0x8f, 0xac, 0x82, 0x42, 0x49, 0xcb, 0xf2, 0x23, 0xb6, 0x45, 0x47, 0x64, 0x8e, 0xcd,
+ 0x36, 0xf3, 0x8c, 0x82, 0x42, 0x49, 0xc4, 0xbe, 0x01, 0x65, 0xdd, 0x9e, 0xb2, 0x9a, 0x4c, 0xf0,
+ 0xd8, 0xd9, 0x91, 0x52, 0x4a, 0x02, 0x8b, 0x28, 0x41, 0xb5, 0x3d, 0x7b, 0xb3, 0x29, 0x2b, 0x25,
+ 0x81, 0x09, 0xca, 0x4d, 0xd8, 0x20, 0xa3, 0x91, 0xcb, 0x8c, 0x87, 0x86, 0xc4, 0xfd, 0xa1, 0x12,
+ 0xc1, 0x9c, 0xb8, 0x73, 0x02, 0x85, 0x30, 0x0e, 0xec, 0xa8, 0x66, 0x91, 0x50, 0x1d, 0xf1, 0x6e,
+ 0x97, 0xde, 0x2b, 0x2a, 0x05, 0x2b, 0x14, 0xde, 0x80, 0xb2, 0xe1, 0xa9, 0xb3, 0x27, 0xe8, 0xf4,
+ 0x6e, 0x7a, 0xaf, 0xa0, 0x94, 0x0c, 0x2f, 0x7a, 0xbe, 0xab, 0x7e, 0x93, 0x86, 0x4a, 0xf2, 0x09,
+ 0x1d, 0x37, 0xa1, 0x60, 0xda, 0x1a, 0xe1, 0xa9, 0x25, 0xbe, 0xdf, 0xec, 0x3d, 0xe7, 0xd5, 0xbd,
+ 0xd6, 0x0e, 0xf8, 0x4a, 0xa4, 0xb9, 0xf3, 0x8f, 0x14, 0x14, 0x42, 0x18, 0x5f, 0x81, 0xac, 0x43,
+ 0xfc, 0x31, 0x37, 0x97, 0x3b, 0x4a, 0xa3, 0x94, 0xc2, 0xdb, 0x0c, 0xf7, 0x1c, 0x62, 0xf1, 0x14,
+ 0x08, 0x70, 0xd6, 0x66, 0xf3, 0x6a, 0x52, 0xa2, 0xf3, 0xcb, 0x89, 0x3d, 0x99, 0x50, 0xcb, 0xf7,
+ 0xc2, 0x79, 0x0d, 0xf0, 0x46, 0x00, 0xe3, 0x77, 0x60, 0xd3, 0x77, 0x89, 0x61, 0x26, 0xb8, 0x59,
+ 0xce, 0x45, 0xa1, 0x20, 0x22, 0x1f, 0xc2, 0xb5, 0xd0, 0xae, 0x4e, 0x7d, 0xa2, 0x8d, 0xa9, 0x3e,
+ 0x53, 0xca, 0xf3, 0xf7, 0xd9, 0xab, 0x01, 0xa1, 0x19, 0xc8, 0x43, 0xdd, 0xea, 0x77, 0x29, 0xd8,
+ 0x0c, 0xaf, 0x53, 0x7a, 0x14, 0xac, 0x53, 0x00, 0x62, 0x59, 0xb6, 0x1f, 0x0f, 0xd7, 0x62, 0x2a,
+ 0x2f, 0xe8, 0xd5, 0xea, 0x91, 0x92, 0x12, 0x33, 0xb0, 0x33, 0x01, 0x98, 0x49, 0x56, 0x86, 0xed,
+ 0x3a, 0x94, 0x82, 0xef, 0x23, 0xfc, 0x23, 0x9b, 0xb8, 0x80, 0x83, 0x80, 0xd8, 0xbd, 0x0b, 0x6f,
+ 0x43, 0xee, 0x9c, 0x8e, 0x0c, 0x2b, 0x78, 0xf5, 0x14, 0x8d, 0xf0, 0x25, 0x37, 0x1b, 0xbd, 0xe4,
+ 0x1e, 0xfd, 0x21, 0x05, 0x5b, 0x9a, 0x3d, 0x99, 0xf7, 0xf7, 0x08, 0xcd, 0xbd, 0x02, 0x78, 0x9f,
+ 0xa4, 0xbe, 0xf8, 0x78, 0x64, 0xf8, 0xe3, 0xe9, 0x79, 0x4d, 0xb3, 0x27, 0xfb, 0x23, 0xdb, 0x24,
+ 0xd6, 0x68, 0xf6, 0x95, 0x90, 0xff, 0xd1, 0xde, 0x1d, 0x51, 0xeb, 0xdd, 0x91, 0x1d, 0xfb, 0x66,
+ 0xf8, 0xd1, 0xec, 0xef, 0xd7, 0xe9, 0xcc, 0x71, 0xef, 0xe8, 0xaf, 0xe9, 0x9d, 0x63, 0xd1, 0x57,
+ 0x2f, 0x8c, 0x8d, 0x42, 0x87, 0x26, 0xd5, 0xd8, 0x78, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x0c,
+ 0xab, 0xb6, 0x37, 0x7e, 0x1c, 0x00, 0x00,
}
diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto
index 70b82a4dc..4d4fb378f 100644
--- a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto
+++ b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto
@@ -101,6 +101,8 @@ message DescriptorProto {
message ExtensionRange {
optional int32 start = 1;
optional int32 end = 2;
+
+ optional ExtensionRangeOptions options = 3;
}
repeated ExtensionRange extension_range = 5;
@@ -121,6 +123,14 @@ message DescriptorProto {
repeated string reserved_name = 10;
}
+message ExtensionRangeOptions {
+ // The parser stores options it doesn't recognize here. See above.
+ repeated UninterpretedOption uninterpreted_option = 999;
+
+ // Clients can define custom options in extensions of this message. See above.
+ extensions 1000 to max;
+}
+
// Describes a field within a message.
message FieldDescriptorProto {
enum Type {
@@ -351,7 +361,7 @@ message FileOptions {
optional bool cc_generic_services = 16 [default=false];
optional bool java_generic_services = 17 [default=false];
optional bool py_generic_services = 18 [default=false];
- optional bool php_generic_services = 19 [default=false];
+ optional bool php_generic_services = 42 [default=false];
// Is this file deprecated?
// Depending on the target platform, this can emit Deprecated annotations
@@ -483,13 +493,15 @@ message FieldOptions {
// The jstype option determines the JavaScript type used for values of the
// field. The option is permitted only for 64 bit integral and fixed types
- // (int64, uint64, sint64, fixed64, sfixed64). By default these types are
- // represented as JavaScript strings. This avoids loss of precision that can
- // happen when a large value is converted to a floating point JavaScript
- // numbers. Specifying JS_NUMBER for the jstype causes the generated
- // JavaScript code to use the JavaScript "number" type instead of strings.
- // This option is an enum to permit additional types to be added,
- // e.g. goog.math.Integer.
+ // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
+ // is represented as JavaScript string, which avoids loss of precision that
+ // can happen when a large value is converted to a floating point JavaScript.
+ // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
+ // use the JavaScript "number" type. The behavior of the default option
+ // JS_NORMAL is implementation dependent.
+ //
+ // This option is an enum to permit additional types to be added, e.g.
+ // goog.math.Integer.
optional JSType jstype = 6 [default = JS_NORMAL];
enum JSType {
// Use the default type.
diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/generator/generator.go b/vendor/github.com/golang/protobuf/protoc-gen-go/generator/generator.go
index 211ab5d3a..60d524645 100644
--- a/vendor/github.com/golang/protobuf/protoc-gen-go/generator/generator.go
+++ b/vendor/github.com/golang/protobuf/protoc-gen-go/generator/generator.go
@@ -1984,7 +1984,7 @@ func (g *Generator) generateMessage(message *Descriptor) {
case typename == "string":
def = strconv.Quote(def)
case typename == "[]byte":
- def = "[]byte(" + strconv.Quote(def) + ")"
+ def = "[]byte(" + strconv.Quote(unescape(def)) + ")"
kind = "var "
case def == "inf", def == "-inf", def == "nan":
// These names are known to, and defined by, the protocol language.
@@ -2508,6 +2508,67 @@ func (g *Generator) generateMessage(message *Descriptor) {
g.addInitf("%s.RegisterType((*%s)(nil), %q)", g.Pkg["proto"], ccTypeName, fullName)
}
+var escapeChars = [256]byte{
+ 'a': '\a', 'b': '\b', 'f': '\f', 'n': '\n', 'r': '\r', 't': '\t', 'v': '\v', '\\': '\\', '"': '"', '\'': '\'', '?': '?',
+}
+
+// unescape reverses the "C" escaping that protoc does for default values of bytes fields.
+// It is best effort in that it effectively ignores malformed input. Seemingly invalid escape
+// sequences are conveyed, unmodified, into the decoded result.
+func unescape(s string) string {
+ // NB: Sadly, we can't use strconv.Unquote because protoc will escape both
+ // single and double quotes, but strconv.Unquote only allows one or the
+ // other (based on actual surrounding quotes of its input argument).
+
+ var out []byte
+ for len(s) > 0 {
+ // regular character, or too short to be valid escape
+ if s[0] != '\\' || len(s) < 2 {
+ out = append(out, s[0])
+ s = s[1:]
+ } else if c := escapeChars[s[1]]; c != 0 {
+ // escape sequence
+ out = append(out, c)
+ s = s[2:]
+ } else if s[1] == 'x' || s[1] == 'X' {
+ // hex escape, e.g. "\x80
+ if len(s) < 4 {
+ // too short to be valid
+ out = append(out, s[:2]...)
+ s = s[2:]
+ continue
+ }
+ v, err := strconv.ParseUint(s[2:4], 16, 8)
+ if err != nil {
+ out = append(out, s[:4]...)
+ } else {
+ out = append(out, byte(v))
+ }
+ s = s[4:]
+ } else if '0' <= s[1] && s[1] <= '7' {
+ // octal escape, can vary from 1 to 3 octal digits; e.g., "\0" "\40" or "\164"
+ // so consume up to 2 more bytes or up to end-of-string
+ n := len(s[1:]) - len(strings.TrimLeft(s[1:], "01234567"))
+ if n > 3 {
+ n = 3
+ }
+ v, err := strconv.ParseUint(s[1:1+n], 8, 8)
+ if err != nil {
+ out = append(out, s[:1+n]...)
+ } else {
+ out = append(out, byte(v))
+ }
+ s = s[1+n:]
+ } else {
+ // bad escape, just propagate the slash as-is
+ out = append(out, s[0])
+ s = s[1:]
+ }
+ }
+
+ return string(out)
+}
+
func (g *Generator) generateExtension(ext *ExtensionDescriptor) {
ccTypeName := ext.DescName()
diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/generator/name_test.go b/vendor/github.com/golang/protobuf/protoc-gen-go/generator/name_test.go
index a5ebc8533..76808f3b7 100644
--- a/vendor/github.com/golang/protobuf/protoc-gen-go/generator/name_test.go
+++ b/vendor/github.com/golang/protobuf/protoc-gen-go/generator/name_test.go
@@ -83,3 +83,32 @@ func TestGoPackageOption(t *testing.T) {
}
}
}
+
+func TestUnescape(t *testing.T) {
+ tests := []struct {
+ in string
+ out string
+ }{
+ // successful cases, including all kinds of escapes
+ {"", ""},
+ {"foo bar baz frob nitz", "foo bar baz frob nitz"},
+ {`\000\001\002\003\004\005\006\007`, string([]byte{0, 1, 2, 3, 4, 5, 6, 7})},
+ {`\a\b\f\n\r\t\v\\\?\'\"`, string([]byte{'\a', '\b', '\f', '\n', '\r', '\t', '\v', '\\', '?', '\'', '"'})},
+ {`\x10\x20\x30\x40\x50\x60\x70\x80`, string([]byte{16, 32, 48, 64, 80, 96, 112, 128})},
+ // variable length octal escapes
+ {`\0\018\222\377\3\04\005\6\07`, string([]byte{0, 1, '8', 0222, 255, 3, 4, 5, 6, 7})},
+ // malformed escape sequences left as is
+ {"foo \\g bar", "foo \\g bar"},
+ {"foo \\xg0 bar", "foo \\xg0 bar"},
+ {"\\", "\\"},
+ {"\\x", "\\x"},
+ {"\\xf", "\\xf"},
+ {"\\777", "\\777"}, // overflows byte
+ }
+ for _, tc := range tests {
+ s := unescape(tc.in)
+ if s != tc.out {
+ t.Errorf("doUnescape(%q) = %q; should have been %q", tc.in, s, tc.out)
+ }
+ }
+}
diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/plugin.proto b/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/plugin.proto
index f04dc73c8..5b5574529 100644
--- a/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/plugin.proto
+++ b/vendor/github.com/golang/protobuf/protoc-gen-go/plugin/plugin.proto
@@ -91,6 +91,7 @@ message CodeGeneratorRequest {
// The version number of protocol compiler.
optional Version compiler_version = 3;
+
}
// The plugin writes an encoded CodeGeneratorResponse to stdout.
diff --git a/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go b/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go
index 6c9a6cf74..f34601723 100644
--- a/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go
+++ b/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go
@@ -62,6 +62,16 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
// any.Unpack(foo)
// ...
//
+// Example 4: Pack and unpack a message in Go
+//
+// foo := &pb.Foo{...}
+// any, err := ptypes.MarshalAny(foo)
+// ...
+// foo := &pb.Foo{}
+// if err := ptypes.UnmarshalAny(any, foo); err != nil {
+// ...
+// }
+//
// The pack methods provided by protobuf library will by default use
// 'type.googleapis.com/full.type.name' as the type URL and the unpack
// methods only use the fully qualified type name after the last '/'
diff --git a/vendor/github.com/golang/protobuf/ptypes/any/any.proto b/vendor/github.com/golang/protobuf/ptypes/any/any.proto
index 9bd3f50a4..c74866762 100644
--- a/vendor/github.com/golang/protobuf/ptypes/any/any.proto
+++ b/vendor/github.com/golang/protobuf/ptypes/any/any.proto
@@ -74,6 +74,16 @@ option objc_class_prefix = "GPB";
// any.Unpack(foo)
// ...
//
+// Example 4: Pack and unpack a message in Go
+//
+// foo := &pb.Foo{...}
+// any, err := ptypes.MarshalAny(foo)
+// ...
+// foo := &pb.Foo{}
+// if err := ptypes.UnmarshalAny(any, foo); err != nil {
+// ...
+// }
+//
// The pack methods provided by protobuf library will by default use
// 'type.googleapis.com/full.type.name' as the type URL and the unpack
// methods only use the fully qualified type name after the last '/'
diff --git a/vendor/github.com/gorilla/mux/README.md b/vendor/github.com/gorilla/mux/README.md
index 56c67134f..8dcd71887 100644
--- a/vendor/github.com/gorilla/mux/README.md
+++ b/vendor/github.com/gorilla/mux/README.md
@@ -15,7 +15,7 @@ The name mux stands for "HTTP request multiplexer". Like the standard `http.Serv
* It implements the `http.Handler` interface so it is compatible with the standard `http.ServeMux`.
* Requests can be matched based on URL host, path, path prefix, schemes, header and query values, HTTP methods or using custom matchers.
-* URL hosts and paths can have variables with an optional regular expression.
+* URL hosts, paths and query values can have variables with an optional regular expression.
* Registered URLs can be built, or "reversed", which helps maintaining references to resources.
* Routes can be used as subrouters: nested routes are only tested if the parent route matches. This is useful to define groups of routes that share common conditions like a host, a path prefix or other repeated attributes. As a bonus, this optimizes request matching.
@@ -24,9 +24,9 @@ The name mux stands for "HTTP request multiplexer". Like the standard `http.Serv
* [Install](#install)
* [Examples](#examples)
* [Matching Routes](#matching-routes)
-* [Listing Routes](#listing-routes)
* [Static Files](#static-files)
* [Registered URLs](#registered-urls)
+* [Walking Routes](#walking-routes)
* [Full Example](#full-example)
---
@@ -168,7 +168,6 @@ s.HandleFunc("/{key}/", ProductHandler)
// "/products/{key}/details"
s.HandleFunc("/{key}/details", ProductDetailsHandler)
```
-
### Listing Routes
Routes on a mux can be listed using the Router.Walk method—useful for generating documentation:
@@ -191,9 +190,9 @@ func handler(w http.ResponseWriter, r *http.Request) {
func main() {
r := mux.NewRouter()
r.HandleFunc("/", handler)
- r.Methods("POST").HandleFunc("/products", handler)
- r.Methods("GET").HandleFunc("/articles", handler)
- r.Methods("GET", "PUT").HandleFunc("/articles/{id}", handler)
+ r.HandleFunc("/products", handler).Methods("POST")
+ r.HandleFunc("/articles", handler).Methods("GET")
+ r.HandleFunc("/articles/{id}", handler).Methods("GET", "PUT")
r.Walk(func(route *mux.Route, router *mux.Router, ancestors []*mux.Route) error {
t, err := route.GetPathTemplate()
if err != nil {
@@ -269,19 +268,21 @@ url, err := r.Get("article").URL("category", "technology", "id", "42")
"/articles/technology/42"
```
-This also works for host variables:
+This also works for host and query value variables:
```go
r := mux.NewRouter()
r.Host("{subdomain}.domain.com").
Path("/articles/{category}/{id:[0-9]+}").
+ Queries("filter", "{filter}").
HandlerFunc(ArticleHandler).
Name("article")
-// url.String() will be "http://news.domain.com/articles/technology/42"
+// url.String() will be "http://news.domain.com/articles/technology/42?filter=gorilla"
url, err := r.Get("article").URL("subdomain", "news",
"category", "technology",
- "id", "42")
+ "id", "42",
+ "filter", "gorilla")
```
All variables defined in the route are required, and their values must conform to the corresponding patterns. These requirements guarantee that a generated URL will always match a registered route -- the only exception is for explicitly defined "build-only" routes which never match.
@@ -319,6 +320,37 @@ url, err := r.Get("article").URL("subdomain", "news",
"id", "42")
```
+### Walking Routes
+
+The `Walk` function on `mux.Router` can be used to visit all of the routes that are registered on a router. For example,
+the following prints all of the registered routes:
+
+```go
+r := mux.NewRouter()
+r.HandleFunc("/", handler)
+r.HandleFunc("/products", handler).Methods("POST")
+r.HandleFunc("/articles", handler).Methods("GET")
+r.HandleFunc("/articles/{id}", handler).Methods("GET", "PUT")
+r.Walk(func(route *mux.Route, router *mux.Router, ancestors []*mux.Route) error {
+ t, err := route.GetPathTemplate()
+ if err != nil {
+ return err
+ }
+ // p will contain a regular expression that is compatible with regular expressions in Perl, Python, and other languages.
+ // For example, the regular expression for path '/articles/{id}' will be '^/articles/(?P<v0>[^/]+)$'.
+ p, err := route.GetPathRegexp()
+ if err != nil {
+ return err
+ }
+ m, err := route.GetMethods()
+ if err != nil {
+ return err
+ }
+ fmt.Println(strings.Join(m, ","), t, p)
+ return nil
+})
+```
+
## Full Example
Here's a complete, runnable example of a small `mux` based server:
diff --git a/vendor/github.com/gorilla/mux/doc.go b/vendor/github.com/gorilla/mux/doc.go
index 00daf4a72..cce30b2f0 100644
--- a/vendor/github.com/gorilla/mux/doc.go
+++ b/vendor/github.com/gorilla/mux/doc.go
@@ -12,8 +12,8 @@ or other conditions. The main features are:
* Requests can be matched based on URL host, path, path prefix, schemes,
header and query values, HTTP methods or using custom matchers.
- * URL hosts and paths can have variables with an optional regular
- expression.
+ * URL hosts, paths and query values can have variables with an optional
+ regular expression.
* Registered URLs can be built, or "reversed", which helps maintaining
references to resources.
* Routes can be used as subrouters: nested routes are only tested if the
@@ -188,18 +188,20 @@ key/value pairs for the route variables. For the previous route, we would do:
"/articles/technology/42"
-This also works for host variables:
+This also works for host and query value variables:
r := mux.NewRouter()
r.Host("{subdomain}.domain.com").
Path("/articles/{category}/{id:[0-9]+}").
+ Queries("filter", "{filter}").
HandlerFunc(ArticleHandler).
Name("article")
- // url.String() will be "http://news.domain.com/articles/technology/42"
+ // url.String() will be "http://news.domain.com/articles/technology/42?filter=gorilla"
url, err := r.Get("article").URL("subdomain", "news",
"category", "technology",
- "id", "42")
+ "id", "42",
+ "filter", "gorilla")
All variables defined in the route are required, and their values must
conform to the corresponding patterns. These requirements guarantee that a
diff --git a/vendor/github.com/gorilla/mux/mux.go b/vendor/github.com/gorilla/mux/mux.go
index d66ec3841..fb69196db 100644
--- a/vendor/github.com/gorilla/mux/mux.go
+++ b/vendor/github.com/gorilla/mux/mux.go
@@ -13,6 +13,10 @@ import (
"strings"
)
+var (
+ ErrMethodMismatch = errors.New("method is not allowed")
+)
+
// NewRouter returns a new router instance.
func NewRouter() *Router {
return &Router{namedRoutes: make(map[string]*Route), KeepContext: false}
@@ -39,6 +43,10 @@ func NewRouter() *Router {
type Router struct {
// Configurable Handler to be used when no route matches.
NotFoundHandler http.Handler
+
+ // Configurable Handler to be used when the request method does not match the route.
+ MethodNotAllowedHandler http.Handler
+
// Parent route, if this is a subrouter.
parent parentRoute
// Routes to be matched, in order.
@@ -65,6 +73,11 @@ func (r *Router) Match(req *http.Request, match *RouteMatch) bool {
}
}
+ if match.MatchErr == ErrMethodMismatch && r.MethodNotAllowedHandler != nil {
+ match.Handler = r.MethodNotAllowedHandler
+ return true
+ }
+
// Closest match for a router (includes sub-routers)
if r.NotFoundHandler != nil {
match.Handler = r.NotFoundHandler
@@ -105,9 +118,15 @@ func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) {
req = setVars(req, match.Vars)
req = setCurrentRoute(req, match.Route)
}
+
+ if handler == nil && match.MatchErr == ErrMethodMismatch {
+ handler = methodNotAllowedHandler()
+ }
+
if handler == nil {
handler = http.NotFoundHandler()
}
+
if !r.KeepContext {
defer contextClear(req)
}
@@ -176,6 +195,13 @@ func (r *Router) UseEncodedPath() *Router {
// parentRoute
// ----------------------------------------------------------------------------
+func (r *Router) getBuildScheme() string {
+ if r.parent != nil {
+ return r.parent.getBuildScheme()
+ }
+ return ""
+}
+
// getNamedRoutes returns the map where named routes are registered.
func (r *Router) getNamedRoutes() map[string]*Route {
if r.namedRoutes == nil {
@@ -299,10 +325,6 @@ type WalkFunc func(route *Route, router *Router, ancestors []*Route) error
func (r *Router) walk(walkFn WalkFunc, ancestors []*Route) error {
for _, t := range r.routes {
- if t.regexp == nil || t.regexp.path == nil || t.regexp.path.template == "" {
- continue
- }
-
err := walkFn(t, r, ancestors)
if err == SkipRouter {
continue
@@ -312,10 +334,12 @@ func (r *Router) walk(walkFn WalkFunc, ancestors []*Route) error {
}
for _, sr := range t.matchers {
if h, ok := sr.(*Router); ok {
+ ancestors = append(ancestors, t)
err := h.walk(walkFn, ancestors)
if err != nil {
return err
}
+ ancestors = ancestors[:len(ancestors)-1]
}
}
if h, ok := t.handler.(*Router); ok {
@@ -339,6 +363,11 @@ type RouteMatch struct {
Route *Route
Handler http.Handler
Vars map[string]string
+
+ // MatchErr is set to appropriate matching error
+ // It is set to ErrMethodMismatch if there is a mismatch in
+ // the request method and route method
+ MatchErr error
}
type contextKey int
@@ -458,7 +487,7 @@ func mapFromPairsToString(pairs ...string) (map[string]string, error) {
return m, nil
}
-// mapFromPairsToRegex converts variadic string paramers to a
+// mapFromPairsToRegex converts variadic string parameters to a
// string to regex map.
func mapFromPairsToRegex(pairs ...string) (map[string]*regexp.Regexp, error) {
length, err := checkPairs(pairs...)
@@ -540,3 +569,12 @@ func matchMapWithRegex(toCheck map[string]*regexp.Regexp, toMatch map[string][]s
}
return true
}
+
+// methodNotAllowed replies to the request with an HTTP status code 405.
+func methodNotAllowed(w http.ResponseWriter, r *http.Request) {
+ w.WriteHeader(http.StatusMethodNotAllowed)
+}
+
+// methodNotAllowedHandler returns a simple request handler
+// that replies to each request with a status code 405.
+func methodNotAllowedHandler() http.Handler { return http.HandlerFunc(methodNotAllowed) }
diff --git a/vendor/github.com/gorilla/mux/mux_test.go b/vendor/github.com/gorilla/mux/mux_test.go
index 19ef5a8cc..484fab431 100644
--- a/vendor/github.com/gorilla/mux/mux_test.go
+++ b/vendor/github.com/gorilla/mux/mux_test.go
@@ -11,6 +11,7 @@ import (
"fmt"
"net/http"
"net/url"
+ "reflect"
"strings"
"testing"
)
@@ -35,6 +36,7 @@ type routeTest struct {
scheme string // the expected scheme of the built URL
host string // the expected host of the built URL
path string // the expected path of the built URL
+ query string // the expected query string of the built URL
pathTemplate string // the expected path template of the route
hostTemplate string // the expected host template of the route
methods []string // the expected route methods
@@ -743,6 +745,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{},
host: "",
path: "",
+ query: "foo=bar&baz=ding",
shouldMatch: true,
},
{
@@ -752,6 +755,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{},
host: "",
path: "",
+ query: "foo=bar&baz=ding",
pathTemplate: `/api`,
hostTemplate: `www.example.com`,
shouldMatch: true,
@@ -763,6 +767,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{},
host: "",
path: "",
+ query: "foo=bar&baz=ding",
pathTemplate: `/api`,
hostTemplate: `www.example.com`,
shouldMatch: true,
@@ -783,6 +788,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v1": "bar"},
host: "",
path: "",
+ query: "foo=bar",
shouldMatch: true,
},
{
@@ -792,6 +798,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v1": "bar", "v2": "ding"},
host: "",
path: "",
+ query: "foo=bar&baz=ding",
shouldMatch: true,
},
{
@@ -801,6 +808,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v1": "10"},
host: "",
path: "",
+ query: "foo=10",
shouldMatch: true,
},
{
@@ -819,6 +827,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v1": "1"},
host: "",
path: "",
+ query: "foo=1",
shouldMatch: true,
},
{
@@ -828,6 +837,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v1": "1"},
host: "",
path: "",
+ query: "foo=1",
shouldMatch: true,
},
{
@@ -846,6 +856,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v1": "1a"},
host: "",
path: "",
+ query: "foo=1a",
shouldMatch: true,
},
{
@@ -864,6 +875,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v-1": "bar"},
host: "",
path: "",
+ query: "foo=bar",
shouldMatch: true,
},
{
@@ -873,6 +885,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v-1": "bar", "v-2": "ding"},
host: "",
path: "",
+ query: "foo=bar&baz=ding",
shouldMatch: true,
},
{
@@ -882,6 +895,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v-1": "10"},
host: "",
path: "",
+ query: "foo=10",
shouldMatch: true,
},
{
@@ -891,6 +905,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"v-1": "1a"},
host: "",
path: "",
+ query: "foo=1a",
shouldMatch: true,
},
{
@@ -900,6 +915,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{},
host: "",
path: "",
+ query: "foo=",
shouldMatch: true,
},
{
@@ -918,6 +934,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{},
host: "",
path: "",
+ query: "foo=",
shouldMatch: true,
},
{
@@ -945,6 +962,7 @@ func TestQueries(t *testing.T) {
vars: map[string]string{"foo": ""},
host: "",
path: "",
+ query: "foo=",
shouldMatch: true,
},
{
@@ -956,6 +974,16 @@ func TestQueries(t *testing.T) {
path: "",
shouldMatch: false,
},
+ {
+ title: "Queries route with pattern, match, escaped value",
+ route: new(Route).Queries("foo", "{v1}"),
+ request: newRequest("GET", "http://localhost?foo=%25bar%26%20%2F%3D%3F"),
+ vars: map[string]string{"v1": "%bar& /=?"},
+ host: "",
+ path: "",
+ query: "foo=%25bar%26+%2F%3D%3F",
+ shouldMatch: true,
+ },
}
for _, test := range tests {
@@ -1187,6 +1215,28 @@ func TestSubRouter(t *testing.T) {
pathTemplate: `/{category}`,
shouldMatch: true,
},
+ {
+ title: "Build with scheme on parent router",
+ route: new(Route).Schemes("ftp").Host("google.com").Subrouter().Path("/"),
+ request: newRequest("GET", "ftp://google.com/"),
+ scheme: "ftp",
+ host: "google.com",
+ path: "/",
+ pathTemplate: `/`,
+ hostTemplate: `google.com`,
+ shouldMatch: true,
+ },
+ {
+ title: "Prefer scheme on child route when building URLs",
+ route: new(Route).Schemes("https", "ftp").Host("google.com").Subrouter().Schemes("ftp").Path("/"),
+ request: newRequest("GET", "ftp://google.com/"),
+ scheme: "ftp",
+ host: "google.com",
+ path: "/",
+ pathTemplate: `/`,
+ hostTemplate: `google.com`,
+ shouldMatch: true,
+ },
}
for _, test := range tests {
@@ -1382,14 +1432,58 @@ func TestWalkNested(t *testing.T) {
l2 := l1.PathPrefix("/l").Subrouter()
l2.Path("/a")
- paths := []string{"/g", "/g/o", "/g/o/r", "/g/o/r/i", "/g/o/r/i/l", "/g/o/r/i/l/l", "/g/o/r/i/l/l/a"}
+ testCases := []struct {
+ path string
+ ancestors []*Route
+ }{
+ {"/g", []*Route{}},
+ {"/g/o", []*Route{g.parent.(*Route)}},
+ {"/g/o/r", []*Route{g.parent.(*Route), o.parent.(*Route)}},
+ {"/g/o/r/i", []*Route{g.parent.(*Route), o.parent.(*Route), r.parent.(*Route)}},
+ {"/g/o/r/i/l", []*Route{g.parent.(*Route), o.parent.(*Route), r.parent.(*Route), i.parent.(*Route)}},
+ {"/g/o/r/i/l/l", []*Route{g.parent.(*Route), o.parent.(*Route), r.parent.(*Route), i.parent.(*Route), l1.parent.(*Route)}},
+ {"/g/o/r/i/l/l/a", []*Route{g.parent.(*Route), o.parent.(*Route), r.parent.(*Route), i.parent.(*Route), l1.parent.(*Route), l2.parent.(*Route)}},
+ }
+
idx := 0
err := router.Walk(func(route *Route, router *Router, ancestors []*Route) error {
- path := paths[idx]
+ path := testCases[idx].path
tpl := route.regexp.path.template
if tpl != path {
t.Errorf(`Expected %s got %s`, path, tpl)
}
+ currWantAncestors := testCases[idx].ancestors
+ if !reflect.DeepEqual(currWantAncestors, ancestors) {
+ t.Errorf(`Expected %+v got %+v`, currWantAncestors, ancestors)
+ }
+ idx++
+ return nil
+ })
+ if err != nil {
+ panic(err)
+ }
+ if idx != len(testCases) {
+ t.Errorf("Expected %d routes, found %d", len(testCases), idx)
+ }
+}
+
+func TestWalkSubrouters(t *testing.T) {
+ router := NewRouter()
+
+ g := router.Path("/g").Subrouter()
+ o := g.PathPrefix("/o").Subrouter()
+ o.Methods("GET")
+ o.Methods("PUT")
+
+ // all 4 routes should be matched, but final 2 routes do not have path templates
+ paths := []string{"/g", "/g/o", "", ""}
+ idx := 0
+ err := router.Walk(func(route *Route, router *Router, ancestors []*Route) error {
+ path := paths[idx]
+ tpl, _ := route.GetPathTemplate()
+ if tpl != path {
+ t.Errorf(`Expected %s got %s`, path, tpl)
+ }
idx++
return nil
})
@@ -1492,6 +1586,7 @@ func testRoute(t *testing.T, test routeTest) {
route := test.route
vars := test.vars
shouldMatch := test.shouldMatch
+ query := test.query
shouldRedirect := test.shouldRedirect
uri := url.URL{
Scheme: test.scheme,
@@ -1561,6 +1656,13 @@ func testRoute(t *testing.T, test routeTest) {
return
}
}
+ if query != "" {
+ u, _ := route.URL(mapToPairs(match.Vars)...)
+ if query != u.RawQuery {
+ t.Errorf("(%v) URL query not equal: expected %v, got %v", test.title, query, u.RawQuery)
+ return
+ }
+ }
if shouldRedirect && match.Handler == nil {
t.Errorf("(%v) Did not redirect", test.title)
return
@@ -1769,3 +1871,42 @@ func newRequest(method, url string) *http.Request {
}
return req
}
+
+func TestNoMatchMethodErrorHandler(t *testing.T) {
+ func1 := func(w http.ResponseWriter, r *http.Request) {}
+
+ r := NewRouter()
+ r.HandleFunc("/", func1).Methods("GET", "POST")
+
+ req, _ := http.NewRequest("PUT", "http://localhost/", nil)
+ match := new(RouteMatch)
+ matched := r.Match(req, match)
+
+ if matched {
+ t.Error("Should not have matched route for methods")
+ }
+
+ if match.MatchErr != ErrMethodMismatch {
+ t.Error("Should get ErrMethodMismatch error")
+ }
+
+ resp := NewRecorder()
+ r.ServeHTTP(resp, req)
+ if resp.Code != 405 {
+ t.Errorf("Expecting code %v", 405)
+ }
+
+ // Add matching route
+ r.HandleFunc("/", func1).Methods("PUT")
+
+ match = new(RouteMatch)
+ matched = r.Match(req, match)
+
+ if !matched {
+ t.Error("Should have matched route for methods")
+ }
+
+ if match.MatchErr != nil {
+ t.Error("Should not have any matching error. Found:", match.MatchErr)
+ }
+}
diff --git a/vendor/github.com/gorilla/mux/old_test.go b/vendor/github.com/gorilla/mux/old_test.go
index 9bdc5e5d1..3751e4727 100644
--- a/vendor/github.com/gorilla/mux/old_test.go
+++ b/vendor/github.com/gorilla/mux/old_test.go
@@ -121,12 +121,7 @@ func TestRouteMatchers(t *testing.T) {
var routeMatch RouteMatch
matched := router.Match(request, &routeMatch)
if matched != shouldMatch {
- // Need better messages. :)
- if matched {
- t.Errorf("Should match.")
- } else {
- t.Errorf("Should not match.")
- }
+ t.Errorf("Expected: %v\nGot: %v\nRequest: %v %v", shouldMatch, matched, request.Method, url)
}
if matched {
@@ -188,7 +183,6 @@ func TestRouteMatchers(t *testing.T) {
match(true)
// 2nd route --------------------------------------------------------------
-
// Everything match.
reset2()
match(true)
diff --git a/vendor/github.com/gorilla/mux/regexp.go b/vendor/github.com/gorilla/mux/regexp.go
index 0189ad346..80d1f7858 100644
--- a/vendor/github.com/gorilla/mux/regexp.go
+++ b/vendor/github.com/gorilla/mux/regexp.go
@@ -35,7 +35,7 @@ func newRouteRegexp(tpl string, matchHost, matchPrefix, matchQuery, strictSlash,
// Now let's parse it.
defaultPattern := "[^/]+"
if matchQuery {
- defaultPattern = "[^?&]*"
+ defaultPattern = ".*"
} else if matchHost {
defaultPattern = "[^.]+"
matchPrefix = false
@@ -178,6 +178,9 @@ func (r *routeRegexp) url(values map[string]string) (string, error) {
if !ok {
return "", fmt.Errorf("mux: missing route variable %q", v)
}
+ if r.matchQuery {
+ value = url.QueryEscape(value)
+ }
urlValues[k] = value
}
rv := fmt.Sprintf(r.reverse, urlValues...)
diff --git a/vendor/github.com/gorilla/mux/route.go b/vendor/github.com/gorilla/mux/route.go
index 56dcbbdc5..6863adba5 100644
--- a/vendor/github.com/gorilla/mux/route.go
+++ b/vendor/github.com/gorilla/mux/route.go
@@ -52,12 +52,27 @@ func (r *Route) Match(req *http.Request, match *RouteMatch) bool {
if r.buildOnly || r.err != nil {
return false
}
+
+ var matchErr error
+
// Match everything.
for _, m := range r.matchers {
if matched := m.Match(req, match); !matched {
+ if _, ok := m.(methodMatcher); ok {
+ matchErr = ErrMethodMismatch
+ continue
+ }
+ matchErr = nil
return false
}
}
+
+ if matchErr != nil {
+ match.MatchErr = matchErr
+ return false
+ }
+
+ match.MatchErr = nil
// Yay, we have a match. Let's collect some info about it.
if match.Route == nil {
match.Route = r
@@ -68,6 +83,7 @@ func (r *Route) Match(req *http.Request, match *RouteMatch) bool {
if match.Vars == nil {
match.Vars = make(map[string]string)
}
+
// Set variables.
if r.regexp != nil {
r.regexp.setMatch(req, match, r)
@@ -482,13 +498,14 @@ func (r *Route) URL(pairs ...string) (*url.URL, error) {
return nil, err
}
var scheme, host, path string
+ queries := make([]string, 0, len(r.regexp.queries))
if r.regexp.host != nil {
if host, err = r.regexp.host.url(values); err != nil {
return nil, err
}
scheme = "http"
- if r.buildScheme != "" {
- scheme = r.buildScheme
+ if s := r.getBuildScheme(); s != "" {
+ scheme = s
}
}
if r.regexp.path != nil {
@@ -496,10 +513,18 @@ func (r *Route) URL(pairs ...string) (*url.URL, error) {
return nil, err
}
}
+ for _, q := range r.regexp.queries {
+ var query string
+ if query, err = q.url(values); err != nil {
+ return nil, err
+ }
+ queries = append(queries, query)
+ }
return &url.URL{
- Scheme: scheme,
- Host: host,
- Path: path,
+ Scheme: scheme,
+ Host: host,
+ Path: path,
+ RawQuery: strings.Join(queries, "&"),
}, nil
}
@@ -525,8 +550,8 @@ func (r *Route) URLHost(pairs ...string) (*url.URL, error) {
Scheme: "http",
Host: host,
}
- if r.buildScheme != "" {
- u.Scheme = r.buildScheme
+ if s := r.getBuildScheme(); s != "" {
+ u.Scheme = s
}
return u, nil
}
@@ -640,11 +665,22 @@ func (r *Route) buildVars(m map[string]string) map[string]string {
// parentRoute allows routes to know about parent host and path definitions.
type parentRoute interface {
+ getBuildScheme() string
getNamedRoutes() map[string]*Route
getRegexpGroup() *routeRegexpGroup
buildVars(map[string]string) map[string]string
}
+func (r *Route) getBuildScheme() string {
+ if r.buildScheme != "" {
+ return r.buildScheme
+ }
+ if r.parent != nil {
+ return r.parent.getBuildScheme()
+ }
+ return ""
+}
+
// getNamedRoutes returns the map where named routes are registered.
func (r *Route) getNamedRoutes() map[string]*Route {
if r.parent == nil {
diff --git a/vendor/github.com/hashicorp/hcl/decoder.go b/vendor/github.com/hashicorp/hcl/decoder.go
index 6e75ece8e..b88f322a8 100644
--- a/vendor/github.com/hashicorp/hcl/decoder.go
+++ b/vendor/github.com/hashicorp/hcl/decoder.go
@@ -137,7 +137,7 @@ func (d *decoder) decodeBool(name string, node ast.Node, result reflect.Value) e
func (d *decoder) decodeFloat(name string, node ast.Node, result reflect.Value) error {
switch n := node.(type) {
case *ast.LiteralType:
- if n.Token.Type == token.FLOAT {
+ if n.Token.Type == token.FLOAT || n.Token.Type == token.NUMBER {
v, err := strconv.ParseFloat(n.Token.Text, 64)
if err != nil {
return err
diff --git a/vendor/github.com/hashicorp/hcl/decoder_test.go b/vendor/github.com/hashicorp/hcl/decoder_test.go
index 38363ad1b..8682f470e 100644
--- a/vendor/github.com/hashicorp/hcl/decoder_test.go
+++ b/vendor/github.com/hashicorp/hcl/decoder_test.go
@@ -73,6 +73,7 @@ func TestDecode_interface(t *testing.T) {
false,
map[string]interface{}{
"a": 1.02,
+ "b": 2,
},
},
{
@@ -811,6 +812,7 @@ func TestDecode_intString(t *testing.T) {
func TestDecode_float32(t *testing.T) {
var value struct {
A float32 `hcl:"a"`
+ B float32 `hcl:"b"`
}
err := Decode(&value, testReadFile(t, "float.hcl"))
@@ -821,11 +823,15 @@ func TestDecode_float32(t *testing.T) {
if got, want := value.A, float32(1.02); got != want {
t.Fatalf("wrong result %#v; want %#v", got, want)
}
+ if got, want := value.B, float32(2); got != want {
+ t.Fatalf("wrong result %#v; want %#v", got, want)
+ }
}
func TestDecode_float64(t *testing.T) {
var value struct {
A float64 `hcl:"a"`
+ B float64 `hcl:"b"`
}
err := Decode(&value, testReadFile(t, "float.hcl"))
@@ -836,6 +842,9 @@ func TestDecode_float64(t *testing.T) {
if got, want := value.A, float64(1.02); got != want {
t.Fatalf("wrong result %#v; want %#v", got, want)
}
+ if got, want := value.B, float64(2); got != want {
+ t.Fatalf("wrong result %#v; want %#v", got, want)
+ }
}
func TestDecode_intStringAliased(t *testing.T) {
diff --git a/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go b/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go
index b4881806e..098e1bc49 100644
--- a/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go
+++ b/vendor/github.com/hashicorp/hcl/hcl/parser/parser.go
@@ -197,9 +197,12 @@ func (p *Parser) objectItem() (*ast.ObjectItem, error) {
keyStr = append(keyStr, k.Token.Text)
}
- return nil, fmt.Errorf(
- "key '%s' expected start of object ('{') or assignment ('=')",
- strings.Join(keyStr, " "))
+ return nil, &PosError{
+ Pos: p.tok.Pos,
+ Err: fmt.Errorf(
+ "key '%s' expected start of object ('{') or assignment ('=')",
+ strings.Join(keyStr, " ")),
+ }
}
// do a look-ahead for line comment
@@ -319,7 +322,10 @@ func (p *Parser) objectType() (*ast.ObjectType, error) {
// No error, scan and expect the ending to be a brace
if tok := p.scan(); tok.Type != token.RBRACE {
- return nil, fmt.Errorf("object expected closing RBRACE got: %s", tok.Type)
+ return nil, &PosError{
+ Pos: tok.Pos,
+ Err: fmt.Errorf("object expected closing RBRACE got: %s", tok.Type),
+ }
}
o.List = l
diff --git a/vendor/github.com/hashicorp/hcl/test-fixtures/float.hcl b/vendor/github.com/hashicorp/hcl/test-fixtures/float.hcl
index eed44e542..edf355e38 100644
--- a/vendor/github.com/hashicorp/hcl/test-fixtures/float.hcl
+++ b/vendor/github.com/hashicorp/hcl/test-fixtures/float.hcl
@@ -1 +1,2 @@
a = 1.02
+b = 2
diff --git a/vendor/github.com/hashicorp/hcl/test-fixtures/float.json b/vendor/github.com/hashicorp/hcl/test-fixtures/float.json
index a9d1ab4b0..580868043 100644
--- a/vendor/github.com/hashicorp/hcl/test-fixtures/float.json
+++ b/vendor/github.com/hashicorp/hcl/test-fixtures/float.json
@@ -1,3 +1,4 @@
{
- "a": 1.02
+ "a": 1.02,
+ "b": 2
}
diff --git a/vendor/github.com/hashicorp/memberlist/memberlist.go b/vendor/github.com/hashicorp/memberlist/memberlist.go
index d5c175e5b..e1e38fc94 100644
--- a/vendor/github.com/hashicorp/memberlist/memberlist.go
+++ b/vendor/github.com/hashicorp/memberlist/memberlist.go
@@ -127,7 +127,7 @@ func newMemberlist(conf *Config) (*Memberlist, error) {
return nt, nil
}
if strings.Contains(err.Error(), "address already in use") {
- logger.Printf("[DEBUG] Got bind error: %v", err)
+ logger.Printf("[DEBUG] memberlist: Got bind error: %v", err)
continue
}
}
@@ -154,7 +154,7 @@ func newMemberlist(conf *Config) (*Memberlist, error) {
port := nt.GetAutoBindPort()
conf.BindPort = port
conf.AdvertisePort = port
- logger.Printf("[DEBUG] Using dynamic bind port %d", port)
+ logger.Printf("[DEBUG] memberlist: Using dynamic bind port %d", port)
}
transport = nt
}
diff --git a/vendor/github.com/lib/pq/.travis.yml b/vendor/github.com/lib/pq/.travis.yml
index 1a4656c53..452515c66 100644
--- a/vendor/github.com/lib/pq/.travis.yml
+++ b/vendor/github.com/lib/pq/.travis.yml
@@ -5,6 +5,7 @@ go:
- 1.6.x
- 1.7.x
- 1.8.x
+ - 1.9.x
- master
sudo: true
diff --git a/vendor/github.com/lib/pq/conn.go b/vendor/github.com/lib/pq/conn.go
index 1725ab0d3..338a0bc18 100644
--- a/vendor/github.com/lib/pq/conn.go
+++ b/vendor/github.com/lib/pq/conn.go
@@ -706,7 +706,7 @@ func (noRows) RowsAffected() (int64, error) {
// Decides which column formats to use for a prepared statement. The input is
// an array of type oids, one element per result column.
-func decideColumnFormats(colTyps []oid.Oid, forceText bool) (colFmts []format, colFmtData []byte) {
+func decideColumnFormats(colTyps []fieldDesc, forceText bool) (colFmts []format, colFmtData []byte) {
if len(colTyps) == 0 {
return nil, colFmtDataAllText
}
@@ -718,8 +718,8 @@ func decideColumnFormats(colTyps []oid.Oid, forceText bool) (colFmts []format, c
allBinary := true
allText := true
- for i, o := range colTyps {
- switch o {
+ for i, t := range colTyps {
+ switch t.OID {
// This is the list of types to use binary mode for when receiving them
// through a prepared statement. If a type appears in this list, it
// must also be implemented in binaryDecode in encode.go.
@@ -1155,7 +1155,7 @@ type stmt struct {
colNames []string
colFmts []format
colFmtData []byte
- colTyps []oid.Oid
+ colTyps []fieldDesc
paramTyps []oid.Oid
closed bool
}
@@ -1318,7 +1318,7 @@ type rows struct {
cn *conn
finish func()
colNames []string
- colTyps []oid.Oid
+ colTyps []fieldDesc
colFmts []format
done bool
rb readBuf
@@ -1406,7 +1406,7 @@ func (rs *rows) Next(dest []driver.Value) (err error) {
dest[i] = nil
continue
}
- dest[i] = decode(&conn.parameterStatus, rs.rb.next(l), rs.colTyps[i], rs.colFmts[i])
+ dest[i] = decode(&conn.parameterStatus, rs.rb.next(l), rs.colTyps[i].OID, rs.colFmts[i])
}
return
case 'T':
@@ -1573,7 +1573,7 @@ func (cn *conn) readParseResponse() {
}
}
-func (cn *conn) readStatementDescribeResponse() (paramTyps []oid.Oid, colNames []string, colTyps []oid.Oid) {
+func (cn *conn) readStatementDescribeResponse() (paramTyps []oid.Oid, colNames []string, colTyps []fieldDesc) {
for {
t, r := cn.recv1()
switch t {
@@ -1599,7 +1599,7 @@ func (cn *conn) readStatementDescribeResponse() (paramTyps []oid.Oid, colNames [
}
}
-func (cn *conn) readPortalDescribeResponse() (colNames []string, colFmts []format, colTyps []oid.Oid) {
+func (cn *conn) readPortalDescribeResponse() (colNames []string, colFmts []format, colTyps []fieldDesc) {
t, r := cn.recv1()
switch t {
case 'T':
@@ -1695,31 +1695,33 @@ func (cn *conn) readExecuteResponse(protocolState string) (res driver.Result, co
}
}
-func parseStatementRowDescribe(r *readBuf) (colNames []string, colTyps []oid.Oid) {
+func parseStatementRowDescribe(r *readBuf) (colNames []string, colTyps []fieldDesc) {
n := r.int16()
colNames = make([]string, n)
- colTyps = make([]oid.Oid, n)
+ colTyps = make([]fieldDesc, n)
for i := range colNames {
colNames[i] = r.string()
r.next(6)
- colTyps[i] = r.oid()
- r.next(6)
+ colTyps[i].OID = r.oid()
+ colTyps[i].Len = r.int16()
+ colTyps[i].Mod = r.int32()
// format code not known when describing a statement; always 0
r.next(2)
}
return
}
-func parsePortalRowDescribe(r *readBuf) (colNames []string, colFmts []format, colTyps []oid.Oid) {
+func parsePortalRowDescribe(r *readBuf) (colNames []string, colFmts []format, colTyps []fieldDesc) {
n := r.int16()
colNames = make([]string, n)
colFmts = make([]format, n)
- colTyps = make([]oid.Oid, n)
+ colTyps = make([]fieldDesc, n)
for i := range colNames {
colNames[i] = r.string()
r.next(6)
- colTyps[i] = r.oid()
- r.next(6)
+ colTyps[i].OID = r.oid()
+ colTyps[i].Len = r.int16()
+ colTyps[i].Mod = r.int32()
colFmts[i] = format(r.int16())
}
return
diff --git a/vendor/github.com/lib/pq/encode.go b/vendor/github.com/lib/pq/encode.go
index 88a322cda..3b0d365f2 100644
--- a/vendor/github.com/lib/pq/encode.go
+++ b/vendor/github.com/lib/pq/encode.go
@@ -367,8 +367,15 @@ func ParseTimestamp(currentLocation *time.Location, str string) (time.Time, erro
timeSep := daySep + 3
day := p.mustAtoi(str, daySep+1, timeSep)
+ minLen := monSep + len("01-01") + 1
+
+ isBC := strings.HasSuffix(str, " BC")
+ if isBC {
+ minLen += 3
+ }
+
var hour, minute, second int
- if len(str) > monSep+len("01-01")+1 {
+ if len(str) > minLen {
p.expect(str, ' ', timeSep)
minSep := timeSep + 3
p.expect(str, ':', minSep)
@@ -424,7 +431,8 @@ func ParseTimestamp(currentLocation *time.Location, str string) (time.Time, erro
tzOff = tzSign * ((tzHours * 60 * 60) + (tzMin * 60) + tzSec)
}
var isoYear int
- if remainderIdx+3 <= len(str) && str[remainderIdx:remainderIdx+3] == " BC" {
+
+ if isBC {
isoYear = 1 - year
remainderIdx += 3
} else {
diff --git a/vendor/github.com/lib/pq/encode_test.go b/vendor/github.com/lib/pq/encode_test.go
index 3a0f7286e..837d45bec 100644
--- a/vendor/github.com/lib/pq/encode_test.go
+++ b/vendor/github.com/lib/pq/encode_test.go
@@ -37,6 +37,8 @@ var timeTests = []struct {
}{
{"22001-02-03", time.Date(22001, time.February, 3, 0, 0, 0, 0, time.FixedZone("", 0))},
{"2001-02-03", time.Date(2001, time.February, 3, 0, 0, 0, 0, time.FixedZone("", 0))},
+ {"0001-12-31 BC", time.Date(0, time.December, 31, 0, 0, 0, 0, time.FixedZone("", 0))},
+ {"2001-02-03 BC", time.Date(-2000, time.February, 3, 0, 0, 0, 0, time.FixedZone("", 0))},
{"2001-02-03 04:05:06", time.Date(2001, time.February, 3, 4, 5, 6, 0, time.FixedZone("", 0))},
{"2001-02-03 04:05:06.000001", time.Date(2001, time.February, 3, 4, 5, 6, 1000, time.FixedZone("", 0))},
{"2001-02-03 04:05:06.00001", time.Date(2001, time.February, 3, 4, 5, 6, 10000, time.FixedZone("", 0))},
@@ -86,15 +88,22 @@ func TestParseTs(t *testing.T) {
}
var timeErrorTests = []string{
+ "BC",
+ " BC",
"2001",
"2001-2-03",
"2001-02-3",
"2001-02-03 ",
+ "2001-02-03 B",
"2001-02-03 04",
"2001-02-03 04:",
"2001-02-03 04:05",
+ "2001-02-03 04:05 B",
+ "2001-02-03 04:05 BC",
"2001-02-03 04:05:",
"2001-02-03 04:05:6",
+ "2001-02-03 04:05:06 B",
+ "2001-02-03 04:05:06BC",
"2001-02-03 04:05:06.123 B",
}
diff --git a/vendor/github.com/lib/pq/oid/gen.go b/vendor/github.com/lib/pq/oid/gen.go
index cd4aea808..7c634cdc5 100644
--- a/vendor/github.com/lib/pq/oid/gen.go
+++ b/vendor/github.com/lib/pq/oid/gen.go
@@ -10,10 +10,22 @@ import (
"log"
"os"
"os/exec"
+ "strings"
_ "github.com/lib/pq"
)
+// OID represent a postgres Object Identifier Type.
+type OID struct {
+ ID int
+ Type string
+}
+
+// Name returns an upper case version of the oid type.
+func (o OID) Name() string {
+ return strings.ToUpper(o.Type)
+}
+
func main() {
datname := os.Getenv("PGDATABASE")
sslmode := os.Getenv("PGSSLMODE")
@@ -30,6 +42,25 @@ func main() {
if err != nil {
log.Fatal(err)
}
+ rows, err := db.Query(`
+ SELECT typname, oid
+ FROM pg_type WHERE oid < 10000
+ ORDER BY oid;
+ `)
+ if err != nil {
+ log.Fatal(err)
+ }
+ oids := make([]*OID, 0)
+ for rows.Next() {
+ var oid OID
+ if err = rows.Scan(&oid.Type, &oid.ID); err != nil {
+ log.Fatal(err)
+ }
+ oids = append(oids, &oid)
+ }
+ if err = rows.Err(); err != nil {
+ log.Fatal(err)
+ }
cmd := exec.Command("gofmt")
cmd.Stderr = os.Stderr
w, err := cmd.StdinPipe()
@@ -45,30 +76,18 @@ func main() {
if err != nil {
log.Fatal(err)
}
- fmt.Fprintln(w, "// generated by 'go run gen.go'; do not edit")
+ fmt.Fprintln(w, "// Code generated by gen.go. DO NOT EDIT.")
fmt.Fprintln(w, "\npackage oid")
fmt.Fprintln(w, "const (")
- rows, err := db.Query(`
- SELECT typname, oid
- FROM pg_type WHERE oid < 10000
- ORDER BY oid;
- `)
- if err != nil {
- log.Fatal(err)
- }
- var name string
- var oid int
- for rows.Next() {
- err = rows.Scan(&name, &oid)
- if err != nil {
- log.Fatal(err)
- }
- fmt.Fprintf(w, "T_%s Oid = %d\n", name, oid)
- }
- if err = rows.Err(); err != nil {
- log.Fatal(err)
+ for _, oid := range oids {
+ fmt.Fprintf(w, "T_%s Oid = %d\n", oid.Type, oid.ID)
}
fmt.Fprintln(w, ")")
+ fmt.Fprintln(w, "var TypeName = map[Oid]string{")
+ for _, oid := range oids {
+ fmt.Fprintf(w, "T_%s: \"%s\",\n", oid.Type, oid.Name())
+ }
+ fmt.Fprintln(w, "}")
w.Close()
cmd.Wait()
}
diff --git a/vendor/github.com/lib/pq/oid/types.go b/vendor/github.com/lib/pq/oid/types.go
index a3390c23a..ecc84c2c8 100644
--- a/vendor/github.com/lib/pq/oid/types.go
+++ b/vendor/github.com/lib/pq/oid/types.go
@@ -1,4 +1,4 @@
-// generated by 'go run gen.go'; do not edit
+// Code generated by gen.go. DO NOT EDIT.
package oid
@@ -171,3 +171,173 @@ const (
T_regrole Oid = 4096
T__regrole Oid = 4097
)
+
+var TypeName = map[Oid]string{
+ T_bool: "BOOL",
+ T_bytea: "BYTEA",
+ T_char: "CHAR",
+ T_name: "NAME",
+ T_int8: "INT8",
+ T_int2: "INT2",
+ T_int2vector: "INT2VECTOR",
+ T_int4: "INT4",
+ T_regproc: "REGPROC",
+ T_text: "TEXT",
+ T_oid: "OID",
+ T_tid: "TID",
+ T_xid: "XID",
+ T_cid: "CID",
+ T_oidvector: "OIDVECTOR",
+ T_pg_ddl_command: "PG_DDL_COMMAND",
+ T_pg_type: "PG_TYPE",
+ T_pg_attribute: "PG_ATTRIBUTE",
+ T_pg_proc: "PG_PROC",
+ T_pg_class: "PG_CLASS",
+ T_json: "JSON",
+ T_xml: "XML",
+ T__xml: "_XML",
+ T_pg_node_tree: "PG_NODE_TREE",
+ T__json: "_JSON",
+ T_smgr: "SMGR",
+ T_index_am_handler: "INDEX_AM_HANDLER",
+ T_point: "POINT",
+ T_lseg: "LSEG",
+ T_path: "PATH",
+ T_box: "BOX",
+ T_polygon: "POLYGON",
+ T_line: "LINE",
+ T__line: "_LINE",
+ T_cidr: "CIDR",
+ T__cidr: "_CIDR",
+ T_float4: "FLOAT4",
+ T_float8: "FLOAT8",
+ T_abstime: "ABSTIME",
+ T_reltime: "RELTIME",
+ T_tinterval: "TINTERVAL",
+ T_unknown: "UNKNOWN",
+ T_circle: "CIRCLE",
+ T__circle: "_CIRCLE",
+ T_money: "MONEY",
+ T__money: "_MONEY",
+ T_macaddr: "MACADDR",
+ T_inet: "INET",
+ T__bool: "_BOOL",
+ T__bytea: "_BYTEA",
+ T__char: "_CHAR",
+ T__name: "_NAME",
+ T__int2: "_INT2",
+ T__int2vector: "_INT2VECTOR",
+ T__int4: "_INT4",
+ T__regproc: "_REGPROC",
+ T__text: "_TEXT",
+ T__tid: "_TID",
+ T__xid: "_XID",
+ T__cid: "_CID",
+ T__oidvector: "_OIDVECTOR",
+ T__bpchar: "_BPCHAR",
+ T__varchar: "_VARCHAR",
+ T__int8: "_INT8",
+ T__point: "_POINT",
+ T__lseg: "_LSEG",
+ T__path: "_PATH",
+ T__box: "_BOX",
+ T__float4: "_FLOAT4",
+ T__float8: "_FLOAT8",
+ T__abstime: "_ABSTIME",
+ T__reltime: "_RELTIME",
+ T__tinterval: "_TINTERVAL",
+ T__polygon: "_POLYGON",
+ T__oid: "_OID",
+ T_aclitem: "ACLITEM",
+ T__aclitem: "_ACLITEM",
+ T__macaddr: "_MACADDR",
+ T__inet: "_INET",
+ T_bpchar: "BPCHAR",
+ T_varchar: "VARCHAR",
+ T_date: "DATE",
+ T_time: "TIME",
+ T_timestamp: "TIMESTAMP",
+ T__timestamp: "_TIMESTAMP",
+ T__date: "_DATE",
+ T__time: "_TIME",
+ T_timestamptz: "TIMESTAMPTZ",
+ T__timestamptz: "_TIMESTAMPTZ",
+ T_interval: "INTERVAL",
+ T__interval: "_INTERVAL",
+ T__numeric: "_NUMERIC",
+ T_pg_database: "PG_DATABASE",
+ T__cstring: "_CSTRING",
+ T_timetz: "TIMETZ",
+ T__timetz: "_TIMETZ",
+ T_bit: "BIT",
+ T__bit: "_BIT",
+ T_varbit: "VARBIT",
+ T__varbit: "_VARBIT",
+ T_numeric: "NUMERIC",
+ T_refcursor: "REFCURSOR",
+ T__refcursor: "_REFCURSOR",
+ T_regprocedure: "REGPROCEDURE",
+ T_regoper: "REGOPER",
+ T_regoperator: "REGOPERATOR",
+ T_regclass: "REGCLASS",
+ T_regtype: "REGTYPE",
+ T__regprocedure: "_REGPROCEDURE",
+ T__regoper: "_REGOPER",
+ T__regoperator: "_REGOPERATOR",
+ T__regclass: "_REGCLASS",
+ T__regtype: "_REGTYPE",
+ T_record: "RECORD",
+ T_cstring: "CSTRING",
+ T_any: "ANY",
+ T_anyarray: "ANYARRAY",
+ T_void: "VOID",
+ T_trigger: "TRIGGER",
+ T_language_handler: "LANGUAGE_HANDLER",
+ T_internal: "INTERNAL",
+ T_opaque: "OPAQUE",
+ T_anyelement: "ANYELEMENT",
+ T__record: "_RECORD",
+ T_anynonarray: "ANYNONARRAY",
+ T_pg_authid: "PG_AUTHID",
+ T_pg_auth_members: "PG_AUTH_MEMBERS",
+ T__txid_snapshot: "_TXID_SNAPSHOT",
+ T_uuid: "UUID",
+ T__uuid: "_UUID",
+ T_txid_snapshot: "TXID_SNAPSHOT",
+ T_fdw_handler: "FDW_HANDLER",
+ T_pg_lsn: "PG_LSN",
+ T__pg_lsn: "_PG_LSN",
+ T_tsm_handler: "TSM_HANDLER",
+ T_anyenum: "ANYENUM",
+ T_tsvector: "TSVECTOR",
+ T_tsquery: "TSQUERY",
+ T_gtsvector: "GTSVECTOR",
+ T__tsvector: "_TSVECTOR",
+ T__gtsvector: "_GTSVECTOR",
+ T__tsquery: "_TSQUERY",
+ T_regconfig: "REGCONFIG",
+ T__regconfig: "_REGCONFIG",
+ T_regdictionary: "REGDICTIONARY",
+ T__regdictionary: "_REGDICTIONARY",
+ T_jsonb: "JSONB",
+ T__jsonb: "_JSONB",
+ T_anyrange: "ANYRANGE",
+ T_event_trigger: "EVENT_TRIGGER",
+ T_int4range: "INT4RANGE",
+ T__int4range: "_INT4RANGE",
+ T_numrange: "NUMRANGE",
+ T__numrange: "_NUMRANGE",
+ T_tsrange: "TSRANGE",
+ T__tsrange: "_TSRANGE",
+ T_tstzrange: "TSTZRANGE",
+ T__tstzrange: "_TSTZRANGE",
+ T_daterange: "DATERANGE",
+ T__daterange: "_DATERANGE",
+ T_int8range: "INT8RANGE",
+ T__int8range: "_INT8RANGE",
+ T_pg_shseclabel: "PG_SHSECLABEL",
+ T_regnamespace: "REGNAMESPACE",
+ T__regnamespace: "_REGNAMESPACE",
+ T_regrole: "REGROLE",
+ T__regrole: "_REGROLE",
+}
diff --git a/vendor/github.com/lib/pq/rows.go b/vendor/github.com/lib/pq/rows.go
new file mode 100644
index 000000000..c6aa5b9a3
--- /dev/null
+++ b/vendor/github.com/lib/pq/rows.go
@@ -0,0 +1,93 @@
+package pq
+
+import (
+ "math"
+ "reflect"
+ "time"
+
+ "github.com/lib/pq/oid"
+)
+
+const headerSize = 4
+
+type fieldDesc struct {
+ // The object ID of the data type.
+ OID oid.Oid
+ // The data type size (see pg_type.typlen).
+ // Note that negative values denote variable-width types.
+ Len int
+ // The type modifier (see pg_attribute.atttypmod).
+ // The meaning of the modifier is type-specific.
+ Mod int
+}
+
+func (fd fieldDesc) Type() reflect.Type {
+ switch fd.OID {
+ case oid.T_int8:
+ return reflect.TypeOf(int64(0))
+ case oid.T_int4:
+ return reflect.TypeOf(int32(0))
+ case oid.T_int2:
+ return reflect.TypeOf(int16(0))
+ case oid.T_varchar, oid.T_text:
+ return reflect.TypeOf("")
+ case oid.T_bool:
+ return reflect.TypeOf(false)
+ case oid.T_date, oid.T_time, oid.T_timetz, oid.T_timestamp, oid.T_timestamptz:
+ return reflect.TypeOf(time.Time{})
+ case oid.T_bytea:
+ return reflect.TypeOf([]byte(nil))
+ default:
+ return reflect.TypeOf(new(interface{})).Elem()
+ }
+}
+
+func (fd fieldDesc) Name() string {
+ return oid.TypeName[fd.OID]
+}
+
+func (fd fieldDesc) Length() (length int64, ok bool) {
+ switch fd.OID {
+ case oid.T_text, oid.T_bytea:
+ return math.MaxInt64, true
+ case oid.T_varchar, oid.T_bpchar:
+ return int64(fd.Mod - headerSize), true
+ default:
+ return 0, false
+ }
+}
+
+func (fd fieldDesc) PrecisionScale() (precision, scale int64, ok bool) {
+ switch fd.OID {
+ case oid.T_numeric, oid.T__numeric:
+ mod := fd.Mod - headerSize
+ precision = int64((mod >> 16) & 0xffff)
+ scale = int64(mod & 0xffff)
+ return precision, scale, true
+ default:
+ return 0, 0, false
+ }
+}
+
+// ColumnTypeScanType returns the value type that can be used to scan types into.
+func (rs *rows) ColumnTypeScanType(index int) reflect.Type {
+ return rs.colTyps[index].Type()
+}
+
+// ColumnTypeDatabaseTypeName return the database system type name.
+func (rs *rows) ColumnTypeDatabaseTypeName(index int) string {
+ return rs.colTyps[index].Name()
+}
+
+// ColumnTypeLength returns the length of the column type if the column is a
+// variable length type. If the column is not a variable length type ok
+// should return false.
+func (rs *rows) ColumnTypeLength(index int) (length int64, ok bool) {
+ return rs.colTyps[index].Length()
+}
+
+// ColumnTypePrecisionScale should return the precision and scale for decimal
+// types. If not applicable, ok should be false.
+func (rs *rows) ColumnTypePrecisionScale(index int) (precision, scale int64, ok bool) {
+ return rs.colTyps[index].PrecisionScale()
+}
diff --git a/vendor/github.com/lib/pq/rows_test.go b/vendor/github.com/lib/pq/rows_test.go
new file mode 100644
index 000000000..3033bc01b
--- /dev/null
+++ b/vendor/github.com/lib/pq/rows_test.go
@@ -0,0 +1,220 @@
+// +build go1.8
+
+package pq
+
+import (
+ "math"
+ "reflect"
+ "testing"
+
+ "github.com/lib/pq/oid"
+)
+
+func TestDataTypeName(t *testing.T) {
+ tts := []struct {
+ typ oid.Oid
+ name string
+ }{
+ {oid.T_int8, "INT8"},
+ {oid.T_int4, "INT4"},
+ {oid.T_int2, "INT2"},
+ {oid.T_varchar, "VARCHAR"},
+ {oid.T_text, "TEXT"},
+ {oid.T_bool, "BOOL"},
+ {oid.T_numeric, "NUMERIC"},
+ {oid.T_date, "DATE"},
+ {oid.T_time, "TIME"},
+ {oid.T_timetz, "TIMETZ"},
+ {oid.T_timestamp, "TIMESTAMP"},
+ {oid.T_timestamptz, "TIMESTAMPTZ"},
+ {oid.T_bytea, "BYTEA"},
+ }
+
+ for i, tt := range tts {
+ dt := fieldDesc{OID: tt.typ}
+ if name := dt.Name(); name != tt.name {
+ t.Errorf("(%d) got: %s want: %s", i, name, tt.name)
+ }
+ }
+}
+
+func TestDataType(t *testing.T) {
+ tts := []struct {
+ typ oid.Oid
+ kind reflect.Kind
+ }{
+ {oid.T_int8, reflect.Int64},
+ {oid.T_int4, reflect.Int32},
+ {oid.T_int2, reflect.Int16},
+ {oid.T_varchar, reflect.String},
+ {oid.T_text, reflect.String},
+ {oid.T_bool, reflect.Bool},
+ {oid.T_date, reflect.Struct},
+ {oid.T_time, reflect.Struct},
+ {oid.T_timetz, reflect.Struct},
+ {oid.T_timestamp, reflect.Struct},
+ {oid.T_timestamptz, reflect.Struct},
+ {oid.T_bytea, reflect.Slice},
+ }
+
+ for i, tt := range tts {
+ dt := fieldDesc{OID: tt.typ}
+ if kind := dt.Type().Kind(); kind != tt.kind {
+ t.Errorf("(%d) got: %s want: %s", i, kind, tt.kind)
+ }
+ }
+}
+
+func TestDataTypeLength(t *testing.T) {
+ tts := []struct {
+ typ oid.Oid
+ len int
+ mod int
+ length int64
+ ok bool
+ }{
+ {oid.T_int4, 0, -1, 0, false},
+ {oid.T_varchar, 65535, 9, 5, true},
+ {oid.T_text, 65535, -1, math.MaxInt64, true},
+ {oid.T_bytea, 65535, -1, math.MaxInt64, true},
+ }
+
+ for i, tt := range tts {
+ dt := fieldDesc{OID: tt.typ, Len: tt.len, Mod: tt.mod}
+ if l, k := dt.Length(); k != tt.ok || l != tt.length {
+ t.Errorf("(%d) got: %d, %t want: %d, %t", i, l, k, tt.length, tt.ok)
+ }
+ }
+}
+
+func TestDataTypePrecisionScale(t *testing.T) {
+ tts := []struct {
+ typ oid.Oid
+ mod int
+ precision, scale int64
+ ok bool
+ }{
+ {oid.T_int4, -1, 0, 0, false},
+ {oid.T_numeric, 589830, 9, 2, true},
+ {oid.T_text, -1, 0, 0, false},
+ }
+
+ for i, tt := range tts {
+ dt := fieldDesc{OID: tt.typ, Mod: tt.mod}
+ p, s, k := dt.PrecisionScale()
+ if k != tt.ok {
+ t.Errorf("(%d) got: %t want: %t", i, k, tt.ok)
+ }
+ if p != tt.precision {
+ t.Errorf("(%d) wrong precision got: %d want: %d", i, p, tt.precision)
+ }
+ if s != tt.scale {
+ t.Errorf("(%d) wrong scale got: %d want: %d", i, s, tt.scale)
+ }
+ }
+}
+
+func TestRowsColumnTypes(t *testing.T) {
+ columnTypesTests := []struct {
+ Name string
+ TypeName string
+ Length struct {
+ Len int64
+ OK bool
+ }
+ DecimalSize struct {
+ Precision int64
+ Scale int64
+ OK bool
+ }
+ ScanType reflect.Type
+ }{
+ {
+ Name: "a",
+ TypeName: "INT4",
+ Length: struct {
+ Len int64
+ OK bool
+ }{
+ Len: 0,
+ OK: false,
+ },
+ DecimalSize: struct {
+ Precision int64
+ Scale int64
+ OK bool
+ }{
+ Precision: 0,
+ Scale: 0,
+ OK: false,
+ },
+ ScanType: reflect.TypeOf(int32(0)),
+ }, {
+ Name: "bar",
+ TypeName: "TEXT",
+ Length: struct {
+ Len int64
+ OK bool
+ }{
+ Len: math.MaxInt64,
+ OK: true,
+ },
+ DecimalSize: struct {
+ Precision int64
+ Scale int64
+ OK bool
+ }{
+ Precision: 0,
+ Scale: 0,
+ OK: false,
+ },
+ ScanType: reflect.TypeOf(""),
+ },
+ }
+
+ db := openTestConn(t)
+ defer db.Close()
+
+ rows, err := db.Query("SELECT 1 AS a, text 'bar' AS bar, 1.28::numeric(9, 2) AS dec")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ columns, err := rows.ColumnTypes()
+ if err != nil {
+ t.Fatal(err)
+ }
+ if len(columns) != 3 {
+ t.Errorf("expected 3 columns found %d", len(columns))
+ }
+
+ for i, tt := range columnTypesTests {
+ c := columns[i]
+ if c.Name() != tt.Name {
+ t.Errorf("(%d) got: %s, want: %s", i, c.Name(), tt.Name)
+ }
+ if c.DatabaseTypeName() != tt.TypeName {
+ t.Errorf("(%d) got: %s, want: %s", i, c.DatabaseTypeName(), tt.TypeName)
+ }
+ l, ok := c.Length()
+ if l != tt.Length.Len {
+ t.Errorf("(%d) got: %d, want: %d", i, l, tt.Length.Len)
+ }
+ if ok != tt.Length.OK {
+ t.Errorf("(%d) got: %t, want: %t", i, ok, tt.Length.OK)
+ }
+ p, s, ok := c.DecimalSize()
+ if p != tt.DecimalSize.Precision {
+ t.Errorf("(%d) got: %d, want: %d", i, p, tt.DecimalSize.Precision)
+ }
+ if s != tt.DecimalSize.Scale {
+ t.Errorf("(%d) got: %d, want: %d", i, s, tt.DecimalSize.Scale)
+ }
+ if ok != tt.DecimalSize.OK {
+ t.Errorf("(%d) got: %t, want: %t", i, ok, tt.DecimalSize.OK)
+ }
+ if c.ScanType() != tt.ScanType {
+ t.Errorf("(%d) got: %v, want: %v", i, c.ScanType(), tt.ScanType)
+ }
+ }
+}
diff --git a/vendor/github.com/magiconair/properties/.travis.yml b/vendor/github.com/magiconair/properties/.travis.yml
index 60436b202..ab9803902 100644
--- a/vendor/github.com/magiconair/properties/.travis.yml
+++ b/vendor/github.com/magiconair/properties/.travis.yml
@@ -5,4 +5,5 @@ go:
- 1.6.x
- 1.7.x
- 1.8.x
+ - 1.9.x
- tip
diff --git a/vendor/github.com/magiconair/properties/CHANGELOG.md b/vendor/github.com/magiconair/properties/CHANGELOG.md
index 4905fec99..ebd1bcd32 100644
--- a/vendor/github.com/magiconair/properties/CHANGELOG.md
+++ b/vendor/github.com/magiconair/properties/CHANGELOG.md
@@ -1,5 +1,10 @@
## Changelog
+### Unreleased
+
+ * [PR #24](https://github.com/magiconair/properties/pull/24): Update keys when DisableExpansion is enabled
+ Thanks to @mgurov for the fix.
+
### [1.7.3](https://github.com/magiconair/properties/tags/v1.7.3) - 10 Jul 2017
* [Issue #17](https://github.com/magiconair/properties/issues/17): Add [SetValue()](http://godoc.org/github.com/magiconair/properties#Properties.SetValue) method to set values generically
diff --git a/vendor/github.com/magiconair/properties/properties.go b/vendor/github.com/magiconair/properties/properties.go
index 4f3d5a458..85bb18618 100644
--- a/vendor/github.com/magiconair/properties/properties.go
+++ b/vendor/github.com/magiconair/properties/properties.go
@@ -511,6 +511,9 @@ func (p *Properties) Set(key, value string) (prev string, ok bool, err error) {
if p.DisableExpansion {
prev, ok = p.Get(key)
p.m[key] = value
+ if !ok {
+ p.k = append(p.k, key)
+ }
return prev, ok, nil
}
diff --git a/vendor/github.com/magiconair/properties/properties_test.go b/vendor/github.com/magiconair/properties/properties_test.go
index 0eac1f492..7e92618e0 100644
--- a/vendor/github.com/magiconair/properties/properties_test.go
+++ b/vendor/github.com/magiconair/properties/properties_test.go
@@ -458,6 +458,19 @@ func TestDisableExpansion(t *testing.T) {
assert.Equal(t, p.MustGet("keyB"), "${keyA}")
}
+func TestDisableExpansionStillUpdatesKeys(t *testing.T) {
+ p := NewProperties()
+ p.MustSet("p1", "a")
+ assert.Equal(t, p.Keys(), []string{"p1"})
+ assert.Equal(t, p.String(), "p1 = a\n")
+
+ p.DisableExpansion = true
+ p.MustSet("p2", "b")
+
+ assert.Equal(t, p.Keys(), []string{"p1", "p2"})
+ assert.Equal(t, p.String(), "p1 = a\np2 = b\n")
+}
+
func TestMustGet(t *testing.T) {
input := "key = value\nkey2 = ghi"
p := mustParse(t, input)
diff --git a/vendor/github.com/mattermost/html2text/LICENSE b/vendor/github.com/mattermost/html2text/LICENSE
index 24dc4abec..1f2423ecb 100644
--- a/vendor/github.com/mattermost/html2text/LICENSE
+++ b/vendor/github.com/mattermost/html2text/LICENSE
@@ -1,6 +1,7 @@
The MIT License (MIT)
Copyright (c) 2015 Jay Taylor
+Modified work: Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/github.com/miekg/dns/CONTRIBUTORS b/vendor/github.com/miekg/dns/CONTRIBUTORS
index f77e8a895..5903779d8 100644
--- a/vendor/github.com/miekg/dns/CONTRIBUTORS
+++ b/vendor/github.com/miekg/dns/CONTRIBUTORS
@@ -7,3 +7,4 @@ Marek Majkowski
Peter van Dijk
Omri Bahumi
Alex Sergeyev
+James Hartig
diff --git a/vendor/github.com/miekg/dns/client.go b/vendor/github.com/miekg/dns/client.go
index 1c14a19d8..359a0ab8f 100644
--- a/vendor/github.com/miekg/dns/client.go
+++ b/vendor/github.com/miekg/dns/client.go
@@ -9,6 +9,7 @@ import (
"encoding/binary"
"io"
"net"
+ "strings"
"time"
)
@@ -27,11 +28,15 @@ type Conn struct {
// A Client defines parameters for a DNS client.
type Client struct {
- Net string // if "tcp" or "tcp-tls" (DNS over TLS) a TCP query will be initiated, otherwise an UDP one (default is "" for UDP)
- UDPSize uint16 // minimum receive buffer for UDP messages
- TLSConfig *tls.Config // TLS connection configuration
- Timeout time.Duration // a cumulative timeout for dial, write and read, defaults to 0 (disabled) - overrides DialTimeout, ReadTimeout and WriteTimeout when non-zero
- DialTimeout time.Duration // net.DialTimeout, defaults to 2 seconds - overridden by Timeout when that value is non-zero
+ Net string // if "tcp" or "tcp-tls" (DNS over TLS) a TCP query will be initiated, otherwise an UDP one (default is "" for UDP)
+ UDPSize uint16 // minimum receive buffer for UDP messages
+ TLSConfig *tls.Config // TLS connection configuration
+ Dialer *net.Dialer // a net.Dialer used to set local address, timeouts and more
+ // Timeout is a cumulative timeout for dial, write and read, defaults to 0 (disabled) - overrides DialTimeout, ReadTimeout,
+ // WriteTimeout when non-zero. Can be overridden with net.Dialer.Timeout (see Client.ExchangeWithDialer and
+ // Client.Dialer) or context.Context.Deadline (see the deprecated ExchangeContext)
+ Timeout time.Duration
+ DialTimeout time.Duration // net.DialTimeout, defaults to 2 seconds, or net.Dialer.Timeout if expiring earlier - overridden by Timeout when that value is non-zero
ReadTimeout time.Duration // net.Conn.SetReadTimeout value for connections, defaults to 2 seconds - overridden by Timeout when that value is non-zero
WriteTimeout time.Duration // net.Conn.SetWriteTimeout value for connections, defaults to 2 seconds - overridden by Timeout when that value is non-zero
TsigSecret map[string]string // secret(s) for Tsig map[<zonename>]<base64 secret>, zonename must be fully qualified
@@ -44,91 +49,74 @@ type Client struct {
// will it fall back to TCP in case of truncation.
// See client.Exchange for more information on setting larger buffer sizes.
func Exchange(m *Msg, a string) (r *Msg, err error) {
- var co *Conn
- co, err = DialTimeout("udp", a, dnsTimeout)
- if err != nil {
- return nil, err
- }
-
- defer co.Close()
+ client := Client{Net: "udp"}
+ r, _, err = client.Exchange(m, a)
+ return r, err
+}
- opt := m.IsEdns0()
- // If EDNS0 is used use that for size.
- if opt != nil && opt.UDPSize() >= MinMsgSize {
- co.UDPSize = opt.UDPSize()
+func (c *Client) dialTimeout() time.Duration {
+ if c.Timeout != 0 {
+ return c.Timeout
}
-
- co.SetWriteDeadline(time.Now().Add(dnsTimeout))
- if err = co.WriteMsg(m); err != nil {
- return nil, err
+ if c.DialTimeout != 0 {
+ return c.DialTimeout
}
+ return dnsTimeout
+}
- co.SetReadDeadline(time.Now().Add(dnsTimeout))
- r, err = co.ReadMsg()
- if err == nil && r.Id != m.Id {
- err = ErrId
+func (c *Client) readTimeout() time.Duration {
+ if c.ReadTimeout != 0 {
+ return c.ReadTimeout
}
- return r, err
+ return dnsTimeout
}
-// ExchangeContext performs a synchronous UDP query, like Exchange. It
-// additionally obeys deadlines from the passed Context.
-func ExchangeContext(ctx context.Context, m *Msg, a string) (r *Msg, err error) {
- // Combine context deadline with built-in timeout. Context chooses whichever
- // is sooner.
- timeoutCtx, cancel := context.WithTimeout(ctx, dnsTimeout)
- defer cancel()
- deadline, _ := timeoutCtx.Deadline()
-
- co := new(Conn)
- dialer := net.Dialer{}
- co.Conn, err = dialer.DialContext(timeoutCtx, "udp", a)
- if err != nil {
- return nil, err
+func (c *Client) writeTimeout() time.Duration {
+ if c.WriteTimeout != 0 {
+ return c.WriteTimeout
}
+ return dnsTimeout
+}
- defer co.Conn.Close()
-
- opt := m.IsEdns0()
- // If EDNS0 is used use that for size.
- if opt != nil && opt.UDPSize() >= MinMsgSize {
- co.UDPSize = opt.UDPSize()
+func (c *Client) Dial(address string) (conn *Conn, err error) {
+ // create a new dialer with the appropriate timeout
+ var d net.Dialer
+ if c.Dialer == nil {
+ d = net.Dialer{}
+ } else {
+ d = net.Dialer(*c.Dialer)
}
+ d.Timeout = c.getTimeoutForRequest(c.writeTimeout())
- co.SetWriteDeadline(deadline)
- if err = co.WriteMsg(m); err != nil {
- return nil, err
- }
+ network := "udp"
+ useTLS := false
- co.SetReadDeadline(deadline)
- r, err = co.ReadMsg()
- if err == nil && r.Id != m.Id {
- err = ErrId
+ switch c.Net {
+ case "tcp-tls":
+ network = "tcp"
+ useTLS = true
+ case "tcp4-tls":
+ network = "tcp4"
+ useTLS = true
+ case "tcp6-tls":
+ network = "tcp6"
+ useTLS = true
+ default:
+ if c.Net != "" {
+ network = c.Net
+ }
}
- return r, err
-}
-// ExchangeConn performs a synchronous query. It sends the message m via the connection
-// c and waits for a reply. The connection c is not closed by ExchangeConn.
-// This function is going away, but can easily be mimicked:
-//
-// co := &dns.Conn{Conn: c} // c is your net.Conn
-// co.WriteMsg(m)
-// in, _ := co.ReadMsg()
-// co.Close()
-//
-func ExchangeConn(c net.Conn, m *Msg) (r *Msg, err error) {
- println("dns: this function is deprecated")
- co := new(Conn)
- co.Conn = c
- if err = co.WriteMsg(m); err != nil {
- return nil, err
+ conn = new(Conn)
+ if useTLS {
+ conn.Conn, err = tls.DialWithDialer(&d, network, address, c.TLSConfig)
+ } else {
+ conn.Conn, err = d.Dial(network, address)
}
- r, err = co.ReadMsg()
- if err == nil && r.Id != m.Id {
- err = ErrId
+ if err != nil {
+ return nil, err
}
- return r, err
+ return conn, nil
}
// Exchange performs a synchronous query. It sends the message m to the address
@@ -142,22 +130,14 @@ func ExchangeConn(c net.Conn, m *Msg) (r *Msg, err error) {
// It is up to the caller to create a message that allows for larger responses to be
// returned. Specifically this means adding an EDNS0 OPT RR that will advertise a larger
// buffer, see SetEdns0. Messages without an OPT RR will fallback to the historic limit
-// of 512 bytes.
-func (c *Client) Exchange(m *Msg, a string) (r *Msg, rtt time.Duration, err error) {
- return c.ExchangeContext(context.Background(), m, a)
-}
-
-// ExchangeContext acts like Exchange, but honors the deadline on the provided
-// context, if present. If there is both a context deadline and a configured
-// timeout on the client, the earliest of the two takes effect.
-func (c *Client) ExchangeContext(ctx context.Context, m *Msg, a string) (
- r *Msg,
- rtt time.Duration,
- err error) {
+// of 512 bytes
+// To specify a local address or a timeout, the caller has to set the `Client.Dialer`
+// attribute appropriately
+func (c *Client) Exchange(m *Msg, address string) (r *Msg, rtt time.Duration, err error) {
if !c.SingleInflight {
- return c.exchange(ctx, m, a)
+ return c.exchange(m, address)
}
- // This adds a bunch of garbage, TODO(miek).
+
t := "nop"
if t1, ok := TypeToString[m.Question[0].Qtype]; ok {
t = t1
@@ -167,75 +147,18 @@ func (c *Client) ExchangeContext(ctx context.Context, m *Msg, a string) (
cl = cl1
}
r, rtt, err, shared := c.group.Do(m.Question[0].Name+t+cl, func() (*Msg, time.Duration, error) {
- return c.exchange(ctx, m, a)
+ return c.exchange(m, address)
})
if r != nil && shared {
r = r.Copy()
}
- if err != nil {
- return r, rtt, err
- }
- return r, rtt, nil
-}
-
-func (c *Client) dialTimeout() time.Duration {
- if c.Timeout != 0 {
- return c.Timeout
- }
- if c.DialTimeout != 0 {
- return c.DialTimeout
- }
- return dnsTimeout
+ return r, rtt, err
}
-func (c *Client) readTimeout() time.Duration {
- if c.ReadTimeout != 0 {
- return c.ReadTimeout
- }
- return dnsTimeout
-}
-
-func (c *Client) writeTimeout() time.Duration {
- if c.WriteTimeout != 0 {
- return c.WriteTimeout
- }
- return dnsTimeout
-}
-
-func (c *Client) exchange(ctx context.Context, m *Msg, a string) (r *Msg, rtt time.Duration, err error) {
+func (c *Client) exchange(m *Msg, a string) (r *Msg, rtt time.Duration, err error) {
var co *Conn
- network := "udp"
- tls := false
-
- switch c.Net {
- case "tcp-tls":
- network = "tcp"
- tls = true
- case "tcp4-tls":
- network = "tcp4"
- tls = true
- case "tcp6-tls":
- network = "tcp6"
- tls = true
- default:
- if c.Net != "" {
- network = c.Net
- }
- }
-
- var deadline time.Time
- if c.Timeout != 0 {
- deadline = time.Now().Add(c.Timeout)
- }
-
- dialDeadline := deadlineOrTimeoutOrCtx(ctx, deadline, c.dialTimeout())
- dialTimeout := dialDeadline.Sub(time.Now())
- if tls {
- co, err = DialTimeoutWithTLS(network, a, c.TLSConfig, dialTimeout)
- } else {
- co, err = DialTimeout(network, a, dialTimeout)
- }
+ co, err = c.Dial(a)
if err != nil {
return nil, 0, err
@@ -253,12 +176,13 @@ func (c *Client) exchange(ctx context.Context, m *Msg, a string) (r *Msg, rtt ti
}
co.TsigSecret = c.TsigSecret
- co.SetWriteDeadline(deadlineOrTimeoutOrCtx(ctx, deadline, c.writeTimeout()))
+ // write with the appropriate write timeout
+ co.SetWriteDeadline(time.Now().Add(c.getTimeoutForRequest(c.writeTimeout())))
if err = co.WriteMsg(m); err != nil {
return nil, 0, err
}
- co.SetReadDeadline(deadlineOrTimeoutOrCtx(ctx, deadline, c.readTimeout()))
+ co.SetReadDeadline(time.Now().Add(c.getTimeoutForRequest(c.readTimeout())))
r, err = co.ReadMsg()
if err == nil && r.Id != m.Id {
err = ErrId
@@ -352,7 +276,7 @@ func tcpMsgLen(t io.Reader) (int, error) {
return 0, err
}
- // As seen with my local router/switch, retursn 1 byte on the above read,
+ // As seen with my local router/switch, returns 1 byte on the above read,
// resulting a a ShortRead. Just write it out (instead of loop) and read the
// other byte.
if n == 1 {
@@ -467,6 +391,24 @@ func (co *Conn) Write(p []byte) (n int, err error) {
return n, err
}
+// Return the appropriate timeout for a specific request
+func (c *Client) getTimeoutForRequest(timeout time.Duration) time.Duration {
+ var requestTimeout time.Duration
+ if c.Timeout != 0 {
+ requestTimeout = c.Timeout
+ } else {
+ requestTimeout = timeout
+ }
+ // net.Dialer.Timeout has priority if smaller than the timeouts computed so
+ // far
+ if c.Dialer != nil && c.Dialer.Timeout != 0 {
+ if c.Dialer.Timeout < requestTimeout {
+ requestTimeout = c.Dialer.Timeout
+ }
+ }
+ return requestTimeout
+}
+
// Dial connects to the address on the named network.
func Dial(network, address string) (conn *Conn, err error) {
conn = new(Conn)
@@ -477,10 +419,44 @@ func Dial(network, address string) (conn *Conn, err error) {
return conn, nil
}
+// ExchangeContext performs a synchronous UDP query, like Exchange. It
+// additionally obeys deadlines from the passed Context.
+func ExchangeContext(ctx context.Context, m *Msg, a string) (r *Msg, err error) {
+ client := Client{Net: "udp"}
+ r, _, err = client.ExchangeContext(ctx, m, a)
+ // ignorint rtt to leave the original ExchangeContext API unchanged, but
+ // this function will go away
+ return r, err
+}
+
+// ExchangeConn performs a synchronous query. It sends the message m via the connection
+// c and waits for a reply. The connection c is not closed by ExchangeConn.
+// This function is going away, but can easily be mimicked:
+//
+// co := &dns.Conn{Conn: c} // c is your net.Conn
+// co.WriteMsg(m)
+// in, _ := co.ReadMsg()
+// co.Close()
+//
+func ExchangeConn(c net.Conn, m *Msg) (r *Msg, err error) {
+ println("dns: ExchangeConn: this function is deprecated")
+ co := new(Conn)
+ co.Conn = c
+ if err = co.WriteMsg(m); err != nil {
+ return nil, err
+ }
+ r, err = co.ReadMsg()
+ if err == nil && r.Id != m.Id {
+ err = ErrId
+ }
+ return r, err
+}
+
// DialTimeout acts like Dial but takes a timeout.
func DialTimeout(network, address string, timeout time.Duration) (conn *Conn, err error) {
- conn = new(Conn)
- conn.Conn, err = net.DialTimeout(network, address, timeout)
+
+ client := Client{Net: "udp", Dialer: &net.Dialer{Timeout: timeout}}
+ conn, err = client.Dial(address)
if err != nil {
return nil, err
}
@@ -489,8 +465,12 @@ func DialTimeout(network, address string, timeout time.Duration) (conn *Conn, er
// DialWithTLS connects to the address on the named network with TLS.
func DialWithTLS(network, address string, tlsConfig *tls.Config) (conn *Conn, err error) {
- conn = new(Conn)
- conn.Conn, err = tls.Dial(network, address, tlsConfig)
+ if !strings.HasSuffix(network, "-tls") {
+ network += "-tls"
+ }
+ client := Client{Net: network, TLSConfig: tlsConfig}
+ conn, err = client.Dial(address)
+
if err != nil {
return nil, err
}
@@ -499,33 +479,29 @@ func DialWithTLS(network, address string, tlsConfig *tls.Config) (conn *Conn, er
// DialTimeoutWithTLS acts like DialWithTLS but takes a timeout.
func DialTimeoutWithTLS(network, address string, tlsConfig *tls.Config, timeout time.Duration) (conn *Conn, err error) {
- var dialer net.Dialer
- dialer.Timeout = timeout
-
- conn = new(Conn)
- conn.Conn, err = tls.DialWithDialer(&dialer, network, address, tlsConfig)
+ if !strings.HasSuffix(network, "-tls") {
+ network += "-tls"
+ }
+ client := Client{Net: network, Dialer: &net.Dialer{Timeout: timeout}, TLSConfig: tlsConfig}
+ conn, err = client.Dial(address)
if err != nil {
return nil, err
}
return conn, nil
}
-// deadlineOrTimeout chooses between the provided deadline and timeout
-// by always preferring the deadline so long as it's non-zero (regardless
-// of which is bigger), and returns the equivalent deadline value.
-func deadlineOrTimeout(deadline time.Time, timeout time.Duration) time.Time {
- if deadline.IsZero() {
- return time.Now().Add(timeout)
- }
- return deadline
-}
-
-// deadlineOrTimeoutOrCtx returns the earliest of: a context deadline, or the
-// output of deadlineOrtimeout.
-func deadlineOrTimeoutOrCtx(ctx context.Context, deadline time.Time, timeout time.Duration) time.Time {
- result := deadlineOrTimeout(deadline, timeout)
- if ctxDeadline, ok := ctx.Deadline(); ok && ctxDeadline.Before(result) {
- result = ctxDeadline
+// ExchangeContext acts like Exchange, but honors the deadline on the provided
+// context, if present. If there is both a context deadline and a configured
+// timeout on the client, the earliest of the two takes effect.
+func (c *Client) ExchangeContext(ctx context.Context, m *Msg, a string) (r *Msg, rtt time.Duration, err error) {
+ var timeout time.Duration
+ if deadline, ok := ctx.Deadline(); !ok {
+ timeout = 0
+ } else {
+ timeout = deadline.Sub(time.Now())
}
- return result
+ // not passing the context to the underlying calls, as the API does not support
+ // context. For timeouts you should set up Client.Dialer and call Client.Exchange.
+ c.Dialer = &net.Dialer{Timeout: timeout}
+ return c.Exchange(m, a)
}
diff --git a/vendor/github.com/miekg/dns/client_test.go b/vendor/github.com/miekg/dns/client_test.go
index 73083dbaf..3ff619cfa 100644
--- a/vendor/github.com/miekg/dns/client_test.go
+++ b/vendor/github.com/miekg/dns/client_test.go
@@ -11,6 +11,29 @@ import (
"time"
)
+func TestDialUDP(t *testing.T) {
+ HandleFunc("miek.nl.", HelloServer)
+ defer HandleRemove("miek.nl.")
+
+ s, addrstr, err := RunLocalUDPServer("[::1]:0")
+ if err != nil {
+ t.Fatalf("unable to run test server: %v", err)
+ }
+ defer s.Shutdown()
+
+ m := new(Msg)
+ m.SetQuestion("miek.nl.", TypeSOA)
+
+ c := new(Client)
+ conn, err := c.Dial(addrstr)
+ if err != nil {
+ t.Fatalf("failed to dial: %v", err)
+ }
+ if conn == nil {
+ t.Fatalf("conn is nil")
+ }
+}
+
func TestClientSync(t *testing.T) {
HandleFunc("miek.nl.", HelloServer)
defer HandleRemove("miek.nl.")
@@ -27,9 +50,12 @@ func TestClientSync(t *testing.T) {
c := new(Client)
r, _, err := c.Exchange(m, addrstr)
if err != nil {
- t.Errorf("failed to exchange: %v", err)
+ t.Fatalf("failed to exchange: %v", err)
}
- if r != nil && r.Rcode != RcodeSuccess {
+ if r == nil {
+ t.Fatal("response is nil")
+ }
+ if r.Rcode != RcodeSuccess {
t.Errorf("failed to get an valid answer\n%v", r)
}
// And now with plain Exchange().
@@ -42,7 +68,42 @@ func TestClientSync(t *testing.T) {
}
}
-func TestClientTLSSync(t *testing.T) {
+func TestClientLocalAddress(t *testing.T) {
+ HandleFunc("miek.nl.", HelloServerEchoAddrPort)
+ defer HandleRemove("miek.nl.")
+
+ s, addrstr, err := RunLocalUDPServer("127.0.0.1:0")
+ if err != nil {
+ t.Fatalf("unable to run test server: %v", err)
+ }
+ defer s.Shutdown()
+
+ m := new(Msg)
+ m.SetQuestion("miek.nl.", TypeSOA)
+
+ c := new(Client)
+ laddr := net.UDPAddr{IP: net.ParseIP("127.0.0.1"), Port: 12345, Zone: ""}
+ c.Dialer = &net.Dialer{LocalAddr: &laddr}
+ r, _, err := c.Exchange(m, addrstr)
+ if err != nil {
+ t.Errorf("failed to exchange: %v", err)
+ }
+ if r != nil && r.Rcode != RcodeSuccess {
+ t.Errorf("failed to get an valid answer\n%v", r)
+ }
+ if len(r.Extra) != 1 {
+ t.Errorf("failed to get additional answers\n%v", r)
+ }
+ txt := r.Extra[0].(*TXT)
+ if txt == nil {
+ t.Errorf("invalid TXT response\n%v", txt)
+ }
+ if len(txt.Txt) != 1 || txt.Txt[0] != "127.0.0.1:12345" {
+ t.Errorf("invalid TXT response\n%v", txt.Txt)
+ }
+}
+
+func TestClientTLSSyncV4(t *testing.T) {
HandleFunc("miek.nl.", HelloServer)
defer HandleRemove("miek.nl.")
@@ -65,6 +126,8 @@ func TestClientTLSSync(t *testing.T) {
m.SetQuestion("miek.nl.", TypeSOA)
c := new(Client)
+
+ // test tcp-tls
c.Net = "tcp-tls"
c.TLSConfig = &tls.Config{
InsecureSkipVerify: true,
@@ -72,9 +135,88 @@ func TestClientTLSSync(t *testing.T) {
r, _, err := c.Exchange(m, addrstr)
if err != nil {
- t.Errorf("failed to exchange: %v", err)
+ t.Fatalf("failed to exchange: %v", err)
}
- if r != nil && r.Rcode != RcodeSuccess {
+ if r == nil {
+ t.Fatal("response is nil")
+ }
+ if r.Rcode != RcodeSuccess {
+ t.Errorf("failed to get an valid answer\n%v", r)
+ }
+
+ // test tcp4-tls
+ c.Net = "tcp4-tls"
+ c.TLSConfig = &tls.Config{
+ InsecureSkipVerify: true,
+ }
+
+ r, _, err = c.Exchange(m, addrstr)
+ if err != nil {
+ t.Fatalf("failed to exchange: %v", err)
+ }
+ if r == nil {
+ t.Fatal("response is nil")
+ }
+ if r.Rcode != RcodeSuccess {
+ t.Errorf("failed to get an valid answer\n%v", r)
+ }
+}
+
+func TestClientTLSSyncV6(t *testing.T) {
+ HandleFunc("miek.nl.", HelloServer)
+ defer HandleRemove("miek.nl.")
+
+ cert, err := tls.X509KeyPair(CertPEMBlock, KeyPEMBlock)
+ if err != nil {
+ t.Fatalf("unable to build certificate: %v", err)
+ }
+
+ config := tls.Config{
+ Certificates: []tls.Certificate{cert},
+ }
+
+ s, addrstr, err := RunLocalTLSServer("[::1]:0", &config)
+ if err != nil {
+ t.Fatalf("unable to run test server: %v", err)
+ }
+ defer s.Shutdown()
+
+ m := new(Msg)
+ m.SetQuestion("miek.nl.", TypeSOA)
+
+ c := new(Client)
+
+ // test tcp-tls
+ c.Net = "tcp-tls"
+ c.TLSConfig = &tls.Config{
+ InsecureSkipVerify: true,
+ }
+
+ r, _, err := c.Exchange(m, addrstr)
+ if err != nil {
+ t.Fatalf("failed to exchange: %v", err)
+ }
+ if r == nil {
+ t.Fatal("response is nil")
+ }
+ if r.Rcode != RcodeSuccess {
+ t.Errorf("failed to get an valid answer\n%v", r)
+ }
+
+ // test tcp6-tls
+ c.Net = "tcp6-tls"
+ c.TLSConfig = &tls.Config{
+ InsecureSkipVerify: true,
+ }
+
+ r, _, err = c.Exchange(m, addrstr)
+ if err != nil {
+ t.Fatalf("failed to exchange: %v", err)
+ }
+ if r == nil {
+ t.Fatal("response is nil")
+ }
+ if r.Rcode != RcodeSuccess {
t.Errorf("failed to get an valid answer\n%v", r)
}
}
@@ -120,11 +262,11 @@ func TestClientEDNS0(t *testing.T) {
c := new(Client)
r, _, err := c.Exchange(m, addrstr)
if err != nil {
- t.Errorf("failed to exchange: %v", err)
+ t.Fatalf("failed to exchange: %v", err)
}
if r != nil && r.Rcode != RcodeSuccess {
- t.Errorf("failed to get an valid answer\n%v", r)
+ t.Errorf("failed to get a valid answer\n%v", r)
}
}
@@ -171,11 +313,14 @@ func TestClientEDNS0Local(t *testing.T) {
c := new(Client)
r, _, err := c.Exchange(m, addrstr)
if err != nil {
- t.Errorf("failed to exchange: %s", err)
+ t.Fatalf("failed to exchange: %s", err)
}
- if r != nil && r.Rcode != RcodeSuccess {
- t.Error("failed to get a valid answer")
+ if r == nil {
+ t.Fatal("response is nil")
+ }
+ if r.Rcode != RcodeSuccess {
+ t.Fatal("failed to get a valid answer")
t.Logf("%v\n", r)
}
@@ -513,6 +658,9 @@ func TestConcurrentExchanges(t *testing.T) {
for i := 0; i < len(r); i++ {
go func(i int) {
r[i], _, _ = c.Exchange(m.Copy(), addrstr)
+ if r[i] == nil {
+ t.Fatalf("response %d is nil", i)
+ }
wg.Done()
}(i)
}
diff --git a/vendor/github.com/miekg/dns/dnsutil/util.go b/vendor/github.com/miekg/dns/dnsutil/util.go
index 9ed03f296..c8c6af7b3 100644
--- a/vendor/github.com/miekg/dns/dnsutil/util.go
+++ b/vendor/github.com/miekg/dns/dnsutil/util.go
@@ -11,7 +11,7 @@ import (
"github.com/miekg/dns"
)
-// AddDomain adds origin to s if s is not already a FQDN.
+// AddOrigin adds origin to s if s is not already a FQDN.
// Note that the result may not be a FQDN. If origin does not end
// with a ".", the result won't either.
// This implements the zonefile convention (specified in RFC 1035,
diff --git a/vendor/github.com/miekg/dns/doc.go b/vendor/github.com/miekg/dns/doc.go
index e38753d7d..ceabd24c1 100644
--- a/vendor/github.com/miekg/dns/doc.go
+++ b/vendor/github.com/miekg/dns/doc.go
@@ -1,7 +1,7 @@
/*
Package dns implements a full featured interface to the Domain Name System.
Server- and client-side programming is supported.
-The package allows complete control over what is send out to the DNS. The package
+The package allows complete control over what is sent out to the DNS. The package
API follows the less-is-more principle, by presenting a small, clean interface.
The package dns supports (asynchronous) querying/replying, incoming/outgoing zone transfers,
@@ -14,7 +14,7 @@ Basic usage pattern for creating a new resource record:
r := new(dns.MX)
r.Hdr = dns.RR_Header{Name: "miek.nl.", Rrtype: dns.TypeMX,
- Class: dns.ClassINET, Ttl: 3600}
+ Class: dns.ClassINET, Ttl: 3600}
r.Preference = 10
r.Mx = "mx.miek.nl."
@@ -22,16 +22,16 @@ Or directly from a string:
mx, err := dns.NewRR("miek.nl. 3600 IN MX 10 mx.miek.nl.")
-Or when the default TTL (3600) and class (IN) suit you:
+Or when the default origin (.) and TTL (3600) and class (IN) suit you:
- mx, err := dns.NewRR("miek.nl. MX 10 mx.miek.nl.")
+ mx, err := dns.NewRR("miek.nl MX 10 mx.miek.nl")
Or even:
mx, err := dns.NewRR("$ORIGIN nl.\nmiek 1H IN MX 10 mx.miek")
In the DNS messages are exchanged, these messages contain resource
-records (sets). Use pattern for creating a message:
+records (sets). Use pattern for creating a message:
m := new(dns.Msg)
m.SetQuestion("miek.nl.", dns.TypeMX)
@@ -51,7 +51,7 @@ The following is slightly more verbose, but more flexible:
m1.Question = make([]dns.Question, 1)
m1.Question[0] = dns.Question{"miek.nl.", dns.TypeMX, dns.ClassINET}
-After creating a message it can be send.
+After creating a message it can be sent.
Basic use pattern for synchronous querying the DNS at a
server configured on 127.0.0.1 and port 53:
@@ -63,7 +63,23 @@ class) is as easy as setting:
c.SingleInflight = true
-If these "advanced" features are not needed, a simple UDP query can be send,
+More advanced options are availabe using a net.Dialer and the corresponding API.
+For example it is possible to set a timeout, or to specify a source IP address
+and port to use for the connection:
+
+ c := new(dns.Client)
+ laddr := net.UDPAddr{
+ IP: net.ParseIP("[::1]"),
+ Port: 12345,
+ Zone: "",
+ }
+ d := net.Dialer{
+ Timeout: 200 * time.Millisecond,
+ LocalAddr: &laddr,
+ }
+ in, rtt, err := c.ExchangeWithDialer(&d, m1, "8.8.8.8:53")
+
+If these "advanced" features are not needed, a simple UDP query can be sent,
with:
in, err := dns.Exchange(m1, "127.0.0.1:53")
diff --git a/vendor/github.com/miekg/dns/edns.go b/vendor/github.com/miekg/dns/edns.go
index dbff3714c..718842f28 100644
--- a/vendor/github.com/miekg/dns/edns.go
+++ b/vendor/github.com/miekg/dns/edns.go
@@ -21,6 +21,7 @@ const (
EDNS0EXPIRE = 0x9 // EDNS0 expire
EDNS0COOKIE = 0xa // EDNS0 Cookie
EDNS0TCPKEEPALIVE = 0xb // EDNS0 tcp keep alive (RFC7828)
+ EDNS0PADDING = 0xc // EDNS0 padding (RFC7830)
EDNS0SUBNETDRAFT = 0x50fa // Don't use! Use EDNS0SUBNET
EDNS0LOCALSTART = 0xFDE9 // Beginning of range reserved for local/experimental use (RFC6891)
EDNS0LOCALEND = 0xFFFE // End of range reserved for local/experimental use (RFC6891)
@@ -74,6 +75,8 @@ func (rr *OPT) String() string {
s += "\n; NSEC3 HASH UNDERSTOOD: " + o.String()
case *EDNS0_LOCAL:
s += "\n; LOCAL OPT: " + o.String()
+ case *EDNS0_PADDING:
+ s += "\n; PADDING: " + o.String()
}
}
return s
@@ -595,3 +598,15 @@ func (e *EDNS0_TCP_KEEPALIVE) String() (s string) {
}
return
}
+
+// EDNS0_PADDING option is used to add padding to a request/response. The default
+// value of padding SHOULD be 0x0 but other values MAY be used, for instance if
+// compression is applied before encryption which may break signatures.
+type EDNS0_PADDING struct {
+ Padding []byte
+}
+
+func (e *EDNS0_PADDING) pack() ([]byte, error) { return e.Padding, nil }
+func (e *EDNS0_PADDING) Option() uint16 { return EDNS0PADDING }
+func (e *EDNS0_PADDING) unpack(b []byte) error { e.Padding = b; return nil }
+func (e *EDNS0_PADDING) String() string { return fmt.Sprintf("%0X", e.Padding) }
diff --git a/vendor/github.com/miekg/dns/internal/socket/cmsghdr.go b/vendor/github.com/miekg/dns/internal/socket/cmsghdr.go
new file mode 100644
index 000000000..62f2d2f74
--- /dev/null
+++ b/vendor/github.com/miekg/dns/internal/socket/cmsghdr.go
@@ -0,0 +1,7 @@
+// +build linux
+
+package socket
+
+func (h *cmsghdr) len() int { return int(h.Len) }
+func (h *cmsghdr) lvl() int { return int(h.Level) }
+func (h *cmsghdr) typ() int { return int(h.Type) }
diff --git a/vendor/github.com/miekg/dns/internal/socket/cmsghdr_linux_32bit.go b/vendor/github.com/miekg/dns/internal/socket/cmsghdr_linux_32bit.go
new file mode 100644
index 000000000..e92e85800
--- /dev/null
+++ b/vendor/github.com/miekg/dns/internal/socket/cmsghdr_linux_32bit.go
@@ -0,0 +1,20 @@
+// +build arm mips mipsle 386
+// +build linux
+
+package socket
+
+type cmsghdr struct {
+ Len uint32
+ Level int32
+ Type int32
+}
+
+const (
+ sizeofCmsghdr = 0xc
+)
+
+func (h *cmsghdr) set(l, lvl, typ int) {
+ h.Len = uint32(l)
+ h.Level = int32(lvl)
+ h.Type = int32(typ)
+}
diff --git a/vendor/github.com/miekg/dns/internal/socket/cmsghdr_linux_64bit.go b/vendor/github.com/miekg/dns/internal/socket/cmsghdr_linux_64bit.go
new file mode 100644
index 000000000..ddfc9e09a
--- /dev/null
+++ b/vendor/github.com/miekg/dns/internal/socket/cmsghdr_linux_64bit.go
@@ -0,0 +1,20 @@
+// +build arm64 amd64 ppc64 ppc64le mips64 mips64le s390x
+// +build linux
+
+package socket
+
+type cmsghdr struct {
+ Len uint64
+ Level int32
+ Type int32
+}
+
+const (
+ sizeofCmsghdr = 0x10
+)
+
+func (h *cmsghdr) set(l, lvl, typ int) {
+ h.Len = uint64(l)
+ h.Level = int32(lvl)
+ h.Type = int32(typ)
+}
diff --git a/vendor/github.com/miekg/dns/internal/socket/cmsghdr_other.go b/vendor/github.com/miekg/dns/internal/socket/cmsghdr_other.go
new file mode 100644
index 000000000..8078487c8
--- /dev/null
+++ b/vendor/github.com/miekg/dns/internal/socket/cmsghdr_other.go
@@ -0,0 +1,13 @@
+// +build !linux
+
+package socket
+
+type cmsghdr struct{}
+
+const sizeofCmsghdr = 0
+
+func (h *cmsghdr) len() int { return 0 }
+func (h *cmsghdr) lvl() int { return 0 }
+func (h *cmsghdr) typ() int { return 0 }
+
+func (h *cmsghdr) set(l, lvl, typ int) {}
diff --git a/vendor/github.com/miekg/dns/internal/socket/controlmessage.go b/vendor/github.com/miekg/dns/internal/socket/controlmessage.go
new file mode 100644
index 000000000..3176e9602
--- /dev/null
+++ b/vendor/github.com/miekg/dns/internal/socket/controlmessage.go
@@ -0,0 +1,118 @@
+package socket
+
+import (
+ "errors"
+ "unsafe"
+)
+
+func controlHeaderLen() int {
+ return roundup(sizeofCmsghdr)
+}
+
+func controlMessageLen(dataLen int) int {
+ return roundup(sizeofCmsghdr) + dataLen
+}
+
+// returns the whole length of control message.
+func ControlMessageSpace(dataLen int) int {
+ return roundup(sizeofCmsghdr) + roundup(dataLen)
+}
+
+// A ControlMessage represents the head message in a stream of control
+// messages.
+//
+// A control message comprises of a header, data and a few padding
+// fields to conform to the interface to the kernel.
+//
+// See RFC 3542 for further information.
+type ControlMessage []byte
+
+// Data returns the data field of the control message at the head.
+func (m ControlMessage) Data(dataLen int) []byte {
+ l := controlHeaderLen()
+ if len(m) < l || len(m) < l+dataLen {
+ return nil
+ }
+ return m[l : l+dataLen]
+}
+
+// ParseHeader parses and returns the header fields of the control
+// message at the head.
+func (m ControlMessage) ParseHeader() (lvl, typ, dataLen int, err error) {
+ l := controlHeaderLen()
+ if len(m) < l {
+ return 0, 0, 0, errors.New("short message")
+ }
+ h := (*cmsghdr)(unsafe.Pointer(&m[0]))
+ return h.lvl(), h.typ(), int(uint64(h.len()) - uint64(l)), nil
+}
+
+// Next returns the control message at the next.
+func (m ControlMessage) Next(dataLen int) ControlMessage {
+ l := ControlMessageSpace(dataLen)
+ if len(m) < l {
+ return nil
+ }
+ return m[l:]
+}
+
+// MarshalHeader marshals the header fields of the control message at
+// the head.
+func (m ControlMessage) MarshalHeader(lvl, typ, dataLen int) error {
+ if len(m) < controlHeaderLen() {
+ return errors.New("short message")
+ }
+ h := (*cmsghdr)(unsafe.Pointer(&m[0]))
+ h.set(controlMessageLen(dataLen), lvl, typ)
+ return nil
+}
+
+// Marshal marshals the control message at the head, and returns the next
+// control message.
+func (m ControlMessage) Marshal(lvl, typ int, data []byte) (ControlMessage, error) {
+ l := len(data)
+ if len(m) < ControlMessageSpace(l) {
+ return nil, errors.New("short message")
+ }
+ h := (*cmsghdr)(unsafe.Pointer(&m[0]))
+ h.set(controlMessageLen(l), lvl, typ)
+ if l > 0 {
+ copy(m.Data(l), data)
+ }
+ return m.Next(l), nil
+}
+
+// Parse parses as a single or multiple control messages.
+func (m ControlMessage) Parse() ([]ControlMessage, error) {
+ var ms []ControlMessage
+ for len(m) >= controlHeaderLen() {
+ h := (*cmsghdr)(unsafe.Pointer(&m[0]))
+ l := h.len()
+ if l <= 0 {
+ return nil, errors.New("invalid header length")
+ }
+ if uint64(l) < uint64(controlHeaderLen()) {
+ return nil, errors.New("invalid message length")
+ }
+ if uint64(l) > uint64(len(m)) {
+ return nil, errors.New("short buffer")
+ }
+ ms = append(ms, ControlMessage(m[:l]))
+ ll := l - controlHeaderLen()
+ if len(m) >= ControlMessageSpace(ll) {
+ m = m[ControlMessageSpace(ll):]
+ } else {
+ m = m[controlMessageLen(ll):]
+ }
+ }
+ return ms, nil
+}
+
+// NewControlMessage returns a new stream of control messages.
+func NewControlMessage(dataLen []int) ControlMessage {
+ var l int
+ for i := range dataLen {
+ l += ControlMessageSpace(dataLen[i])
+ }
+ return make([]byte, l)
+}
diff --git a/vendor/github.com/miekg/dns/internal/socket/controlmessage_test.go b/vendor/github.com/miekg/dns/internal/socket/controlmessage_test.go
new file mode 100644
index 000000000..e9fff4d45
--- /dev/null
+++ b/vendor/github.com/miekg/dns/internal/socket/controlmessage_test.go
@@ -0,0 +1,103 @@
+// +build linux
+
+package socket
+
+import (
+ "bytes"
+ "testing"
+)
+
+type mockControl struct {
+ Level int
+ Type int
+ Data []byte
+}
+
+func TestControlMessage(t *testing.T) {
+ for _, tt := range []struct {
+ cs []mockControl
+ }{
+ {
+ []mockControl{
+ {Level: 1, Type: 1},
+ },
+ },
+ {
+ []mockControl{
+ {Level: 2, Type: 2, Data: []byte{0xfe}},
+ },
+ },
+ {
+ []mockControl{
+ {Level: 3, Type: 3, Data: []byte{0xfe, 0xff, 0xff, 0xfe}},
+ },
+ },
+ {
+ []mockControl{
+ {Level: 4, Type: 4, Data: []byte{0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfe}},
+ },
+ },
+ {
+ []mockControl{
+ {Level: 4, Type: 4, Data: []byte{0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfe}},
+ {Level: 2, Type: 2, Data: []byte{0xfe}},
+ },
+ },
+ } {
+ var w []byte
+ var tailPadLen int
+ mm := NewControlMessage([]int{0})
+ for i, c := range tt.cs {
+ m := NewControlMessage([]int{len(c.Data)})
+ l := len(m) - len(mm)
+ if i == len(tt.cs)-1 && l > len(c.Data) {
+ tailPadLen = l - len(c.Data)
+ }
+ w = append(w, m...)
+ }
+
+ var err error
+ ww := make([]byte, len(w))
+ copy(ww, w)
+ m := ControlMessage(ww)
+ for _, c := range tt.cs {
+ if err = m.MarshalHeader(c.Level, c.Type, len(c.Data)); err != nil {
+ t.Fatalf("(%v).MarshalHeader() = %v", tt.cs, err)
+ }
+ copy(m.Data(len(c.Data)), c.Data)
+ m = m.Next(len(c.Data))
+ }
+ m = ControlMessage(w)
+ for _, c := range tt.cs {
+ m, err = m.Marshal(c.Level, c.Type, c.Data)
+ if err != nil {
+ t.Fatalf("(%v).Marshal() = %v", tt.cs, err)
+ }
+ }
+ if !bytes.Equal(ww, w) {
+ t.Fatalf("got %#v; want %#v", ww, w)
+ }
+
+ ws := [][]byte{w}
+ if tailPadLen > 0 {
+ // Test a message with no tail padding.
+ nopad := w[:len(w)-tailPadLen]
+ ws = append(ws, [][]byte{nopad}...)
+ }
+ for _, w := range ws {
+ ms, err := ControlMessage(w).Parse()
+ if err != nil {
+ t.Fatalf("(%v).Parse() = %v", tt.cs, err)
+ }
+ for i, m := range ms {
+ lvl, typ, dataLen, err := m.ParseHeader()
+ if err != nil {
+ t.Fatalf("(%v).ParseHeader() = %v", tt.cs, err)
+ }
+ if lvl != tt.cs[i].Level || typ != tt.cs[i].Type || dataLen != len(tt.cs[i].Data) {
+ t.Fatalf("%v: got %d, %d, %d; want %d, %d, %d", tt.cs[i], lvl, typ, dataLen, tt.cs[i].Level, tt.cs[i].Type, len(tt.cs[i].Data))
+ }
+ }
+ }
+ }
+}
diff --git a/vendor/github.com/miekg/dns/internal/socket/socket.go b/vendor/github.com/miekg/dns/internal/socket/socket.go
new file mode 100644
index 000000000..edb58e29a
--- /dev/null
+++ b/vendor/github.com/miekg/dns/internal/socket/socket.go
@@ -0,0 +1,4 @@
+// Package socket contains ControlMessage parsing code from
+// golang.org/x/net/internal/socket. Instead of supporting all possible
+// architectures, we're only supporting linux 32/64 bit.
+package socket
diff --git a/vendor/github.com/miekg/dns/internal/socket/sys.go b/vendor/github.com/miekg/dns/internal/socket/sys.go
new file mode 100644
index 000000000..2f3f5cfed
--- /dev/null
+++ b/vendor/github.com/miekg/dns/internal/socket/sys.go
@@ -0,0 +1,14 @@
+package socket
+
+import "unsafe"
+
+var (
+ kernelAlign = func() int {
+ var p uintptr
+ return int(unsafe.Sizeof(p))
+ }()
+)
+
+func roundup(l int) int {
+ return (l + kernelAlign - 1) & ^(kernelAlign - 1)
+}
diff --git a/vendor/github.com/miekg/dns/msg_helpers.go b/vendor/github.com/miekg/dns/msg_helpers.go
index 8d415c92a..0ca12b048 100644
--- a/vendor/github.com/miekg/dns/msg_helpers.go
+++ b/vendor/github.com/miekg/dns/msg_helpers.go
@@ -458,6 +458,13 @@ Option:
}
edns = append(edns, e)
off += int(optlen)
+ case EDNS0PADDING:
+ e := new(EDNS0_PADDING)
+ if err := e.unpack(msg[off : off+int(optlen)]); err != nil {
+ return nil, len(msg), err
+ }
+ edns = append(edns, e)
+ off += int(optlen)
default:
e := new(EDNS0_LOCAL)
e.Code = code
diff --git a/vendor/github.com/miekg/dns/parse_test.go b/vendor/github.com/miekg/dns/parse_test.go
index fc5bdaf5d..c7ecb499d 100644
--- a/vendor/github.com/miekg/dns/parse_test.go
+++ b/vendor/github.com/miekg/dns/parse_test.go
@@ -8,6 +8,7 @@ import (
"math/rand"
"net"
"reflect"
+ "regexp"
"strconv"
"strings"
"testing"
@@ -571,81 +572,88 @@ test IN CNAME test.a.example.com.
t.Logf("%d RRs parsed in %.2f s (%.2f RR/s)", i, float32(delta)/1e9, float32(i)/(float32(delta)/1e9))
}
-func ExampleParseZone() {
- zone := `$ORIGIN .
-$TTL 3600 ; 1 hour
-name IN SOA a6.nstld.com. hostmaster.nic.name. (
- 203362132 ; serial
- 300 ; refresh (5 minutes)
- 300 ; retry (5 minutes)
- 1209600 ; expire (2 weeks)
- 300 ; minimum (5 minutes)
- )
-$TTL 10800 ; 3 hours
-name. 10800 IN NS name.
- IN NS g6.nstld.com.
- 7200 NS h6.nstld.com.
- 3600 IN NS j6.nstld.com.
- IN 3600 NS k6.nstld.com.
- NS l6.nstld.com.
- NS a6.nstld.com.
- NS c6.nstld.com.
- NS d6.nstld.com.
- NS f6.nstld.com.
- NS m6.nstld.com.
-(
- NS m7.nstld.com.
-)
-$ORIGIN name.
-0-0onlus NS ns7.ehiweb.it.
- NS ns8.ehiweb.it.
-0-g MX 10 mx01.nic
- MX 10 mx02.nic
- MX 10 mx03.nic
- MX 10 mx04.nic
-$ORIGIN 0-g.name
-moutamassey NS ns01.yahoodomains.jp.
- NS ns02.yahoodomains.jp.
+func TestOmittedTTL(t *testing.T) {
+ zone := `
+$ORIGIN example.com.
+example.com. 42 IN SOA ns1.example.com. hostmaster.example.com. 1 86400 60 86400 3600 ; TTL=42 SOA
+example.com. NS 2 ; TTL=42 absolute owner name
+@ MD 3 ; TTL=42 current-origin owner name
+ MF 4 ; TTL=42 leading-space implied owner name
+ 43 TYPE65280 \# 1 05 ; TTL=43 implied owner name explicit TTL
+ MB 6 ; TTL=43 leading-tab implied owner name
+$TTL 1337
+example.com. 88 MG 7 ; TTL=88 explicit TTL
+example.com. MR 8 ; TTL=1337 after first $TTL
+$TTL 314
+ 1 TXT 9 ; TTL=1 implied owner name explicit TTL
+example.com. DNAME 10 ; TTL=314 after second $TTL
`
- to := ParseZone(strings.NewReader(zone), "", "testzone")
- for x := range to {
- fmt.Println(x.RR)
- }
- // Output:
- // name. 3600 IN SOA a6.nstld.com. hostmaster.nic.name. 203362132 300 300 1209600 300
- // name. 10800 IN NS name.
- // name. 10800 IN NS g6.nstld.com.
- // name. 7200 IN NS h6.nstld.com.
- // name. 3600 IN NS j6.nstld.com.
- // name. 3600 IN NS k6.nstld.com.
- // name. 10800 IN NS l6.nstld.com.
- // name. 10800 IN NS a6.nstld.com.
- // name. 10800 IN NS c6.nstld.com.
- // name. 10800 IN NS d6.nstld.com.
- // name. 10800 IN NS f6.nstld.com.
- // name. 10800 IN NS m6.nstld.com.
- // name. 10800 IN NS m7.nstld.com.
- // 0-0onlus.name. 10800 IN NS ns7.ehiweb.it.
- // 0-0onlus.name. 10800 IN NS ns8.ehiweb.it.
- // 0-g.name. 10800 IN MX 10 mx01.nic.name.
- // 0-g.name. 10800 IN MX 10 mx02.nic.name.
- // 0-g.name. 10800 IN MX 10 mx03.nic.name.
- // 0-g.name. 10800 IN MX 10 mx04.nic.name.
- // moutamassey.0-g.name.name. 10800 IN NS ns01.yahoodomains.jp.
- // moutamassey.0-g.name.name. 10800 IN NS ns02.yahoodomains.jp.
+ reCaseFromComment := regexp.MustCompile(`TTL=(\d+)\s+(.*)`)
+ records := ParseZone(strings.NewReader(zone), "", "")
+ var i int
+ for record := range records {
+ i++
+ if record.Error != nil {
+ t.Error(record.Error)
+ continue
+ }
+ expected := reCaseFromComment.FindStringSubmatch(record.Comment)
+ expectedTTL, _ := strconv.ParseUint(expected[1], 10, 32)
+ ttl := record.RR.Header().Ttl
+ if ttl != uint32(expectedTTL) {
+ t.Errorf("%s: expected TTL %d, got %d", expected[2], expectedTTL, ttl)
+ }
+ }
+ if i != 10 {
+ t.Errorf("expected %d records, got %d", 5, i)
+ }
}
-func ExampleHIP() {
- h := `www.example.com IN HIP ( 2 200100107B1A74DF365639CC39F1D578
- AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p
-9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQ
-b1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D
- rvs.example.com. )`
- if hip, err := NewRR(h); err == nil {
- fmt.Println(hip.String())
+func TestRelativeNameErrors(t *testing.T) {
+ var badZones = []struct {
+ label string
+ zoneContents string
+ expectedErr string
+ }{
+ {
+ "relative owner name without origin",
+ "example.com 3600 IN SOA ns.example.com. hostmaster.example.com. 1 86400 60 86400 3600",
+ "bad owner name",
+ },
+ {
+ "relative owner name in RDATA",
+ "example.com. 3600 IN SOA ns hostmaster 1 86400 60 86400 3600",
+ "bad SOA Ns",
+ },
+ {
+ "origin reference without origin",
+ "@ 3600 IN SOA ns.example.com. hostmaster.example.com. 1 86400 60 86400 3600",
+ "bad owner name",
+ },
+ {
+ "relative owner name in $INCLUDE",
+ "$INCLUDE file.db example.com",
+ "bad origin name",
+ },
+ {
+ "relative owner name in $ORIGIN",
+ "$ORIGIN example.com",
+ "bad origin name",
+ },
+ }
+ for _, errorCase := range badZones {
+ entries := ParseZone(strings.NewReader(errorCase.zoneContents), "", "")
+ for entry := range entries {
+ if entry.Error == nil {
+ t.Errorf("%s: expected error, got nil", errorCase.label)
+ continue
+ }
+ err := entry.Error.err
+ if err != errorCase.expectedErr {
+ t.Errorf("%s: expected error `%s`, got `%s`", errorCase.label, errorCase.expectedErr, err)
+ }
+ }
}
- // Output:
- // www.example.com. 3600 IN HIP 2 200100107B1A74DF365639CC39F1D578 AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D rvs.example.com.
}
func TestHIP(t *testing.T) {
@@ -686,24 +694,6 @@ b1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D
}
}
-func ExampleSOA() {
- s := "example.com. 1000 SOA master.example.com. admin.example.com. 1 4294967294 4294967293 4294967295 100"
- if soa, err := NewRR(s); err == nil {
- fmt.Println(soa.String())
- }
- // Output:
- // example.com. 1000 IN SOA master.example.com. admin.example.com. 1 4294967294 4294967293 4294967295 100
-}
-
-func TestLineNumberError(t *testing.T) {
- s := "example.com. 1000 SOA master.example.com. admin.example.com. monkey 4294967294 4294967293 4294967295 100"
- if _, err := NewRR(s); err != nil {
- if err.Error() != "dns: bad SOA zone parameter: \"monkey\" at line: 1:68" {
- t.Error("not expecting this error: ", err)
- }
- }
-}
-
// Test with no known RR on the line
func TestLineNumberError2(t *testing.T) {
tests := map[string]string{
@@ -801,28 +791,6 @@ func TestLowercaseTokens(t *testing.T) {
}
}
-func ExampleParseZone_generate() {
- // From the manual: http://www.bind9.net/manual/bind/9.3.2/Bv9ARM.ch06.html#id2566761
- zone := "$GENERATE 1-2 0 NS SERVER$.EXAMPLE.\n$GENERATE 1-8 $ CNAME $.0"
- to := ParseZone(strings.NewReader(zone), "0.0.192.IN-ADDR.ARPA.", "")
- for x := range to {
- if x.Error == nil {
- fmt.Println(x.RR.String())
- }
- }
- // Output:
- // 0.0.0.192.IN-ADDR.ARPA. 3600 IN NS SERVER1.EXAMPLE.
- // 0.0.0.192.IN-ADDR.ARPA. 3600 IN NS SERVER2.EXAMPLE.
- // 1.0.0.192.IN-ADDR.ARPA. 3600 IN CNAME 1.0.0.0.192.IN-ADDR.ARPA.
- // 2.0.0.192.IN-ADDR.ARPA. 3600 IN CNAME 2.0.0.0.192.IN-ADDR.ARPA.
- // 3.0.0.192.IN-ADDR.ARPA. 3600 IN CNAME 3.0.0.0.192.IN-ADDR.ARPA.
- // 4.0.0.192.IN-ADDR.ARPA. 3600 IN CNAME 4.0.0.0.192.IN-ADDR.ARPA.
- // 5.0.0.192.IN-ADDR.ARPA. 3600 IN CNAME 5.0.0.0.192.IN-ADDR.ARPA.
- // 6.0.0.192.IN-ADDR.ARPA. 3600 IN CNAME 6.0.0.0.192.IN-ADDR.ARPA.
- // 7.0.0.192.IN-ADDR.ARPA. 3600 IN CNAME 7.0.0.0.192.IN-ADDR.ARPA.
- // 8.0.0.192.IN-ADDR.ARPA. 3600 IN CNAME 8.0.0.0.192.IN-ADDR.ARPA.
-}
-
func TestSRVPacking(t *testing.T) {
msg := Msg{}
diff --git a/vendor/github.com/miekg/dns/privaterr_test.go b/vendor/github.com/miekg/dns/privaterr_test.go
index 72ec8f5c0..f50d0f48c 100644
--- a/vendor/github.com/miekg/dns/privaterr_test.go
+++ b/vendor/github.com/miekg/dns/privaterr_test.go
@@ -143,7 +143,7 @@ func (rd *VERSION) Len() int {
}
var smallzone = `$ORIGIN example.org.
-@ SOA sns.dns.icann.org. noc.dns.icann.org. (
+@ 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. (
2014091518 7200 3600 1209600 3600
)
A 1.2.3.4
diff --git a/vendor/github.com/miekg/dns/scan.go b/vendor/github.com/miekg/dns/scan.go
index 5f7f64423..c7b1eb19a 100644
--- a/vendor/github.com/miekg/dns/scan.go
+++ b/vendor/github.com/miekg/dns/scan.go
@@ -105,6 +105,12 @@ type Token struct {
Comment string
}
+// ttlState describes the state necessary to fill in an omitted RR TTL
+type ttlState struct {
+ ttl uint32 // ttl is the current default TTL
+ isByDirective bool // isByDirective indicates whether ttl was set by a $TTL directive
+}
+
// NewRR reads the RR contained in the string s. Only the first RR is
// returned. If s contains no RR, return nil with no error. The class
// defaults to IN and TTL defaults to 3600. The full zone file syntax
@@ -120,7 +126,8 @@ func NewRR(s string) (RR, error) {
// ReadRR reads the RR contained in q.
// See NewRR for more documentation.
func ReadRR(q io.Reader, filename string) (RR, error) {
- r := <-parseZoneHelper(q, ".", filename, 1)
+ defttl := &ttlState{defaultTtl, false}
+ r := <-parseZoneHelper(q, ".", defttl, filename, 1)
if r == nil {
return nil, nil
}
@@ -132,10 +139,10 @@ func ReadRR(q io.Reader, filename string) (RR, error) {
}
// ParseZone reads a RFC 1035 style zonefile from r. It returns *Tokens on the
-// returned channel, which consist out the parsed RR, a potential comment or an error.
-// If there is an error the RR is nil. The string file is only used
+// returned channel, each consisting of either a parsed RR and optional comment
+// or a nil RR and an error. The string file is only used
// in error reporting. The string origin is used as the initial origin, as
-// if the file would start with: $ORIGIN origin .
+// if the file would start with an $ORIGIN directive.
// The directives $INCLUDE, $ORIGIN, $TTL and $GENERATE are supported.
// The channel t is closed by ParseZone when the end of r is reached.
//
@@ -157,16 +164,16 @@ func ReadRR(q io.Reader, filename string) (RR, error) {
// The text "; this is comment" is returned in Token.Comment. Comments inside the
// RR are discarded. Comments on a line by themselves are discarded too.
func ParseZone(r io.Reader, origin, file string) chan *Token {
- return parseZoneHelper(r, origin, file, 10000)
+ return parseZoneHelper(r, origin, nil, file, 10000)
}
-func parseZoneHelper(r io.Reader, origin, file string, chansize int) chan *Token {
+func parseZoneHelper(r io.Reader, origin string, defttl *ttlState, file string, chansize int) chan *Token {
t := make(chan *Token, chansize)
- go parseZone(r, origin, file, t, 0)
+ go parseZone(r, origin, defttl, file, t, 0)
return t
}
-func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
+func parseZone(r io.Reader, origin string, defttl *ttlState, f string, t chan *Token, include int) {
defer func() {
if include == 0 {
close(t)
@@ -186,18 +193,16 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
// After detecting these, we know the zRrtype so we can jump to functions
// handling the rdata for each of these types.
- if origin == "" {
- origin = "."
- }
- origin = Fqdn(origin)
- if _, ok := IsDomainName(origin); !ok {
- t <- &Token{Error: &ParseError{f, "bad initial origin name", lex{}}}
- return
+ if origin != "" {
+ origin = Fqdn(origin)
+ if _, ok := IsDomainName(origin); !ok {
+ t <- &Token{Error: &ParseError{f, "bad initial origin name", lex{}}}
+ return
+ }
}
st := zExpectOwnerDir // initial state
var h RR_Header
- var defttl uint32 = defaultTtl
var prevName string
for l := range c {
// Lexer spotted an error already
@@ -209,27 +214,21 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
switch st {
case zExpectOwnerDir:
// We can also expect a directive, like $TTL or $ORIGIN
- h.Ttl = defttl
+ if defttl != nil {
+ h.Ttl = defttl.ttl
+ }
h.Class = ClassINET
switch l.value {
case zNewline:
st = zExpectOwnerDir
case zOwner:
h.Name = l.token
- if l.token[0] == '@' {
- h.Name = origin
- prevName = h.Name
- st = zExpectOwnerBl
- break
- }
- if h.Name[l.length-1] != '.' {
- h.Name = appendOrigin(h.Name, origin)
- }
- _, ok := IsDomainName(l.token)
+ name, ok := toAbsoluteName(l.token, origin)
if !ok {
t <- &Token{Error: &ParseError{f, "bad owner name", l}}
return
}
+ h.Name = name
prevName = h.Name
st = zExpectOwnerBl
case zDirTtl:
@@ -258,8 +257,9 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
return
}
h.Ttl = ttl
- // Don't about the defttl, we should take the $TTL value
- // defttl = ttl
+ if defttl == nil || !defttl.isByDirective {
+ defttl = &ttlState{ttl, false}
+ }
st = zExpectAnyNoTtlBl
default:
@@ -282,20 +282,12 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
case zBlank:
l := <-c
if l.value == zString {
- if _, ok := IsDomainName(l.token); !ok || l.length == 0 || l.err {
+ name, ok := toAbsoluteName(l.token, origin)
+ if !ok {
t <- &Token{Error: &ParseError{f, "bad origin name", l}}
return
}
- // a new origin is specified.
- if l.token[l.length-1] != '.' {
- if origin != "." { // Prevent .. endings
- neworigin = l.token + "." + origin
- } else {
- neworigin = l.token + origin
- }
- } else {
- neworigin = l.token
- }
+ neworigin = name
}
case zNewline, zEOF:
// Ok
@@ -313,7 +305,7 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
t <- &Token{Error: &ParseError{f, "too deeply nested $INCLUDE", l}}
return
}
- parseZone(r1, l.token, neworigin, t, include+1)
+ parseZone(r1, neworigin, defttl, l.token, t, include+1)
st = zExpectOwnerDir
case zExpectDirTtlBl:
if l.value != zBlank {
@@ -335,7 +327,7 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
t <- &Token{Error: &ParseError{f, "expecting $TTL value, not this...", l}}
return
}
- defttl = ttl
+ defttl = &ttlState{ttl, true}
st = zExpectOwnerDir
case zExpectDirOriginBl:
if l.value != zBlank {
@@ -351,19 +343,12 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
if e, _ := slurpRemainder(c, f); e != nil {
t <- &Token{Error: e}
}
- if _, ok := IsDomainName(l.token); !ok {
+ name, ok := toAbsoluteName(l.token, origin)
+ if !ok {
t <- &Token{Error: &ParseError{f, "bad origin name", l}}
return
}
- if l.token[l.length-1] != '.' {
- if origin != "." { // Prevent .. endings
- origin = l.token + "." + origin
- } else {
- origin = l.token + origin
- }
- } else {
- origin = l.token
- }
+ origin = name
st = zExpectOwnerDir
case zExpectDirGenerateBl:
if l.value != zBlank {
@@ -390,6 +375,10 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
case zExpectAny:
switch l.value {
case zRrtpe:
+ if defttl == nil {
+ t <- &Token{Error: &ParseError{f, "missing TTL with no previous value", l}}
+ return
+ }
h.Rrtype = l.torc
st = zExpectRdata
case zClass:
@@ -402,7 +391,9 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
return
}
h.Ttl = ttl
- // defttl = ttl // don't set the defttl here
+ if defttl == nil || !defttl.isByDirective {
+ defttl = &ttlState{ttl, false}
+ }
st = zExpectAnyNoTtlBl
default:
t <- &Token{Error: &ParseError{f, "expecting RR type, TTL or class, not this...", l}}
@@ -441,7 +432,9 @@ func parseZone(r io.Reader, origin, f string, t chan *Token, include int) {
return
}
h.Ttl = ttl
- // defttl = ttl // don't set the def ttl anymore
+ if defttl == nil || !defttl.isByDirective {
+ defttl = &ttlState{ttl, false}
+ }
st = zExpectRrtypeBl
case zRrtpe:
h.Rrtype = l.torc
@@ -918,6 +911,34 @@ func stringToCm(token string) (e, m uint8, ok bool) {
return
}
+func toAbsoluteName(name, origin string) (absolute string, ok bool) {
+ // check for an explicit origin reference
+ if name == "@" {
+ // require a nonempty origin
+ if origin == "" {
+ return "", false
+ }
+ return origin, true
+ }
+
+ // require a valid domain name
+ _, ok = IsDomainName(name)
+ if !ok || name == "" {
+ return "", false
+ }
+
+ // check if name is already absolute
+ if name[len(name)-1] == '.' {
+ return name, true
+ }
+
+ // require a nonempty origin
+ if origin == "" {
+ return "", false
+ }
+ return appendOrigin(name, origin), true
+}
+
func appendOrigin(name, origin string) string {
if origin == "." {
return name + origin
diff --git a/vendor/github.com/miekg/dns/scan_rr.go b/vendor/github.com/miekg/dns/scan_rr.go
index b8b18fd77..824b9c949 100644
--- a/vendor/github.com/miekg/dns/scan_rr.go
+++ b/vendor/github.com/miekg/dns/scan_rr.go
@@ -130,9 +130,10 @@ func setA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 { // Dynamic updates.
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
rr.A = net.ParseIP(l.token)
if rr.A == nil || l.err {
return nil, &ParseError{f, "bad A A", l}, ""
@@ -145,9 +146,10 @@ func setAAAA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
rr.AAAA = net.ParseIP(l.token)
if rr.AAAA == nil || l.err {
return nil, &ParseError{f, "bad AAAA AAAA", l}, ""
@@ -161,20 +163,15 @@ func setNS(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Ns = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Ns = o
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad NS Ns", l}, ""
}
- if rr.Ns[l.length-1] != '.' {
- rr.Ns = appendOrigin(rr.Ns, o)
- }
+ rr.Ns = name
return rr, nil, ""
}
@@ -187,17 +184,12 @@ func setPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- if l.token == "@" {
- rr.Ptr = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad PTR Ptr", l}, ""
}
- if rr.Ptr[l.length-1] != '.' {
- rr.Ptr = appendOrigin(rr.Ptr, o)
- }
+ rr.Ptr = name
return rr, nil, ""
}
@@ -207,20 +199,15 @@ func setNSAPPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string)
l := <-c
rr.Ptr = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Ptr = o
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad NSAP-PTR Ptr", l}, ""
}
- if rr.Ptr[l.length-1] != '.' {
- rr.Ptr = appendOrigin(rr.Ptr, o)
- }
+ rr.Ptr = name
return rr, nil, ""
}
@@ -230,34 +217,26 @@ func setRP(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Mbox = l.token
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- if l.token == "@" {
- rr.Mbox = o
- } else {
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
- return nil, &ParseError{f, "bad RP Mbox", l}, ""
- }
- if rr.Mbox[l.length-1] != '.' {
- rr.Mbox = appendOrigin(rr.Mbox, o)
- }
+
+ mbox, mboxOk := toAbsoluteName(l.token, o)
+ if l.err || !mboxOk {
+ return nil, &ParseError{f, "bad RP Mbox", l}, ""
}
+ rr.Mbox = mbox
+
<-c // zBlank
l = <-c
rr.Txt = l.token
- if l.token == "@" {
- rr.Txt = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ txt, txtOk := toAbsoluteName(l.token, o)
+ if l.err || !txtOk {
return nil, &ParseError{f, "bad RP Txt", l}, ""
}
- if rr.Txt[l.length-1] != '.' {
- rr.Txt = appendOrigin(rr.Txt, o)
- }
+ rr.Txt = txt
+
return rr, nil, ""
}
@@ -267,20 +246,15 @@ func setMR(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Mr = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Mr = o
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad MR Mr", l}, ""
}
- if rr.Mr[l.length-1] != '.' {
- rr.Mr = appendOrigin(rr.Mr, o)
- }
+ rr.Mr = name
return rr, nil, ""
}
@@ -290,20 +264,15 @@ func setMB(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Mb = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Mb = o
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad MB Mb", l}, ""
}
- if rr.Mb[l.length-1] != '.' {
- rr.Mb = appendOrigin(rr.Mb, o)
- }
+ rr.Mb = name
return rr, nil, ""
}
@@ -313,20 +282,15 @@ func setMG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Mg = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Mg = o
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad MG Mg", l}, ""
}
- if rr.Mg[l.length-1] != '.' {
- rr.Mg = appendOrigin(rr.Mg, o)
- }
+ rr.Mg = name
return rr, nil, ""
}
@@ -362,34 +326,26 @@ func setMINFO(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Rmail = l.token
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- if l.token == "@" {
- rr.Rmail = o
- } else {
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
- return nil, &ParseError{f, "bad MINFO Rmail", l}, ""
- }
- if rr.Rmail[l.length-1] != '.' {
- rr.Rmail = appendOrigin(rr.Rmail, o)
- }
+
+ rmail, rmailOk := toAbsoluteName(l.token, o)
+ if l.err || !rmailOk {
+ return nil, &ParseError{f, "bad MINFO Rmail", l}, ""
}
+ rr.Rmail = rmail
+
<-c // zBlank
l = <-c
rr.Email = l.token
- if l.token == "@" {
- rr.Email = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ email, emailOk := toAbsoluteName(l.token, o)
+ if l.err || !emailOk {
return nil, &ParseError{f, "bad MINFO Email", l}, ""
}
- if rr.Email[l.length-1] != '.' {
- rr.Email = appendOrigin(rr.Email, o)
- }
+ rr.Email = email
+
return rr, nil, ""
}
@@ -399,20 +355,15 @@ func setMF(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Mf = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Mf = o
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad MF Mf", l}, ""
}
- if rr.Mf[l.length-1] != '.' {
- rr.Mf = appendOrigin(rr.Mf, o)
- }
+ rr.Mf = name
return rr, nil, ""
}
@@ -422,20 +373,15 @@ func setMD(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Md = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Md = o
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad MD Md", l}, ""
}
- if rr.Md[l.length-1] != '.' {
- rr.Md = appendOrigin(rr.Md, o)
- }
+ rr.Md = name
return rr, nil, ""
}
@@ -444,57 +390,54 @@ func setMX(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad MX Pref", l}, ""
}
rr.Preference = uint16(i)
+
<-c // zBlank
l = <-c // zString
rr.Mx = l.token
- if l.token == "@" {
- rr.Mx = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad MX Mx", l}, ""
}
- if rr.Mx[l.length-1] != '.' {
- rr.Mx = appendOrigin(rr.Mx, o)
- }
+ rr.Mx = name
+
return rr, nil, ""
}
func setRT(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(RT)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil {
return nil, &ParseError{f, "bad RT Preference", l}, ""
}
rr.Preference = uint16(i)
+
<-c // zBlank
l = <-c // zString
rr.Host = l.token
- if l.token == "@" {
- rr.Host = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad RT Host", l}, ""
}
- if rr.Host[l.length-1] != '.' {
- rr.Host = appendOrigin(rr.Host, o)
- }
+ rr.Host = name
+
return rr, nil, ""
}
@@ -503,28 +446,25 @@ func setAFSDB(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad AFSDB Subtype", l}, ""
}
rr.Subtype = uint16(i)
+
<-c // zBlank
l = <-c // zString
rr.Hostname = l.token
- if l.token == "@" {
- rr.Hostname = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad AFSDB Hostname", l}, ""
}
- if rr.Hostname[l.length-1] != '.' {
- rr.Hostname = appendOrigin(rr.Hostname, o)
- }
+ rr.Hostname = name
return rr, nil, ""
}
@@ -533,9 +473,10 @@ func setX25(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
if l.err {
return nil, &ParseError{f, "bad X25 PSDNAddress", l}, ""
}
@@ -548,28 +489,25 @@ func setKX(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad KX Pref", l}, ""
}
rr.Preference = uint16(i)
+
<-c // zBlank
l = <-c // zString
rr.Exchanger = l.token
- if l.token == "@" {
- rr.Exchanger = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad KX Exchanger", l}, ""
}
- if rr.Exchanger[l.length-1] != '.' {
- rr.Exchanger = appendOrigin(rr.Exchanger, o)
- }
+ rr.Exchanger = name
return rr, nil, ""
}
@@ -579,20 +517,15 @@ func setCNAME(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Target = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Target = o
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad CNAME Target", l}, ""
}
- if rr.Target[l.length-1] != '.' {
- rr.Target = appendOrigin(rr.Target, o)
- }
+ rr.Target = name
return rr, nil, ""
}
@@ -602,20 +535,15 @@ func setDNAME(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Target = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Target = o
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
- return nil, &ParseError{f, "bad CNAME Target", l}, ""
- }
- if rr.Target[l.length-1] != '.' {
- rr.Target = appendOrigin(rr.Target, o)
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
+ return nil, &ParseError{f, "bad DNAME Target", l}, ""
}
+ rr.Target = name
return rr, nil, ""
}
@@ -625,35 +553,26 @@ func setSOA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.Ns = l.token
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- <-c // zBlank
- if l.token == "@" {
- rr.Ns = o
- } else {
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
- return nil, &ParseError{f, "bad SOA Ns", l}, ""
- }
- if rr.Ns[l.length-1] != '.' {
- rr.Ns = appendOrigin(rr.Ns, o)
- }
+
+ ns, nsOk := toAbsoluteName(l.token, o)
+ if l.err || !nsOk {
+ return nil, &ParseError{f, "bad SOA Ns", l}, ""
}
+ rr.Ns = ns
+ <-c // zBlank
l = <-c
rr.Mbox = l.token
- if l.token == "@" {
- rr.Mbox = o
- } else {
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
- return nil, &ParseError{f, "bad SOA Mbox", l}, ""
- }
- if rr.Mbox[l.length-1] != '.' {
- rr.Mbox = appendOrigin(rr.Mbox, o)
- }
+
+ mbox, mboxOk := toAbsoluteName(l.token, o)
+ if l.err || !mboxOk {
+ return nil, &ParseError{f, "bad SOA Mbox", l}, ""
}
+ rr.Mbox = mbox
+
<-c // zBlank
var (
@@ -667,9 +586,10 @@ func setSOA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
}
if j, e := strconv.ParseUint(l.token, 10, 32); e != nil {
if i == 0 {
- // Serial should be a number
+ // Serial must be a number
return nil, &ParseError{f, "bad SOA zone parameter", l}, ""
}
+ // We allow other fields to be unitful duration strings
if v, ok = stringToTtl(l.token); !ok {
return nil, &ParseError{f, "bad SOA zone parameter", l}, ""
@@ -702,14 +622,16 @@ func setSRV(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad SRV Priority", l}, ""
}
rr.Priority = uint16(i)
+
<-c // zBlank
l = <-c // zString
i, e = strconv.ParseUint(l.token, 10, 16)
@@ -717,6 +639,7 @@ func setSRV(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
return nil, &ParseError{f, "bad SRV Weight", l}, ""
}
rr.Weight = uint16(i)
+
<-c // zBlank
l = <-c // zString
i, e = strconv.ParseUint(l.token, 10, 16)
@@ -724,20 +647,16 @@ func setSRV(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
return nil, &ParseError{f, "bad SRV Port", l}, ""
}
rr.Port = uint16(i)
+
<-c // zBlank
l = <-c // zString
rr.Target = l.token
- if l.token == "@" {
- rr.Target = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad SRV Target", l}, ""
}
- if rr.Target[l.length-1] != '.' {
- rr.Target = appendOrigin(rr.Target, o)
- }
+ rr.Target = name
return rr, nil, ""
}
@@ -746,14 +665,16 @@ func setNAPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad NAPTR Order", l}, ""
}
rr.Order = uint16(i)
+
<-c // zBlank
l = <-c // zString
i, e = strconv.ParseUint(l.token, 10, 16)
@@ -761,6 +682,7 @@ func setNAPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
return nil, &ParseError{f, "bad NAPTR Preference", l}, ""
}
rr.Preference = uint16(i)
+
// Flags
<-c // zBlank
l = <-c // _QUOTE
@@ -817,21 +739,17 @@ func setNAPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
} else {
return nil, &ParseError{f, "bad NAPTR Regexp", l}, ""
}
+
// After quote no space??
<-c // zBlank
l = <-c // zString
rr.Replacement = l.token
- if l.token == "@" {
- rr.Replacement = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad NAPTR Replacement", l}, ""
}
- if rr.Replacement[l.length-1] != '.' {
- rr.Replacement = appendOrigin(rr.Replacement, o)
- }
+ rr.Replacement = name
return rr, nil, ""
}
@@ -841,34 +759,26 @@ func setTALINK(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.PreviousName = l.token
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
- if l.token == "@" {
- rr.PreviousName = o
- } else {
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
- return nil, &ParseError{f, "bad TALINK PreviousName", l}, ""
- }
- if rr.PreviousName[l.length-1] != '.' {
- rr.PreviousName = appendOrigin(rr.PreviousName, o)
- }
+
+ previousName, previousNameOk := toAbsoluteName(l.token, o)
+ if l.err || !previousNameOk {
+ return nil, &ParseError{f, "bad TALINK PreviousName", l}, ""
}
+ rr.PreviousName = previousName
+
<-c // zBlank
l = <-c
rr.NextName = l.token
- if l.token == "@" {
- rr.NextName = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+
+ nextName, nextNameOk := toAbsoluteName(l.token, o)
+ if l.err || !nextNameOk {
return nil, &ParseError{f, "bad TALINK NextName", l}, ""
}
- if rr.NextName[l.length-1] != '.' {
- rr.NextName = appendOrigin(rr.NextName, o)
- }
+ rr.NextName = nextName
+
return rr, nil, ""
}
@@ -880,9 +790,10 @@ func setLOC(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.VertPre = 162 // 10
rr.Size = 18 // 1
ok := false
+
// North
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
i, e := strconv.ParseUint(l.token, 10, 32)
@@ -1013,14 +924,16 @@ func setHIP(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
// HitLength is not represented
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
i, e := strconv.ParseUint(l.token, 10, 8)
if e != nil || l.err {
return nil, &ParseError{f, "bad HIP PublicKeyAlgorithm", l}, ""
}
rr.PublicKeyAlgorithm = uint8(i)
+
<-c // zBlank
l = <-c // zString
if l.length == 0 || l.err {
@@ -1043,19 +956,11 @@ func setHIP(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
for l.value != zNewline && l.value != zEOF {
switch l.value {
case zString:
- if l.token == "@" {
- xs = append(xs, o)
- l = <-c
- continue
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad HIP RendezvousServers", l}, ""
}
- if l.token[l.length-1] != '.' {
- l.token = appendOrigin(l.token, o)
- }
- xs = append(xs, l.token)
+ xs = append(xs, name)
case zBlank:
// Ok
default:
@@ -1072,9 +977,10 @@ func setCERT(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
if v, ok := StringToCertType[l.token]; ok {
rr.Type = v
} else if i, e := strconv.ParseUint(l.token, 10, 16); e != nil {
@@ -1129,10 +1035,12 @@ func setSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(RRSIG)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
if t, ok := StringToType[l.tokenUpper]; !ok {
if strings.HasPrefix(l.tokenUpper, "TYPE") {
t, ok = typeToInt(l.tokenUpper)
@@ -1146,6 +1054,7 @@ func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
} else {
rr.TypeCovered = t
}
+
<-c // zBlank
l = <-c
i, err := strconv.ParseUint(l.token, 10, 8)
@@ -1153,6 +1062,7 @@ func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
return nil, &ParseError{f, "bad RRSIG Algorithm", l}, ""
}
rr.Algorithm = uint8(i)
+
<-c // zBlank
l = <-c
i, err = strconv.ParseUint(l.token, 10, 8)
@@ -1160,6 +1070,7 @@ func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
return nil, &ParseError{f, "bad RRSIG Labels", l}, ""
}
rr.Labels = uint8(i)
+
<-c // zBlank
l = <-c
i, err = strconv.ParseUint(l.token, 10, 32)
@@ -1167,6 +1078,7 @@ func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
return nil, &ParseError{f, "bad RRSIG OrigTtl", l}, ""
}
rr.OrigTtl = uint32(i)
+
<-c // zBlank
l = <-c
if i, err := StringToTime(l.token); err != nil {
@@ -1180,6 +1092,7 @@ func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
} else {
rr.Expiration = i
}
+
<-c // zBlank
l = <-c
if i, err := StringToTime(l.token); err != nil {
@@ -1191,6 +1104,7 @@ func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
} else {
rr.Inception = i
}
+
<-c // zBlank
l = <-c
i, err = strconv.ParseUint(l.token, 10, 16)
@@ -1198,25 +1112,22 @@ func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
return nil, &ParseError{f, "bad RRSIG KeyTag", l}, ""
}
rr.KeyTag = uint16(i)
+
<-c // zBlank
l = <-c
rr.SignerName = l.token
- if l.token == "@" {
- rr.SignerName = o
- } else {
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
- return nil, &ParseError{f, "bad RRSIG SignerName", l}, ""
- }
- if rr.SignerName[l.length-1] != '.' {
- rr.SignerName = appendOrigin(rr.SignerName, o)
- }
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
+ return nil, &ParseError{f, "bad RRSIG SignerName", l}, ""
}
+ rr.SignerName = name
+
s, e, c1 := endingToString(c, "bad RRSIG Signature", f)
if e != nil {
return nil, e, c1
}
rr.Signature = s
+
return rr, nil, c1
}
@@ -1226,20 +1137,15 @@ func setNSEC(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
l := <-c
rr.NextDomain = l.token
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
- if l.token == "@" {
- rr.NextDomain = o
- } else {
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
- return nil, &ParseError{f, "bad NSEC NextDomain", l}, ""
- }
- if rr.NextDomain[l.length-1] != '.' {
- rr.NextDomain = appendOrigin(rr.NextDomain, o)
- }
+
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
+ return nil, &ParseError{f, "bad NSEC NextDomain", l}, ""
}
+ rr.NextDomain = name
rr.TypeBitMap = make([]uint16, 0)
var (
@@ -1271,9 +1177,10 @@ func setNSEC3(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
i, e := strconv.ParseUint(l.token, 10, 8)
if e != nil || l.err {
return nil, &ParseError{f, "bad NSEC3 Hash", l}, ""
@@ -1339,9 +1246,10 @@ func setNSEC3PARAM(h RR_Header, c chan lex, o, f string) (RR, *ParseError, strin
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 8)
if e != nil || l.err {
return nil, &ParseError{f, "bad NSEC3PARAM Hash", l}, ""
@@ -1373,9 +1281,10 @@ func setEUI48(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
if l.length != 17 || l.err {
return nil, &ParseError{f, "bad EUI48 Address", l}, ""
}
@@ -1405,9 +1314,10 @@ func setEUI64(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
if l.length != 23 || l.err {
return nil, &ParseError{f, "bad EUI64 Address", l}, ""
}
@@ -1437,9 +1347,10 @@ func setSSHFP(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 8)
if e != nil || l.err {
return nil, &ParseError{f, "bad SSHFP Algorithm", l}, ""
@@ -1466,9 +1377,10 @@ func setDNSKEYs(h RR_Header, c chan lex, o, f, typ string) (RR, *ParseError, str
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad " + typ + " Flags", l}, ""
@@ -1522,9 +1434,10 @@ func setRKEY(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad RKEY Flags", l}, ""
@@ -1577,10 +1490,12 @@ func setNIMLOC(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setGPOS(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(GPOS)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
_, e := strconv.ParseFloat(l.token, 64)
if e != nil || l.err {
return nil, &ParseError{f, "bad GPOS Longitude", l}, ""
@@ -1606,10 +1521,12 @@ func setGPOS(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setDSs(h RR_Header, c chan lex, o, f, typ string) (RR, *ParseError, string) {
rr := new(DS)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad " + typ + " KeyTag", l}, ""
@@ -1665,10 +1582,12 @@ func setCDS(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setTA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(TA)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad TA KeyTag", l}, ""
@@ -1703,10 +1622,12 @@ func setTA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setTLSA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(TLSA)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
i, e := strconv.ParseUint(l.token, 10, 8)
if e != nil || l.err {
return nil, &ParseError{f, "bad TLSA Usage", l}, ""
@@ -1738,10 +1659,12 @@ func setTLSA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setSMIMEA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(SMIMEA)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
i, e := strconv.ParseUint(l.token, 10, 8)
if e != nil || l.err {
return nil, &ParseError{f, "bad SMIMEA Usage", l}, ""
@@ -1773,10 +1696,12 @@ func setSMIMEA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setRFC3597(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(RFC3597)
rr.Hdr = h
+
l := <-c
if l.token != "\\#" {
return nil, &ParseError{f, "bad RFC3597 Rdata", l}, ""
}
+
<-c // zBlank
l = <-c
rdlength, e := strconv.Atoi(l.token)
@@ -1850,7 +1775,7 @@ func setURI(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 { // Dynamic updates.
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
@@ -1897,9 +1822,10 @@ func setNID(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad NID Preference", l}, ""
@@ -1920,9 +1846,10 @@ func setL32(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad L32 Preference", l}, ""
@@ -1942,31 +1869,25 @@ func setLP(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad LP Preference", l}, ""
}
rr.Preference = uint16(i)
+
<-c // zBlank
l = <-c // zString
rr.Fqdn = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Fqdn = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+ name, nameOk := toAbsoluteName(l.token, o)
+ if l.err || !nameOk {
return nil, &ParseError{f, "bad LP Fqdn", l}, ""
}
- if rr.Fqdn[l.length-1] != '.' {
- rr.Fqdn = appendOrigin(rr.Fqdn, o)
- }
+ rr.Fqdn = name
+
return rr, nil, ""
}
@@ -1975,9 +1896,10 @@ func setL64(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad L64 Preference", l}, ""
@@ -1996,10 +1918,12 @@ func setL64(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setUID(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(UID)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 32)
if e != nil || l.err {
return nil, &ParseError{f, "bad UID Uid", l}, ""
@@ -2011,10 +1935,12 @@ func setUID(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setGID(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(GID)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 32)
if e != nil || l.err {
return nil, &ParseError{f, "bad GID Gid", l}, ""
@@ -2026,6 +1952,7 @@ func setGID(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
func setUINFO(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(UINFO)
rr.Hdr = h
+
s, e, c1 := endingToTxtSlice(c, "bad UINFO Uinfo", f)
if e != nil {
return nil, e, c1
@@ -2042,55 +1969,46 @@ func setPX(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr.Hdr = h
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, ""
}
+
i, e := strconv.ParseUint(l.token, 10, 16)
if e != nil || l.err {
return nil, &ParseError{f, "bad PX Preference", l}, ""
}
rr.Preference = uint16(i)
+
<-c // zBlank
l = <-c // zString
rr.Map822 = l.token
- if l.length == 0 {
- return rr, nil, ""
- }
- if l.token == "@" {
- rr.Map822 = o
- return rr, nil, ""
- }
- _, ok := IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+ map822, map822Ok := toAbsoluteName(l.token, o)
+ if l.err || !map822Ok {
return nil, &ParseError{f, "bad PX Map822", l}, ""
}
- if rr.Map822[l.length-1] != '.' {
- rr.Map822 = appendOrigin(rr.Map822, o)
- }
+ rr.Map822 = map822
+
<-c // zBlank
l = <-c // zString
rr.Mapx400 = l.token
- if l.token == "@" {
- rr.Mapx400 = o
- return rr, nil, ""
- }
- _, ok = IsDomainName(l.token)
- if !ok || l.length == 0 || l.err {
+ mapx400, mapx400Ok := toAbsoluteName(l.token, o)
+ if l.err || !mapx400Ok {
return nil, &ParseError{f, "bad PX Mapx400", l}, ""
}
- if rr.Mapx400[l.length-1] != '.' {
- rr.Mapx400 = appendOrigin(rr.Mapx400, o)
- }
+ rr.Mapx400 = mapx400
+
return rr, nil, ""
}
func setCAA(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
rr := new(CAA)
rr.Hdr = h
+
l := <-c
- if l.length == 0 {
+ if l.length == 0 { // dynamic update rr.
return rr, nil, l.comment
}
+
i, err := strconv.ParseUint(l.token, 10, 8)
if err != nil || l.err {
return nil, &ParseError{f, "bad CAA Flag", l}, ""
diff --git a/vendor/github.com/miekg/dns/scan_test.go b/vendor/github.com/miekg/dns/scan_test.go
index b31c4c779..e43ad4478 100644
--- a/vendor/github.com/miekg/dns/scan_test.go
+++ b/vendor/github.com/miekg/dns/scan_test.go
@@ -21,13 +21,16 @@ func TestParseZoneInclude(t *testing.T) {
t.Fatalf("could not close tmpfile %q: %s", tmpfile.Name(), err)
}
- zone := "$INCLUDE " + tmpfile.Name()
+ zone := "$ORIGIN example.org.\n$INCLUDE " + tmpfile.Name()
tok := ParseZone(strings.NewReader(zone), "", "")
for x := range tok {
if x.Error != nil {
t.Fatalf("expected no error, but got %s", x.Error)
}
+ if x.RR.Header().Name != "foo.example.org." {
+ t.Fatalf("expected %s, but got %s", "foo.example.org.", x.RR.Header().Name)
+ }
}
os.Remove(tmpfile.Name())
diff --git a/vendor/github.com/miekg/dns/server_test.go b/vendor/github.com/miekg/dns/server_test.go
index f17a2f90f..b74f2f1a8 100644
--- a/vendor/github.com/miekg/dns/server_test.go
+++ b/vendor/github.com/miekg/dns/server_test.go
@@ -30,6 +30,16 @@ func HelloServerBadID(w ResponseWriter, req *Msg) {
w.WriteMsg(m)
}
+func HelloServerEchoAddrPort(w ResponseWriter, req *Msg) {
+ m := new(Msg)
+ m.SetReply(req)
+
+ remoteAddr := w.RemoteAddr().String()
+ m.Extra = make([]RR, 1)
+ m.Extra[0] = &TXT{Hdr: RR_Header{Name: m.Question[0].Name, Rrtype: TypeTXT, Class: ClassINET, Ttl: 0}, Txt: []string{remoteAddr}}
+ w.WriteMsg(m)
+}
+
func AnotherHelloServer(w ResponseWriter, req *Msg) {
m := new(Msg)
m.SetReply(req)
diff --git a/vendor/github.com/miekg/dns/udp.go b/vendor/github.com/miekg/dns/udp.go
index af111b9a8..12a209678 100644
--- a/vendor/github.com/miekg/dns/udp.go
+++ b/vendor/github.com/miekg/dns/udp.go
@@ -27,8 +27,19 @@ func ReadFromSessionUDP(conn *net.UDPConn, b []byte) (int, *SessionUDP, error) {
return n, &SessionUDP{raddr, oob[:oobn]}, err
}
-// WriteToSessionUDP acts just like net.UDPConn.WritetTo(), but uses a *SessionUDP instead of a net.Addr.
+// WriteToSessionUDP acts just like net.UDPConn.WriteTo(), but uses a *SessionUDP instead of a net.Addr.
func WriteToSessionUDP(conn *net.UDPConn, b []byte, session *SessionUDP) (int, error) {
- n, _, err := conn.WriteMsgUDP(b, session.context, session.raddr)
+ oob := correctSource(session.context)
+ n, _, err := conn.WriteMsgUDP(b, oob, session.raddr)
return n, err
}
+
+// correctSource takes oob data and returns new oob data with the Src equal to the Dst
+func correctSource(oob []byte) []byte {
+ dst, err := parseUDPSocketDst(oob)
+ // If the destination could not be determined, ignore.
+ if err != nil || dst == nil {
+ return nil
+ }
+ return marshalUDPSocketSrc(dst)
+}
diff --git a/vendor/github.com/miekg/dns/udp_linux.go b/vendor/github.com/miekg/dns/udp_linux.go
index 033df4239..13747ed34 100644
--- a/vendor/github.com/miekg/dns/udp_linux.go
+++ b/vendor/github.com/miekg/dns/udp_linux.go
@@ -13,8 +13,34 @@ package dns
import (
"net"
"syscall"
+ "unsafe"
+
+ "github.com/miekg/dns/internal/socket"
+)
+
+const (
+ sizeofInet6Pktinfo = 0x14
+ sizeofInetPktinfo = 0xc
+ protocolIP = 0
+ protocolIPv6 = 41
)
+type inetPktinfo struct {
+ Ifindex int32
+ Spec_dst [4]byte /* in_addr */
+ Addr [4]byte /* in_addr */
+}
+
+type inet6Pktinfo struct {
+ Addr [16]byte /* in6_addr */
+ Ifindex int32
+}
+
+type inetControlMessage struct {
+ Src net.IP // source address, specifying only
+ Dst net.IP // destination address, receiving only
+}
+
// setUDPSocketOptions sets the UDP socket options.
// This function is implemented on a per platform basis. See udp_*.go for more details
func setUDPSocketOptions(conn *net.UDPConn) error {
@@ -103,3 +129,92 @@ func getUDPSocketName(conn *net.UDPConn) (syscall.Sockaddr, error) {
defer file.Close()
return syscall.Getsockname(int(file.Fd()))
}
+
+// marshalInetPacketInfo marshals a ipv4 control message, returning
+// the byte slice for the next marshal, if any
+func marshalInetPacketInfo(b []byte, cm *inetControlMessage) []byte {
+ m := socket.ControlMessage(b)
+ m.MarshalHeader(protocolIP, syscall.IP_PKTINFO, sizeofInetPktinfo)
+ if cm != nil {
+ pi := (*inetPktinfo)(unsafe.Pointer(&m.Data(sizeofInetPktinfo)[0]))
+ if ip := cm.Src.To4(); ip != nil {
+ copy(pi.Spec_dst[:], ip)
+ }
+ }
+ return m.Next(sizeofInetPktinfo)
+}
+
+// marshalInet6PacketInfo marshals a ipv6 control message, returning
+// the byte slice for the next marshal, if any
+func marshalInet6PacketInfo(b []byte, cm *inetControlMessage) []byte {
+ m := socket.ControlMessage(b)
+ m.MarshalHeader(protocolIPv6, syscall.IPV6_PKTINFO, sizeofInet6Pktinfo)
+ if cm != nil {
+ pi := (*inet6Pktinfo)(unsafe.Pointer(&m.Data(sizeofInet6Pktinfo)[0]))
+ if ip := cm.Src.To16(); ip != nil && ip.To4() == nil {
+ copy(pi.Addr[:], ip)
+ }
+ }
+ return m.Next(sizeofInet6Pktinfo)
+}
+
+func parseInetPacketInfo(cm *inetControlMessage, b []byte) {
+ pi := (*inetPktinfo)(unsafe.Pointer(&b[0]))
+ if len(cm.Dst) < net.IPv4len {
+ cm.Dst = make(net.IP, net.IPv4len)
+ }
+ copy(cm.Dst, pi.Addr[:])
+}
+
+func parseInet6PacketInfo(cm *inetControlMessage, b []byte) {
+ pi := (*inet6Pktinfo)(unsafe.Pointer(&b[0]))
+ if len(cm.Dst) < net.IPv6len {
+ cm.Dst = make(net.IP, net.IPv6len)
+ }
+ copy(cm.Dst, pi.Addr[:])
+}
+
+// parseUDPSocketDst takes out-of-band data from ReadMsgUDP and parses it for
+// the Dst address
+func parseUDPSocketDst(oob []byte) (net.IP, error) {
+ cm := new(inetControlMessage)
+ ms, err := socket.ControlMessage(oob).Parse()
+ if err != nil {
+ return nil, err
+ }
+ for _, m := range ms {
+ lvl, typ, l, err := m.ParseHeader()
+ if err != nil {
+ return nil, err
+ }
+ if lvl == protocolIPv6 { // IPv6
+ if typ == syscall.IPV6_PKTINFO && l >= sizeofInet6Pktinfo {
+ parseInet6PacketInfo(cm, m.Data(l))
+ }
+ } else if lvl == protocolIP { // IPv4
+ if typ == syscall.IP_PKTINFO && l >= sizeofInetPktinfo {
+ parseInetPacketInfo(cm, m.Data(l))
+ }
+ }
+ }
+ return cm.Dst, nil
+}
+
+// marshalUDPSocketSrc takes the given src address and returns out-of-band data
+// to give to WriteMsgUDP
+func marshalUDPSocketSrc(src net.IP) []byte {
+ var oob []byte
+ // If the dst is definitely an ipv6, then use ipv6 control to respond
+ // otherwise use ipv4 because the ipv6 marshal ignores ipv4 messages.
+ // See marshalInet6PacketInfo
+ cm := new(inetControlMessage)
+ cm.Src = src
+ if src.To4() == nil {
+ oob = make([]byte, socket.ControlMessageSpace(sizeofInet6Pktinfo))
+ marshalInet6PacketInfo(oob, cm)
+ } else {
+ oob = make([]byte, socket.ControlMessageSpace(sizeofInetPktinfo))
+ marshalInetPacketInfo(oob, cm)
+ }
+ return oob
+}
diff --git a/vendor/github.com/miekg/dns/udp_linux_test.go b/vendor/github.com/miekg/dns/udp_linux_test.go
new file mode 100644
index 000000000..14a8acefd
--- /dev/null
+++ b/vendor/github.com/miekg/dns/udp_linux_test.go
@@ -0,0 +1,68 @@
+// +build linux,!appengine
+
+package dns
+
+import (
+ "bytes"
+ "net"
+ "testing"
+)
+
+func TestParseUDPSocketDst(t *testing.T) {
+ // dst is :ffff:100.100.100.100
+ oob := []byte{36, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 100, 100, 100, 100, 2, 0, 0, 0}
+ dst, err := parseUDPSocketDst(oob)
+ if err != nil {
+ t.Fatalf("error parsing ipv6 oob: %v", err)
+ }
+ dst4 := dst.To4()
+ if dst4 == nil {
+ t.Errorf("failed to parse ipv4: %v", dst)
+ } else if dst4.String() != "100.100.100.100" {
+ t.Errorf("unexpected ipv4: %v", dst4)
+ }
+
+ // dst is 2001:db8::1
+ oob = []byte{36, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 0, 32, 1, 13, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0}
+ dst, err = parseUDPSocketDst(oob)
+ if err != nil {
+ t.Fatalf("error parsing ipv6 oob: %v", err)
+ }
+ dst6 := dst.To16()
+ if dst6 == nil {
+ t.Errorf("failed to parse ipv6: %v", dst)
+ } else if dst6.String() != "2001:db8::1" {
+ t.Errorf("unexpected ipv6: %v", dst4)
+ }
+
+ // dst is 100.100.100.100 but was received on 10.10.10.10
+ oob = []byte{28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 10, 10, 10, 10, 100, 100, 100, 100, 0, 0, 0, 0}
+ dst, err = parseUDPSocketDst(oob)
+ if err != nil {
+ t.Fatalf("error parsing ipv4 oob: %v", err)
+ }
+ dst4 = dst.To4()
+ if dst4 == nil {
+ t.Errorf("failed to parse ipv4: %v", dst)
+ } else if dst4.String() != "100.100.100.100" {
+ t.Errorf("unexpected ipv4: %v", dst4)
+ }
+}
+
+func TestMarshalUDPSocketSrc(t *testing.T) {
+ // src is 100.100.100.100
+ exoob := []byte{28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 100, 100, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0}
+ oob := marshalUDPSocketSrc(net.ParseIP("100.100.100.100"))
+ if !bytes.Equal(exoob, oob) {
+ t.Errorf("expected ipv4 oob:\n%v", exoob)
+ t.Errorf("actual ipv4 oob:\n%v", oob)
+ }
+
+ // src is 2001:db8::1
+ exoob = []byte{36, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 50, 0, 0, 0, 32, 1, 13, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}
+ oob = marshalUDPSocketSrc(net.ParseIP("2001:db8::1"))
+ if !bytes.Equal(exoob, oob) {
+ t.Errorf("expected ipv6 oob:\n%v", exoob)
+ t.Errorf("actual ipv6 oob:\n%v", oob)
+ }
+}
diff --git a/vendor/github.com/miekg/dns/udp_other.go b/vendor/github.com/miekg/dns/udp_other.go
index 488a282b2..531f4ebcc 100644
--- a/vendor/github.com/miekg/dns/udp_other.go
+++ b/vendor/github.com/miekg/dns/udp_other.go
@@ -9,7 +9,9 @@ import (
// These do nothing. See udp_linux.go for an example of how to implement this.
// We tried to adhire to some kind of naming scheme.
-func setUDPSocketOptions(conn *net.UDPConn) error { return nil }
-func setUDPSocketOptions4(conn *net.UDPConn) error { return nil }
-func setUDPSocketOptions6(conn *net.UDPConn) error { return nil }
-func getUDPSocketOptions6Only(conn *net.UDPConn) (bool, error) { return false, nil }
+func setUDPSocketOptions(conn *net.UDPConn) error { return nil }
+func setUDPSocketOptions4(conn *net.UDPConn) error { return nil }
+func setUDPSocketOptions6(conn *net.UDPConn) error { return nil }
+func getUDPSocketOptions6Only(conn *net.UDPConn) (bool, error) { return false, nil }
+func parseUDPSocketDst(oob []byte) (net.IP, error) { return nil, nil }
+func marshalUDPSocketSrc(src net.IP) []byte { return nil }
diff --git a/vendor/github.com/miekg/dns/udp_windows.go b/vendor/github.com/miekg/dns/udp_windows.go
index 51e532ac2..2ad4ede7f 100644
--- a/vendor/github.com/miekg/dns/udp_windows.go
+++ b/vendor/github.com/miekg/dns/udp_windows.go
@@ -4,10 +4,12 @@ package dns
import "net"
+// SessionUDP holds the remote address
type SessionUDP struct {
raddr *net.UDPAddr
}
+// RemoteAddr returns the remote network address.
func (s *SessionUDP) RemoteAddr() net.Addr { return s.raddr }
// ReadFromSessionUDP acts just like net.UDPConn.ReadFrom(), but returns a session object instead of a
@@ -21,9 +23,8 @@ func ReadFromSessionUDP(conn *net.UDPConn, b []byte) (int, *SessionUDP, error) {
return n, session, err
}
-// WriteToSessionUDP acts just like net.UDPConn.WritetTo(), but uses a *SessionUDP instead of a net.Addr.
+// WriteToSessionUDP acts just like net.UDPConn.WriteTo(), but uses a *SessionUDP instead of a net.Addr.
func WriteToSessionUDP(conn *net.UDPConn, b []byte, session *SessionUDP) (int, error) {
n, err := conn.WriteTo(b, session.raddr)
return n, err
}
-
diff --git a/vendor/github.com/minio/minio-go/.travis.yml b/vendor/github.com/minio/minio-go/.travis.yml
index 9805f7ec8..3d260fa61 100644
--- a/vendor/github.com/minio/minio-go/.travis.yml
+++ b/vendor/github.com/minio/minio-go/.travis.yml
@@ -18,6 +18,7 @@ script:
- diff -au <(gofmt -d .) <(printf "")
- go get -u github.com/cheggaaa/pb/...
- go get -u github.com/sirupsen/logrus/...
+- go get -u github.com/dustin/go-humanize/...
- go vet ./...
- SERVER_ENDPOINT=play.minio.io:9000 ACCESS_KEY=Q3AM3UQ867SPQQA43P2F SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG ENABLE_HTTPS=1 go test -race -v ./...
- SERVER_ENDPOINT=play.minio.io:9000 ACCESS_KEY=Q3AM3UQ867SPQQA43P2F SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG ENABLE_HTTPS=1 go run functional_tests.go
diff --git a/vendor/github.com/minio/minio-go/MAINTAINERS.md b/vendor/github.com/minio/minio-go/MAINTAINERS.md
index 6dbef6265..e2a957137 100644
--- a/vendor/github.com/minio/minio-go/MAINTAINERS.md
+++ b/vendor/github.com/minio/minio-go/MAINTAINERS.md
@@ -5,7 +5,6 @@
Please go through this link [Maintainer Responsibility](https://gist.github.com/abperiasamy/f4d9b31d3186bbd26522)
### Making new releases
-
Edit `libraryVersion` constant in `api.go`.
```
@@ -13,7 +12,23 @@ $ grep libraryVersion api.go
libraryVersion = "0.3.0"
```
+Commit your changes
+```
+$ git commit -a -m "Bump to new release 0.3.0" --author "Minio Trusted <trusted@minio.io>"
+```
+
+Tag and sign your release commit, additionally this step requires you to have access to Minio's trusted private key.
```
-$ git tag 0.3.0
+$ export GNUPGHOME=/path/to/trusted/key
+$ git tag -s 0.3.0
+$ git push
$ git push --tags
-``` \ No newline at end of file
+```
+
+### Announce
+Announce new release by adding release notes at https://github.com/minio/minio-go/releases from `trusted@minio.io` account. Release notes requires two sections `highlights` and `changelog`. Highlights is a bulleted list of salient features in this release and Changelog contains list of all commits since the last release.
+
+To generate `changelog`
+```sh
+git log --no-color --pretty=format:'-%d %s (%cr) <%an>' <latest_release_tag>..<last_release_tag>
+```
diff --git a/vendor/github.com/minio/minio-go/README.md b/vendor/github.com/minio/minio-go/README.md
index 8f3c69668..5eb6656d5 100644
--- a/vendor/github.com/minio/minio-go/README.md
+++ b/vendor/github.com/minio/minio-go/README.md
@@ -130,7 +130,6 @@ The full API Reference is available here.
* [Complete API Reference](https://docs.minio.io/docs/golang-client-api-reference)
### API Reference : Bucket Operations
-
* [`MakeBucket`](https://docs.minio.io/docs/golang-client-api-reference#MakeBucket)
* [`ListBuckets`](https://docs.minio.io/docs/golang-client-api-reference#ListBuckets)
* [`BucketExists`](https://docs.minio.io/docs/golang-client-api-reference#BucketExists)
@@ -140,25 +139,21 @@ The full API Reference is available here.
* [`ListIncompleteUploads`](https://docs.minio.io/docs/golang-client-api-reference#ListIncompleteUploads)
### API Reference : Bucket policy Operations
-
* [`SetBucketPolicy`](https://docs.minio.io/docs/golang-client-api-reference#SetBucketPolicy)
* [`GetBucketPolicy`](https://docs.minio.io/docs/golang-client-api-reference#GetBucketPolicy)
* [`ListBucketPolicies`](https://docs.minio.io/docs/golang-client-api-reference#ListBucketPolicies)
### API Reference : Bucket notification Operations
-
* [`SetBucketNotification`](https://docs.minio.io/docs/golang-client-api-reference#SetBucketNotification)
* [`GetBucketNotification`](https://docs.minio.io/docs/golang-client-api-reference#GetBucketNotification)
* [`RemoveAllBucketNotification`](https://docs.minio.io/docs/golang-client-api-reference#RemoveAllBucketNotification)
* [`ListenBucketNotification`](https://docs.minio.io/docs/golang-client-api-reference#ListenBucketNotification) (Minio Extension)
### API Reference : File Object Operations
-
* [`FPutObject`](https://docs.minio.io/docs/golang-client-api-reference#FPutObject)
* [`FGetObject`](https://docs.minio.io/docs/golang-client-api-reference#FPutObject)
### API Reference : Object Operations
-
* [`GetObject`](https://docs.minio.io/docs/golang-client-api-reference#GetObject)
* [`PutObject`](https://docs.minio.io/docs/golang-client-api-reference#PutObject)
* [`PutObjectStreaming`](https://docs.minio.io/docs/golang-client-api-reference#PutObjectStreaming)
@@ -169,14 +164,13 @@ The full API Reference is available here.
* [`RemoveIncompleteUpload`](https://docs.minio.io/docs/golang-client-api-reference#RemoveIncompleteUpload)
### API Reference: Encrypted Object Operations
-
* [`GetEncryptedObject`](https://docs.minio.io/docs/golang-client-api-reference#GetEncryptedObject)
* [`PutEncryptedObject`](https://docs.minio.io/docs/golang-client-api-reference#PutEncryptedObject)
### API Reference : Presigned Operations
-
* [`PresignedGetObject`](https://docs.minio.io/docs/golang-client-api-reference#PresignedGetObject)
* [`PresignedPutObject`](https://docs.minio.io/docs/golang-client-api-reference#PresignedPutObject)
+* [`PresignedHeadObject`](https://docs.minio.io/docs/golang-client-api-reference#PresignedHeadObject)
* [`PresignedPostPolicy`](https://docs.minio.io/docs/golang-client-api-reference#PresignedPostPolicy)
### API Reference : Client custom settings
@@ -185,11 +179,9 @@ The full API Reference is available here.
* [`TraceOn`](http://docs.minio.io/docs/golang-client-api-reference#TraceOn)
* [`TraceOff`](http://docs.minio.io/docs/golang-client-api-reference#TraceOff)
-
## Full Examples
-#### Full Examples : Bucket Operations
-
+### Full Examples : Bucket Operations
* [makebucket.go](https://github.com/minio/minio-go/blob/master/examples/s3/makebucket.go)
* [listbuckets.go](https://github.com/minio/minio-go/blob/master/examples/s3/listbuckets.go)
* [bucketexists.go](https://github.com/minio/minio-go/blob/master/examples/s3/bucketexists.go)
@@ -198,26 +190,22 @@ The full API Reference is available here.
* [listobjectsV2.go](https://github.com/minio/minio-go/blob/master/examples/s3/listobjectsV2.go)
* [listincompleteuploads.go](https://github.com/minio/minio-go/blob/master/examples/s3/listincompleteuploads.go)
-#### Full Examples : Bucket policy Operations
-
+### Full Examples : Bucket policy Operations
* [setbucketpolicy.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketpolicy.go)
* [getbucketpolicy.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketpolicy.go)
* [listbucketpolicies.go](https://github.com/minio/minio-go/blob/master/examples/s3/listbucketpolicies.go)
-#### Full Examples : Bucket notification Operations
-
+### Full Examples : Bucket notification Operations
* [setbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketnotification.go)
* [getbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketnotification.go)
* [removeallbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/s3/removeallbucketnotification.go)
* [listenbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/minio/listenbucketnotification.go) (Minio Extension)
-#### Full Examples : File Object Operations
-
+### Full Examples : File Object Operations
* [fputobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/fputobject.go)
* [fgetobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/fgetobject.go)
-#### Full Examples : Object Operations
-
+### Full Examples : Object Operations
* [putobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/putobject.go)
* [getobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/getobject.go)
* [statobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/statobject.go)
@@ -226,14 +214,14 @@ The full API Reference is available here.
* [removeincompleteupload.go](https://github.com/minio/minio-go/blob/master/examples/s3/removeincompleteupload.go)
* [removeobjects.go](https://github.com/minio/minio-go/blob/master/examples/s3/removeobjects.go)
-#### Full Examples : Encrypted Object Operations
-
+### Full Examples : Encrypted Object Operations
* [put-encrypted-object.go](https://github.com/minio/minio-go/blob/master/examples/s3/put-encrypted-object.go)
* [get-encrypted-object.go](https://github.com/minio/minio-go/blob/master/examples/s3/get-encrypted-object.go)
-#### Full Examples : Presigned Operations
+### Full Examples : Presigned Operations
* [presignedgetobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedgetobject.go)
* [presignedputobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedputobject.go)
+* [presignedheadobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedheadobject.go)
* [presignedpostpolicy.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedpostpolicy.go)
## Explore Further
@@ -242,7 +230,6 @@ The full API Reference is available here.
* [Go Music Player App Full Application Example](https://docs.minio.io/docs/go-music-player-app)
## Contribute
-
[Contributors Guide](https://github.com/minio/minio-go/blob/master/CONTRIBUTING.md)
[![Build Status](https://travis-ci.org/minio/minio-go.svg)](https://travis-ci.org/minio/minio-go)
diff --git a/vendor/github.com/minio/minio-go/api-presigned.go b/vendor/github.com/minio/minio-go/api-presigned.go
index 8cfcb55fb..c645828df 100644
--- a/vendor/github.com/minio/minio-go/api-presigned.go
+++ b/vendor/github.com/minio/minio-go/api-presigned.go
@@ -84,19 +84,35 @@ func (c Client) presignURL(method string, bucketName string, objectName string,
}
// PresignedGetObject - Returns a presigned URL to access an object
-// without credentials. Expires maximum is 7days - ie. 604800 and
-// minimum is 1. Additionally you can override a set of response
-// headers using the query parameters.
+// data without credentials. URL can have a maximum expiry of
+// upto 7days or a minimum of 1sec. Additionally you can override
+// a set of response headers using the query parameters.
func (c Client) PresignedGetObject(bucketName string, objectName string, expires time.Duration, reqParams url.Values) (u *url.URL, err error) {
return c.presignURL("GET", bucketName, objectName, expires, reqParams)
}
-// PresignedPutObject - Returns a presigned URL to upload an object without credentials.
-// Expires maximum is 7days - ie. 604800 and minimum is 1.
+// PresignedHeadObject - Returns a presigned URL to access object
+// metadata without credentials. URL can have a maximum expiry of
+// upto 7days or a minimum of 1sec. Additionally you can override
+// a set of response headers using the query parameters.
+func (c Client) PresignedHeadObject(bucketName string, objectName string, expires time.Duration, reqParams url.Values) (u *url.URL, err error) {
+ return c.presignURL("HEAD", bucketName, objectName, expires, reqParams)
+}
+
+// PresignedPutObject - Returns a presigned URL to upload an object
+// without credentials. URL can have a maximum expiry of upto 7days
+// or a minimum of 1sec.
func (c Client) PresignedPutObject(bucketName string, objectName string, expires time.Duration) (u *url.URL, err error) {
return c.presignURL("PUT", bucketName, objectName, expires, nil)
}
+// Presign - returns a presigned URL for any http method of your choice
+// along with custom request params. URL can have a maximum expiry of
+// upto 7days or a minimum of 1sec.
+func (c Client) Presign(method string, bucketName string, objectName string, expires time.Duration, reqParams url.Values) (u *url.URL, err error) {
+ return c.presignURL(method, bucketName, objectName, expires, reqParams)
+}
+
// PresignedPostPolicy - Returns POST urlString, form data to upload an object.
func (c Client) PresignedPostPolicy(p *PostPolicy) (u *url.URL, formData map[string]string, err error) {
// Validate input arguments.
diff --git a/vendor/github.com/minio/minio-go/api-put-object-multipart.go b/vendor/github.com/minio/minio-go/api-put-object-multipart.go
index 6e0015acc..aefeb5f26 100644
--- a/vendor/github.com/minio/minio-go/api-put-object-multipart.go
+++ b/vendor/github.com/minio/minio-go/api-put-object-multipart.go
@@ -24,10 +24,10 @@ import (
"io/ioutil"
"net/http"
"net/url"
+ "runtime/debug"
"sort"
"strconv"
"strings"
- "sync"
"github.com/minio/minio-go/pkg/s3utils"
)
@@ -51,16 +51,6 @@ func (c Client) putObjectMultipart(bucketName, objectName string, reader io.Read
return n, err
}
-// Pool to manage re-usable memory for upload objects
-// with streams with unknown size.
-var bufPool = sync.Pool{
- New: func() interface{} {
- _, partSize, _, _ := optimalPartInfo(-1)
- b := make([]byte, partSize)
- return &b
- },
-}
-
func (c Client) putObjectMultipartNoStream(bucketName, objectName string, reader io.Reader, metadata map[string][]string, progress io.Reader) (n int64, err error) {
// Input validation.
if err = s3utils.CheckValidBucketName(bucketName); err != nil {
@@ -78,7 +68,7 @@ func (c Client) putObjectMultipartNoStream(bucketName, objectName string, reader
var complMultipartUpload completeMultipartUpload
// Calculate the optimal parts info for a given size.
- totalPartsCount, _, _, err := optimalPartInfo(-1)
+ totalPartsCount, partSize, _, err := optimalPartInfo(-1)
if err != nil {
return 0, err
}
@@ -101,38 +91,39 @@ func (c Client) putObjectMultipartNoStream(bucketName, objectName string, reader
// Initialize parts uploaded map.
partsInfo := make(map[int]ObjectPart)
+ // Create a buffer.
+ buf := make([]byte, partSize)
+ defer debug.FreeOSMemory()
+
for partNumber <= totalPartsCount {
// Choose hash algorithms to be calculated by hashCopyN,
// avoid sha256 with non-v4 signature request or
// HTTPS connection.
hashAlgos, hashSums := c.hashMaterials()
- bufp := bufPool.Get().(*[]byte)
- length, rErr := io.ReadFull(reader, *bufp)
+ length, rErr := io.ReadFull(reader, buf)
if rErr == io.EOF {
break
}
if rErr != nil && rErr != io.ErrUnexpectedEOF {
- bufPool.Put(bufp)
return 0, rErr
}
// Calculates hash sums while copying partSize bytes into cw.
for k, v := range hashAlgos {
- v.Write((*bufp)[:length])
+ v.Write(buf[:length])
hashSums[k] = v.Sum(nil)
}
// Update progress reader appropriately to the latest offset
// as we read from the source.
- rd := newHook(bytes.NewReader((*bufp)[:length]), progress)
+ rd := newHook(bytes.NewReader(buf[:length]), progress)
// Proceed to upload the part.
var objPart ObjectPart
objPart, err = c.uploadPart(bucketName, objectName, uploadID, rd, partNumber,
hashSums["md5"], hashSums["sha256"], int64(length), metadata)
if err != nil {
- bufPool.Put(bufp)
return totalUploadedSize, err
}
@@ -145,9 +136,6 @@ func (c Client) putObjectMultipartNoStream(bucketName, objectName string, reader
// Increment part number.
partNumber++
- // Put back data into bufpool.
- bufPool.Put(bufp)
-
// For unknown size, Read EOF we break away.
// We do not have to upload till totalPartsCount.
if rErr == io.EOF {
diff --git a/vendor/github.com/minio/minio-go/api-put-object-streaming.go b/vendor/github.com/minio/minio-go/api-put-object-streaming.go
index 0d4639e83..40cd5c252 100644
--- a/vendor/github.com/minio/minio-go/api-put-object-streaming.go
+++ b/vendor/github.com/minio/minio-go/api-put-object-streaming.go
@@ -153,7 +153,7 @@ func (c Client) putObjectMultipartStreamFromReadAt(bucketName, objectName string
// Receive each part number from the channel allowing three parallel uploads.
for w := 1; w <= totalWorkers; w++ {
- go func() {
+ go func(partSize int64) {
// Each worker will draw from the part channel and upload in parallel.
for uploadReq := range uploadPartsCh {
@@ -197,7 +197,7 @@ func (c Client) putObjectMultipartStreamFromReadAt(bucketName, objectName string
Error: nil,
}
}
- }()
+ }(partSize)
}
// Gather the responses as they occur and update any
diff --git a/vendor/github.com/minio/minio-go/api-put-object.go b/vendor/github.com/minio/minio-go/api-put-object.go
index f4107132e..94db82593 100644
--- a/vendor/github.com/minio/minio-go/api-put-object.go
+++ b/vendor/github.com/minio/minio-go/api-put-object.go
@@ -23,6 +23,7 @@ import (
"os"
"reflect"
"runtime"
+ "runtime/debug"
"sort"
"strings"
@@ -233,7 +234,7 @@ func (c Client) putObjectMultipartStreamNoLength(bucketName, objectName string,
var complMultipartUpload completeMultipartUpload
// Calculate the optimal parts info for a given size.
- totalPartsCount, _, _, err := optimalPartInfo(-1)
+ totalPartsCount, partSize, _, err := optimalPartInfo(-1)
if err != nil {
return 0, err
}
@@ -256,27 +257,28 @@ func (c Client) putObjectMultipartStreamNoLength(bucketName, objectName string,
// Initialize parts uploaded map.
partsInfo := make(map[int]ObjectPart)
+ // Create a buffer.
+ buf := make([]byte, partSize)
+ defer debug.FreeOSMemory()
+
for partNumber <= totalPartsCount {
- bufp := bufPool.Get().(*[]byte)
- length, rErr := io.ReadFull(reader, *bufp)
+ length, rErr := io.ReadFull(reader, buf)
if rErr == io.EOF {
break
}
if rErr != nil && rErr != io.ErrUnexpectedEOF {
- bufPool.Put(bufp)
return 0, rErr
}
// Update progress reader appropriately to the latest offset
// as we read from the source.
- rd := newHook(bytes.NewReader((*bufp)[:length]), progress)
+ rd := newHook(bytes.NewReader(buf[:length]), progress)
// Proceed to upload the part.
var objPart ObjectPart
objPart, err = c.uploadPart(bucketName, objectName, uploadID, rd, partNumber,
nil, nil, int64(length), metadata)
if err != nil {
- bufPool.Put(bufp)
return totalUploadedSize, err
}
@@ -289,9 +291,6 @@ func (c Client) putObjectMultipartStreamNoLength(bucketName, objectName string,
// Increment part number.
partNumber++
- // Put back data into bufpool.
- bufPool.Put(bufp)
-
// For unknown size, Read EOF we break away.
// We do not have to upload till totalPartsCount.
if rErr == io.EOF {
diff --git a/vendor/github.com/minio/minio-go/api.go b/vendor/github.com/minio/minio-go/api.go
index 811f89a3f..946a58869 100644
--- a/vendor/github.com/minio/minio-go/api.go
+++ b/vendor/github.com/minio/minio-go/api.go
@@ -87,7 +87,7 @@ type Client struct {
// Global constants.
const (
libraryName = "minio-go"
- libraryVersion = "3.0.0"
+ libraryVersion = "3.0.3"
)
// User Agent should always following the below style.
@@ -190,6 +190,31 @@ func redirectHeaders(req *http.Request, via []*http.Request) error {
return nil
}
+// getRegionFromURL - parse region from URL if present.
+func getRegionFromURL(u url.URL) (region string) {
+ region = ""
+ if s3utils.IsGoogleEndpoint(u) {
+ return
+ } else if s3utils.IsAmazonChinaEndpoint(u) {
+ // For china specifically we need to set everything to
+ // cn-north-1 for now, there is no easier way until AWS S3
+ // provides a cleaner compatible API across "us-east-1" and
+ // China region.
+ return "cn-north-1"
+ } else if s3utils.IsAmazonGovCloudEndpoint(u) {
+ // For us-gov specifically we need to set everything to
+ // us-gov-west-1 for now, there is no easier way until AWS S3
+ // provides a cleaner compatible API across "us-east-1" and
+ // Gov cloud region.
+ return "us-gov-west-1"
+ }
+ parts := s3utils.AmazonS3Host.FindStringSubmatch(u.Host)
+ if len(parts) > 1 {
+ region = parts[1]
+ }
+ return region
+}
+
func privateNew(endpoint string, creds *credentials.Credentials, secure bool, region string) (*Client, error) {
// construct endpoint.
endpointURL, err := getEndpointURL(endpoint, secure)
@@ -216,6 +241,9 @@ func privateNew(endpoint string, creds *credentials.Credentials, secure bool, re
}
// Sets custom region, if region is empty bucket location cache is used automatically.
+ if region == "" {
+ region = getRegionFromURL(clnt.endpointURL)
+ }
clnt.region = region
// Instantiate bucket location cache.
@@ -494,7 +522,7 @@ func (c Client) executeMethod(method string, metadata requestMetadata) (res *htt
// Blank indentifier is kept here on purpose since 'range' without
// blank identifiers is only supported since go1.4
// https://golang.org/doc/go1.4#forrange.
- for _ = range c.newRetryTimer(MaxRetry, DefaultRetryUnit, DefaultRetryCap, MaxJitter, doneCh) {
+ for range c.newRetryTimer(MaxRetry, DefaultRetryUnit, DefaultRetryCap, MaxJitter, doneCh) {
// Retry executes the following function body if request has an
// error until maxRetries have been exhausted, retry attempts are
// performed after waiting for a given period of time in a
@@ -562,9 +590,14 @@ func (c Client) executeMethod(method string, metadata requestMetadata) (res *htt
// Additionally we should only retry if bucketLocation and custom
// region is empty.
if metadata.bucketLocation == "" && c.region == "" {
- if res.StatusCode == http.StatusBadRequest && errResponse.Region != "" {
- c.bucketLocCache.Set(metadata.bucketName, errResponse.Region)
- continue // Retry.
+ if errResponse.Code == "AuthorizationHeaderMalformed" || errResponse.Code == "InvalidRegion" {
+ if metadata.bucketName != "" && errResponse.Region != "" {
+ // Gather Cached location only if bucketName is present.
+ if _, cachedLocationError := c.bucketLocCache.Get(metadata.bucketName); cachedLocationError != false {
+ c.bucketLocCache.Set(metadata.bucketName, errResponse.Region)
+ continue // Retry.
+ }
+ }
}
}
diff --git a/vendor/github.com/minio/minio-go/api_unit_test.go b/vendor/github.com/minio/minio-go/api_unit_test.go
index 2a9db3cb6..f15a6eed3 100644
--- a/vendor/github.com/minio/minio-go/api_unit_test.go
+++ b/vendor/github.com/minio/minio-go/api_unit_test.go
@@ -164,6 +164,50 @@ func TestGetReaderSize(t *testing.T) {
}
}
+// Tests get region from host URL.
+func TestGetRegionFromURL(t *testing.T) {
+ testCases := []struct {
+ u url.URL
+ expectedRegion string
+ }{
+ {
+ u: url.URL{Host: "storage.googleapis.com"},
+ expectedRegion: "",
+ },
+ {
+ u: url.URL{Host: "s3.cn-north-1.amazonaws.com.cn"},
+ expectedRegion: "cn-north-1",
+ },
+ {
+ u: url.URL{Host: "s3-fips-us-gov-west-1.amazonaws.com"},
+ expectedRegion: "us-gov-west-1",
+ },
+ {
+ u: url.URL{Host: "s3-us-gov-west-1.amazonaws.com"},
+ expectedRegion: "us-gov-west-1",
+ },
+ {
+ u: url.URL{Host: "192.168.1.1"},
+ expectedRegion: "",
+ },
+ {
+ u: url.URL{Host: "s3-eu-west-1.amazonaws.com"},
+ expectedRegion: "eu-west-1",
+ },
+ {
+ u: url.URL{Host: "s3.amazonaws.com"},
+ expectedRegion: "",
+ },
+ }
+
+ for i, testCase := range testCases {
+ region := getRegionFromURL(testCase.u)
+ if testCase.expectedRegion != region {
+ t.Errorf("Test %d: Expected region %s, got %s", i+1, testCase.expectedRegion, region)
+ }
+ }
+}
+
// Tests valid hosts for location.
func TestValidBucketLocation(t *testing.T) {
s3Hosts := []struct {
diff --git a/vendor/github.com/minio/minio-go/appveyor.yml b/vendor/github.com/minio/minio-go/appveyor.yml
index 4f5c1b390..0f623d3d4 100644
--- a/vendor/github.com/minio/minio-go/appveyor.yml
+++ b/vendor/github.com/minio/minio-go/appveyor.yml
@@ -21,6 +21,7 @@ install:
- go get -u github.com/minio/go-homedir
- go get -u github.com/remyoudompheng/go-misc/deadcode
- go get -u github.com/gordonklaus/ineffassign
+ - go get -u github.com/dustin/go-humanize
# to run your custom scripts instead of automatic MSBuild
build_script:
diff --git a/vendor/github.com/minio/minio-go/bucket-cache.go b/vendor/github.com/minio/minio-go/bucket-cache.go
index 748fd01ee..3ad06da3a 100644
--- a/vendor/github.com/minio/minio-go/bucket-cache.go
+++ b/vendor/github.com/minio/minio-go/bucket-cache.go
@@ -91,20 +91,6 @@ func (c Client) getBucketLocation(bucketName string) (string, error) {
return c.region, nil
}
- if s3utils.IsAmazonChinaEndpoint(c.endpointURL) {
- // For china specifically we need to set everything to
- // cn-north-1 for now, there is no easier way until AWS S3
- // provides a cleaner compatible API across "us-east-1" and
- // China region.
- return "cn-north-1", nil
- } else if s3utils.IsAmazonGovCloudEndpoint(c.endpointURL) {
- // For us-gov specifically we need to set everything to
- // us-gov-west-1 for now, there is no easier way until AWS S3
- // provides a cleaner compatible API across "us-east-1" and
- // Gov cloud region.
- return "us-gov-west-1", nil
- }
-
if location, ok := c.bucketLocCache.Get(bucketName); ok {
return location, nil
}
diff --git a/vendor/github.com/minio/minio-go/docs/API.md b/vendor/github.com/minio/minio-go/docs/API.md
index 902a975d9..bfdd42db6 100644
--- a/vendor/github.com/minio/minio-go/docs/API.md
+++ b/vendor/github.com/minio/minio-go/docs/API.md
@@ -54,11 +54,12 @@ func main() {
| :--- | :--- | :--- | :--- | :--- | :--- |
| [`MakeBucket`](#MakeBucket) | [`GetObject`](#GetObject) | [`NewSymmetricKey`](#NewSymmetricKey) | [`PresignedGetObject`](#PresignedGetObject) | [`SetBucketPolicy`](#SetBucketPolicy) | [`SetAppInfo`](#SetAppInfo) |
| [`ListBuckets`](#ListBuckets) | [`PutObject`](#PutObject) | [`NewAsymmetricKey`](#NewAsymmetricKey) | [`PresignedPutObject`](#PresignedPutObject) | [`GetBucketPolicy`](#GetBucketPolicy) | [`SetCustomTransport`](#SetCustomTransport) |
-| [`BucketExists`](#BucketExists) | [`CopyObject`](#CopyObject) | [`GetEncryptedObject`](#GetEncryptedObject) | [`PresignedPostPolicy`](#PresignedPostPolicy) | [`ListBucketPolicies`](#ListBucketPolicies) | [`TraceOn`](#TraceOn) |
-| [`RemoveBucket`](#RemoveBucket) | [`StatObject`](#StatObject) | [`PutObjectStreaming`](#PutObjectStreaming) | | [`SetBucketNotification`](#SetBucketNotification) | [`TraceOff`](#TraceOff) |
-| [`ListObjects`](#ListObjects) | [`RemoveObject`](#RemoveObject) | [`PutEncryptedObject`](#PutEncryptedObject) | | [`GetBucketNotification`](#GetBucketNotification) | [`SetS3TransferAccelerate`](#SetS3TransferAccelerate) |
-| [`ListObjectsV2`](#ListObjectsV2) | [`RemoveObjects`](#RemoveObjects) | [`NewSSEInfo`](#NewSSEInfo) | | [`RemoveAllBucketNotification`](#RemoveAllBucketNotification) | |
-| [`ListIncompleteUploads`](#ListIncompleteUploads) | [`RemoveIncompleteUpload`](#RemoveIncompleteUpload) | | | [`ListenBucketNotification`](#ListenBucketNotification) | |
+| [`BucketExists`](#BucketExists) | [`PutObjectStreaming`](#PutObjectStreaming) | [`GetEncryptedObject`](#GetEncryptedObject) | [`PresignedPostPolicy`](#PresignedPostPolicy) | [`ListBucketPolicies`](#ListBucketPolicies) | [`TraceOn`](#TraceOn) |
+| [`RemoveBucket`](#RemoveBucket) | [`CopyObject`](#CopyObject) | [`PutEncryptedObject`](#PutEncryptedObject) | | [`SetBucketNotification`](#SetBucketNotification) | [`TraceOff`](#TraceOff) |
+| [`ListObjects`](#ListObjects) | [`StatObject`](#StatObject) | [`NewSSEInfo`](#NewSSEInfo) | | [`GetBucketNotification`](#GetBucketNotification) | [`SetS3TransferAccelerate`](#SetS3TransferAccelerate) |
+| [`ListObjectsV2`](#ListObjectsV2) | [`RemoveObject`](#RemoveObject) | | | [`RemoveAllBucketNotification`](#RemoveAllBucketNotification) | |
+| [`ListIncompleteUploads`](#ListIncompleteUploads) | [`RemoveObjects`](#RemoveObjects) | | | [`ListenBucketNotification`](#ListenBucketNotification) | |
+| | [`RemoveIncompleteUpload`](#RemoveIncompleteUpload) | | | | |
| | [`FPutObject`](#FPutObject) | | | | |
| | [`FGetObject`](#FGetObject) | | | | |
| | [`ComposeObject`](#ComposeObject) | | | | |
@@ -1067,8 +1068,6 @@ Generates a presigned URL for HTTP PUT operations. Browsers/Mobile clients may p
NOTE: you can upload to S3 only with specified object name.
-
-
__Parameters__
@@ -1093,6 +1092,37 @@ if err != nil {
fmt.Println(presignedURL)
```
+<a name="PresignedHeadObject"></a>
+### PresignedHeadObject(bucketName, objectName string, expiry time.Duration, reqParams url.Values) (*url.URL, error)
+
+Generates a presigned URL for HTTP HEAD operations. Browsers/Mobile clients may point to this URL to directly get metadata from objects even if the bucket is private. This presigned URL can have an associated expiration time in seconds after which it is no longer operational. The default expiry is set to 7 days.
+
+__Parameters__
+
+|Param |Type |Description |
+|:---|:---| :---|
+|`bucketName` | _string_ |Name of the bucket |
+|`objectName` | _string_ |Name of the object |
+|`expiry` | _time.Duration_ |Expiry of presigned URL in seconds |
+|`reqParams` | _url.Values_ |Additional response header overrides supports _response-expires_, _response-content-type_, _response-cache-control_, _response-content-disposition_. |
+
+
+__Example__
+
+
+```go
+// Set request parameters for content-disposition.
+reqParams := make(url.Values)
+reqParams.Set("response-content-disposition", "attachment; filename=\"your-filename.txt\"")
+
+// Generates a presigned url which expires in a day.
+presignedURL, err := minioClient.PresignedHeadObject("mybucket", "myobject", time.Second * 24 * 60 * 60, reqParams)
+if err != nil {
+ fmt.Println(err)
+ return
+}
+```
+
<a name="PresignedPostPolicy"></a>
### PresignedPostPolicy(PostPolicy) (*url.URL, map[string]string, error)
@@ -1100,7 +1130,6 @@ Allows setting policy conditions to a presigned URL for POST operations. Policie
Create policy :
-
```go
policy := minio.NewPostPolicy()
```
@@ -1128,10 +1157,8 @@ if err != nil {
}
```
-
POST your content from the command line using `curl`:
-
```go
fmt.Printf("curl ")
for k, v := range formData {
diff --git a/vendor/github.com/minio/minio-go/examples/s3/presignedheadobject.go b/vendor/github.com/minio/minio-go/examples/s3/presignedheadobject.go
new file mode 100644
index 000000000..0332049e5
--- /dev/null
+++ b/vendor/github.com/minio/minio-go/examples/s3/presignedheadobject.go
@@ -0,0 +1,53 @@
+// +build ignore
+
+/*
+ * Minio Go Library for Amazon S3 Compatible Cloud Storage (C) 2015 Minio, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package main
+
+import (
+ "log"
+ "net/url"
+ "time"
+
+ "github.com/minio/minio-go"
+)
+
+func main() {
+ // Note: YOUR-ACCESSKEYID, YOUR-SECRETACCESSKEY, my-bucketname and my-objectname
+ // are dummy values, please replace them with original values.
+
+ // Requests are always secure (HTTPS) by default. Set secure=false to enable insecure (HTTP) access.
+ // This boolean value is the last argument for New().
+
+ // New returns an Amazon S3 compatible client object. API compatibility (v2 or v4) is automatically
+ // determined based on the Endpoint value.
+ s3Client, err := minio.New("s3.amazonaws.com", "YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY", true)
+ if err != nil {
+ log.Fatalln(err)
+ }
+
+ // Set request parameters
+ reqParams := make(url.Values)
+ reqParams.Set("response-content-disposition", "attachment; filename=\"your-filename.txt\"")
+
+ // Gernerate presigned get object url.
+ presignedURL, err := s3Client.PresignedHeadObject("my-bucketname", "my-objectname", time.Duration(1000)*time.Second, reqParams)
+ if err != nil {
+ log.Fatalln(err)
+ }
+ log.Println(presignedURL)
+}
diff --git a/vendor/github.com/minio/minio-go/functional_tests.go b/vendor/github.com/minio/minio-go/functional_tests.go
index 3d16da4fe..ec554e4fe 100644
--- a/vendor/github.com/minio/minio-go/functional_tests.go
+++ b/vendor/github.com/minio/minio-go/functional_tests.go
@@ -21,6 +21,7 @@ package main
import (
"bytes"
"encoding/hex"
+ "encoding/json"
"errors"
"fmt"
"io"
@@ -29,23 +30,24 @@ import (
"net/http"
"net/url"
"os"
- "path"
"reflect"
- "runtime"
"strconv"
"strings"
"time"
minio "github.com/minio/minio-go"
log "github.com/sirupsen/logrus"
- logrus "github.com/sirupsen/logrus"
+ "github.com/dustin/go-humanize"
"github.com/minio/minio-go/pkg/encrypt"
"github.com/minio/minio-go/pkg/policy"
)
-// MinPartSize ... Minimum part size
-const MinPartSize = 1024 * 1024 * 64
+const (
+ sixtyFiveMiB = 65 * humanize.MiByte // 65MiB
+ thirtyThreeKiB = 33 * humanize.KiByte // 33KiB
+)
+
const letterBytes = "abcdefghijklmnopqrstuvwxyz01234569"
const (
letterIdxBits = 6 // 6 bits to represent a letter index
@@ -59,6 +61,64 @@ const (
enableHTTPS = "ENABLE_HTTPS"
)
+type mintJSONFormatter struct {
+}
+
+func (f *mintJSONFormatter) Format(entry *log.Entry) ([]byte, error) {
+ data := make(log.Fields, len(entry.Data))
+ for k, v := range entry.Data {
+ switch v := v.(type) {
+ case error:
+ // Otherwise errors are ignored by `encoding/json`
+ // https://github.com/sirupsen/logrus/issues/137
+ data[k] = v.Error()
+ default:
+ data[k] = v
+ }
+ }
+
+ serialized, err := json.Marshal(data)
+ if err != nil {
+ return nil, fmt.Errorf("Failed to marshal fields to JSON, %v", err)
+ }
+ return append(serialized, '\n'), nil
+}
+
+// log successful test runs
+func successLogger(function string, args map[string]interface{}, startTime time.Time) *log.Entry {
+ // calculate the test case duration
+ duration := time.Since(startTime)
+ // log with the fields as per mint
+ fields := log.Fields{"name": "minio-go", "function": function, "args": args, "duration": duration.Nanoseconds() / 1000000, "status": "pass"}
+ return log.WithFields(fields)
+}
+
+// log failed test runs
+func failureLog(function string, args map[string]interface{}, startTime time.Time, alert string, message string, err error) *log.Entry {
+ // calculate the test case duration
+ duration := time.Since(startTime)
+ var fields log.Fields
+ // log with the fields as per mint
+ if err != nil {
+ fields = log.Fields{"name": "minio-go", "function": function, "args": args,
+ "duration": duration.Nanoseconds() / 1000000, "status": "fail", "alert": alert, "message": message, "error": err}
+ } else {
+ fields = log.Fields{"name": "minio-go", "function": function, "args": args,
+ "duration": duration.Nanoseconds() / 1000000, "status": "fail", "alert": alert, "message": message}
+ }
+ return log.WithFields(fields)
+}
+
+// log not applicable test runs
+func ignoredLog(function string, args map[string]interface{}, startTime time.Time, message string) *log.Entry {
+ // calculate the test case duration
+ duration := time.Since(startTime)
+ // log with the fields as per mint
+ fields := log.Fields{"name": "minio-go", "function": function, "args": args,
+ "duration": duration.Nanoseconds() / 1000000, "status": "na", "message": message}
+ return log.WithFields(fields)
+}
+
func init() {
// If server endpoint is not set, all tests default to
// using https://play.minio.io:9000
@@ -85,14 +145,35 @@ func getFilePath(filename string) (filepath string) {
return
}
+type sizedReader struct {
+ io.Reader
+ size int
+}
+
+func (l *sizedReader) Size() int {
+ return l.size
+}
+
+func (l *sizedReader) Close() error {
+ return nil
+}
+
+type randomReader struct{ seed []byte }
+
+func (r *randomReader) Read(b []byte) (int, error) {
+ return copy(b, bytes.Repeat(r.seed, len(b))), nil
+}
+
// read data from file if it exists or optionally create a buffer of particular size
-func getDataBuffer(fileName string, size int) (buf []byte) {
+func getDataReader(fileName string, size int) io.ReadCloser {
if _, err := os.Stat(getFilePath(fileName)); os.IsNotExist(err) {
- buf = bytes.Repeat([]byte(string('a')), size)
- return
+ return &sizedReader{
+ Reader: io.LimitReader(&randomReader{seed: []byte("a")}, int64(size)),
+ size: size,
+ }
}
- buf, _ = ioutil.ReadFile(getFilePath(fileName))
- return
+ reader, _ := os.Open(getFilePath(fileName))
+ return reader
}
// randString generates random names and prepends them with a known prefix.
@@ -119,10 +200,20 @@ func isQuickMode() bool {
// Tests bucket re-create errors.
func testMakeBucketError() {
- logger().Info()
+ region := "eu-central-1"
+ // initialize logging params
+ startTime := time.Now()
+ function := "MakeBucket(bucketName, region)"
+ // initialize logging params
+ args := map[string]interface{}{
+ "bucketName": "",
+ "region": region,
+ }
+
+ // skipping region functional tests for non s3 runs
if os.Getenv(serverEndpoint) != "s3.amazonaws.com" {
- logger().Info("skipping region functional tests for non s3 runs")
+ ignoredLog(function, args, startTime, "Skipped region functional tests for non s3 runs").Info()
return
}
@@ -137,7 +228,7 @@ func testMakeBucketError() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatalf("Error: %s", err)
+ failureLog(function, args, startTime, "", "Minio client creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -148,30 +239,42 @@ func testMakeBucketError() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket in 'eu-central-1'.
- if err = c.MakeBucket(bucketName, "eu-central-1"); err != nil {
- logger().Fatal("Error:", err, bucketName)
+ if err = c.MakeBucket(bucketName, region); err != nil {
+ failureLog(function, args, startTime, "", "MakeBucket Failed", err).Fatal()
}
- if err = c.MakeBucket(bucketName, "eu-central-1"); err == nil {
- logger().Fatal("Error: make bucket should should fail for", bucketName)
+ if err = c.MakeBucket(bucketName, region); err == nil {
+ failureLog(function, args, startTime, "", "Bucket already exists", err).Fatal()
}
// Verify valid error response from server.
if minio.ToErrorResponse(err).Code != "BucketAlreadyExists" &&
minio.ToErrorResponse(err).Code != "BucketAlreadyOwnedByYou" {
- logger().Fatal("Error: Invalid error returned by server", err)
+ failureLog(function, args, startTime, "", "Invalid error returned by server", err).Fatal()
}
if err = c.RemoveBucket(bucketName); err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "Remove bucket failed", err).Fatal()
}
+
+ successLogger(function, args, startTime).Info()
}
// Tests various bucket supported formats.
func testMakeBucketRegions() {
- logger().Info()
+ region := "eu-central-1"
+ // initialize logging params
+ startTime := time.Now()
+ function := "MakeBucket(bucketName, region)"
+ // initialize logging params
+ args := map[string]interface{}{
+ "bucketName": "",
+ "region": region,
+ }
+ // skipping region functional tests for non s3 runs
if os.Getenv(serverEndpoint) != "s3.amazonaws.com" {
- logger().Info("skipping region functional tests for non s3 runs")
+ ignoredLog(function, args, startTime, "Skipped region functional tests for non s3 runs").Info()
return
}
@@ -186,7 +289,7 @@ func testMakeBucketRegions() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -197,32 +300,44 @@ func testMakeBucketRegions() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket in 'eu-central-1'.
- if err = c.MakeBucket(bucketName, "eu-central-1"); err != nil {
- logger().Fatal("Error:", err, bucketName)
+ if err = c.MakeBucket(bucketName, region); err != nil {
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
if err = c.RemoveBucket(bucketName); err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "Remove bucket failed", err).Fatal()
}
// Make a new bucket with '.' in its name, in 'us-west-2'. This
// request is internally staged into a path style instead of
// virtual host style.
- if err = c.MakeBucket(bucketName+".withperiod", "us-west-2"); err != nil {
- logger().Fatal("Error:", err, bucketName+".withperiod")
+ region = "us-west-2"
+ args["region"] = region
+ if err = c.MakeBucket(bucketName+".withperiod", region); err != nil {
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Remove the newly created bucket.
if err = c.RemoveBucket(bucketName + ".withperiod"); err != nil {
- logger().Fatal("Error:", err, bucketName+".withperiod")
+ failureLog(function, args, startTime, "", "Remove bucket failed", err).Fatal()
}
+
+ successLogger(function, args, startTime).Info()
}
// Test PutObject using a large data to trigger multipart readat
func testPutObjectReadAt() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "PutObject(bucketName, objectName, reader, objectContentType)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ "objectContentType": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -235,7 +350,7 @@ func testPutObjectReadAt() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -246,70 +361,86 @@ func testPutObjectReadAt() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "Make bucket failed", err).Fatal()
}
// Generate data using 4 parts so that all 3 'workers' are utilized and a part is leftover.
// Use different data for each part for multipart tests to ensure part order at the end.
- var buf = getDataBuffer("datafile-65-MB", MinPartSize)
+ var reader = getDataReader("datafile-65-MB", sixtyFiveMiB)
+ defer reader.Close()
// Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
+ args["objectName"] = objectName
+
// Object content type
objectContentType := "binary/octet-stream"
+ args["objectContentType"] = objectContentType
+
+ n, err := c.PutObject(bucketName, objectName, reader, objectContentType)
- n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), objectContentType)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ if n != int64(sixtyFiveMiB) {
+ failureLog(function, args, startTime, "", "Number of bytes returned by PutObject does not match, expected "+string(sixtyFiveMiB)+" got "+string(n), err).Fatal()
}
// Read the data back
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Get Object failed", err).Fatal()
}
st, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Stat Object failed", err).Fatal()
}
- if st.Size != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes in stat does not match, want %v, got %v\n",
- len(buf), st.Size)
+ if st.Size != int64(sixtyFiveMiB) {
+ failureLog(function, args, startTime, "", "Number of bytes in stat does not match, expected "+string(sixtyFiveMiB)+" got "+string(st.Size), err).Fatal()
}
if st.ContentType != objectContentType {
- logger().Fatalf("Error: Content types don't match, expected: %+v, found: %+v\n", objectContentType, st.ContentType)
+ failureLog(function, args, startTime, "", "Content types don't match", err).Fatal()
}
if err := r.Close(); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Object Close failed", err).Fatal()
}
if err := r.Close(); err == nil {
- logger().Fatal("Error: object is already closed, should return error")
+ failureLog(function, args, startTime, "", "Object is already closed, didn't return error on Close", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+
+ successLogger(function, args, startTime).Info()
}
// Test PutObject using a large data to trigger multipart readat
func testPutObjectWithMetadata() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "PutObjectWithMetadata(bucketName, objectName, reader, metadata, progress)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ "metadata": "",
+ }
+
if isQuickMode() {
- logger().Info("skipping functional tests for short runs")
+ ignoredLog(function, args, startTime, "Skipping functional tests for short runs").Info()
return
}
@@ -324,7 +455,7 @@ func testPutObjectWithMetadata() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -335,72 +466,85 @@ func testPutObjectWithMetadata() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "Make bucket failed", err).Fatal()
}
// Generate data using 2 parts
// Use different data in each part for multipart tests to ensure part order at the end.
- var buf = getDataBuffer("datafile-65-MB", MinPartSize)
+ var reader = getDataReader("datafile-65-MB", sixtyFiveMiB)
+ defer reader.Close()
// Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
+ args["objectName"] = objectName
// Object custom metadata
customContentType := "custom/contenttype"
- n, err := c.PutObjectWithMetadata(bucketName, objectName, bytes.NewReader(buf), map[string][]string{
+ n, err := c.PutObjectWithMetadata(bucketName, objectName, reader, map[string][]string{
"Content-Type": {customContentType},
}, nil)
+ args["metadata"] = map[string][]string{
+ "Content-Type": {customContentType},
+ }
+
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ if n != int64(sixtyFiveMiB) {
+ failureLog(function, args, startTime, "", "Number of bytes returned by PutObject does not match, expected "+string(sixtyFiveMiB)+" got "+string(n), err).Fatal()
}
// Read the data back
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
st, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
- if st.Size != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes in stat does not match, want %v, got %v\n",
- len(buf), st.Size)
+ if st.Size != int64(sixtyFiveMiB) {
+ failureLog(function, args, startTime, "", "Number of bytes returned by PutObject does not match GetObject, expected "+string(sixtyFiveMiB)+" got "+string(st.Size), err).Fatal()
}
if st.ContentType != customContentType {
- logger().Fatalf("Error: Expected and found content types do not match, want %v, got %v\n",
- customContentType, st.ContentType)
+ failureLog(function, args, startTime, "", "ContentType does not match, expected "+customContentType+" got "+st.ContentType, err).Fatal()
}
if err := r.Close(); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Object Close failed", err).Fatal()
}
if err := r.Close(); err == nil {
- logger().Fatal("Error: object is already closed, should return error")
+ failureLog(function, args, startTime, "", "Object already closed, should respond with error", err).Fatal()
}
- err = c.RemoveObject(bucketName, objectName)
- if err != nil {
- logger().Fatal("Error: ", err)
+ if err = c.RemoveObject(bucketName, objectName); err != nil {
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
- err = c.RemoveBucket(bucketName)
- if err != nil {
- logger().Fatal("Error:", err)
+
+ if err = c.RemoveBucket(bucketName); err != nil {
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+
+ successLogger(function, args, startTime).Info()
}
// Test put object with streaming signature.
func testPutObjectStreaming() {
- logger().Info()
+ // initialize logging params
+ objectName := "test-object"
+ startTime := time.Now()
+ function := "PutObjectStreaming(bucketName, objectName, reader)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": objectName,
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -413,7 +557,7 @@ func testPutObjectStreaming() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -425,44 +569,52 @@ func testPutObjectStreaming() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()),
"minio-go-test")
-
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Upload an object.
sizes := []int64{0, 64*1024 - 1, 64 * 1024}
- objectName := "test-object"
- for i, size := range sizes {
+
+ for _, size := range sizes {
data := bytes.Repeat([]byte("a"), int(size))
n, err := c.PutObjectStreaming(bucketName, objectName, bytes.NewReader(data))
if err != nil {
- logger().Fatalf("Test %d Error: %v %s %s", i+1, err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObjectStreaming failed", err).Fatal()
}
if n != size {
- log.Error(fmt.Errorf("Test %d Expected upload object size %d but got %d", i+1, size, n))
+ failureLog(function, args, startTime, "", "Expected upload object size doesn't match with PutObjectStreaming return value", err).Fatal()
}
}
// Remove the object.
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
// Remove the bucket.
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test listing partially uploaded objects.
func testListPartiallyUploaded() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "ListIncompleteUploads(bucketName, objectName, isRecursive, doneCh)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ "isRecursive": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -475,7 +627,7 @@ func testListPartiallyUploaded() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Set user agent.
@@ -486,22 +638,23 @@ func testListPartiallyUploaded() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- r := bytes.NewReader(bytes.Repeat([]byte("0"), MinPartSize*2))
+ r := bytes.NewReader(bytes.Repeat([]byte("0"), sixtyFiveMiB*2))
reader, writer := io.Pipe()
go func() {
i := 0
for i < 25 {
- _, cerr := io.CopyN(writer, r, (MinPartSize*2)/25)
+ _, cerr := io.CopyN(writer, r, (sixtyFiveMiB*2)/25)
if cerr != nil {
- logger().Fatal("Error:", cerr, bucketName)
+ failureLog(function, args, startTime, "", "Copy failed", err).Fatal()
}
i++
r.Seek(0, 0)
@@ -510,33 +663,44 @@ func testListPartiallyUploaded() {
}()
objectName := bucketName + "-resumable"
+ args["objectName"] = objectName
+
_, err = c.PutObject(bucketName, objectName, reader, "application/octet-stream")
if err == nil {
- logger().Fatal("Error: PutObject should fail.")
+ failureLog(function, args, startTime, "", "PutObject should fail", err).Fatal()
}
if !strings.Contains(err.Error(), "proactively closed to be verified later") {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "String not found in PutObject output", err).Fatal()
}
doneCh := make(chan struct{})
defer close(doneCh)
isRecursive := true
+ args["isRecursive"] = isRecursive
+
multiPartObjectCh := c.ListIncompleteUploads(bucketName, objectName, isRecursive, doneCh)
for multiPartObject := range multiPartObjectCh {
if multiPartObject.Err != nil {
- logger().Fatalf("Error: Error when listing incomplete upload")
+ failureLog(function, args, startTime, "", "Multipart object error", multiPartObject.Err).Fatal()
}
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test get object seeker from the end, using whence set to '2'.
func testGetObjectSeekEnd() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "GetObject(bucketName, objectName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -549,7 +713,7 @@ func testGetObjectSeekEnd() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -560,75 +724,93 @@ func testGetObjectSeekEnd() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- var buf = getDataBuffer("datafile-33-kB", rand.Intn(1<<20)+32*1024)
+
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
+ defer reader.Close()
// Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
+ args["objectName"] = objectName
+
+ buf, err := ioutil.ReadAll(reader)
+ if err != nil {
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
+ }
+
n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes read does not match, expected "+string(int64(thirtyThreeKiB))+" got "+string(n), err).Fatal()
}
// Read the data back
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
st, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
- if st.Size != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes in stat does not match, want %v, got %v\n",
- len(buf), st.Size)
+
+ if st.Size != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes read does not match, expected "+string(int64(thirtyThreeKiB))+" got "+string(st.Size), err).Fatal()
}
pos, err := r.Seek(-100, 2)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Object Seek failed", err).Fatal()
}
if pos != st.Size-100 {
- logger().Fatalf("Expected %d, got %d instead", pos, st.Size-100)
+ failureLog(function, args, startTime, "", "Incorrect position", err).Fatal()
}
buf2 := make([]byte, 100)
m, err := io.ReadFull(r, buf2)
if err != nil {
- logger().Fatal("Error: reading through io.ReadFull", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Error reading through io.ReadFull", err).Fatal()
}
if m != len(buf2) {
- logger().Fatalf("Expected %d bytes, got %d", len(buf2), m)
+ failureLog(function, args, startTime, "", "Number of bytes dont match, expected "+string(len(buf2))+" got "+string(m), err).Fatal()
}
hexBuf1 := fmt.Sprintf("%02x", buf[len(buf)-100:])
hexBuf2 := fmt.Sprintf("%02x", buf2[:m])
if hexBuf1 != hexBuf2 {
- logger().Fatalf("Expected %s, got %s instead", hexBuf1, hexBuf2)
+ failureLog(function, args, startTime, "", "Values at same index dont match", err).Fatal()
}
pos, err = r.Seek(-100, 2)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Object Seek failed", err).Fatal()
}
if pos != st.Size-100 {
- logger().Fatalf("Expected %d, got %d instead", pos, st.Size-100)
+ failureLog(function, args, startTime, "", "Incorrect position", err).Fatal()
}
if err = r.Close(); err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "ObjectClose failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test get object reader to not throw error on being closed twice.
func testGetObjectClosedTwice() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "GetObject(bucketName, objectName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -641,7 +823,7 @@ func testGetObjectClosedTwice() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -652,60 +834,71 @@ func testGetObjectClosedTwice() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- // Generate data more than 32K
- var buf = getDataBuffer("datafile-33-kB", rand.Intn(1<<20)+32*1024)
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
+ defer reader.Close()
+
// Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
- n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
+ args["objectName"] = objectName
+
+ n, err := c.PutObject(bucketName, objectName, reader, "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "PutObject response doesn't match sent bytes, expected "+string(int64(thirtyThreeKiB))+" got "+string(n), err).Fatal()
}
// Read the data back
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
st, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
- if st.Size != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes in stat does not match, want %v, got %v\n",
- len(buf), st.Size)
+ if st.Size != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes in stat does not match, expected "+string(int64(thirtyThreeKiB))+" got "+string(st.Size), err).Fatal()
}
if err := r.Close(); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Object Close failed", err).Fatal()
}
if err := r.Close(); err == nil {
- logger().Fatal("Error: object is already closed, should return error")
+ failureLog(function, args, startTime, "", "Already closed object. No error returned", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test removing multiple objects with Remove API
func testRemoveMultipleObjects() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "RemoveObjects(bucketName, objectsCh)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ }
+
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -718,7 +911,7 @@ func testRemoveMultipleObjects() {
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Set user agent.
@@ -729,11 +922,12 @@ func testRemoveMultipleObjects() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
r := bytes.NewReader(bytes.Repeat([]byte("a"), 8))
@@ -750,7 +944,7 @@ func testRemoveMultipleObjects() {
objectName := "sample" + strconv.Itoa(i) + ".txt"
_, err = c.PutObject(bucketName, objectName, r, "application/octet-stream")
if err != nil {
- log.Error("Error: PutObject shouldn't fail.", err)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
continue
}
objectsCh <- objectName
@@ -764,20 +958,27 @@ func testRemoveMultipleObjects() {
select {
case r, more := <-errorCh:
if more {
- logger().Fatalf("Unexpected error, objName(%v) err(%v)", r.ObjectName, r.Err)
+ failureLog(function, args, startTime, "", "Unexpected error", r.Err).Fatal()
}
}
// Clean the bucket created by the test
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests removing partially uploaded objects.
func testRemovePartiallyUploaded() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "RemoveIncompleteUpload(bucketName, objectName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -790,7 +991,7 @@ func testRemovePartiallyUploaded() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Set user agent.
@@ -801,11 +1002,12 @@ func testRemovePartiallyUploaded() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
r := bytes.NewReader(bytes.Repeat([]byte("a"), 128*1024))
@@ -816,7 +1018,7 @@ func testRemovePartiallyUploaded() {
for i < 25 {
_, cerr := io.CopyN(writer, r, 128*1024)
if cerr != nil {
- logger().Fatal("Error:", cerr, bucketName)
+ failureLog(function, args, startTime, "", "Copy failed", err).Fatal()
}
i++
r.Seek(0, 0)
@@ -825,26 +1027,37 @@ func testRemovePartiallyUploaded() {
}()
objectName := bucketName + "-resumable"
+ args["objectName"] = objectName
+
_, err = c.PutObject(bucketName, objectName, reader, "application/octet-stream")
if err == nil {
- logger().Fatal("Error: PutObject should fail.")
+ failureLog(function, args, startTime, "", "PutObject should fail", err).Fatal()
}
if !strings.Contains(err.Error(), "proactively closed to be verified later") {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "String not found", err).Fatal()
}
err = c.RemoveIncompleteUpload(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveIncompleteUpload failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests FPutObject of a big file to trigger multipart
func testFPutObjectMultipart() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "FPutObject(bucketName, objectName, fileName, objectContentType)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ "fileName": "",
+ "objectContentType": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -857,7 +1070,7 @@ func testFPutObjectMultipart() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -868,11 +1081,12 @@ func testFPutObjectMultipart() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Upload 4 parts to utilize all 3 'workers' in multipart and still have a part to upload.
@@ -881,65 +1095,74 @@ func testFPutObjectMultipart() {
// Make a temp file with minPartSize bytes of data.
file, err := ioutil.TempFile(os.TempDir(), "FPutObjectTest")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "TempFile creation failed", err).Fatal()
}
-
// Upload 4 parts to utilize all 3 'workers' in multipart and still have a part to upload.
- var buffer = bytes.Repeat([]byte(string('a')), MinPartSize)
- if _, err := file.Write(buffer); err != nil {
- logger().Fatal("Error:", err)
+ _, err = io.Copy(file, getDataReader("non-existent", sixtyFiveMiB))
+ if err != nil {
+ failureLog(function, args, startTime, "", "Copy failed", err).Fatal()
}
- // Close the file pro-actively for windows.
err = file.Close()
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File Close failed", err).Fatal()
}
fileName = file.Name()
+ args["fileName"] = fileName
}
- totalSize := MinPartSize * 1
+ totalSize := sixtyFiveMiB * 1
// Set base object name
- objectName := bucketName + "FPutObject"
+ objectName := bucketName + "FPutObject" + "-standard"
+ args["objectName"] = objectName
+
objectContentType := "testapplication/octet-stream"
+ args["objectContentType"] = objectContentType
// Perform standard FPutObject with contentType provided (Expecting application/octet-stream)
- n, err := c.FPutObject(bucketName, objectName+"-standard", fileName, objectContentType)
+ n, err := c.FPutObject(bucketName, objectName, fileName, objectContentType)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "FPutObject failed", err).Fatal()
}
if n != int64(totalSize) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", totalSize, n)
+ failureLog(function, args, startTime, "", "FPutObject failed", err).Fatal()
}
- r, err := c.GetObject(bucketName, objectName+"-standard")
+ r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatalf("Unexpected error: %v\n", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
objInfo, err := r.Stat()
if err != nil {
- logger().Fatalf("Unexpected error: %v\n", err)
+ failureLog(function, args, startTime, "", "Unexpected error", err).Fatal()
}
if objInfo.Size != int64(totalSize) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", totalSize, n)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(totalSize))+" got "+string(objInfo.Size), err).Fatal()
}
if objInfo.ContentType != objectContentType {
- logger().Fatalf("Error: Content types don't match, want %v, got %v\n", objectContentType, objInfo.ContentType)
+ failureLog(function, args, startTime, "", "ContentType doesn't match", err).Fatal()
}
// Remove all objects and bucket and temp file
- err = c.RemoveObject(bucketName, objectName+"-standard")
+ err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
-// Tests FPutObject hidden contentType setting
+// Tests FPutObject with null contentType (default = application/octet-stream)
func testFPutObject() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "FPutObject(bucketName, objectName, fileName, objectContentType)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -952,7 +1175,7 @@ func testFPutObject() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -967,7 +1190,7 @@ func testFPutObject() {
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Upload 3 parts worth of data to use all 3 of multiparts 'workers' and have an extra part.
@@ -977,127 +1200,131 @@ func testFPutObject() {
// Make a temp file with minPartSize bytes of data.
file, err := ioutil.TempFile(os.TempDir(), "FPutObjectTest")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "TempFile creation failed", err).Fatal()
}
// Upload 4 parts to utilize all 3 'workers' in multipart and still have a part to upload.
- var buffer = bytes.Repeat([]byte(string('a')), MinPartSize)
+ var buffer = bytes.Repeat([]byte(string('a')), sixtyFiveMiB)
if _, err = file.Write(buffer); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File write failed", err).Fatal()
}
// Close the file pro-actively for windows.
err = file.Close()
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File close failed", err).Fatal()
}
fName = file.Name()
}
- var totalSize = MinPartSize * 1
+ var totalSize = sixtyFiveMiB * 1
// Set base object name
objectName := bucketName + "FPutObject"
+ args["objectName"] = objectName
// Perform standard FPutObject with contentType provided (Expecting application/octet-stream)
n, err := c.FPutObject(bucketName, objectName+"-standard", fName, "application/octet-stream")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "FPutObject failed", err).Fatal()
}
if n != int64(totalSize) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", totalSize, n)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(totalSize)+", got "+string(n), err).Fatal()
}
// Perform FPutObject with no contentType provided (Expecting application/octet-stream)
n, err = c.FPutObject(bucketName, objectName+"-Octet", fName, "")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File close failed", err).Fatal()
}
if n != int64(totalSize) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", totalSize, n)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(totalSize)+", got "+string(n), err).Fatal()
}
srcFile, err := os.Open(fName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File open failed", err).Fatal()
}
defer srcFile.Close()
// Add extension to temp file name
tmpFile, err := os.Create(fName + ".gtar")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File create failed", err).Fatal()
}
defer tmpFile.Close()
_, err = io.Copy(tmpFile, srcFile)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File copy failed", err).Fatal()
}
// Perform FPutObject with no contentType provided (Expecting application/x-gtar)
n, err = c.FPutObject(bucketName, objectName+"-GTar", fName+".gtar", "")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "FPutObject failed", err).Fatal()
}
if n != int64(totalSize) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", totalSize, n)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(totalSize)+", got "+string(n), err).Fatal()
}
// Check headers
rStandard, err := c.StatObject(bucketName, objectName+"-standard")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName+"-standard")
+ failureLog(function, args, startTime, "", "StatObject failed", err).Fatal()
}
if rStandard.ContentType != "application/octet-stream" {
- logger().Fatalf("Error: Content-Type headers mismatched, want %v, got %v\n",
- "application/octet-stream", rStandard.ContentType)
+ failureLog(function, args, startTime, "", "ContentType does not match, expected application/octet-stream, got "+rStandard.ContentType, err).Fatal()
}
rOctet, err := c.StatObject(bucketName, objectName+"-Octet")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName+"-Octet")
+ failureLog(function, args, startTime, "", "StatObject failed", err).Fatal()
}
if rOctet.ContentType != "application/octet-stream" {
- logger().Fatalf("Error: Content-Type headers mismatched, want %v, got %v\n",
- "application/octet-stream", rStandard.ContentType)
+ failureLog(function, args, startTime, "", "ContentType does not match, expected application/octet-stream, got "+rStandard.ContentType, err).Fatal()
}
rGTar, err := c.StatObject(bucketName, objectName+"-GTar")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName+"-GTar")
+ failureLog(function, args, startTime, "", "StatObject failed", err).Fatal()
}
if rGTar.ContentType != "application/x-gtar" {
- logger().Fatalf("Error: Content-Type headers mismatched, want %v, got %v\n",
- "application/x-gtar", rStandard.ContentType)
+ failureLog(function, args, startTime, "", "ContentType does not match, expected application/x-gtar, got "+rStandard.ContentType, err).Fatal()
}
// Remove all objects and bucket and temp file
err = c.RemoveObject(bucketName, objectName+"-standard")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName+"-Octet")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName+"-GTar")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
err = os.Remove(fName + ".gtar")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File remove failed", err).Fatal()
}
-
+ successLogger(function, args, startTime).Info()
}
// Tests get object ReaderSeeker interface methods.
func testGetObjectReadSeekFunctional() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "GetObject(bucketName, objectName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -1110,7 +1337,7 @@ func testGetObjectReadSeekFunctional() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -1121,53 +1348,60 @@ func testGetObjectReadSeekFunctional() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- // Generate data more than 32K
- var buf = getDataBuffer("datafile-33-kB", rand.Intn(1<<20)+32*1024)
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
+ defer reader.Close()
- bufSize := len(buf)
+ objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
+ args["objectName"] = objectName
+
+ buf, err := ioutil.ReadAll(reader)
+ if err != nil {
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
+ }
// Save the data
- objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(bufSize) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(thirtyThreeKiB))+", got "+string(n), err).Fatal()
}
defer func() {
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
}()
// Read the data back
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
st, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Stat object failed", err).Fatal()
}
- if st.Size != int64(bufSize) {
- logger().Fatalf("Error: number of bytes in stat does not match, want %v, got %v\n",
- len(buf), st.Size)
+
+ if st.Size != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(thirtyThreeKiB))+", got "+string(st.Size), err).Fatal()
}
// This following function helps us to compare data from the reader after seek
@@ -1177,13 +1411,13 @@ func testGetObjectReadSeekFunctional() {
return
}
buffer := bytes.NewBuffer([]byte{})
- if _, err := io.CopyN(buffer, r, int64(bufSize)); err != nil {
+ if _, err := io.CopyN(buffer, r, int64(thirtyThreeKiB)); err != nil {
if err != io.EOF {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "CopyN failed", err).Fatal()
}
}
if !bytes.Equal(buf[start:end], buffer.Bytes()) {
- logger().Fatal("Error: Incorrect read bytes v/s original buffer.")
+ failureLog(function, args, startTime, "", "Incorrect read bytes v/s original buffer", err).Fatal()
}
}
@@ -1202,23 +1436,23 @@ func testGetObjectReadSeekFunctional() {
// Start from offset 0, fetch data and compare
{0, 0, 0, nil, true, 0, 0},
// Start from offset 2048, fetch data and compare
- {2048, 0, 2048, nil, true, 2048, bufSize},
+ {2048, 0, 2048, nil, true, 2048, thirtyThreeKiB},
// Start from offset larger than possible
- {int64(bufSize) + 1024, 0, 0, seekErr, false, 0, 0},
+ {int64(thirtyThreeKiB) + 1024, 0, 0, seekErr, false, 0, 0},
// Move to offset 0 without comparing
{0, 0, 0, nil, false, 0, 0},
// Move one step forward and compare
- {1, 1, 1, nil, true, 1, bufSize},
+ {1, 1, 1, nil, true, 1, thirtyThreeKiB},
// Move larger than possible
- {int64(bufSize), 1, 0, seekErr, false, 0, 0},
+ {int64(thirtyThreeKiB), 1, 0, seekErr, false, 0, 0},
// Provide negative offset with CUR_SEEK
{int64(-1), 1, 0, seekErr, false, 0, 0},
// Test with whence SEEK_END and with positive offset
- {1024, 2, int64(bufSize) - 1024, io.EOF, true, 0, 0},
+ {1024, 2, int64(thirtyThreeKiB) - 1024, io.EOF, true, 0, 0},
// Test with whence SEEK_END and with negative offset
- {-1024, 2, int64(bufSize) - 1024, nil, true, bufSize - 1024, bufSize},
+ {-1024, 2, int64(thirtyThreeKiB) - 1024, nil, true, thirtyThreeKiB - 1024, thirtyThreeKiB},
// Test with whence SEEK_END and with large negative offset
- {-int64(bufSize) * 2, 2, 0, seekErr, true, 0, 0},
+ {-int64(thirtyThreeKiB) * 2, 2, 0, seekErr, true, 0, 0},
}
for i, testCase := range testCases {
@@ -1226,11 +1460,11 @@ func testGetObjectReadSeekFunctional() {
n, err := r.Seek(testCase.offset, testCase.whence)
// We expect an error
if testCase.err == seekErr && err == nil {
- logger().Fatalf("Test %d, unexpected err value: expected: %v, found: %v", i+1, testCase.err, err)
+ failureLog(function, args, startTime, "", "Test "+string(i+1)+", unexpected err value: expected: "+testCase.err.Error()+", found: "+err.Error(), err).Fatal()
}
// We expect a specific error
if testCase.err != seekErr && testCase.err != err {
- logger().Fatalf("Test %d, unexpected err value: expected: %v, found: %v", i+1, testCase.err, err)
+ failureLog(function, args, startTime, "", "Test "+string(i+1)+", unexpected err value: expected: "+testCase.err.Error()+", found: "+err.Error(), err).Fatal()
}
// If we expect an error go to the next loop
if testCase.err != nil {
@@ -1238,19 +1472,25 @@ func testGetObjectReadSeekFunctional() {
}
// Check the returned seek pos
if n != testCase.pos {
- logger().Fatalf("Test %d, error: number of bytes seeked does not match, want %v, got %v\n", i+1,
- testCase.pos, n)
+ failureLog(function, args, startTime, "", "Test "+string(i+1)+", number of bytes seeked does not match, expected "+string(testCase.pos)+", got "+string(n), err).Fatal()
}
// Compare only if shouldCmp is activated
if testCase.shouldCmp {
cmpData(r, testCase.start, testCase.end)
}
}
+ successLogger(function, args, startTime).Info()
}
// Tests get object ReaderAt interface methods.
func testGetObjectReadAtFunctional() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "GetObject(bucketName, objectName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -1263,7 +1503,7 @@ func testGetObjectReadAtFunctional() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -1274,31 +1514,40 @@ func testGetObjectReadAtFunctional() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- // Generate data more than 32K
- var buf = getDataBuffer("datafile-33-kB", rand.Intn(1<<20)+32*1024)
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
+ defer reader.Close()
- // Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
+ args["objectName"] = objectName
+
+ buf, err := ioutil.ReadAll(reader)
+ if err != nil {
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
+ }
+
+ // Save the data
n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(thirtyThreeKiB))+", got "+string(n), err).Fatal()
}
// read the data back
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
offset := int64(2048)
@@ -1311,56 +1560,56 @@ func testGetObjectReadAtFunctional() {
// Test readAt before stat is called.
m, err := r.ReadAt(buf1, offset)
if err != nil {
- logger().Fatal("Error:", err, len(buf1), offset)
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
if m != len(buf1) {
- logger().Fatalf("Error: ReadAt read shorter bytes before reaching EOF, want %v, got %v\n", m, len(buf1))
+ failureLog(function, args, startTime, "", "ReadAt read shorter bytes before reaching EOF, expected "+string(len(buf1))+", got "+string(m), err).Fatal()
}
if !bytes.Equal(buf1, buf[offset:offset+512]) {
- logger().Fatal("Error: Incorrect read between two ReadAt from same offset.")
+ failureLog(function, args, startTime, "", "Incorrect read between two ReadAt from same offset", err).Fatal()
}
offset += 512
st, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
- if st.Size != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes in stat does not match, want %v, got %v\n",
- len(buf), st.Size)
+
+ if st.Size != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes in stat does not match, expected "+string(int64(thirtyThreeKiB))+", got "+string(st.Size), err).Fatal()
}
m, err = r.ReadAt(buf2, offset)
if err != nil {
- logger().Fatal("Error:", err, st.Size, len(buf2), offset)
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
if m != len(buf2) {
- logger().Fatalf("Error: ReadAt read shorter bytes before reaching EOF, want %v, got %v\n", m, len(buf2))
+ failureLog(function, args, startTime, "", "ReadAt read shorter bytes before reaching EOF, expected "+string(len(buf2))+", got "+string(m), err).Fatal()
}
if !bytes.Equal(buf2, buf[offset:offset+512]) {
- logger().Fatal("Error: Incorrect read between two ReadAt from same offset.")
+ failureLog(function, args, startTime, "", "Incorrect read between two ReadAt from same offset", err).Fatal()
}
offset += 512
m, err = r.ReadAt(buf3, offset)
if err != nil {
- logger().Fatal("Error:", err, st.Size, len(buf3), offset)
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
if m != len(buf3) {
- logger().Fatalf("Error: ReadAt read shorter bytes before reaching EOF, want %v, got %v\n", m, len(buf3))
+ failureLog(function, args, startTime, "", "ReadAt read shorter bytes before reaching EOF, expected "+string(len(buf3))+", got "+string(m), err).Fatal()
}
if !bytes.Equal(buf3, buf[offset:offset+512]) {
- logger().Fatal("Error: Incorrect read between two ReadAt from same offset.")
+ failureLog(function, args, startTime, "", "Incorrect read between two ReadAt from same offset", err).Fatal()
}
offset += 512
m, err = r.ReadAt(buf4, offset)
if err != nil {
- logger().Fatal("Error:", err, st.Size, len(buf4), offset)
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
if m != len(buf4) {
- logger().Fatalf("Error: ReadAt read shorter bytes before reaching EOF, want %v, got %v\n", m, len(buf4))
+ failureLog(function, args, startTime, "", "ReadAt read shorter bytes before reaching EOF, expected "+string(len(buf4))+", got "+string(m), err).Fatal()
}
if !bytes.Equal(buf4, buf[offset:offset+512]) {
- logger().Fatal("Error: Incorrect read between two ReadAt from same offset.")
+ failureLog(function, args, startTime, "", "Incorrect read between two ReadAt from same offset", err).Fatal()
}
buf5 := make([]byte, n)
@@ -1368,14 +1617,14 @@ func testGetObjectReadAtFunctional() {
m, err = r.ReadAt(buf5, 0)
if err != nil {
if err != io.EOF {
- logger().Fatal("Error:", err, len(buf5))
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
}
if m != len(buf5) {
- logger().Fatalf("Error: ReadAt read shorter bytes before reaching EOF, want %v, got %v\n", m, len(buf5))
+ failureLog(function, args, startTime, "", "ReadAt read shorter bytes before reaching EOF, expected "+string(len(buf5))+", got "+string(m), err).Fatal()
}
if !bytes.Equal(buf, buf5) {
- logger().Fatal("Error: Incorrect data read in GetObject, than what was previously upoaded.")
+ failureLog(function, args, startTime, "", "Incorrect data read in GetObject, than what was previously uploaded", err).Fatal()
}
buf6 := make([]byte, n+1)
@@ -1383,22 +1632,28 @@ func testGetObjectReadAtFunctional() {
_, err = r.ReadAt(buf6, 0)
if err != nil {
if err != io.EOF {
- logger().Fatal("Error:", err, len(buf6))
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
}
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test Presigned Post Policy
func testPresignedPostPolicy() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "PresignedPostPolicy(policy)"
+ args := map[string]interface{}{
+ "policy": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -1411,7 +1666,7 @@ func testPresignedPostPolicy() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -1426,43 +1681,49 @@ func testPresignedPostPolicy() {
// Make a new bucket in 'us-east-1' (source bucket).
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- // Generate data more than 32K
- var buf = getDataBuffer("datafile-33-kB", rand.Intn(1<<20)+32*1024)
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
+ defer reader.Close()
- // Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
+
+ buf, err := ioutil.ReadAll(reader)
+ if err != nil {
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
+ }
+
+ // Save the data
n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match want %v, got %v",
- len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(thirtyThreeKiB))+" got "+string(n), err).Fatal()
}
policy := minio.NewPostPolicy()
if err := policy.SetBucket(""); err == nil {
- logger().Fatalf("Error: %s", err)
+ failureLog(function, args, startTime, "", "SetBucket did not fail for invalid conditions", err).Fatal()
}
if err := policy.SetKey(""); err == nil {
- logger().Fatalf("Error: %s", err)
+ failureLog(function, args, startTime, "", "SetKey did not fail for invalid conditions", err).Fatal()
}
if err := policy.SetKeyStartsWith(""); err == nil {
- logger().Fatalf("Error: %s", err)
+ failureLog(function, args, startTime, "", "SetKeyStartsWith did not fail for invalid conditions", err).Fatal()
}
if err := policy.SetExpires(time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC)); err == nil {
- logger().Fatalf("Error: %s", err)
+ failureLog(function, args, startTime, "", "SetExpires did not fail for invalid conditions", err).Fatal()
}
if err := policy.SetContentType(""); err == nil {
- logger().Fatalf("Error: %s", err)
+ failureLog(function, args, startTime, "", "SetContentType did not fail for invalid conditions", err).Fatal()
}
if err := policy.SetContentLengthRange(1024*1024, 1024); err == nil {
- logger().Fatalf("Error: %s", err)
+ failureLog(function, args, startTime, "", "SetContentLengthRange did not fail for invalid conditions", err).Fatal()
}
policy.SetBucket(bucketName)
@@ -1470,10 +1731,11 @@ func testPresignedPostPolicy() {
policy.SetExpires(time.Now().UTC().AddDate(0, 0, 10)) // expires in 10 days
policy.SetContentType("image/png")
policy.SetContentLengthRange(1024, 1024*1024)
+ args["policy"] = policy
_, _, err = c.PresignedPostPolicy(policy)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "PresignedPostPolicy failed", err).Fatal()
}
policy = minio.NewPostPolicy()
@@ -1481,18 +1743,25 @@ func testPresignedPostPolicy() {
// Remove all objects and buckets
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests copy object
func testCopyObject() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "CopyObject(dst, src)"
+ args := map[string]interface{}{
+ "dst": "",
+ "src": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -1504,7 +1773,7 @@ func testCopyObject() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -1519,38 +1788,37 @@ func testCopyObject() {
// Make a new bucket in 'us-east-1' (source bucket).
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Make a new bucket in 'us-east-1' (destination bucket).
err = c.MakeBucket(bucketName+"-copy", "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName+"-copy")
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- // Generate data more than 32K
- buf := bytes.Repeat([]byte("5"), rand.Intn(1<<20)+32*1024)
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
// Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
- n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
+ n, err := c.PutObject(bucketName, objectName, reader, "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match want %v, got %v",
- len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(thirtyThreeKiB))+", got "+string(n), err).Fatal()
}
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
// Check the various fields of source object against destination object.
objInfo, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
// Copy Source
@@ -1561,120 +1829,130 @@ func testCopyObject() {
// All invalid conditions first.
err = src.SetModifiedSinceCond(time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC))
if err == nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetModifiedSinceCond did not fail for invalid conditions", err).Fatal()
}
err = src.SetUnmodifiedSinceCond(time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC))
if err == nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetUnmodifiedSinceCond did not fail for invalid conditions", err).Fatal()
}
err = src.SetMatchETagCond("")
if err == nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetMatchETagCond did not fail for invalid conditions", err).Fatal()
}
err = src.SetMatchETagExceptCond("")
if err == nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetMatchETagExceptCond did not fail for invalid conditions", err).Fatal()
}
err = src.SetModifiedSinceCond(time.Date(2014, time.April, 0, 0, 0, 0, 0, time.UTC))
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetModifiedSinceCond failed", err).Fatal()
}
err = src.SetMatchETagCond(objInfo.ETag)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetMatchETagCond failed", err).Fatal()
}
+ args["src"] = src
dst, err := minio.NewDestinationInfo(bucketName+"-copy", objectName+"-copy", nil, nil)
+ args["dst"] = dst
if err != nil {
- logger().Fatal(err)
+ failureLog(function, args, startTime, "", "NewDestinationInfo failed", err).Fatal()
}
// Perform the Copy
err = c.CopyObject(dst, src)
if err != nil {
- logger().Fatal("Error:", err, bucketName+"-copy", objectName+"-copy")
+ failureLog(function, args, startTime, "", "CopyObject failed", err).Fatal()
}
// Source object
- reader, err := c.GetObject(bucketName, objectName)
+ r, err = c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
+
// Destination object
readerCopy, err := c.GetObject(bucketName+"-copy", objectName+"-copy")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
// Check the various fields of source object against destination object.
- objInfo, err = reader.Stat()
+ objInfo, err = r.Stat()
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
objInfoCopy, err := readerCopy.Stat()
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
if objInfo.Size != objInfoCopy.Size {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n",
- objInfo.Size, objInfoCopy.Size)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(objInfoCopy.Size)+", got "+string(objInfo.Size), err).Fatal()
}
// CopyObject again but with wrong conditions
src = minio.NewSourceInfo(bucketName, objectName, nil)
err = src.SetUnmodifiedSinceCond(time.Date(2014, time.April, 0, 0, 0, 0, 0, time.UTC))
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetUnmodifiedSinceCond failed", err).Fatal()
}
err = src.SetMatchETagExceptCond(objInfo.ETag)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetMatchETagExceptCond failed", err).Fatal()
}
// Perform the Copy which should fail
err = c.CopyObject(dst, src)
if err == nil {
- logger().Fatal("Error:", err, bucketName+"-copy", objectName+"-copy should fail")
+ failureLog(function, args, startTime, "", "CopyObject did not fail for invalid conditions", err).Fatal()
}
// Remove all objects and buckets
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName+"-copy", objectName+"-copy")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
err = c.RemoveBucket(bucketName + "-copy")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// TestEncryptionPutGet tests client side encryption
func testEncryptionPutGet() {
- logger().Info()
-
+ // initialize logging params
+ startTime := time.Now()
+ function := "PutEncryptedObject(bucketName, objectName, reader, cbcMaterials, metadata, progress)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ "cbcMaterials": "",
+ "metadata": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
- // Instantiate new minio client object.
- c, err := minio.New(
+ // Instantiate new minio client object
+ c, err := minio.NewV4(
os.Getenv(serverEndpoint),
os.Getenv(accessKey),
os.Getenv(secretKey),
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -1685,11 +1963,12 @@ func testEncryptionPutGet() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Generate a symmetric key
@@ -1721,7 +2000,7 @@ func testEncryptionPutGet() {
"9945cb5c7d")
if err != nil {
- logger().Fatal(err)
+ failureLog(function, args, startTime, "", "DecodeString for symmetric Key generation failed", err).Fatal()
}
publicKey, err := hex.DecodeString("30819f300d06092a864886f70d010101050003818d003081890281810087" +
@@ -1731,17 +2010,18 @@ func testEncryptionPutGet() {
"c0a07020a78eed7eaa471eca4b92071394e061346c0615ccce2f465dee20" +
"80a89e43f29b570203010001")
if err != nil {
- logger().Fatal(err)
+ failureLog(function, args, startTime, "", "DecodeString for symmetric Key generation failed", err).Fatal()
}
// Generate an asymmetric key
asymKey, err := encrypt.NewAsymmetricKey(privateKey, publicKey)
if err != nil {
- logger().Fatal(err)
+ failureLog(function, args, startTime, "", "NewAsymmetricKey for symmetric Key generation failed", err).Fatal()
}
// Object custom metadata
customContentType := "custom/contenttype"
+ args["metadata"] = customContentType
testCases := []struct {
buf []byte
@@ -1770,43 +2050,45 @@ func testEncryptionPutGet() {
for i, testCase := range testCases {
// Generate a random object name
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
+ args["objectName"] = objectName
// Secured object
cbcMaterials, err := encrypt.NewCBCSecureMaterials(testCase.encKey)
+ args["cbcMaterials"] = cbcMaterials
+
if err != nil {
- logger().Fatal(err)
+ failureLog(function, args, startTime, "", "NewCBCSecureMaterials failed", err).Fatal()
}
// Put encrypted data
_, err = c.PutEncryptedObject(bucketName, objectName, bytes.NewReader(testCase.buf), cbcMaterials, map[string][]string{"Content-Type": {customContentType}}, nil)
if err != nil {
- logger().Fatalf("Test %d, error: %v %v %v", i+1, err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutEncryptedObject failed", err).Fatal()
}
// Read the data back
r, err := c.GetEncryptedObject(bucketName, objectName, cbcMaterials)
if err != nil {
- logger().Fatalf("Test %d, error: %v %v %v", i+1, err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "GetEncryptedObject failed", err).Fatal()
}
defer r.Close()
// Compare the sent object with the received one
recvBuffer := bytes.NewBuffer([]byte{})
if _, err = io.Copy(recvBuffer, r); err != nil {
- logger().Fatalf("Test %d, error: %v", i+1, err)
+ failureLog(function, args, startTime, "", "Test "+string(i+1)+", error: "+err.Error(), err).Fatal()
}
if recvBuffer.Len() != len(testCase.buf) {
- logger().Fatalf("Test %d, error: number of bytes of received object does not match, want %v, got %v\n",
- i+1, len(testCase.buf), recvBuffer.Len())
+ failureLog(function, args, startTime, "", "Test "+string(i+1)+", Number of bytes of received object does not match, expected "+string(len(testCase.buf))+", got "+string(recvBuffer.Len()), err).Fatal()
}
if !bytes.Equal(testCase.buf, recvBuffer.Bytes()) {
- logger().Fatalf("Test %d, error: Encrypted sent is not equal to decrypted, want `%x`, go `%x`", i+1, testCase.buf, recvBuffer.Bytes())
+ failureLog(function, args, startTime, "", "Test "+string(i+1)+", Encrypted sent is not equal to decrypted, expected "+string(testCase.buf)+", got "+string(recvBuffer.Bytes()), err).Fatal()
}
// Remove test object
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatalf("Test %d, error: %v", i+1, err)
+ failureLog(function, args, startTime, "", "Test "+string(i+1)+", RemoveObject failed with: "+err.Error(), err).Fatal()
}
}
@@ -1814,20 +2096,26 @@ func testEncryptionPutGet() {
// Remove test bucket
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ err = c.RemoveBucket(bucketName)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
-
+ successLogger(function, args, startTime).Info()
}
func testBucketNotification() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "SetBucketNotification(bucketName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ }
if os.Getenv("NOTIFY_BUCKET") == "" ||
os.Getenv("NOTIFY_SERVICE") == "" ||
os.Getenv("NOTIFY_REGION") == "" ||
os.Getenv("NOTIFY_ACCOUNTID") == "" ||
os.Getenv("NOTIFY_RESOURCE") == "" {
- logger().Info("skipping notification test if not configured")
+ ignoredLog(function, args, startTime, "Skipped notification test as it is not configured").Info()
return
}
@@ -1841,7 +2129,7 @@ func testBucketNotification() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable to debug
@@ -1851,11 +2139,13 @@ func testBucketNotification() {
c.SetAppInfo("Minio-go-FunctionalTest", "0.1.0")
bucketName := os.Getenv("NOTIFY_BUCKET")
+ args["bucketName"] = bucketName
topicArn := minio.NewArn("aws", os.Getenv("NOTIFY_SERVICE"), os.Getenv("NOTIFY_REGION"), os.Getenv("NOTIFY_ACCOUNTID"), os.Getenv("NOTIFY_RESOURCE"))
queueArn := minio.NewArn("aws", "dummy-service", "dummy-region", "dummy-accountid", "dummy-resource")
topicConfig := minio.NewNotificationConfig(topicArn)
+
topicConfig.AddEvents(minio.ObjectCreatedAll, minio.ObjectRemovedAll)
topicConfig.AddFilterSuffix("jpg")
@@ -1870,7 +2160,7 @@ func testBucketNotification() {
// because it is duplicated
bNotification.AddTopic(topicConfig)
if len(bNotification.TopicConfigs) != 1 {
- logger().Fatal("Error: duplicated entry added")
+ failureLog(function, args, startTime, "", "Duplicate entry added", err).Fatal()
}
// Add and remove a queue config
@@ -1879,31 +2169,34 @@ func testBucketNotification() {
err = c.SetBucketNotification(bucketName, bNotification)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "SetBucketNotification failed", err).Fatal()
}
bNotification, err = c.GetBucketNotification(bucketName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "GetBucketNotification failed", err).Fatal()
}
if len(bNotification.TopicConfigs) != 1 {
- logger().Fatal("Error: Topic config is empty")
+ failureLog(function, args, startTime, "", "Topic config is empty", err).Fatal()
}
if bNotification.TopicConfigs[0].Filter.S3Key.FilterRules[0].Value != "jpg" {
- logger().Fatal("Error: cannot get the suffix")
+ failureLog(function, args, startTime, "", "Couldn't get the suffix", err).Fatal()
}
err = c.RemoveAllBucketNotification(bucketName)
if err != nil {
- logger().Fatal("Error: cannot delete bucket notification")
+ failureLog(function, args, startTime, "", "RemoveAllBucketNotification failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests comprehensive list of all methods.
func testFunctional() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testFunctional()"
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -1915,7 +2208,7 @@ func testFunctional() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, nil, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable to debug
@@ -1929,21 +2222,26 @@ func testFunctional() {
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
+ function = "MakeBucket(bucketName, region)"
+ args := map[string]interface{}{
+ "bucketName": bucketName,
+ }
+
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Generate a random file name.
fileName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
file, err := os.Create(fileName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File creation failed", err).Fatal()
}
for i := 0; i < 3; i++ {
buf := make([]byte, rand.Intn(1<<19))
_, err = file.Write(buf)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File write failed", err).Fatal()
}
}
file.Close()
@@ -1951,68 +2249,121 @@ func testFunctional() {
// Verify if bucket exits and you have access.
var exists bool
exists, err = c.BucketExists(bucketName)
+ function = "BucketExists(bucketName)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ }
+
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "BucketExists failed", err).Fatal()
}
if !exists {
- logger().Fatal("Error: could not find ", bucketName)
+ failureLog(function, args, startTime, "", "Could not find the bucket", err).Fatal()
}
// Asserting the default bucket policy.
policyAccess, err := c.GetBucketPolicy(bucketName, "")
+ function = "GetBucketPolicy(bucketName, objectPrefix)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectPrefix": "",
+ }
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetBucketPolicy failed", err).Fatal()
}
if policyAccess != "none" {
- logger().Fatalf("Default bucket policy incorrect")
+ failureLog(function, args, startTime, "", "policy should be set to none", err).Fatal()
}
// Set the bucket policy to 'public readonly'.
err = c.SetBucketPolicy(bucketName, "", policy.BucketPolicyReadOnly)
+ function = "SetBucketPolicy(bucketName, objectPrefix, bucketPolicy)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectPrefix": "",
+ "bucketPolicy": policy.BucketPolicyReadOnly,
+ }
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetBucketPolicy failed", err).Fatal()
}
// should return policy `readonly`.
policyAccess, err = c.GetBucketPolicy(bucketName, "")
+ function = "GetBucketPolicy(bucketName, objectPrefix)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectPrefix": "",
+ }
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetBucketPolicy failed", err).Fatal()
}
if policyAccess != "readonly" {
- logger().Fatalf("Expected bucket policy to be readonly")
+ failureLog(function, args, startTime, "", "policy should be set to readonly", err).Fatal()
}
// Make the bucket 'public writeonly'.
err = c.SetBucketPolicy(bucketName, "", policy.BucketPolicyWriteOnly)
+ function = "SetBucketPolicy(bucketName, objectPrefix, bucketPolicy)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectPrefix": "",
+ "bucketPolicy": policy.BucketPolicyWriteOnly,
+ }
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetBucketPolicy failed", err).Fatal()
}
// should return policy `writeonly`.
policyAccess, err = c.GetBucketPolicy(bucketName, "")
+ function = "GetBucketPolicy(bucketName, objectPrefix)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectPrefix": "",
+ }
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetBucketPolicy failed", err).Fatal()
}
if policyAccess != "writeonly" {
- logger().Fatalf("Expected bucket policy to be writeonly")
+ failureLog(function, args, startTime, "", "policy should be set to writeonly", err).Fatal()
}
// Make the bucket 'public read/write'.
err = c.SetBucketPolicy(bucketName, "", policy.BucketPolicyReadWrite)
+ function = "SetBucketPolicy(bucketName, objectPrefix, bucketPolicy)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectPrefix": "",
+ "bucketPolicy": policy.BucketPolicyReadWrite,
+ }
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetBucketPolicy failed", err).Fatal()
}
// should return policy `readwrite`.
policyAccess, err = c.GetBucketPolicy(bucketName, "")
+ function = "GetBucketPolicy(bucketName, objectPrefix)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectPrefix": "",
+ }
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetBucketPolicy failed", err).Fatal()
}
if policyAccess != "readwrite" {
- logger().Fatalf("Expected bucket policy to be readwrite")
+ failureLog(function, args, startTime, "", "policy should be set to readwrite", err).Fatal()
}
// List all buckets.
buckets, err := c.ListBuckets()
+ function = "ListBuckets()"
+ args = nil
+
if len(buckets) == 0 {
- logger().Fatal("Error: list buckets cannot be empty", buckets)
+ failureLog(function, args, startTime, "", "Found bucket list to be empty", err).Fatal()
}
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "ListBuckets failed", err).Fatal()
}
// Verify if previously created bucket is listed in list buckets.
@@ -2025,7 +2376,7 @@ func testFunctional() {
// If bucket not found error out.
if !bucketFound {
- logger().Fatal("Error: bucket ", bucketName, "not found")
+ failureLog(function, args, startTime, "", "Bucket: "+bucketName+" not found", err).Fatal()
}
objectName := bucketName + "unique"
@@ -2034,20 +2385,34 @@ func testFunctional() {
buf := bytes.Repeat([]byte("f"), 1<<19)
n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "")
+ function = "PutObject(bucketName, objectName, reader, contentType)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ "contentType": "",
+ }
+
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
+
if n != int64(len(buf)) {
- logger().Fatal("Error: bad length ", n, len(buf))
+ failureLog(function, args, startTime, "", "Length doesn't match, expected "+string(int64(len(buf)))+" got "+string(n), err).Fatal()
}
n, err = c.PutObject(bucketName, objectName+"-nolength", bytes.NewReader(buf), "binary/octet-stream")
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName + "-nolength",
+ "contentType": "binary/octet-stream",
+ }
+
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName+"-nolength")
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ failureLog(function, args, startTime, "", "Length doesn't match, expected "+string(int64(len(buf)))+" got "+string(n), err).Fatal()
}
// Instantiate a done channel to close all listing.
@@ -2056,6 +2421,14 @@ func testFunctional() {
objFound := false
isRecursive := true // Recursive is true.
+
+ function = "ListObjects(bucketName, objectName, isRecursive, doneCh)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ "isRecursive": isRecursive,
+ }
+
for obj := range c.ListObjects(bucketName, objectName, isRecursive, doneCh) {
if obj.Key == objectName {
objFound = true
@@ -2063,11 +2436,18 @@ func testFunctional() {
}
}
if !objFound {
- logger().Fatal("Error: object " + objectName + " not found.")
+ failureLog(function, args, startTime, "", "Object "+objectName+" not found", err).Fatal()
}
objFound = false
isRecursive = true // Recursive is true.
+ function = "ListObjectsV2(bucketName, objectName, isRecursive, doneCh)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ "isRecursive": isRecursive,
+ }
+
for obj := range c.ListObjectsV2(bucketName, objectName, isRecursive, doneCh) {
if obj.Key == objectName {
objFound = true
@@ -2075,10 +2455,18 @@ func testFunctional() {
}
}
if !objFound {
- logger().Fatal("Error: object " + objectName + " not found.")
+ failureLog(function, args, startTime, "", "Object "+objectName+" not found", err).Fatal()
}
incompObjNotFound := true
+
+ function = "ListIncompleteUploads(bucketName, objectName, isRecursive, doneCh)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ "isRecursive": isRecursive,
+ }
+
for objIncompl := range c.ListIncompleteUploads(bucketName, objectName, isRecursive, doneCh) {
if objIncompl.Key != "" {
incompObjNotFound = false
@@ -2086,86 +2474,147 @@ func testFunctional() {
}
}
if !incompObjNotFound {
- logger().Fatal("Error: unexpected dangling incomplete upload found.")
+ failureLog(function, args, startTime, "", "Unexpected dangling incomplete upload found", err).Fatal()
}
newReader, err := c.GetObject(bucketName, objectName)
+ function = "GetObject(bucketName, objectName)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ }
+
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
newReadBytes, err := ioutil.ReadAll(newReader)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
}
if !bytes.Equal(newReadBytes, buf) {
- logger().Fatal("Error: bytes mismatch.")
+ failureLog(function, args, startTime, "", "GetObject bytes mismatch", err).Fatal()
}
err = c.FGetObject(bucketName, objectName, fileName+"-f")
+ function = "FGetObject(bucketName, objectName, fileName)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ "fileName": fileName + "-f",
+ }
+
+ if err != nil {
+ failureLog(function, args, startTime, "", "FGetObject failed", err).Fatal()
+ }
+
+ // Generate presigned HEAD object url.
+ presignedHeadURL, err := c.PresignedHeadObject(bucketName, objectName, 3600*time.Second, nil)
+ function = "PresignedHeadObject(bucketName, objectName, expires, reqParams)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ "expires": 3600 * time.Second,
+ }
+
+ if err != nil {
+ failureLog(function, args, startTime, "", "PresignedHeadObject failed", err).Fatal()
+ }
+ // Verify if presigned url works.
+ resp, err := http.Head(presignedHeadURL.String())
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedHeadObject response incorrect", err).Fatal()
}
+ if resp.StatusCode != http.StatusOK {
+ failureLog(function, args, startTime, "", "PresignedHeadObject response incorrect, status "+string(resp.StatusCode), err).Fatal()
+ }
+ if resp.Header.Get("ETag") == "" {
+ failureLog(function, args, startTime, "", "PresignedHeadObject response incorrect", err).Fatal()
+ }
+ resp.Body.Close()
// Generate presigned GET object url.
presignedGetURL, err := c.PresignedGetObject(bucketName, objectName, 3600*time.Second, nil)
+ function = "PresignedGetObject(bucketName, objectName, expires, reqParams)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ "expires": 3600 * time.Second,
+ }
+
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject failed", err).Fatal()
}
// Verify if presigned url works.
- resp, err := http.Get(presignedGetURL.String())
+ resp, err = http.Get(presignedGetURL.String())
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject response incorrect", err).Fatal()
}
if resp.StatusCode != http.StatusOK {
- logger().Fatal("Error: ", resp.Status)
+ failureLog(function, args, startTime, "", "PresignedGetObject response incorrect, status "+string(resp.StatusCode), err).Fatal()
}
newPresignedBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject response incorrect", err).Fatal()
}
+ resp.Body.Close()
if !bytes.Equal(newPresignedBytes, buf) {
- logger().Fatal("Error: bytes mismatch.")
+ failureLog(function, args, startTime, "", "PresignedGetObject response incorrect", err).Fatal()
}
// Set request parameters.
reqParams := make(url.Values)
reqParams.Set("response-content-disposition", "attachment; filename=\"test.txt\"")
presignedGetURL, err = c.PresignedGetObject(bucketName, objectName, 3600*time.Second, reqParams)
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ "expires": 3600 * time.Second,
+ "reqParams": reqParams,
+ }
+
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject failed", err).Fatal()
}
// Verify if presigned url works.
resp, err = http.Get(presignedGetURL.String())
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject response incorrect", err).Fatal()
}
if resp.StatusCode != http.StatusOK {
- logger().Fatal("Error: ", resp.Status)
+ failureLog(function, args, startTime, "", "PresignedGetObject response incorrect, status "+string(resp.StatusCode), err).Fatal()
}
newPresignedBytes, err = ioutil.ReadAll(resp.Body)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject response incorrect", err).Fatal()
}
if !bytes.Equal(newPresignedBytes, buf) {
- logger().Fatal("Error: bytes mismatch for presigned GET URL.")
+ failureLog(function, args, startTime, "", "Bytes mismatch for presigned GET URL", err).Fatal()
}
if resp.Header.Get("Content-Disposition") != "attachment; filename=\"test.txt\"" {
- logger().Fatalf("Error: wrong Content-Disposition received %s", resp.Header.Get("Content-Disposition"))
+ failureLog(function, args, startTime, "", "wrong Content-Disposition received "+string(resp.Header.Get("Content-Disposition")), err).Fatal()
}
presignedPutURL, err := c.PresignedPutObject(bucketName, objectName+"-presigned", 3600*time.Second)
+
+ function = "PresignedPutObject(bucketName, objectName, expires)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ "expires": 3600 * time.Second,
+ }
+
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedPutObject failed", err).Fatal()
}
buf = bytes.Repeat([]byte("g"), 1<<19)
req, err := http.NewRequest("PUT", presignedPutURL.String(), bytes.NewReader(buf))
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "Couldn't make HTTP request with PresignedPutObject URL", err).Fatal()
}
httpClient := &http.Client{
// Setting a sensible time out of 30secs to wait for response
@@ -2176,62 +2625,90 @@ func testFunctional() {
}
resp, err = httpClient.Do(req)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedPutObject failed", err).Fatal()
}
newReader, err = c.GetObject(bucketName, objectName+"-presigned")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "GetObject after PresignedPutObject failed", err).Fatal()
}
newReadBytes, err = ioutil.ReadAll(newReader)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "ReadAll after GetObject failed", err).Fatal()
}
if !bytes.Equal(newReadBytes, buf) {
- logger().Fatal("Error: bytes mismatch.")
+ failureLog(function, args, startTime, "", "Bytes mismatch", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName)
+ function = "RemoveObject(bucketName, objectName)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ "objectName": objectName,
+ }
+
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName+"-f")
+ args["objectName"] = objectName + "-f"
+
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
+
err = c.RemoveObject(bucketName, objectName+"-nolength")
+ args["objectName"] = objectName + "-nolength"
+
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
+
err = c.RemoveObject(bucketName, objectName+"-presigned")
+ args["objectName"] = objectName + "-presigned"
+
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
+
err = c.RemoveBucket(bucketName)
+ function = "RemoveBucket(bucketName)"
+ args = map[string]interface{}{
+ "bucketName": bucketName,
+ }
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err == nil {
- logger().Fatal("Error:")
+ failureLog(function, args, startTime, "", "RemoveBucket did not fail for invalid bucket name", err).Fatal()
}
if err.Error() != "The specified bucket does not exist" {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
if err = os.Remove(fileName); err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "File Remove failed", err).Fatal()
}
if err = os.Remove(fileName + "-f"); err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "File Remove failed", err).Fatal()
}
+ function = "testFunctional()"
+ successLogger(function, args, startTime).Info()
}
// Test for validating GetObject Reader* methods functioning when the
// object is modified in the object store.
func testGetObjectObjectModified() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "GetObject(bucketName, objectName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
// Instantiate new minio client object.
c, err := minio.NewV4(
@@ -2241,7 +2718,7 @@ func testGetObjectObjectModified() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -2252,9 +2729,11 @@ func testGetObjectObjectModified() {
// Make a new bucket.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
+
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
defer c.RemoveBucket(bucketName)
@@ -2263,14 +2742,14 @@ func testGetObjectObjectModified() {
content := "helloworld"
_, err = c.PutObject(bucketName, objectName, strings.NewReader(content), "application/text")
if err != nil {
- logger().Fatalf("Failed to upload %s/%s: %v", bucketName, objectName, err)
+ failureLog(function, args, startTime, "", "Failed to upload "+objectName+", to bucket "+bucketName, err).Fatal()
}
defer c.RemoveObject(bucketName, objectName)
reader, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatalf("Failed to get object %s/%s: %v", bucketName, objectName, err)
+ failureLog(function, args, startTime, "", "Failed to GetObject "+objectName+", from bucket "+bucketName, err).Fatal()
}
defer reader.Close()
@@ -2278,32 +2757,42 @@ func testGetObjectObjectModified() {
b := make([]byte, 5)
n, err := reader.ReadAt(b, 0)
if err != nil {
- logger().Fatalf("Failed to read object %s/%s at an offset: %v", bucketName, objectName, err)
+ failureLog(function, args, startTime, "", "Failed to read object "+objectName+", from bucket "+bucketName+" at an offset", err).Fatal()
}
// Upload different contents to the same object while object is being read.
newContent := "goodbyeworld"
_, err = c.PutObject(bucketName, objectName, strings.NewReader(newContent), "application/text")
if err != nil {
- logger().Fatalf("Failed to upload %s/%s: %v", bucketName, objectName, err)
+ failureLog(function, args, startTime, "", "Failed to upload "+objectName+", to bucket "+bucketName, err).Fatal()
}
// Confirm that a Stat() call in between doesn't change the Object's cached etag.
_, err = reader.Stat()
- if err.Error() != "At least one of the pre-conditions you specified did not hold" {
- log.Error(fmt.Errorf("Expected Stat to fail with error %s but received %s", "At least one of the pre-conditions you specified did not hold", err.Error()))
+ expectedError := "At least one of the pre-conditions you specified did not hold"
+ if err.Error() != expectedError {
+ failureLog(function, args, startTime, "", "Expected Stat to fail with error "+expectedError+", but received "+err.Error(), err).Fatal()
}
// Read again only to find object contents have been modified since last read.
_, err = reader.ReadAt(b, int64(n))
- if err.Error() != "At least one of the pre-conditions you specified did not hold" {
- log.Error(fmt.Errorf("Expected ReadAt to fail with error %s but received %s", "At least one of the pre-conditions you specified did not hold", err.Error()))
+ if err.Error() != expectedError {
+ failureLog(function, args, startTime, "", "Expected ReadAt to fail with error "+expectedError+", but received "+err.Error(), err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test validates putObject to upload a file seeked at a given offset.
func testPutObjectUploadSeekedObject() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "PutObject(bucketName, objectName, fileToUpload, contentType)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ "fileToUpload": "",
+ "contentType": "binary/octet-stream",
+ }
// Instantiate new minio client object.
c, err := minio.NewV4(
@@ -2313,7 +2802,7 @@ func testPutObjectUploadSeekedObject() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -2324,15 +2813,19 @@ func testPutObjectUploadSeekedObject() {
// Make a new bucket.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
+
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
defer c.RemoveBucket(bucketName)
tempfile, err := ioutil.TempFile("", "minio-go-upload-test-")
+ args["fileToUpload"] = tempfile
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "TempFile create failed", err).Fatal()
}
var data []byte
@@ -2344,65 +2837,78 @@ func testPutObjectUploadSeekedObject() {
}
var length = len(data)
if _, err = tempfile.Write(data); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "TempFile write failed", err).Fatal()
}
objectName := fmt.Sprintf("test-file-%v", rand.Uint32())
+ args["objectName"] = objectName
offset := length / 2
if _, err := tempfile.Seek(int64(offset), 0); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "TempFile seek failed", err).Fatal()
}
n, err := c.PutObject(bucketName, objectName, tempfile, "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
if n != int64(length-offset) {
- logger().Fatalf("Invalid length returned, want %v, got %v", int64(length-offset), n)
+ failureLog(function, args, startTime, "", "Invalid length returned, expected "+string(int64(length-offset))+" got "+string(n), err).Fatal()
}
tempfile.Close()
if err = os.Remove(tempfile.Name()); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File remove failed", err).Fatal()
}
length = int(n)
obj, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
n, err = obj.Seek(int64(offset), 0)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Seek failed", err).Fatal()
}
if n != int64(offset) {
- logger().Fatalf("Invalid offset returned, want %v, got %v", int64(offset), n)
+ failureLog(function, args, startTime, "", "Invalid offset returned, expected "+string(int64(offset))+" got "+string(n), err).Fatal()
}
n, err = c.PutObject(bucketName, objectName+"getobject", obj, "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
if n != int64(length-offset) {
- logger().Fatalf("Invalid length returned, want %v, got %v", int64(length-offset), n)
+ failureLog(function, args, startTime, "", "Invalid offset returned, expected "+string(int64(length-offset))+" got "+string(n), err).Fatal()
}
if err = c.RemoveObject(bucketName, objectName); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
if err = c.RemoveObject(bucketName, objectName+"getobject"); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
+ }
+
+ if err = c.RemoveBucket(bucketName); err != nil {
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests bucket re-create errors.
func testMakeBucketErrorV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "MakeBucket(bucketName, region)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "region": "eu-west-1",
+ }
+
if os.Getenv(serverEndpoint) != "s3.amazonaws.com" {
- logger().Info("skipping region functional tests for non s3 runs")
+ ignoredLog(function, args, startTime, "Skipped region functional tests for non s3 runs").Info()
return
}
@@ -2417,7 +2923,7 @@ func testMakeBucketErrorV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -2428,27 +2934,35 @@ func testMakeBucketErrorV2() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket in 'eu-west-1'.
if err = c.MakeBucket(bucketName, "eu-west-1"); err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
if err = c.MakeBucket(bucketName, "eu-west-1"); err == nil {
- logger().Fatal("Error: make bucket should should fail for", bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket did not fail for existing bucket name", err).Fatal()
}
// Verify valid error response from server.
if minio.ToErrorResponse(err).Code != "BucketAlreadyExists" &&
minio.ToErrorResponse(err).Code != "BucketAlreadyOwnedByYou" {
- logger().Fatal("Error: Invalid error returned by server", err)
+ failureLog(function, args, startTime, "", "Invalid error returned by server", err).Fatal()
}
if err = c.RemoveBucket(bucketName); err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test get object reader to not throw error on being closed twice.
func testGetObjectClosedTwiceV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "MakeBucket(bucketName, region)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "region": "eu-west-1",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -2461,7 +2975,7 @@ func testGetObjectClosedTwiceV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -2472,61 +2986,72 @@ func testGetObjectClosedTwiceV2() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- // Generate data more than 32K.
- var buf = getDataBuffer("datafile-33-kB", rand.Intn(1<<20)+32*1024)
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
+ defer reader.Close()
// Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
- n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
+ args["objectName"] = objectName
+
+ n, err := c.PutObject(bucketName, objectName, reader, "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(thirtyThreeKiB)+" got "+string(n), err).Fatal()
}
// Read the data back
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
st, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
- if st.Size != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes in stat does not match, want %v, got %v\n",
- len(buf), st.Size)
+
+ if st.Size != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(thirtyThreeKiB)+" got "+string(st.Size), err).Fatal()
}
if err := r.Close(); err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
if err := r.Close(); err == nil {
- logger().Fatal("Error: object is already closed, should return error")
+ failureLog(function, args, startTime, "", "Object is already closed, should return error", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests removing partially uploaded objects.
func testRemovePartiallyUploadedV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "RemoveIncompleteUpload(bucketName, objectName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -2539,7 +3064,7 @@ func testRemovePartiallyUploadedV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
// Set user agent.
@@ -2550,11 +3075,12 @@ func testRemovePartiallyUploadedV2() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
r := bytes.NewReader(bytes.Repeat([]byte("a"), 128*1024))
@@ -2565,7 +3091,7 @@ func testRemovePartiallyUploadedV2() {
for i < 25 {
_, cerr := io.CopyN(writer, r, 128*1024)
if cerr != nil {
- logger().Fatal("Error:", cerr, bucketName)
+ failureLog(function, args, startTime, "", "Copy failed", cerr).Fatal()
}
i++
r.Seek(0, 0)
@@ -2574,26 +3100,37 @@ func testRemovePartiallyUploadedV2() {
}()
objectName := bucketName + "-resumable"
+ args["objectName"] = objectName
+
_, err = c.PutObject(bucketName, objectName, reader, "application/octet-stream")
if err == nil {
- logger().Fatal("Error: PutObject should fail.")
+ failureLog(function, args, startTime, "", "PutObject should fail", err).Fatal()
}
if err.Error() != "proactively closed to be verified later" {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Unexpected error, expected : proactively closed to be verified later", err).Fatal()
}
err = c.RemoveIncompleteUpload(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveIncompleteUpload failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests FPutObject hidden contentType setting
func testFPutObjectV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "FPutObject(bucketName, objectName, fileName, contentType)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ "fileName": "",
+ "contentType": "application/octet-stream",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -2606,7 +3143,7 @@ func testFPutObjectV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -2617,132 +3154,146 @@ func testFPutObjectV2() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Make a temp file with 11*1024*1024 bytes of data.
file, err := ioutil.TempFile(os.TempDir(), "FPutObjectTest")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "TempFile creation failed", err).Fatal()
}
r := bytes.NewReader(bytes.Repeat([]byte("b"), 11*1024*1024))
n, err := io.CopyN(file, r, 11*1024*1024)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Copy failed", err).Fatal()
}
if n != int64(11*1024*1024) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", 11*1024*1024, n)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(11*1024*1024))+" got "+string(n), err).Fatal()
}
// Close the file pro-actively for windows.
err = file.Close()
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File close failed", err).Fatal()
}
// Set base object name
objectName := bucketName + "FPutObject"
+ args["objectName"] = objectName
+ args["fileName"] = file.Name()
// Perform standard FPutObject with contentType provided (Expecting application/octet-stream)
n, err = c.FPutObject(bucketName, objectName+"-standard", file.Name(), "application/octet-stream")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "FPutObject failed", err).Fatal()
}
if n != int64(11*1024*1024) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", 11*1024*1024, n)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(11*1024*1024))+" got "+string(n), err).Fatal()
}
// Perform FPutObject with no contentType provided (Expecting application/octet-stream)
n, err = c.FPutObject(bucketName, objectName+"-Octet", file.Name(), "")
+ args["objectName"] = objectName + "-Octet"
+ args["contentType"] = ""
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "FPutObject failed", err).Fatal()
}
if n != int64(11*1024*1024) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", 11*1024*1024, n)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(11*1024*1024))+" got "+string(n), err).Fatal()
}
// Add extension to temp file name
fileName := file.Name()
err = os.Rename(file.Name(), fileName+".gtar")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Rename failed", err).Fatal()
}
// Perform FPutObject with no contentType provided (Expecting application/x-gtar)
n, err = c.FPutObject(bucketName, objectName+"-GTar", fileName+".gtar", "")
+ args["objectName"] = objectName + "-Octet"
+ args["contentType"] = ""
+ args["fileName"] = fileName + ".gtar"
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "FPutObject failed", err).Fatal()
}
if n != int64(11*1024*1024) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", 11*1024*1024, n)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(11*1024*1024))+" got "+string(n), err).Fatal()
}
// Check headers
rStandard, err := c.StatObject(bucketName, objectName+"-standard")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName+"-standard")
+ failureLog(function, args, startTime, "", "StatObject failed", err).Fatal()
}
if rStandard.ContentType != "application/octet-stream" {
- logger().Fatalf("Error: Content-Type headers mismatched, want %v, got %v\n",
- "application/octet-stream", rStandard.ContentType)
+ failureLog(function, args, startTime, "", "Content-Type headers mismatched, expected: application/octet-stream , got "+rStandard.ContentType, err).Fatal()
}
rOctet, err := c.StatObject(bucketName, objectName+"-Octet")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName+"-Octet")
+ failureLog(function, args, startTime, "", "StatObject failed", err).Fatal()
}
if rOctet.ContentType != "application/octet-stream" {
- logger().Fatalf("Error: Content-Type headers mismatched, want %v, got %v\n",
- "application/octet-stream", rStandard.ContentType)
+ failureLog(function, args, startTime, "", "Content-Type headers mismatched, expected: application/octet-stream , got "+rOctet.ContentType, err).Fatal()
}
rGTar, err := c.StatObject(bucketName, objectName+"-GTar")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName+"-GTar")
+ failureLog(function, args, startTime, "", "StatObject failed", err).Fatal()
}
if rGTar.ContentType != "application/x-gtar" {
- logger().Fatalf("Error: Content-Type headers mismatched, want %v, got %v\n",
- "application/x-gtar", rStandard.ContentType)
+ failureLog(function, args, startTime, "", "Content-Type headers mismatched, expected: application/x-gtar , got "+rGTar.ContentType, err).Fatal()
}
// Remove all objects and bucket and temp file
err = c.RemoveObject(bucketName, objectName+"-standard")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName+"-Octet")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName+"-GTar")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
err = os.Remove(fileName + ".gtar")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "File remove failed", err).Fatal()
}
-
+ successLogger(function, args, startTime).Info()
}
// Tests various bucket supported formats.
func testMakeBucketRegionsV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "MakeBucket(bucketName, region)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "region": "eu-west-1",
+ }
+
if os.Getenv(serverEndpoint) != "s3.amazonaws.com" {
- logger().Info("skipping region functional tests for non s3 runs")
+ ignoredLog(function, args, startTime, "Skipped region functional tests for non s3 runs").Info()
return
}
@@ -2757,7 +3308,7 @@ func testMakeBucketRegionsV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -2768,32 +3319,43 @@ func testMakeBucketRegionsV2() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket in 'eu-central-1'.
if err = c.MakeBucket(bucketName, "eu-west-1"); err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
if err = c.RemoveBucket(bucketName); err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
// Make a new bucket with '.' in its name, in 'us-west-2'. This
// request is internally staged into a path style instead of
// virtual host style.
if err = c.MakeBucket(bucketName+".withperiod", "us-west-2"); err != nil {
- logger().Fatal("Error:", err, bucketName+".withperiod")
+ args["bucketName"] = bucketName + ".withperiod"
+ args["region"] = "us-west-2"
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Remove the newly created bucket.
if err = c.RemoveBucket(bucketName + ".withperiod"); err != nil {
- logger().Fatal("Error:", err, bucketName+".withperiod")
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests get object ReaderSeeker interface methods.
func testGetObjectReadSeekFunctionalV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "GetObject(bucketName, objectName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
+
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -2805,7 +3367,7 @@ func testGetObjectReadSeekFunctionalV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -2816,114 +3378,129 @@ func testGetObjectReadSeekFunctionalV2() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- // Generate data more than 32K.
- var buf = getDataBuffer("datafile-33-kB", rand.Intn(1<<20)+32*1024)
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
+ defer reader.Close()
- // Save the data.
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
+ args["objectName"] = objectName
+
+ buf, err := ioutil.ReadAll(reader)
+ if err != nil {
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
+ }
+
+ // Save the data.
n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(thirtyThreeKiB))+" got "+string(n), err).Fatal()
}
// Read the data back
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
st, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
- if st.Size != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes in stat does not match, want %v, got %v\n",
- len(buf), st.Size)
+
+ if st.Size != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes in stat does not match, expected "+string(int64(thirtyThreeKiB))+" got "+string(st.Size), err).Fatal()
}
offset := int64(2048)
n, err = r.Seek(offset, 0)
if err != nil {
- logger().Fatal("Error:", err, offset)
+ failureLog(function, args, startTime, "", "Seek failed", err).Fatal()
}
if n != offset {
- logger().Fatalf("Error: number of bytes seeked does not match, want %v, got %v\n",
- offset, n)
+ failureLog(function, args, startTime, "", "Number of seeked bytes does not match, expected "+string(offset)+" got "+string(n), err).Fatal()
}
n, err = r.Seek(0, 1)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Seek failed", err).Fatal()
}
if n != offset {
- logger().Fatalf("Error: number of current seek does not match, want %v, got %v\n",
- offset, n)
+ failureLog(function, args, startTime, "", "Number of seeked bytes does not match, expected "+string(offset)+" got "+string(n), err).Fatal()
}
_, err = r.Seek(offset, 2)
if err == nil {
- logger().Fatal("Error: seek on positive offset for whence '2' should error out")
+ failureLog(function, args, startTime, "", "Seek on positive offset for whence '2' should error out", err).Fatal()
}
n, err = r.Seek(-offset, 2)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Seek failed", err).Fatal()
}
if n != st.Size-offset {
- logger().Fatalf("Error: number of bytes seeked back does not match, want %d, got %v\n", st.Size-offset, n)
+ failureLog(function, args, startTime, "", "Number of seeked bytes does not match, expected "+string(st.Size-offset)+" got "+string(n), err).Fatal()
}
var buffer1 bytes.Buffer
if _, err = io.CopyN(&buffer1, r, st.Size); err != nil {
if err != io.EOF {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Copy failed", err).Fatal()
}
}
if !bytes.Equal(buf[len(buf)-int(offset):], buffer1.Bytes()) {
- logger().Fatal("Error: Incorrect read bytes v/s original buffer.")
+ failureLog(function, args, startTime, "", "Incorrect read bytes v/s original buffer", err).Fatal()
}
// Seek again and read again.
n, err = r.Seek(offset-1, 0)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Seek failed", err).Fatal()
}
if n != (offset - 1) {
- logger().Fatalf("Error: number of bytes seeked back does not match, want %v, got %v\n", offset-1, n)
+ failureLog(function, args, startTime, "", "Number of seeked bytes does not match, expected "+string(offset-1)+" got "+string(n), err).Fatal()
}
var buffer2 bytes.Buffer
if _, err = io.CopyN(&buffer2, r, st.Size); err != nil {
if err != io.EOF {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Copy failed", err).Fatal()
}
}
// Verify now lesser bytes.
if !bytes.Equal(buf[2047:], buffer2.Bytes()) {
- logger().Fatal("Error: Incorrect read bytes v/s original buffer.")
+ failureLog(function, args, startTime, "", "Incorrect read bytes v/s original buffer", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests get object ReaderAt interface methods.
func testGetObjectReadAtFunctionalV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "GetObject(bucketName, objectName)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
+
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -2935,7 +3512,7 @@ func testGetObjectReadAtFunctionalV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -2946,40 +3523,49 @@ func testGetObjectReadAtFunctionalV2() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- // Generate data more than 32K
- var buf = getDataBuffer("datafile-33-kB", rand.Intn(1<<20)+32*1024)
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
+ defer reader.Close()
- // Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
+ args["objectName"] = objectName
+
+ buf, err := ioutil.ReadAll(reader)
+ if err != nil {
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
+ }
+
+ // Save the data
n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(thirtyThreeKiB)+" got "+string(n), err).Fatal()
}
// Read the data back
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
st, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
- if st.Size != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes in stat does not match, want %v, got %v\n",
- len(buf), st.Size)
+
+ if st.Size != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(thirtyThreeKiB)+" got "+string(st.Size), err).Fatal()
}
offset := int64(2048)
@@ -2991,35 +3577,35 @@ func testGetObjectReadAtFunctionalV2() {
m, err := r.ReadAt(buf2, offset)
if err != nil {
- logger().Fatal("Error:", err, st.Size, len(buf2), offset)
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
if m != len(buf2) {
- logger().Fatalf("Error: ReadAt read shorter bytes before reaching EOF, want %v, got %v\n", m, len(buf2))
+ failureLog(function, args, startTime, "", "ReadAt read shorter bytes before reaching EOF, expected "+string(len(buf2))+" got "+string(m), err).Fatal()
}
if !bytes.Equal(buf2, buf[offset:offset+512]) {
- logger().Fatal("Error: Incorrect read between two ReadAt from same offset.")
+ failureLog(function, args, startTime, "", "Incorrect read between two ReadAt from same offset", err).Fatal()
}
offset += 512
m, err = r.ReadAt(buf3, offset)
if err != nil {
- logger().Fatal("Error:", err, st.Size, len(buf3), offset)
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
if m != len(buf3) {
- logger().Fatalf("Error: ReadAt read shorter bytes before reaching EOF, want %v, got %v\n", m, len(buf3))
+ failureLog(function, args, startTime, "", "ReadAt read shorter bytes before reaching EOF, expected "+string(len(buf3))+" got "+string(m), err).Fatal()
}
if !bytes.Equal(buf3, buf[offset:offset+512]) {
- logger().Fatal("Error: Incorrect read between two ReadAt from same offset.")
+ failureLog(function, args, startTime, "", "Incorrect read between two ReadAt from same offset", err).Fatal()
}
offset += 512
m, err = r.ReadAt(buf4, offset)
if err != nil {
- logger().Fatal("Error:", err, st.Size, len(buf4), offset)
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
if m != len(buf4) {
- logger().Fatalf("Error: ReadAt read shorter bytes before reaching EOF, want %v, got %v\n", m, len(buf4))
+ failureLog(function, args, startTime, "", "ReadAt read shorter bytes before reaching EOF, expected "+string(len(buf4))+" got "+string(m), err).Fatal()
}
if !bytes.Equal(buf4, buf[offset:offset+512]) {
- logger().Fatal("Error: Incorrect read between two ReadAt from same offset.")
+ failureLog(function, args, startTime, "", "Incorrect read between two ReadAt from same offset", err).Fatal()
}
buf5 := make([]byte, n)
@@ -3027,14 +3613,14 @@ func testGetObjectReadAtFunctionalV2() {
m, err = r.ReadAt(buf5, 0)
if err != nil {
if err != io.EOF {
- logger().Fatal("Error:", err, len(buf5))
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
}
if m != len(buf5) {
- logger().Fatalf("Error: ReadAt read shorter bytes before reaching EOF, want %v, got %v\n", m, len(buf5))
+ failureLog(function, args, startTime, "", "ReadAt read shorter bytes before reaching EOF, expected "+string(len(buf5))+" got "+string(m), err).Fatal()
}
if !bytes.Equal(buf, buf5) {
- logger().Fatal("Error: Incorrect data read in GetObject, than what was previously upoaded.")
+ failureLog(function, args, startTime, "", "Incorrect data read in GetObject, than what was previously uploaded", err).Fatal()
}
buf6 := make([]byte, n+1)
@@ -3042,22 +3628,29 @@ func testGetObjectReadAtFunctionalV2() {
_, err = r.ReadAt(buf6, 0)
if err != nil {
if err != io.EOF {
- logger().Fatal("Error:", err, len(buf6))
+ failureLog(function, args, startTime, "", "ReadAt failed", err).Fatal()
}
}
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Tests copy object
func testCopyObjectV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "CopyObject(destination, source)"
+ args := map[string]interface{}{
+ "destination": "",
+ "source": "",
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -3070,7 +3663,7 @@ func testCopyObjectV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -3085,38 +3678,38 @@ func testCopyObjectV2() {
// Make a new bucket in 'us-east-1' (source bucket).
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Make a new bucket in 'us-east-1' (destination bucket).
err = c.MakeBucket(bucketName+"-copy", "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName+"-copy")
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
- // Generate data more than 32K
- var buf = getDataBuffer("datafile-33-kB", rand.Intn(1<<20)+32*1024)
+ // Generate 33K of data.
+ var reader = getDataReader("datafile-33-kB", thirtyThreeKiB)
+ defer reader.Close()
// Save the data
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
- n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "binary/octet-stream")
+ n, err := c.PutObject(bucketName, objectName, reader, "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
- if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match want %v, got %v",
- len(buf), n)
+ if n != int64(thirtyThreeKiB) {
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(int64(thirtyThreeKiB))+" got "+string(n), err).Fatal()
}
r, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
// Check the various fields of source object against destination object.
objInfo, err := r.Stat()
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
// Copy Source
@@ -3127,112 +3720,120 @@ func testCopyObjectV2() {
// All invalid conditions first.
err = src.SetModifiedSinceCond(time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC))
if err == nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetModifiedSinceCond did not fail for invalid conditions", err).Fatal()
}
err = src.SetUnmodifiedSinceCond(time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC))
if err == nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetUnmodifiedSinceCond did not fail for invalid conditions", err).Fatal()
}
err = src.SetMatchETagCond("")
if err == nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetMatchETagCond did not fail for invalid conditions", err).Fatal()
}
err = src.SetMatchETagExceptCond("")
if err == nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetMatchETagExceptCond did not fail for invalid conditions", err).Fatal()
}
err = src.SetModifiedSinceCond(time.Date(2014, time.April, 0, 0, 0, 0, 0, time.UTC))
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetModifiedSinceCond failed", err).Fatal()
}
err = src.SetMatchETagCond(objInfo.ETag)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetMatchETagCond failed", err).Fatal()
}
+ args["source"] = src
dst, err := minio.NewDestinationInfo(bucketName+"-copy", objectName+"-copy", nil, nil)
if err != nil {
- logger().Fatal(err)
+ failureLog(function, args, startTime, "", "NewDestinationInfo failed", err).Fatal()
}
+ args["destination"] = dst
// Perform the Copy
err = c.CopyObject(dst, src)
if err != nil {
- logger().Fatal("Error:", err, bucketName+"-copy", objectName+"-copy")
+ failureLog(function, args, startTime, "", "CopyObject failed", err).Fatal()
}
// Source object
- reader, err := c.GetObject(bucketName, objectName)
+ r, err = c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
// Destination object
readerCopy, err := c.GetObject(bucketName+"-copy", objectName+"-copy")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
// Check the various fields of source object against destination object.
- objInfo, err = reader.Stat()
+ objInfo, err = r.Stat()
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
objInfoCopy, err := readerCopy.Stat()
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
if objInfo.Size != objInfoCopy.Size {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n",
- objInfo.Size, objInfoCopy.Size)
+ failureLog(function, args, startTime, "", "Number of bytes does not match, expected "+string(objInfoCopy.Size)+" got "+string(objInfo.Size), err).Fatal()
}
// CopyObject again but with wrong conditions
src = minio.NewSourceInfo(bucketName, objectName, nil)
err = src.SetUnmodifiedSinceCond(time.Date(2014, time.April, 0, 0, 0, 0, 0, time.UTC))
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetUnmodifiedSinceCond failed", err).Fatal()
}
err = src.SetMatchETagExceptCond(objInfo.ETag)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetMatchETagExceptCond failed", err).Fatal()
}
// Perform the Copy which should fail
err = c.CopyObject(dst, src)
if err == nil {
- logger().Fatal("Error:", err, bucketName+"-copy", objectName+"-copy should fail")
+ failureLog(function, args, startTime, "", "CopyObject did not fail for invalid conditions", err).Fatal()
}
// Remove all objects and buckets
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName+"-copy", objectName+"-copy")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
err = c.RemoveBucket(bucketName + "-copy")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
func testComposeObjectErrorCasesWrapper(c *minio.Client) {
+ // initialize logging params
+ startTime := time.Now()
+ function := "testComposeObjectErrorCasesWrapper(minioClient)"
+ args := map[string]interface{}{}
+
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
// Make a new bucket in 'us-east-1' (source bucket).
err := c.MakeBucket(bucketName, "us-east-1")
+
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Test that more than 10K source objects cannot be
@@ -3241,13 +3842,13 @@ func testComposeObjectErrorCasesWrapper(c *minio.Client) {
srcSlice := srcArr[:]
dst, err := minio.NewDestinationInfo(bucketName, "object", nil, nil)
if err != nil {
- logger().Fatal(err)
+ failureLog(function, args, startTime, "", "NewDestinationInfo failed", err).Fatal()
}
if err := c.ComposeObject(dst, srcSlice); err == nil {
- logger().Fatal("Error was expected.")
+ failureLog(function, args, startTime, "", "Expected error in ComposeObject", err).Fatal()
} else if err.Error() != "There must be as least one and up to 10000 source objects." {
- logger().Fatal("Got unexpected error: ", err)
+ failureLog(function, args, startTime, "", "Got unexpected error", err).Fatal()
}
// Create a source with invalid offset spec and check that
@@ -3257,26 +3858,30 @@ func testComposeObjectErrorCasesWrapper(c *minio.Client) {
buf := bytes.Repeat([]byte("1"), badSrcSize)
_, err = c.PutObject(bucketName, "badObject", bytes.NewReader(buf), "")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
// 2. Set invalid range spec on the object (going beyond
// object size)
badSrc := minio.NewSourceInfo(bucketName, "badObject", nil)
err = badSrc.SetRange(1, badSrcSize)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Setting NewSourceInfo failed", err).Fatal()
}
// 3. ComposeObject call should fail.
if err := c.ComposeObject(dst, []minio.SourceInfo{badSrc}); err == nil {
- logger().Fatal("Error was expected.")
+ failureLog(function, args, startTime, "", "ComposeObject expected to fail", err).Fatal()
} else if !strings.Contains(err.Error(), "has invalid segment-to-copy") {
- logger().Fatal("Got unexpected error: ", err)
+ failureLog(function, args, startTime, "", "Got invalid error", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test expected error cases
func testComposeObjectErrorCasesV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testComposeObjectErrorCasesV2()"
+ args := map[string]interface{}{}
// Instantiate new minio client object
c, err := minio.NewV2(
@@ -3286,19 +3891,27 @@ func testComposeObjectErrorCasesV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
testComposeObjectErrorCasesWrapper(c)
}
func testComposeMultipleSources(c *minio.Client) {
+ // initialize logging params
+ startTime := time.Now()
+ function := "ComposeObject(destination, sources)"
+ args := map[string]interface{}{
+ "destination": "",
+ "sources": "",
+ }
+
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
// Make a new bucket in 'us-east-1' (source bucket).
err := c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Upload a small source object
@@ -3306,7 +3919,7 @@ func testComposeMultipleSources(c *minio.Client) {
buf := bytes.Repeat([]byte("1"), srcSize)
_, err = c.PutObject(bucketName, "srcObject", bytes.NewReader(buf), "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
// We will append 10 copies of the object.
@@ -3317,31 +3930,38 @@ func testComposeMultipleSources(c *minio.Client) {
// make the last part very small
err = srcs[9].SetRange(0, 0)
if err != nil {
- logger().Fatal("unexpected error:", err)
+ failureLog(function, args, startTime, "", "SetRange failed", err).Fatal()
}
+ args["sources"] = srcs
dst, err := minio.NewDestinationInfo(bucketName, "dstObject", nil, nil)
+ args["destination"] = dst
+
if err != nil {
- logger().Fatal(err)
+ failureLog(function, args, startTime, "", "NewDestinationInfo failed", err).Fatal()
}
err = c.ComposeObject(dst, srcs)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "ComposeObject failed", err).Fatal()
}
objProps, err := c.StatObject(bucketName, "dstObject")
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "StatObject failed", err).Fatal()
}
if objProps.Size != 9*srcSize+1 {
- logger().Fatal("Size mismatched! Expected:", 10000*srcSize, "but got:", objProps.Size)
+ failureLog(function, args, startTime, "", "Size mismatched! Expected "+string(10000*srcSize)+" got "+string(objProps.Size), err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test concatenating multiple objects objects
func testCompose10KSourcesV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testCompose10KSourcesV2(minioClient)"
+ args := map[string]interface{}{}
// Instantiate new minio client object
c, err := minio.NewV2(
@@ -3351,18 +3971,24 @@ func testCompose10KSourcesV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
testComposeMultipleSources(c)
}
+
func testEncryptedCopyObjectWrapper(c *minio.Client) {
+ // initialize logging params
+ startTime := time.Now()
+ function := "testEncryptedCopyObjectWrapper(minioClient)"
+ args := map[string]interface{}{}
+
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
// Make a new bucket in 'us-east-1' (source bucket).
err := c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
key1 := minio.NewSSEInfo([]byte("32byteslongsecretkeymustbegiven1"), "AES256")
@@ -3377,19 +4003,19 @@ func testEncryptedCopyObjectWrapper(c *minio.Client) {
}
_, err = c.PutObjectWithSize(bucketName, "srcObject", bytes.NewReader(buf), int64(len(buf)), metadata, nil)
if err != nil {
- logger().Fatal("PutObjectWithSize Error:", err)
+ failureLog(function, args, startTime, "", "PutObjectWithSize failed", err).Fatal()
}
// 2. copy object and change encryption key
src := minio.NewSourceInfo(bucketName, "srcObject", &key1)
dst, err := minio.NewDestinationInfo(bucketName, "dstObject", &key2, nil)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "NewDestinationInfo failed", err).Fatal()
}
err = c.CopyObject(dst, src)
if err != nil {
- logger().Fatal("CopyObject Error:", err)
+ failureLog(function, args, startTime, "", "CopyObject failed", err).Fatal()
}
// 3. get copied object and check if content is equal
@@ -3400,22 +4026,26 @@ func testEncryptedCopyObjectWrapper(c *minio.Client) {
coreClient := minio.Core{c}
reader, _, err := coreClient.GetObject(bucketName, "dstObject", reqH)
if err != nil {
- logger().Fatal("GetObject Error:", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
defer reader.Close()
decBytes, err := ioutil.ReadAll(reader)
if err != nil {
- logger().Fatalln(err)
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
}
if !bytes.Equal(decBytes, buf) {
- logger().Fatal("downloaded object mismatched for encrypted object")
+ failureLog(function, args, startTime, "", "Downloaded object mismatched for encrypted object", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test encrypted copy object
func testEncryptedCopyObject() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testEncryptedCopyObject()"
+ args := map[string]interface{}{}
// Instantiate new minio client object
c, err := minio.NewV4(
@@ -3425,7 +4055,7 @@ func testEncryptedCopyObject() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
// c.TraceOn(os.Stderr)
@@ -3434,7 +4064,10 @@ func testEncryptedCopyObject() {
// Test encrypted copy object
func testEncryptedCopyObjectV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testEncryptedCopyObjectV2()"
+ args := map[string]interface{}{}
// Instantiate new minio client object
c, err := minio.NewV2(
@@ -3444,13 +4077,17 @@ func testEncryptedCopyObjectV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio v2 client object creation failed", err).Fatal()
}
testEncryptedCopyObjectWrapper(c)
}
+
func testUserMetadataCopying() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testUserMetadataCopying()"
+ args := map[string]interface{}{}
// Instantiate new minio client object
c, err := minio.NewV4(
@@ -3460,25 +4097,34 @@ func testUserMetadataCopying() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
// c.TraceOn(os.Stderr)
testUserMetadataCopyingWrapper(c)
}
+
func testUserMetadataCopyingWrapper(c *minio.Client) {
+ // initialize logging params
+ startTime := time.Now()
+ function := "CopyObject(destination, source)"
+ args := map[string]interface{}{
+ "destination": "",
+ "source": "",
+ }
+
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test")
// Make a new bucket in 'us-east-1' (source bucket).
err := c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
fetchMeta := func(object string) (h http.Header) {
objInfo, err := c.StatObject(bucketName, object)
if err != nil {
- logger().Fatal("Metadata fetch error:", err)
+ failureLog(function, args, startTime, "", "Stat failed", err).Fatal()
}
h = make(http.Header)
for k, vs := range objInfo.Metadata {
@@ -3499,10 +4145,10 @@ func testUserMetadataCopyingWrapper(c *minio.Client) {
_, err = c.PutObjectWithMetadata(bucketName, "srcObject",
bytes.NewReader(buf), metadata, nil)
if err != nil {
- logger().Fatal("Put Error:", err)
+ failureLog(function, args, startTime, "", "PutObjectWithMetadata failed", err).Fatal()
}
if !reflect.DeepEqual(metadata, fetchMeta("srcObject")) {
- logger().Fatal("Unequal metadata")
+ failureLog(function, args, startTime, "", "Metadata match failed", err).Fatal()
}
// 2. create source
@@ -3510,26 +4156,29 @@ func testUserMetadataCopyingWrapper(c *minio.Client) {
// 2.1 create destination with metadata set
dst1, err := minio.NewDestinationInfo(bucketName, "dstObject-1", nil, map[string]string{"notmyheader": "notmyvalue"})
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "NewDestinationInfo failed", err).Fatal()
}
// 3. Check that copying to an object with metadata set resets
// the headers on the copy.
err = c.CopyObject(dst1, src)
+ args["destination"] = dst1
+ args["source"] = src
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "CopyObject failed", err).Fatal()
}
expectedHeaders := make(http.Header)
expectedHeaders.Set("x-amz-meta-notmyheader", "notmyvalue")
if !reflect.DeepEqual(expectedHeaders, fetchMeta("dstObject-1")) {
- logger().Fatal("Unequal metadata")
+ failureLog(function, args, startTime, "", "Metadata match failed", err).Fatal()
}
// 4. create destination with no metadata set and same source
dst2, err := minio.NewDestinationInfo(bucketName, "dstObject-2", nil, nil)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "NewDestinationInfo failed", err).Fatal()
}
src = minio.NewSourceInfo(bucketName, "srcObject", nil)
@@ -3537,13 +4186,16 @@ func testUserMetadataCopyingWrapper(c *minio.Client) {
// 5. Check that copying to an object with no metadata set,
// copies metadata.
err = c.CopyObject(dst2, src)
+ args["destination"] = dst2
+ args["source"] = src
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "CopyObject failed", err).Fatal()
}
expectedHeaders = metadata
if !reflect.DeepEqual(expectedHeaders, fetchMeta("dstObject-2")) {
- logger().Fatal("Unequal metadata")
+ failureLog(function, args, startTime, "", "Metadata match failed", err).Fatal()
}
// 6. Compose a pair of sources.
@@ -3553,18 +4205,21 @@ func testUserMetadataCopyingWrapper(c *minio.Client) {
}
dst3, err := minio.NewDestinationInfo(bucketName, "dstObject-3", nil, nil)
if err != nil {
- logger().Fatal("Error:", err)
-
+ failureLog(function, args, startTime, "", "NewDestinationInfo failed", err).Fatal()
}
err = c.ComposeObject(dst3, srcs)
+ function = "ComposeObject(destination, sources)"
+ args["destination"] = dst3
+ args["source"] = srcs
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "ComposeObject failed", err).Fatal()
}
// Check that no headers are copied in this case
if !reflect.DeepEqual(make(http.Header), fetchMeta("dstObject-3")) {
- logger().Fatal("Unequal metadata")
+ failureLog(function, args, startTime, "", "Metadata match failed", err).Fatal()
}
// 7. Compose a pair of sources with dest user metadata set.
@@ -3574,25 +4229,32 @@ func testUserMetadataCopyingWrapper(c *minio.Client) {
}
dst4, err := minio.NewDestinationInfo(bucketName, "dstObject-4", nil, map[string]string{"notmyheader": "notmyvalue"})
if err != nil {
- logger().Fatal("Error:", err)
-
+ failureLog(function, args, startTime, "", "NewDestinationInfo failed", err).Fatal()
}
err = c.ComposeObject(dst4, srcs)
+ function = "ComposeObject(destination, sources)"
+ args["destination"] = dst4
+ args["source"] = srcs
+
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "ComposeObject failed", err).Fatal()
}
// Check that no headers are copied in this case
expectedHeaders = make(http.Header)
expectedHeaders.Set("x-amz-meta-notmyheader", "notmyvalue")
if !reflect.DeepEqual(expectedHeaders, fetchMeta("dstObject-4")) {
- logger().Fatal("Unequal metadata")
+ failureLog(function, args, startTime, "", "Metadata match failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
func testUserMetadataCopyingV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testUserMetadataCopyingV2()"
+ args := map[string]interface{}{}
// Instantiate new minio client object
c, err := minio.NewV2(
@@ -3602,7 +4264,7 @@ func testUserMetadataCopyingV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client v2 object creation failed", err).Fatal()
}
// c.TraceOn(os.Stderr)
@@ -3611,7 +4273,15 @@ func testUserMetadataCopyingV2() {
// Test put object with size -1 byte object.
func testPutObjectNoLengthV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "PutObjectWithSize(bucketName, objectName, reader, size, metadata, progress)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ "size": -1,
+ "metadata": nil,
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -3624,7 +4294,7 @@ func testPutObjectNoLengthV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- log.Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client v2 object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -3636,44 +4306,137 @@ func testPutObjectNoLengthV2() {
// Generate a new random bucket name.
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()),
"minio-go-test")
+ args["bucketName"] = bucketName
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- log.Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
objectName := bucketName + "unique"
+ args["objectName"] = objectName
// Generate data using 4 parts so that all 3 'workers' are utilized and a part is leftover.
// Use different data for each part for multipart tests to ensure part order at the end.
- var buf = getDataBuffer("datafile-65-MB", MinPartSize)
+ var reader = getDataReader("datafile-65-MB", sixtyFiveMiB)
+ defer reader.Close()
// Upload an object.
- n, err := c.PutObjectWithSize(bucketName, objectName, bytes.NewReader(buf), -1, nil, nil)
+ n, err := c.PutObjectWithSize(bucketName, objectName, reader, -1, nil, nil)
if err != nil {
- log.Fatalf("Error: %v %s %s", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObjectWithSize failed", err).Fatal()
}
- if n != int64(len(buf)) {
- log.Error(fmt.Errorf("Expected upload object size %d but got %d", len(buf), n))
+ if n != int64(sixtyFiveMiB) {
+ failureLog(function, args, startTime, "", "Expected upload object size "+string(sixtyFiveMiB)+" got "+string(n), err).Fatal()
}
// Remove the object.
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- log.Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
// Remove the bucket.
err = c.RemoveBucket(bucketName)
if err != nil {
- log.Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
+}
+
+// Test put objects of unknown size.
+func testPutObjectsUnknownV2() {
+ // initialize logging params
+ startTime := time.Now()
+ function := "PutObjectStreaming(bucketName, objectName, reader)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ }
+
+ // Seed random based on current time.
+ rand.Seed(time.Now().Unix())
+
+ // Instantiate new minio client object.
+ c, err := minio.NewV2(
+ os.Getenv(serverEndpoint),
+ os.Getenv(accessKey),
+ os.Getenv(secretKey),
+ mustParseBool(os.Getenv(enableHTTPS)),
+ )
+ if err != nil {
+ failureLog(function, args, startTime, "", "Minio client v2 object creation failed", err).Fatal()
+ }
+
+ // Enable tracing, write to stderr.
+ // c.TraceOn(os.Stderr)
+
+ // Set user agent.
+ c.SetAppInfo("Minio-go-FunctionalTest", "0.1.0")
+
+ // Generate a new random bucket name.
+ bucketName := randString(60, rand.NewSource(time.Now().UnixNano()),
+ "minio-go-test")
+ args["bucketName"] = bucketName
+
+ // Make a new bucket.
+ err = c.MakeBucket(bucketName, "us-east-1")
+ if err != nil {
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
+ }
+
+ // Issues are revealed by trying to upload multiple files of unknown size
+ // sequentially (on 4GB machines)
+ for i := 1; i <= 4; i++ {
+ // Simulate that we could be receiving byte slices of data that we want
+ // to upload as a file
+ rpipe, wpipe := io.Pipe()
+ defer rpipe.Close()
+ go func() {
+ b := []byte("test")
+ wpipe.Write(b)
+ wpipe.Close()
+ }()
+
+ // Upload the object.
+ objectName := fmt.Sprintf("%sunique%d", bucketName, i)
+ args["objectName"] = objectName
+
+ n, err := c.PutObjectStreaming(bucketName, objectName, rpipe)
+ if err != nil {
+ failureLog(function, args, startTime, "", "PutObjectStreaming failed", err).Fatal()
+ }
+ if n != int64(4) {
+ failureLog(function, args, startTime, "", "Expected upload object size "+string(4)+" got "+string(n), err).Fatal()
+ }
+
+ // Remove the object.
+ err = c.RemoveObject(bucketName, objectName)
+ if err != nil {
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
+ }
+ }
+
+ // Remove the bucket.
+ err = c.RemoveBucket(bucketName)
+ if err != nil {
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
+ }
+ successLogger(function, args, startTime).Info()
}
// Test put object with 0 byte object.
func testPutObject0ByteV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "PutObjectWithSize(bucketName, objectName, reader, size, metadata, progress)"
+ args := map[string]interface{}{
+ "bucketName": "",
+ "objectName": "",
+ "size": 0,
+ "metadata": nil,
+ }
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -3686,7 +4449,7 @@ func testPutObject0ByteV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- log.Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client v2 object creation failed", err).Fatal()
}
// Enable tracing, write to stderr.
@@ -3702,7 +4465,7 @@ func testPutObject0ByteV2() {
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- log.Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
objectName := bucketName + "unique"
@@ -3710,28 +4473,32 @@ func testPutObject0ByteV2() {
// Upload an object.
n, err := c.PutObjectWithSize(bucketName, objectName, bytes.NewReader([]byte("")), 0, nil, nil)
if err != nil {
- log.Fatalf("Error: %v %s %s", err, bucketName, objectName)
+ failureLog(function, args, startTime, "", "PutObjectWithSize failed", err).Fatal()
}
if n != 0 {
- log.Error(fmt.Errorf("Expected upload object size 0 but got %d", n))
+ failureLog(function, args, startTime, "", "Expected upload object size 0 but got "+string(n), err).Fatal()
}
// Remove the object.
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- log.Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
// Remove the bucket.
err = c.RemoveBucket(bucketName)
if err != nil {
- log.Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Test expected error cases
func testComposeObjectErrorCases() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testComposeObjectErrorCases()"
+ args := map[string]interface{}{}
// Instantiate new minio client object
c, err := minio.NewV4(
@@ -3741,7 +4508,7 @@ func testComposeObjectErrorCases() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
testComposeObjectErrorCasesWrapper(c)
@@ -3749,7 +4516,10 @@ func testComposeObjectErrorCases() {
// Test concatenating 10K objects
func testCompose10KSources() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testCompose10KSources()"
+ args := map[string]interface{}{}
// Instantiate new minio client object
c, err := minio.NewV4(
@@ -3759,7 +4529,7 @@ func testCompose10KSources() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client object creation failed", err).Fatal()
}
testComposeMultipleSources(c)
@@ -3767,7 +4537,11 @@ func testCompose10KSources() {
// Tests comprehensive list of all methods.
func testFunctionalV2() {
- logger().Info()
+ // initialize logging params
+ startTime := time.Now()
+ function := "testFunctionalV2()"
+ args := map[string]interface{}{}
+
// Seed random based on current time.
rand.Seed(time.Now().Unix())
@@ -3778,7 +4552,7 @@ func testFunctionalV2() {
mustParseBool(os.Getenv(enableHTTPS)),
)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "Minio client v2 object creation failed", err).Fatal()
}
// Enable to debug
@@ -3793,20 +4567,20 @@ func testFunctionalV2() {
// Make a new bucket.
err = c.MakeBucket(bucketName, "us-east-1")
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "MakeBucket failed", err).Fatal()
}
// Generate a random file name.
fileName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
file, err := os.Create(fileName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "file create failed", err).Fatal()
}
for i := 0; i < 3; i++ {
buf := make([]byte, rand.Intn(1<<19))
_, err = file.Write(buf)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "file write failed", err).Fatal()
}
}
file.Close()
@@ -3815,25 +4589,25 @@ func testFunctionalV2() {
var exists bool
exists, err = c.BucketExists(bucketName)
if err != nil {
- logger().Fatal("Error:", err, bucketName)
+ failureLog(function, args, startTime, "", "BucketExists failed", err).Fatal()
}
if !exists {
- logger().Fatal("Error: could not find ", bucketName)
+ failureLog(function, args, startTime, "", "Could not find existing bucket "+bucketName, err).Fatal()
}
// Make the bucket 'public read/write'.
err = c.SetBucketPolicy(bucketName, "", policy.BucketPolicyReadWrite)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "SetBucketPolicy failed", err).Fatal()
}
// List all buckets.
buckets, err := c.ListBuckets()
if len(buckets) == 0 {
- logger().Fatal("Error: list buckets cannot be empty", buckets)
+ failureLog(function, args, startTime, "", "List buckets cannot be empty", err).Fatal()
}
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "ListBuckets failed", err).Fatal()
}
// Verify if previously created bucket is listed in list buckets.
@@ -3846,7 +4620,7 @@ func testFunctionalV2() {
// If bucket not found error out.
if !bucketFound {
- logger().Fatal("Error: bucket ", bucketName, "not found")
+ failureLog(function, args, startTime, "", "Bucket "+bucketName+"not found", err).Fatal()
}
objectName := bucketName + "unique"
@@ -3856,19 +4630,19 @@ func testFunctionalV2() {
n, err := c.PutObject(bucketName, objectName, bytes.NewReader(buf), "")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
if n != int64(len(buf)) {
- logger().Fatal("Error: bad length ", n, len(buf))
+ failureLog(function, args, startTime, "", "Expected uploaded object length "+string(len(buf))+" got "+string(n), err).Fatal()
}
n, err = c.PutObject(bucketName, objectName+"-nolength", bytes.NewReader(buf), "binary/octet-stream")
if err != nil {
- logger().Fatal("Error:", err, bucketName, objectName+"-nolength")
+ failureLog(function, args, startTime, "", "PutObject failed", err).Fatal()
}
if n != int64(len(buf)) {
- logger().Fatalf("Error: number of bytes does not match, want %v, got %v\n", len(buf), n)
+ failureLog(function, args, startTime, "", "Expected uploaded object length "+string(len(buf))+" got "+string(n), err).Fatal()
}
// Instantiate a done channel to close all listing.
@@ -3884,7 +4658,7 @@ func testFunctionalV2() {
}
}
if !objFound {
- logger().Fatal("Error: object " + objectName + " not found.")
+ failureLog(function, args, startTime, "", "Could not find existing object "+objectName, err).Fatal()
}
objFound = false
@@ -3896,7 +4670,7 @@ func testFunctionalV2() {
}
}
if !objFound {
- logger().Fatal("Error: object " + objectName + " not found.")
+ failureLog(function, args, startTime, "", "Could not find existing object "+objectName, err).Fatal()
}
incompObjNotFound := true
@@ -3907,47 +4681,66 @@ func testFunctionalV2() {
}
}
if !incompObjNotFound {
- logger().Fatal("Error: unexpected dangling incomplete upload found.")
+ failureLog(function, args, startTime, "", "Unexpected dangling incomplete upload found", err).Fatal()
}
newReader, err := c.GetObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
newReadBytes, err := ioutil.ReadAll(newReader)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
}
if !bytes.Equal(newReadBytes, buf) {
- logger().Fatal("Error: bytes mismatch.")
+ failureLog(function, args, startTime, "", "Bytes mismatch", err).Fatal()
}
err = c.FGetObject(bucketName, objectName, fileName+"-f")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "FgetObject failed", err).Fatal()
}
+ // Generate presigned HEAD object url.
+ presignedHeadURL, err := c.PresignedHeadObject(bucketName, objectName, 3600*time.Second, nil)
+ if err != nil {
+ failureLog(function, args, startTime, "", "PresignedHeadObject failed", err).Fatal()
+ }
+ // Verify if presigned url works.
+ resp, err := http.Head(presignedHeadURL.String())
+ if err != nil {
+ failureLog(function, args, startTime, "", "PresignedHeadObject URL head request failed", err).Fatal()
+ }
+ if resp.StatusCode != http.StatusOK {
+ failureLog(function, args, startTime, "", "PresignedHeadObject URL returns status "+string(resp.StatusCode), err).Fatal()
+ }
+ if resp.Header.Get("ETag") == "" {
+ failureLog(function, args, startTime, "", "Got empty ETag", err).Fatal()
+ }
+ resp.Body.Close()
+
// Generate presigned GET object url.
presignedGetURL, err := c.PresignedGetObject(bucketName, objectName, 3600*time.Second, nil)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject failed", err).Fatal()
}
// Verify if presigned url works.
- resp, err := http.Get(presignedGetURL.String())
+ resp, err = http.Get(presignedGetURL.String())
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject URL GET request failed", err).Fatal()
}
if resp.StatusCode != http.StatusOK {
- logger().Fatal("Error: ", resp.Status)
+ failureLog(function, args, startTime, "", "PresignedGetObject URL returns status "+string(resp.StatusCode), err).Fatal()
}
newPresignedBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
}
+ resp.Body.Close()
if !bytes.Equal(newPresignedBytes, buf) {
- logger().Fatal("Error: bytes mismatch.")
+ failureLog(function, args, startTime, "", "Bytes mismatch", err).Fatal()
}
// Set request parameters.
@@ -3956,38 +4749,38 @@ func testFunctionalV2() {
// Generate presigned GET object url.
presignedGetURL, err = c.PresignedGetObject(bucketName, objectName, 3600*time.Second, reqParams)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject failed", err).Fatal()
}
// Verify if presigned url works.
resp, err = http.Get(presignedGetURL.String())
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedGetObject URL GET request failed", err).Fatal()
}
if resp.StatusCode != http.StatusOK {
- logger().Fatal("Error: ", resp.Status)
+ failureLog(function, args, startTime, "", "PresignedGetObject URL returns status "+string(resp.StatusCode), err).Fatal()
}
newPresignedBytes, err = ioutil.ReadAll(resp.Body)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
}
if !bytes.Equal(newPresignedBytes, buf) {
- logger().Fatal("Error: bytes mismatch for presigned GET url.")
+ failureLog(function, args, startTime, "", "Bytes mismatch", err).Fatal()
}
// Verify content disposition.
if resp.Header.Get("Content-Disposition") != "attachment; filename=\"test.txt\"" {
- logger().Fatalf("Error: wrong Content-Disposition received %s", resp.Header.Get("Content-Disposition"))
+ failureLog(function, args, startTime, "", "wrong Content-Disposition received ", err).Fatal()
}
presignedPutURL, err := c.PresignedPutObject(bucketName, objectName+"-presigned", 3600*time.Second)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "PresignedPutObject failed", err).Fatal()
}
// Generate data more than 32K
- buf = bytes.Repeat([]byte("1"), rand.Intn(1<<20)+32*1024)
+ buf = bytes.Repeat([]byte("1"), rand.Intn(1<<10)+32*1024)
req, err := http.NewRequest("PUT", presignedPutURL.String(), bytes.NewReader(buf))
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "HTTP request to PresignedPutObject URL failed", err).Fatal()
}
httpClient := &http.Client{
// Setting a sensible time out of 30secs to wait for response
@@ -3998,56 +4791,57 @@ func testFunctionalV2() {
}
resp, err = httpClient.Do(req)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "HTTP request to PresignedPutObject URL failed", err).Fatal()
}
newReader, err = c.GetObject(bucketName, objectName+"-presigned")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "GetObject failed", err).Fatal()
}
newReadBytes, err = ioutil.ReadAll(newReader)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "ReadAll failed", err).Fatal()
}
if !bytes.Equal(newReadBytes, buf) {
- logger().Fatal("Error: bytes mismatch.")
+ failureLog(function, args, startTime, "", "Bytes mismatch", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName)
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName+"-f")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName+"-nolength")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveObject(bucketName, objectName+"-presigned")
if err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveObject failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err != nil {
- logger().Fatal("Error:", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed", err).Fatal()
}
err = c.RemoveBucket(bucketName)
if err == nil {
- logger().Fatal("Error:")
+ failureLog(function, args, startTime, "", "RemoveBucket should fail as bucket does not exist", err).Fatal()
}
if err.Error() != "The specified bucket does not exist" {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "RemoveBucket failed with wrong error message", err).Fatal()
}
if err = os.Remove(fileName); err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "File remove failed", err).Fatal()
}
if err = os.Remove(fileName + "-f"); err != nil {
- logger().Fatal("Error: ", err)
+ failureLog(function, args, startTime, "", "File removes failed", err).Fatal()
}
+ successLogger(function, args, startTime).Info()
}
// Convert string to bool and always return false if any error
@@ -4059,17 +4853,16 @@ func mustParseBool(str string) bool {
return b
}
-func logger() *logrus.Entry {
- if pc, file, line, ok := runtime.Caller(1); ok {
- fName := runtime.FuncForPC(pc).Name()
- return log.WithFields(log.Fields{"file": path.Base(file), "function:": fName, "line#": line})
-
- }
- return log.WithFields(nil)
-}
-
func main() {
- logger().Info("Running functional tests for minio-go sdk....")
+ // Output to stdout instead of the default stderr
+ log.SetOutput(os.Stdout)
+ // create custom formatter
+ mintFormatter := mintJSONFormatter{}
+ // set custom formatter
+ log.SetFormatter(&mintFormatter)
+ // log Info or above -- success cases are Info level, failures are Fatal level
+ log.SetLevel(log.InfoLevel)
+ // execute tests
if !isQuickMode() {
testMakeBucketErrorV2()
testGetObjectClosedTwiceV2()
@@ -4086,6 +4879,7 @@ func main() {
testUserMetadataCopyingV2()
testPutObject0ByteV2()
testPutObjectNoLengthV2()
+ testPutObjectsUnknownV2()
testMakeBucketError()
testMakeBucketRegions()
testPutObjectWithMetadata()
@@ -4112,10 +4906,7 @@ func main() {
testGetObjectObjectModified()
testPutObjectUploadSeekedObject()
} else {
- logger().Info("Running short functional tests")
testFunctional()
testFunctionalV2()
}
-
- logger().Info("Functional tests complete for minio-go sdk")
}
diff --git a/vendor/github.com/minio/minio-go/pkg/s3utils/utils.go b/vendor/github.com/minio/minio-go/pkg/s3utils/utils.go
index 79bebd99f..bdc8d4e91 100644
--- a/vendor/github.com/minio/minio-go/pkg/s3utils/utils.go
+++ b/vendor/github.com/minio/minio-go/pkg/s3utils/utils.go
@@ -80,6 +80,9 @@ func IsVirtualHostSupported(endpointURL url.URL, bucketName string) bool {
return IsAmazonEndpoint(endpointURL) || IsGoogleEndpoint(endpointURL)
}
+// AmazonS3Host - regular expression used to determine if an arg is s3 host.
+var AmazonS3Host = regexp.MustCompile("^s3[.-]?(.*?)\\.amazonaws\\.com$")
+
// IsAmazonEndpoint - Match if it is exactly Amazon S3 endpoint.
func IsAmazonEndpoint(endpointURL url.URL) bool {
if IsAmazonChinaEndpoint(endpointURL) {
@@ -88,7 +91,7 @@ func IsAmazonEndpoint(endpointURL url.URL) bool {
if IsAmazonGovCloudEndpoint(endpointURL) {
return true
}
- return endpointURL.Host == "s3.amazonaws.com"
+ return AmazonS3Host.MatchString(endpointURL.Host)
}
// IsAmazonGovCloudEndpoint - Match if it is exactly Amazon S3 GovCloud endpoint.
diff --git a/vendor/github.com/mssola/user_agent/.travis.yml b/vendor/github.com/mssola/user_agent/.travis.yml
index add0c8a6c..96f43d112 100644
--- a/vendor/github.com/mssola/user_agent/.travis.yml
+++ b/vendor/github.com/mssola/user_agent/.travis.yml
@@ -1,9 +1,12 @@
language: go
go:
- - 1.0
- - 1.1
- - 1.2
- - 1.3
+ - 1.4.x
+ - 1.5.x
+ - 1.6.x
+ - 1.7.x
+ - 1.8.x
+ - 1.9.x
+ - 1.x
- tip
matrix:
allow_failures:
diff --git a/vendor/github.com/mssola/user_agent/LICENSE b/vendor/github.com/mssola/user_agent/LICENSE
index c02b64473..ede19fbfb 100644
--- a/vendor/github.com/mssola/user_agent/LICENSE
+++ b/vendor/github.com/mssola/user_agent/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2012-2014 Miquel Sabaté Solà
+Copyright (c) 2012-2017 Miquel Sabaté Solà
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/vendor/github.com/mssola/user_agent/README.md b/vendor/github.com/mssola/user_agent/README.md
index 971902560..575977df2 100644
--- a/vendor/github.com/mssola/user_agent/README.md
+++ b/vendor/github.com/mssola/user_agent/README.md
@@ -19,7 +19,7 @@ func main() {
// The "New" function will create a new UserAgent object and it will parse
// the given string. If you need to parse more strings, you can re-use
// this object and call: ua.Parse("another string")
- ua := user_agent.New("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11");
+ ua := user_agent.New("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11")
fmt.Printf("%v\n", ua.Mobile()) // => false
fmt.Printf("%v\n", ua.Bot()) // => false
@@ -48,4 +48,4 @@ func main() {
}
~~~
-Copyright &copy; 2012-2014 Miquel Sabaté Solà, released under the MIT License.
+Copyright &copy; 2012-2017 Miquel Sabaté Solà, released under the MIT License.
diff --git a/vendor/github.com/mssola/user_agent/all_test.go b/vendor/github.com/mssola/user_agent/all_test.go
index 4f3c03198..fb0cf054e 100644
--- a/vendor/github.com/mssola/user_agent/all_test.go
+++ b/vendor/github.com/mssola/user_agent/all_test.go
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2014 Miquel Sabaté Solà <mikisabate@gmail.com>
+// Copyright (C) 2012-2017 Miquel Sabaté Solà <mikisabate@gmail.com>
// This file is licensed under the MIT license.
// See the LICENSE file.
@@ -6,189 +6,514 @@ package user_agent
import (
"fmt"
+ "reflect"
"testing"
)
// Slice that contains all the tests. Each test is contained in a struct
-// that groups the name of the test and the User-Agent string to be tested.
+// that groups the title of the test, the User-Agent string to be tested and the expected value.
var uastrings = []struct {
- name string
- ua string
+ title string
+ ua string
+ expected string
+ expectedOS *OSInfo
}{
// Bots
- {"GoogleBot", "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"},
- {"GoogleBotSmartphone", "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"},
- {"BingBot", "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"},
- {"BaiduBot", "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"},
- {"Twitterbot", "Twitterbot"},
- {"YahooBot", "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"},
- {"FacebookExternalHit", "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"},
- {"FacebookPlatform", "facebookplatform/1.0 (+http://developers.facebook.com)"},
- {"FaceBot", "Facebot"},
+ {
+ title: "GoogleBot",
+ ua: "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
+ expected: "Mozilla:5.0 Browser:Googlebot-2.1 Bot:true Mobile:false",
+ },
+ {
+ title: "GoogleBotSmartphone",
+ ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
+ expected: "Mozilla:5.0 Browser:Googlebot-2.1 Bot:true Mobile:true",
+ },
+ {
+ title: "BingBot",
+ ua: "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)",
+ expected: "Mozilla:5.0 Browser:bingbot-2.0 Bot:true Mobile:false",
+ },
+ {
+ title: "BaiduBot",
+ ua: "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)",
+ expected: "Mozilla:5.0 Browser:Baiduspider-2.0 Bot:true Mobile:false",
+ },
+ {
+ title: "Twitterbot",
+ ua: "Twitterbot",
+ expected: "Browser:Twitterbot Bot:true Mobile:false",
+ },
+ {
+ title: "YahooBot",
+ ua: "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)",
+ expected: "Mozilla:5.0 Browser:Yahoo! Slurp Bot:true Mobile:false",
+ },
+ {
+ title: "FacebookExternalHit",
+ ua: "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)",
+ expected: "Browser:facebookexternalhit-1.1 Bot:true Mobile:false",
+ },
+ {
+ title: "FacebookPlatform",
+ ua: "facebookplatform/1.0 (+http://developers.facebook.com)",
+ expected: "Browser:facebookplatform-1.0 Bot:true Mobile:false",
+ },
+ {
+ title: "FaceBot",
+ ua: "Facebot",
+ expected: "Browser:Facebot Bot:true Mobile:false",
+ },
+ {
+ title: "NutchCVS",
+ ua: "NutchCVS/0.8-dev (Nutch; http://lucene.apache.org/nutch/bot.html; nutch-agent@lucene.apache.org)",
+ expected: "Browser:NutchCVS Bot:true Mobile:false",
+ },
+ {
+ title: "MJ12bot",
+ ua: "Mozilla/5.0 (compatible; MJ12bot/v1.2.4; http://www.majestic12.co.uk/bot.php?+)",
+ expected: "Mozilla:5.0 Browser:MJ12bot-v1.2.4 Bot:true Mobile:false",
+ },
+ {
+ title: "MJ12bot",
+ ua: "MJ12bot/v1.0.8 (http://majestic12.co.uk/bot.php?+)",
+ expected: "Browser:MJ12bot Bot:true Mobile:false",
+ },
+ {
+ title: "AhrefsBot",
+ ua: "Mozilla/5.0 (compatible; AhrefsBot/4.0; +http://ahrefs.com/robot/)",
+ expected: "Mozilla:5.0 Browser:AhrefsBot-4.0 Bot:true Mobile:false",
+ },
// Internet Explorer
- {"IE10", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"},
- {"Tablet", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; ARM; Trident/6.0; Touch; .NET4.0E; .NET4.0C; Tablet PC 2.0)"},
- {"Touch", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0; Touch)"},
- {"Phone", "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; SAMSUNG; SGH-i917)"},
- {"IE6", "Mozilla/4.0 (compatible; MSIE6.0; Windows NT 5.0; .NET CLR 1.1.4322)"},
- {"IE8Compatibility", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC LM 8)"},
- {"IE10Compatibility", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC LM 8)"},
- {"IE11Win81", "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko"},
- {"IE11Win7", "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko"},
- {"IE11b32Win7b64", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"},
- {"IE11b32Win7b64MDDRJS", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MDDRJS; rv:11.0) like Gecko"},
- {"IE11Compatibility", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; Trident/7.0)"},
+ {
+ title: "IE10",
+ ua: "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows 8 Browser:Internet Explorer-10.0 Engine:Trident Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Windows 8", "Windows", "8"},
+ },
+ {
+ title: "Tablet",
+ ua: "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; ARM; Trident/6.0; Touch; .NET4.0E; .NET4.0C; Tablet PC 2.0)",
+ expected: "Mozilla:4.0 Platform:Windows OS:Windows 8 Browser:Internet Explorer-10.0 Engine:Trident Bot:false Mobile:false",
+ },
+ {
+ title: "Touch",
+ ua: "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0; Touch)",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows 8 Browser:Internet Explorer-10.0 Engine:Trident Bot:false Mobile:false",
+ },
+ {
+ title: "Phone",
+ ua: "Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; SAMSUNG; SGH-i917)",
+ expected: "Mozilla:4.0 Platform:Windows OS:Windows Phone OS 7.0 Browser:Internet Explorer-7.0 Engine:Trident Bot:false Mobile:true",
+ expectedOS: &OSInfo{"Windows Phone OS 7.0", "Windows Phone OS", "7.0"},
+ },
+ {
+ title: "IE6",
+ ua: "Mozilla/4.0 (compatible; MSIE6.0; Windows NT 5.0; .NET CLR 1.1.4322)",
+ expected: "Mozilla:4.0 Platform:Windows OS:Windows 2000 Browser:Internet Explorer-6.0 Engine:Trident Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Windows 2000", "Windows", "2000"},
+ },
+ {
+ title: "IE8Compatibility",
+ ua: "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC LM 8)",
+ expected: "Mozilla:4.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-8.0 Engine:Trident Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Windows 7", "Windows", "7"},
+ },
+ {
+ title: "IE10Compatibility",
+ ua: "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC LM 8)",
+ expected: "Mozilla:4.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-10.0 Engine:Trident Bot:false Mobile:false",
+ },
+ {
+ title: "IE11Win81",
+ ua: "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows 8.1 Browser:Internet Explorer-11.0 Engine:Trident Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Windows 8.1", "Windows", "8.1"},
+ },
+ {
+ title: "IE11Win7",
+ ua: "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-11.0 Engine:Trident Bot:false Mobile:false",
+ },
+ {
+ title: "IE11b32Win7b64",
+ ua: "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-11.0 Engine:Trident Bot:false Mobile:false",
+ },
+ {
+ title: "IE11b32Win7b64MDDRJS",
+ ua: "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MDDRJS; rv:11.0) like Gecko",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-11.0 Engine:Trident Bot:false Mobile:false",
+ },
+ {
+ title: "IE11Compatibility",
+ ua: "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; Trident/7.0)",
+ expected: "Mozilla:4.0 Platform:Windows OS:Windows 8.1 Browser:Internet Explorer-7.0 Engine:Trident Bot:false Mobile:false",
+ },
- // Gecko
- {"FirefoxMac", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b8) Gecko/20100101 Firefox/4.0b8"},
- {"FirefoxMacLoc", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"},
- {"FirefoxLinux", "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0"},
- {"FirefoxWin", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14"},
- {"Firefox29Win7", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"},
- {"CaminoMac", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.14) Gecko/20080409 Camino/1.6 (like Firefox/2.0.0.14)"},
- {"Iceweasel", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061024 Iceweasel/2.0 (Debian-2.0+dfsg-1)"},
- {"SeaMonkey", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.4) Gecko/20091017 SeaMonkey/2.0"},
- {"AndroidFirefox", "Mozilla/5.0 (Android; Mobile; rv:17.0) Gecko/17.0 Firefox/17.0"},
- {"AndroidFirefoxTablet", "Mozilla/5.0 (Android; Tablet; rv:26.0) Gecko/26.0 Firefox/26.0"},
- {"FirefoxOS", "Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0"},
- {"FirefoxOSTablet", "Mozilla/5.0 (Tablet; rv:26.0) Gecko/26.0 Firefox/26.0"},
- {"FirefoxWinXP", "Mozilla/5.0 (Windows NT 5.2; rv:31.0) Gecko/20100101 Firefox/31.0"},
- {"FirefoxMRA", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:24.0) Gecko/20130405 MRA 5.5 (build 02842) Firefox/24.0 (.NET CLR 3.5.30729)"},
-
- // Opera
- {"OperaMac", "Opera/9.27 (Macintosh; Intel Mac OS X; U; en)"},
- {"OperaWin", "Opera/9.27 (Windows NT 5.1; U; en)"},
- {"OperaWinNoLocale", "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.10"},
- {"OperaWin2Comment", "Opera/9.80 (Windows NT 6.0; WOW64) Presto/2.12.388 Version/12.15"},
- {"OperaMinimal", "Opera/9.80"},
- {"OperaFull", "Opera/9.80 (Windows NT 6.0; U; en) Presto/2.2.15 Version/10.10"},
- {"OperaLinux", "Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.10"},
- {"OperaAndroid", "Opera/9.80 (Android 4.2.1; Linux; Opera Mobi/ADR-1212030829) Presto/2.11.355 Version/12.10"},
- {"OperaNested", "Opera/9.80 (Windows NT 5.1; MRA 6.0 (build 5831)) Presto/2.12.388 Version/12.10"},
- {"OperaMRA", "Opera/9.80 (Windows NT 6.1; U; MRA 5.8 (build 4139); en) Presto/2.9.168 Version/11.50"},
-
- // Other
- {"Empty", ""},
- {"Nil", "nil"},
- {"Compatible", "Mozilla/4.0 (compatible)"},
- {"Mozilla", "Mozilla/5.0"},
- {"Amaya", "amaya/9.51 libwww/5.4.0"},
- {"Rails", "Rails Testing"},
- {"Python", "Python-urllib/2.7"},
- {"Curl", "curl/7.28.1"},
-
- // WebKit
- {"ChromeLinux", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"},
- {"ChromeWin7", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19"},
- {"ChromeMinimal", "Mozilla/5.0 AppleWebKit/534.10 Chrome/8.0.552.215 Safari/534.10"},
- {"ChromeMac", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.231 Safari/534.10"},
- {"SafariMac", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16"},
- {"SafariWin", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/526.9 (KHTML, like Gecko) Version/4.0dp1 Safari/526.8"},
- {"iPhone7", "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_3 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B511 Safari/9537.53"},
- {"iPhone", "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/419"},
- {"iPod", "Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/419"},
- {"iPad", "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10"},
- {"webOS", "Mozilla/5.0 (webOS/1.4.0; U; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Version/1.0 Safari/532.2 Pre/1.1"},
- {"Android", "Mozilla/5.0 (Linux; U; Android 1.5; de-; HTC Magic Build/PLAT-RC33) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1"},
- {"BlackBerry", "Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, Like Gecko) Version/6.0.0.141 Mobile Safari/534.1+"},
- {"BB10", "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.3+ (KHTML, like Gecko) Version/10.0.9.388 Mobile Safari/537.3+"},
- {"Ericsson", "Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 Safari/525"},
- {"ChromeAndroid", "Mozilla/5.0 (Linux; Android 4.2.1; Galaxy Nexus Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19"},
- {"WebkitNoPlatform", "Mozilla/5.0 (en-us) AppleWebKit/525.13 (KHTML, like Gecko; Google Web Preview) Version/3.1 Safari/525.13"},
- {"OperaWebkitMobile", "Mozilla/5.0 (Linux; Android 4.2.2; Galaxy Nexus Build/JDQ39) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.58 Mobile Safari/537.31 OPR/14.0.1074.57453"},
- {"OperaWebkitDesktop", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.58 Safari/537.31 OPR/14.0.1074.57453"},
- {"ChromeNothingAfterU", "Mozilla/5.0 (Linux; U) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4"},
- {"SafariOnSymbian", "Mozilla/5.0 (SymbianOS/9.1; U; [en-us]) AppleWebKit/413 (KHTML, like Gecko) Safari/413"},
-}
-
-// Slice of the expected results from the previous slice.
-var expected = []string{
- // Bots
- "Mozilla:5.0 Browser:Googlebot-2.1 Bot:true Mobile:false",
- "Mozilla:5.0 Browser:Googlebot-2.1 Bot:true Mobile:true",
- "Mozilla:5.0 Browser:bingbot-2.0 Bot:true Mobile:false",
- "Mozilla:5.0 Browser:Baiduspider-2.0 Bot:true Mobile:false",
- "Browser:Twitterbot Bot:true Mobile:false",
- "Mozilla:5.0 Browser:Yahoo! Slurp Bot:true Mobile:false",
- "Browser:facebookexternalhit-1.1 Bot:true Mobile:false",
- "Browser:facebookplatform-1.0 Bot:true Mobile:false",
- "Browser:Facebot Bot:true Mobile:false",
-
- // Internet Explorer
- "Mozilla:5.0 Platform:Windows OS:Windows 8 Browser:Internet Explorer-10.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:4.0 Platform:Windows OS:Windows 8 Browser:Internet Explorer-10.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows 8 Browser:Internet Explorer-10.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:4.0 Platform:Windows OS:Windows Phone OS 7.0 Browser:Internet Explorer-7.0 Engine:Trident Bot:false Mobile:true",
- "Mozilla:4.0 Platform:Windows OS:Windows 2000 Browser:Internet Explorer-6.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:4.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-8.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:4.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-10.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows 8.1 Browser:Internet Explorer-11.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-11.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-11.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Internet Explorer-11.0 Engine:Trident Bot:false Mobile:false",
- "Mozilla:4.0 Platform:Windows OS:Windows 8.1 Browser:Internet Explorer-7.0 Engine:Trident Bot:false Mobile:false",
+ // Microsoft Edge
+ {
+ title: "EdgeDesktop",
+ ua: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows 10 Browser:Edge-12.10240 Engine:EdgeHTML Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Windows 10", "Windows", "10"},
+ },
+ {
+ title: "EdgeMobile",
+ ua: "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; DEVICE INFO) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Mobile Safari/537.36 Edge/12.10240",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows Phone 10.0 Browser:Edge-12.10240 Engine:EdgeHTML Bot:false Mobile:true",
+ },
// Gecko
- "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10.6 Browser:Firefox-4.0b8 Engine:Gecko-20100101 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10.6 Localization:en-US Browser:Firefox-3.6.13 Engine:Gecko-20101203 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Firefox-17.0 Engine:Gecko-20100101 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows XP Localization:en-US Browser:Firefox-2.0.0.14 Engine:Gecko-20080404 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Firefox-29.0 Engine:Gecko-20100101 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X Localization:en Browser:Camino-1.6 Engine:Gecko-20080409 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:X11 OS:Linux i686 Localization:en-US Browser:Iceweasel-2.0 Engine:Gecko-20061024 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10.6 Localization:en-US Browser:SeaMonkey-2.0 Engine:Gecko-20091017 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Mobile OS:Android Browser:Firefox-17.0 Engine:Gecko-17.0 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:Tablet OS:Android Browser:Firefox-26.0 Engine:Gecko-26.0 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:Mobile OS:FirefoxOS Browser:Firefox-26.0 Engine:Gecko-26.0 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:Tablet OS:FirefoxOS Browser:Firefox-26.0 Engine:Gecko-26.0 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:Windows OS:Windows XP x64 Edition Browser:Firefox-31.0 Engine:Gecko-20100101 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows XP Localization:en-US Browser:Firefox-24.0 Engine:Gecko-20130405 Bot:false Mobile:false",
+ {
+ title: "FirefoxMac",
+ ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b8) Gecko/20100101 Firefox/4.0b8",
+ expected: "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10.6 Browser:Firefox-4.0b8 Engine:Gecko-20100101 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Intel Mac OS X 10.6", "Mac OS X", "10.6"},
+ },
+ {
+ title: "FirefoxMacLoc",
+ ua: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13",
+ expected: "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10.6 Localization:en-US Browser:Firefox-3.6.13 Engine:Gecko-20101203 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Intel Mac OS X 10.6", "Mac OS X", "10.6"},
+ },
+ {
+ title: "FirefoxLinux",
+ ua: "Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0",
+ expected: "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Firefox-17.0 Engine:Gecko-20100101 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Linux x86_64", "Linux", ""},
+ },
+ {
+ title: "FirefoxLinux - Ubuntu V50",
+ ua: "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0",
+ expected: "Mozilla:5.0 Platform:X11 OS:Ubuntu Browser:Firefox-50.0 Engine:Gecko-20100101 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Ubuntu", "Ubuntu", ""},
+ },
+ {
+ title: "FirefoxWin",
+ ua: "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows XP Localization:en-US Browser:Firefox-2.0.0.14 Engine:Gecko-20080404 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Windows XP", "Windows", "XP"},
+ },
+ {
+ title: "Firefox29Win7",
+ ua: "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Firefox-29.0 Engine:Gecko-20100101 Bot:false Mobile:false",
+ },
+ {
+ title: "CaminoMac",
+ ua: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.14) Gecko/20080409 Camino/1.6 (like Firefox/2.0.0.14)",
+ expected: "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X Localization:en Browser:Camino-1.6 Engine:Gecko-20080409 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Intel Mac OS X", "Mac OS X", ""},
+ },
+ {
+ title: "Iceweasel",
+ ua: "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061024 Iceweasel/2.0 (Debian-2.0+dfsg-1)",
+ expected: "Mozilla:5.0 Platform:X11 OS:Linux i686 Localization:en-US Browser:Iceweasel-2.0 Engine:Gecko-20061024 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Linux i686", "Linux", ""},
+ },
+ {
+ title: "SeaMonkey",
+ ua: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.4) Gecko/20091017 SeaMonkey/2.0",
+ expected: "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10.6 Localization:en-US Browser:SeaMonkey-2.0 Engine:Gecko-20091017 Bot:false Mobile:false",
+ },
+ {
+ title: "AndroidFirefox",
+ ua: "Mozilla/5.0 (Android; Mobile; rv:17.0) Gecko/17.0 Firefox/17.0",
+ expected: "Mozilla:5.0 Platform:Mobile OS:Android Browser:Firefox-17.0 Engine:Gecko-17.0 Bot:false Mobile:true",
+ },
+ {
+ title: "AndroidFirefoxTablet",
+ ua: "Mozilla/5.0 (Android; Tablet; rv:26.0) Gecko/26.0 Firefox/26.0",
+ expected: "Mozilla:5.0 Platform:Tablet OS:Android Browser:Firefox-26.0 Engine:Gecko-26.0 Bot:false Mobile:true",
+ expectedOS: &OSInfo{"Android", "Android", ""},
+ },
+ {
+ title: "FirefoxOS",
+ ua: "Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0",
+ expected: "Mozilla:5.0 Platform:Mobile OS:FirefoxOS Browser:Firefox-26.0 Engine:Gecko-26.0 Bot:false Mobile:true",
+ expectedOS: &OSInfo{"FirefoxOS", "FirefoxOS", ""},
+ },
+ {
+ title: "FirefoxOSTablet",
+ ua: "Mozilla/5.0 (Tablet; rv:26.0) Gecko/26.0 Firefox/26.0",
+ expected: "Mozilla:5.0 Platform:Tablet OS:FirefoxOS Browser:Firefox-26.0 Engine:Gecko-26.0 Bot:false Mobile:true",
+ },
+ {
+ title: "FirefoxWinXP",
+ ua: "Mozilla/5.0 (Windows NT 5.2; rv:31.0) Gecko/20100101 Firefox/31.0",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows XP x64 Edition Browser:Firefox-31.0 Engine:Gecko-20100101 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Windows XP x64 Edition", "Windows", "XP"},
+ },
+ {
+ title: "FirefoxMRA",
+ ua: "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:24.0) Gecko/20130405 MRA 5.5 (build 02842) Firefox/24.0 (.NET CLR 3.5.30729)",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows XP Localization:en-US Browser:Firefox-24.0 Engine:Gecko-20130405 Bot:false Mobile:false",
+ },
// Opera
- "Platform:Macintosh OS:Intel Mac OS X Localization:en Browser:Opera-9.27 Engine:Presto Bot:false Mobile:false",
- "Platform:Windows OS:Windows XP Localization:en Browser:Opera-9.27 Engine:Presto Bot:false Mobile:false",
- "Platform:Windows OS:Windows XP Browser:Opera-9.80 Engine:Presto-2.12.388 Bot:false Mobile:false",
- "Platform:Windows OS:Windows Vista Browser:Opera-9.80 Engine:Presto-2.12.388 Bot:false Mobile:false",
- "Browser:Opera-9.80 Engine:Presto Bot:false Mobile:false",
- "Platform:Windows OS:Windows Vista Localization:en Browser:Opera-9.80 Engine:Presto-2.2.15 Bot:false Mobile:false",
- "Platform:X11 OS:Linux x86_64 Browser:Opera-9.80 Engine:Presto-2.12.388 Bot:false Mobile:false",
- "Platform:Android 4.2.1 OS:Linux Browser:Opera-9.80 Engine:Presto-2.11.355 Bot:false Mobile:true",
- "Platform:Windows OS:Windows XP Browser:Opera-9.80 Engine:Presto-2.12.388 Bot:false Mobile:false",
- "Platform:Windows OS:Windows 7 Localization:en Browser:Opera-9.80 Engine:Presto-2.9.168 Bot:false Mobile:false",
+ {
+ title: "OperaMac",
+ ua: "Opera/9.27 (Macintosh; Intel Mac OS X; U; en)",
+ expected: "Platform:Macintosh OS:Intel Mac OS X Localization:en Browser:Opera-9.27 Engine:Presto Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Intel Mac OS X", "Mac OS X", ""},
+ },
+ {
+ title: "OperaWin",
+ ua: "Opera/9.27 (Windows NT 5.1; U; en)",
+ expected: "Platform:Windows OS:Windows XP Localization:en Browser:Opera-9.27 Engine:Presto Bot:false Mobile:false",
+ },
+ {
+ title: "OperaWinNoLocale",
+ ua: "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.10",
+ expected: "Platform:Windows OS:Windows XP Browser:Opera-9.80 Engine:Presto-2.12.388 Bot:false Mobile:false",
+ },
+ {
+ title: "OperaWin2Comment",
+ ua: "Opera/9.80 (Windows NT 6.0; WOW64) Presto/2.12.388 Version/12.15",
+ expected: "Platform:Windows OS:Windows Vista Browser:Opera-9.80 Engine:Presto-2.12.388 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Windows Vista", "Windows", "Vista"},
+ },
+ {
+ title: "OperaMinimal",
+ ua: "Opera/9.80",
+ expected: "Browser:Opera-9.80 Engine:Presto Bot:false Mobile:false",
+ },
+ {
+ title: "OperaFull",
+ ua: "Opera/9.80 (Windows NT 6.0; U; en) Presto/2.2.15 Version/10.10",
+ expected: "Platform:Windows OS:Windows Vista Localization:en Browser:Opera-9.80 Engine:Presto-2.2.15 Bot:false Mobile:false",
+ },
+ {
+ title: "OperaLinux",
+ ua: "Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.10",
+ expected: "Platform:X11 OS:Linux x86_64 Browser:Opera-9.80 Engine:Presto-2.12.388 Bot:false Mobile:false",
+ },
+ {
+ title: "OperaLinux - Ubuntu V41",
+ ua: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 OPR/41.0.2353.69",
+ expected: "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Opera-41.0.2353.69 Engine:AppleWebKit-537.36 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Linux x86_64", "Linux", ""},
+ },
+ {
+ title: "OperaAndroid",
+ ua: "Opera/9.80 (Android 4.2.1; Linux; Opera Mobi/ADR-1212030829) Presto/2.11.355 Version/12.10",
+ expected: "Platform:Android 4.2.1 OS:Linux Browser:Opera-9.80 Engine:Presto-2.11.355 Bot:false Mobile:true",
+ expectedOS: &OSInfo{"Linux", "Linux", ""},
+ },
+ {
+ title: "OperaNested",
+ ua: "Opera/9.80 (Windows NT 5.1; MRA 6.0 (build 5831)) Presto/2.12.388 Version/12.10",
+ expected: "Platform:Windows OS:Windows XP Browser:Opera-9.80 Engine:Presto-2.12.388 Bot:false Mobile:false",
+ },
+ {
+ title: "OperaMRA",
+ ua: "Opera/9.80 (Windows NT 6.1; U; MRA 5.8 (build 4139); en) Presto/2.9.168 Version/11.50",
+ expected: "Platform:Windows OS:Windows 7 Localization:en Browser:Opera-9.80 Engine:Presto-2.9.168 Bot:false Mobile:false",
+ },
// Other
- "Bot:false Mobile:false",
- "Browser:nil Bot:false Mobile:false",
- "Browser:Mozilla-4.0 Bot:false Mobile:false",
- "Browser:Mozilla-5.0 Bot:false Mobile:false",
- "Browser:amaya-9.51 Engine:libwww-5.4.0 Bot:false Mobile:false",
- "Browser:Rails Engine:Testing Bot:false Mobile:false",
- "Browser:Python-urllib-2.7 Bot:false Mobile:false",
- "Browser:curl-7.28.1 Bot:false Mobile:false",
+ {
+ title: "Empty",
+ ua: "",
+ expected: "Bot:false Mobile:false",
+ },
+ {
+ title: "Nil",
+ ua: "nil",
+ expected: "Browser:nil Bot:false Mobile:false",
+ },
+ {
+ title: "Compatible",
+ ua: "Mozilla/4.0 (compatible)",
+ expected: "Browser:Mozilla-4.0 Bot:false Mobile:false",
+ },
+ {
+ title: "Mozilla",
+ ua: "Mozilla/5.0",
+ expected: "Browser:Mozilla-5.0 Bot:false Mobile:false",
+ },
+ {
+ title: "Amaya",
+ ua: "amaya/9.51 libwww/5.4.0",
+ expected: "Browser:amaya-9.51 Engine:libwww-5.4.0 Bot:false Mobile:false",
+ },
+ {
+ title: "Rails",
+ ua: "Rails Testing",
+ expected: "Browser:Rails Engine:Testing Bot:false Mobile:false",
+ },
+ {
+ title: "Python",
+ ua: "Python-urllib/2.7",
+ expected: "Browser:Python-urllib-2.7 Bot:false Mobile:false",
+ },
+ {
+ title: "Curl",
+ ua: "curl/7.28.1",
+ expected: "Browser:curl-7.28.1 Bot:false Mobile:false",
+ },
// WebKit
- "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Chrome-23.0.1271.97 Engine:AppleWebKit-537.11 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Chrome-18.0.1025.168 Engine:AppleWebKit-535.19 Bot:false Mobile:false",
- "Mozilla:5.0 Browser:Chrome-8.0.552.215 Engine:AppleWebKit-534.10 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10_6_5 Localization:en-US Browser:Chrome-8.0.552.231 Engine:AppleWebKit-534.10 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10_6_3 Localization:en-us Browser:Safari-5.0 Engine:AppleWebKit-533.16 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Windows OS:Windows XP Localization:en Browser:Safari-4.0dp1 Engine:AppleWebKit-526.9 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:iPhone OS:CPU iPhone OS 7_0_3 like Mac OS X Browser:Safari-7.0 Engine:AppleWebKit-537.51.1 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:iPhone OS:CPU like Mac OS X Localization:en Browser:Safari-3.0 Engine:AppleWebKit-420.1 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:iPod OS:CPU like Mac OS X Localization:en Browser:Safari-3.0 Engine:AppleWebKit-420.1 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:iPad OS:CPU OS 3_2 like Mac OS X Localization:en-us Browser:Safari-4.0.4 Engine:AppleWebKit-531.21.10 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:webOS OS:Palm Localization:en-US Browser:webOS-1.0 Engine:AppleWebKit-532.2 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:Linux OS:Android 1.5 Localization:de- Browser:Android-3.1.2 Engine:AppleWebKit-528.5+ Bot:false Mobile:true",
- "Mozilla:5.0 Platform:BlackBerry OS:BlackBerry 9800 Localization:en Browser:BlackBerry-6.0.0.141 Engine:AppleWebKit-534.1+ Bot:false Mobile:true",
- "Mozilla:5.0 Platform:BlackBerry OS:BlackBerry Browser:BlackBerry-10.0.9.388 Engine:AppleWebKit-537.3+ Bot:false Mobile:true",
- "Mozilla:5.0 Platform:Symbian OS:SymbianOS/9.4 Browser:Symbian-3.0 Engine:AppleWebKit-525 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:Linux OS:Android 4.2.1 Browser:Chrome-18.0.1025.166 Engine:AppleWebKit-535.19 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:en-us Localization:en-us Browser:Safari-3.1 Engine:AppleWebKit-525.13 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Linux OS:Android 4.2.2 Browser:Opera-14.0.1074.57453 Engine:AppleWebKit-537.31 Bot:false Mobile:true",
- "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Opera-14.0.1074.57453 Engine:AppleWebKit-537.31 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Linux OS:Linux Browser:Chrome-22.0.1229.79 Engine:AppleWebKit-537.4 Bot:false Mobile:false",
- "Mozilla:5.0 Platform:Symbian OS:SymbianOS/9.1 Browser:Symbian-413 Engine:AppleWebKit-413 Bot:false Mobile:true",
+ {
+ title: "ChromeLinux",
+ ua: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11",
+ expected: "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Chrome-23.0.1271.97 Engine:AppleWebKit-537.11 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Linux x86_64", "Linux", ""},
+ },
+ {
+ title: "ChromeLinux - Ubuntu V55",
+ ua: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36",
+ expected: "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Chrome-55.0.2883.75 Engine:AppleWebKit-537.36 Bot:false Mobile:false",
+ },
+ {
+ title: "ChromeWin7",
+ ua: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows 7 Browser:Chrome-18.0.1025.168 Engine:AppleWebKit-535.19 Bot:false Mobile:false",
+ },
+ {
+ title: "ChromeMinimal",
+ ua: "Mozilla/5.0 AppleWebKit/534.10 Chrome/8.0.552.215 Safari/534.10",
+ expected: "Mozilla:5.0 Browser:Chrome-8.0.552.215 Engine:AppleWebKit-534.10 Bot:false Mobile:false",
+ },
+ {
+ title: "ChromeMac",
+ ua: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.231 Safari/534.10",
+ expected: "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10_6_5 Localization:en-US Browser:Chrome-8.0.552.231 Engine:AppleWebKit-534.10 Bot:false Mobile:false",
+ expectedOS: &OSInfo{"Intel Mac OS X 10_6_5", "Mac OS X", "10.6.5"},
+ },
+ {
+ title: "SafariMac",
+ ua: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16",
+ expected: "Mozilla:5.0 Platform:Macintosh OS:Intel Mac OS X 10_6_3 Localization:en-us Browser:Safari-5.0 Engine:AppleWebKit-533.16 Bot:false Mobile:false",
+ },
+ {
+ title: "SafariWin",
+ ua: "Mozilla/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/526.9 (KHTML, like Gecko) Version/4.0dp1 Safari/526.8",
+ expected: "Mozilla:5.0 Platform:Windows OS:Windows XP Localization:en Browser:Safari-4.0dp1 Engine:AppleWebKit-526.9 Bot:false Mobile:false",
+ },
+ {
+ title: "iPhone7",
+ ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_3 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B511 Safari/9537.53",
+ expected: "Mozilla:5.0 Platform:iPhone OS:CPU iPhone OS 7_0_3 like Mac OS X Browser:Safari-7.0 Engine:AppleWebKit-537.51.1 Bot:false Mobile:true",
+ expectedOS: &OSInfo{"CPU iPhone OS 7_0_3 like Mac OS X", "iPhone OS", "7.0.3"},
+ },
+ {
+ title: "iPhone",
+ ua: "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/419",
+ expected: "Mozilla:5.0 Platform:iPhone OS:CPU like Mac OS X Localization:en Browser:Safari-3.0 Engine:AppleWebKit-420.1 Bot:false Mobile:true",
+ },
+ {
+ title: "iPod",
+ ua: "Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/419",
+ expected: "Mozilla:5.0 Platform:iPod OS:CPU like Mac OS X Localization:en Browser:Safari-3.0 Engine:AppleWebKit-420.1 Bot:false Mobile:true",
+ },
+ {
+ title: "iPad",
+ ua: "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10",
+ expected: "Mozilla:5.0 Platform:iPad OS:CPU OS 3_2 like Mac OS X Localization:en-us Browser:Safari-4.0.4 Engine:AppleWebKit-531.21.10 Bot:false Mobile:true",
+ },
+ {
+ title: "webOS",
+ ua: "Mozilla/5.0 (webOS/1.4.0; U; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Version/1.0 Safari/532.2 Pre/1.1",
+ expected: "Mozilla:5.0 Platform:webOS OS:Palm Localization:en-US Browser:webOS-1.0 Engine:AppleWebKit-532.2 Bot:false Mobile:true",
+ },
+ {
+ title: "Android",
+ ua: "Mozilla/5.0 (Linux; U; Android 1.5; de-; HTC Magic Build/PLAT-RC33) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1",
+ expected: "Mozilla:5.0 Platform:Linux OS:Android 1.5 Localization:de- Browser:Android-3.1.2 Engine:AppleWebKit-528.5+ Bot:false Mobile:true",
+ },
+ {
+ title: "BlackBerry",
+ ua: "Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, Like Gecko) Version/6.0.0.141 Mobile Safari/534.1+",
+ expected: "Mozilla:5.0 Platform:BlackBerry OS:BlackBerry 9800 Localization:en Browser:BlackBerry-6.0.0.141 Engine:AppleWebKit-534.1+ Bot:false Mobile:true",
+ expectedOS: &OSInfo{"BlackBerry 9800", "BlackBerry", "9800"},
+ },
+ {
+ title: "BB10",
+ ua: "Mozilla/5.0 (BB10; Touch) AppleWebKit/537.3+ (KHTML, like Gecko) Version/10.0.9.388 Mobile Safari/537.3+",
+ expected: "Mozilla:5.0 Platform:BlackBerry OS:BlackBerry Browser:BlackBerry-10.0.9.388 Engine:AppleWebKit-537.3+ Bot:false Mobile:true",
+ },
+ {
+ title: "Ericsson",
+ ua: "Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 Safari/525",
+ expected: "Mozilla:5.0 Platform:Symbian OS:SymbianOS/9.4 Browser:Symbian-3.0 Engine:AppleWebKit-525 Bot:false Mobile:true",
+ expectedOS: &OSInfo{"SymbianOS/9.4", "SymbianOS", "9.4"},
+ },
+ {
+ title: "ChromeAndroid",
+ ua: "Mozilla/5.0 (Linux; Android 4.2.1; Galaxy Nexus Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
+ expected: "Mozilla:5.0 Platform:Linux OS:Android 4.2.1 Browser:Chrome-18.0.1025.166 Engine:AppleWebKit-535.19 Bot:false Mobile:true",
+ },
+ {
+ title: "WebkitNoPlatform",
+ ua: "Mozilla/5.0 (en-us) AppleWebKit/525.13 (KHTML, like Gecko; Google Web Preview) Version/3.1 Safari/525.13",
+ expected: "Mozilla:5.0 Platform:en-us Localization:en-us Browser:Safari-3.1 Engine:AppleWebKit-525.13 Bot:false Mobile:false",
+ },
+ {
+ title: "OperaWebkitMobile",
+ ua: "Mozilla/5.0 (Linux; Android 4.2.2; Galaxy Nexus Build/JDQ39) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.58 Mobile Safari/537.31 OPR/14.0.1074.57453",
+ expected: "Mozilla:5.0 Platform:Linux OS:Android 4.2.2 Browser:Opera-14.0.1074.57453 Engine:AppleWebKit-537.31 Bot:false Mobile:true",
+ },
+ {
+ title: "OperaWebkitDesktop",
+ ua: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.58 Safari/537.31 OPR/14.0.1074.57453",
+ expected: "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Opera-14.0.1074.57453 Engine:AppleWebKit-537.31 Bot:false Mobile:false",
+ },
+ {
+ title: "ChromeNothingAfterU",
+ ua: "Mozilla/5.0 (Linux; U) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4",
+ expected: "Mozilla:5.0 Platform:Linux OS:Linux Browser:Chrome-22.0.1229.79 Engine:AppleWebKit-537.4 Bot:false Mobile:false",
+ },
+ {
+ title: "SafariOnSymbian",
+ ua: "Mozilla/5.0 (SymbianOS/9.1; U; [en-us]) AppleWebKit/413 (KHTML, like Gecko) Safari/413",
+ expected: "Mozilla:5.0 Platform:Symbian OS:SymbianOS/9.1 Browser:Symbian-413 Engine:AppleWebKit-413 Bot:false Mobile:true",
+ },
+ {
+ title: "Chromium - Ubuntu V49",
+ ua: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/49.0.2623.108 Chrome/49.0.2623.108 Safari/537.36",
+ expected: "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Chromium-49.0.2623.108 Engine:AppleWebKit-537.36 Bot:false Mobile:false",
+ },
+ {
+ title: "Chromium - Ubuntu V55",
+ ua: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36",
+ expected: "Mozilla:5.0 Platform:X11 OS:Linux x86_64 Browser:Chromium-53.0.2785.143 Engine:AppleWebKit-537.36 Bot:false Mobile:false",
+ },
+
+ // Dalvik
+ {
+ title: "Dalvik - Dell:001DL",
+ ua: "Dalvik/1.2.0 (Linux; U; Android 2.2.2; 001DL Build/FRG83G)",
+ expected: "Mozilla:5.0 Platform:Linux OS:Android 2.2.2 Bot:false Mobile:true",
+ },
+ {
+ title: "Dalvik - HTC:001HT",
+ ua: "Dalvik/1.4.0 (Linux; U; Android 2.3.3; 001HT Build/GRI40)",
+ expected: "Mozilla:5.0 Platform:Linux OS:Android 2.3.3 Bot:false Mobile:true",
+ },
+ {
+ title: "Dalvik - ZTE:009Z",
+ ua: "Dalvik/1.4.0 (Linux; U; Android 2.3.4; 009Z Build/GINGERBREAD)",
+ expected: "Mozilla:5.0 Platform:Linux OS:Android 2.3.4 Bot:false Mobile:true",
+ },
+ {
+ title: "Dalvik - A850",
+ ua: "Dalvik/1.6.0 (Linux; U; Android 4.2.2; A850 Build/JDQ39) Configuration/CLDC-1.1; Opera Mini/att/4.2",
+ expected: "Mozilla:5.0 Platform:Linux OS:Android 4.2.2 Bot:false Mobile:true",
+ },
+ {
+ title: "Dalvik - Asus:T00Q",
+ ua: "Dalvik/1.6.0 (Linux; U; Android 4.4.2; ASUS_T00Q Build/KVT49L)/CLDC-1.1",
+ expected: "Mozilla:5.0 Platform:Linux OS:Android 4.4.2 Bot:false Mobile:true",
+ expectedOS: &OSInfo{"Android 4.4.2", "Android", "4.4.2"},
+ },
+ {
+ title: "Dalvik - W2430",
+ ua: "Dalvik/1.6.0 (Linux; U; Android 4.0.4; W2430 Build/IMM76D)014; Profile/MIDP-2.1 Configuration/CLDC-1",
+ expected: "Mozilla:5.0 Platform:Linux OS:Android 4.0.4 Bot:false Mobile:true",
+ },
}
// Internal: beautify the UserAgent reference into a string so it can be
@@ -235,11 +560,18 @@ func beautify(ua *UserAgent) (s string) {
// The test suite.
func TestUserAgent(t *testing.T) {
- for i, tt := range uastrings {
+ for _, tt := range uastrings {
ua := New(tt.ua)
got := beautify(ua)
- if expected[i] != got {
- t.Errorf("Test %v => %q, expected %q", tt.name, got, expected[i])
+ if tt.expected != got {
+ t.Errorf("\nTest %v\ngot: %q\nexpected %q\n", tt.title, got, tt.expected)
+ }
+
+ if tt.expectedOS != nil {
+ gotOSInfo := ua.OSInfo()
+ if !reflect.DeepEqual(tt.expectedOS, &gotOSInfo) {
+ t.Errorf("\nTest %v\ngot: %#v\nexpected %#v\n", tt.title, gotOSInfo, tt.expectedOS)
+ }
}
}
}
diff --git a/vendor/github.com/mssola/user_agent/bot.go b/vendor/github.com/mssola/user_agent/bot.go
index efcab9253..a6222d17f 100644
--- a/vendor/github.com/mssola/user_agent/bot.go
+++ b/vendor/github.com/mssola/user_agent/bot.go
@@ -1,4 +1,4 @@
-// Copyright (C) 2014 Miquel Sabaté Solà <mikisabate@gmail.com>
+// Copyright (C) 2014-2017 Miquel Sabaté Solà <mikisabate@gmail.com>
// This file is licensed under the MIT license.
// See the LICENSE file.
@@ -9,6 +9,8 @@ import (
"strings"
)
+var botFromSiteRegexp = regexp.MustCompile("http://.+\\.\\w+")
+
// Get the name of the bot from the website that may be in the given comment. If
// there is no website in the comment, then an empty string is returned.
func getFromSite(comment []string) string {
@@ -23,8 +25,7 @@ func getFromSite(comment []string) string {
}
// Pick the site.
- re := regexp.MustCompile("http://.+\\.\\w+")
- results := re.FindStringSubmatch(comment[idx])
+ results := botFromSiteRegexp.FindStringSubmatch(comment[idx])
if len(results) == 1 {
// If it's a simple comment, just return the name of the site.
if idx == 0 {
@@ -74,6 +75,8 @@ func (p *UserAgent) fixOther(sections []section) {
}
}
+var botRegex = regexp.MustCompile("(?i)(bot|crawler|sp(i|y)der|search|worm|fetch|nutch)")
+
// Check if we're dealing with a bot or with some weird browser. If that is the
// case, the receiver will be modified accordingly.
func (p *UserAgent) checkBot(sections []section) {
@@ -82,9 +85,8 @@ func (p *UserAgent) checkBot(sections []section) {
if len(sections) == 1 && sections[0].name != "Mozilla" {
p.mozilla = ""
- // Check whether the name has some suspicious "bot" in his name.
- reg, _ := regexp.Compile("(?i)bot")
- if reg.Match([]byte(sections[0].name)) {
+ // Check whether the name has some suspicious "bot" or "crawler" in his name.
+ if botRegex.Match([]byte(sections[0].name)) {
p.setSimple(sections[0].name, "", true)
return
}
diff --git a/vendor/github.com/mssola/user_agent/browser.go b/vendor/github.com/mssola/user_agent/browser.go
index 74fb931ef..fbed92176 100644
--- a/vendor/github.com/mssola/user_agent/browser.go
+++ b/vendor/github.com/mssola/user_agent/browser.go
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2014 Miquel Sabaté Solà <mikisabate@gmail.com>
+// Copyright (C) 2012-2017 Miquel Sabaté Solà <mikisabate@gmail.com>
// This file is licensed under the MIT license.
// See the LICENSE file.
@@ -9,6 +9,8 @@ import (
"strings"
)
+var ie11Regexp = regexp.MustCompile("^rv:(.+)$")
+
// A struct containing all the information that we might be
// interested from the browser.
type Browser struct {
@@ -34,27 +36,46 @@ func (p *UserAgent) detectBrowser(sections []section) {
slen := len(sections)
if sections[0].name == "Opera" {
- p.mozilla = ""
p.browser.Name = "Opera"
p.browser.Version = sections[0].version
p.browser.Engine = "Presto"
if slen > 1 {
p.browser.EngineVersion = sections[1].version
}
+ } else if sections[0].name == "Dalvik" {
+ // When Dalvik VM is in use, there is no browser info attached to ua.
+ // Although browser is still a Mozilla/5.0 compatible.
+ p.mozilla = "5.0"
} else if slen > 1 {
engine := sections[1]
p.browser.Engine = engine.name
p.browser.EngineVersion = engine.version
if slen > 2 {
- p.browser.Version = sections[2].version
+ sectionIndex := 2
+ // The version after the engine comment is empty on e.g. Ubuntu
+ // platforms so if this is the case, let's use the next in line.
+ if sections[2].version == "" && slen > 3 {
+ sectionIndex = 3
+ }
+ p.browser.Version = sections[sectionIndex].version
if engine.name == "AppleWebKit" {
- if sections[slen-1].name == "OPR" {
+ switch sections[slen-1].name {
+ case "Edge":
+ p.browser.Name = "Edge"
+ p.browser.Version = sections[slen-1].version
+ p.browser.Engine = "EdgeHTML"
+ p.browser.EngineVersion = ""
+ case "OPR":
p.browser.Name = "Opera"
p.browser.Version = sections[slen-1].version
- } else if sections[2].name == "Chrome" {
- p.browser.Name = "Chrome"
- } else {
- p.browser.Name = "Safari"
+ default:
+ if sections[sectionIndex].name == "Chrome" {
+ p.browser.Name = "Chrome"
+ } else if sections[sectionIndex].name == "Chromium" {
+ p.browser.Name = "Chromium"
+ } else {
+ p.browser.Name = "Safari"
+ }
}
} else if engine.name == "Gecko" {
name := sections[2].name
@@ -67,9 +88,8 @@ func (p *UserAgent) detectBrowser(sections []section) {
// This is the new user agent from Internet Explorer 11.
p.browser.Engine = "Trident"
p.browser.Name = "Internet Explorer"
- reg, _ := regexp.Compile("^rv:(.+)$")
for _, c := range sections[0].comment {
- version := reg.FindStringSubmatch(c)
+ version := ie11Regexp.FindStringSubmatch(c)
if len(version) > 0 {
p.browser.Version = version[1]
return
diff --git a/vendor/github.com/mssola/user_agent/operating_systems.go b/vendor/github.com/mssola/user_agent/operating_systems.go
index 0b1e93d29..aebd8b394 100644
--- a/vendor/github.com/mssola/user_agent/operating_systems.go
+++ b/vendor/github.com/mssola/user_agent/operating_systems.go
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2014 Miquel Sabaté Solà <mikisabate@gmail.com>
+// Copyright (C) 2012-2017 Miquel Sabaté Solà <mikisabate@gmail.com>
// This file is licensed under the MIT license.
// See the LICENSE file.
@@ -6,13 +6,26 @@ package user_agent
import "strings"
+// Represents full information on the operating system extracted from the user agent.
+type OSInfo struct {
+ // Full name of the operating system. This is identical to the output of ua.OS()
+ FullName string
+
+ // Name of the operating system. This is sometimes a shorter version of the
+ // operating system name, e.g. "Mac OS X" instead of "Intel Mac OS X"
+ Name string
+
+ // Operating system version, e.g. 7 for Windows 7 or 10.8 for Max OS X Mountain Lion
+ Version string
+}
+
// Normalize the name of the operating system. By now, this just
-// affects to Windows.
+// affects to Windows NT.
//
// Returns a string containing the normalized name for the Operating System.
func normalizeOS(name string) string {
sp := strings.SplitN(name, " ", 3)
- if len(sp) != 3 {
+ if len(sp) != 3 || sp[1] != "NT" {
return name
}
@@ -33,7 +46,7 @@ func normalizeOS(name string) string {
return "Windows 8"
case "6.3":
return "Windows 8.1"
- case "6.4":
+ case "10.0":
return "Windows 10"
}
return name
@@ -126,7 +139,9 @@ func gecko(p *UserAgent, comment []string) {
}
}
}
- if len(comment) > 3 {
+ // Only parse 4th comment as localization if it doesn't start with rv:.
+ // For example Firefox on Ubuntu contains "rv:XX.X" in this field.
+ if len(comment) > 3 && !strings.HasPrefix(comment[3], "rv:") {
p.localization = comment[3]
}
}
@@ -193,6 +208,23 @@ func opera(p *UserAgent, comment []string) {
}
}
+// Guess the OS. Android browsers send Dalvik as the user agent in the
+// request header.
+//
+// The first argument p is a reference to the current UserAgent and the second
+// argument is a slice of strings containing the comment.
+func dalvik(p *UserAgent, comment []string) {
+ slen := len(comment)
+
+ if strings.HasPrefix(comment[0], "Linux") {
+ p.platform = comment[0]
+ if slen > 2 {
+ p.os = comment[2]
+ }
+ p.mobile = true
+ }
+}
+
// Given the comment of the first section of the UserAgent string,
// get the platform.
func getPlatform(comment []string) string {
@@ -238,6 +270,10 @@ func (p *UserAgent) detectOS(s section) {
if len(s.comment) > 0 {
opera(p, s.comment)
}
+ } else if s.name == "Dalvik" {
+ if len(s.comment) > 0 {
+ dalvik(p, s.comment)
+ }
} else {
// Check whether this is a bot or just a weird browser.
p.undecided = true
@@ -258,3 +294,64 @@ func (p *UserAgent) OS() string {
func (p *UserAgent) Localization() string {
return p.localization
}
+
+// Return OS name and version from a slice of strings created from the full name of the OS.
+func osName(osSplit []string) (name, version string) {
+ if len(osSplit) == 1 {
+ name = osSplit[0]
+ version = ""
+ } else {
+ // Assume version is stored in the last part of the array.
+ nameSplit := osSplit[:len(osSplit)-1]
+ version = osSplit[len(osSplit)-1]
+
+ // Nicer looking Mac OS X
+ if len(nameSplit) >= 2 && nameSplit[0] == "Intel" && nameSplit[1] == "Mac" {
+ nameSplit = nameSplit[1:]
+ }
+ name = strings.Join(nameSplit, " ")
+
+ if strings.Contains(version, "x86") || strings.Contains(version, "i686") {
+ // x86_64 and i868 are not Linux versions but architectures
+ version = ""
+ } else if version == "X" && name == "Mac OS" {
+ // X is not a version for Mac OS.
+ name = name + " " + version
+ version = ""
+ }
+ }
+ return name, version
+}
+
+// Returns combined information for the operating system.
+func (p *UserAgent) OSInfo() OSInfo {
+ // Special case for iPhone weirdness
+ os := strings.Replace(p.os, "like Mac OS X", "", 1)
+ os = strings.Replace(os, "CPU", "", 1)
+ os = strings.Trim(os, " ")
+
+ osSplit := strings.Split(os, " ")
+
+ // Special case for x64 edition of Windows
+ if os == "Windows XP x64 Edition" {
+ osSplit = osSplit[:len(osSplit)-2]
+ }
+
+ name, version := osName(osSplit)
+
+ // Special case for names that contain a forward slash version separator.
+ if strings.Contains(name, "/") {
+ s := strings.Split(name, "/")
+ name = s[0]
+ version = s[1]
+ }
+
+ // Special case for versions that use underscores
+ version = strings.Replace(version, "_", ".", -1)
+
+ return OSInfo{
+ FullName: p.os,
+ Name: name,
+ Version: version,
+ }
+}
diff --git a/vendor/github.com/mssola/user_agent/user_agent.go b/vendor/github.com/mssola/user_agent/user_agent.go
index 74ddf273c..36e8d1bfa 100644
--- a/vendor/github.com/mssola/user_agent/user_agent.go
+++ b/vendor/github.com/mssola/user_agent/user_agent.go
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2014 Miquel Sabaté Solà <mikisabate@gmail.com>
+// Copyright (C) 2012-2017 Miquel Sabaté Solà <mikisabate@gmail.com>
// This file is licensed under the MIT license.
// See the LICENSE file.
@@ -8,9 +8,7 @@
// information that has been extracted from a parsed User Agent string.
package user_agent
-import (
- "strings"
-)
+import "strings"
// A section contains the name of the product, its version and
// an optional comment.
@@ -141,7 +139,9 @@ func (p *UserAgent) Parse(ua string) {
}
if len(sections) > 0 {
- p.mozilla = sections[0].version
+ if sections[0].name == "Mozilla" {
+ p.mozilla = sections[0].version
+ }
p.detectBrowser(sections)
p.detectOS(sections[0])
@@ -167,3 +167,8 @@ func (p *UserAgent) Bot() bool {
func (p *UserAgent) Mobile() bool {
return p.mobile
}
+
+// Returns the original given user agent.
+func (p *UserAgent) UA() string {
+ return p.ua
+}
diff --git a/vendor/github.com/nicksnyder/go-i18n/.travis.yml b/vendor/github.com/nicksnyder/go-i18n/.travis.yml
index 527eb6475..8937ab6bf 100644
--- a/vendor/github.com/nicksnyder/go-i18n/.travis.yml
+++ b/vendor/github.com/nicksnyder/go-i18n/.travis.yml
@@ -8,4 +8,4 @@ go:
- 1.6
- 1.7
- 1.8
- - tip
+ - 1.9
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/main.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/main.go
index 5d6b6ad4f..58971033f 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/main.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/main.go
@@ -81,9 +81,9 @@ var codeTemplate = template.Must(template.New("spec").Parse(`package language
func init() {
{{range .PluralGroups}}
- registerPluralSpec({{printf "%#v" .SplitLocales}}, &PluralSpec{
+ RegisterPluralSpec({{printf "%#v" .SplitLocales}}, &PluralSpec{
Plurals: newPluralSet({{range $i, $e := .PluralRules}}{{if $i}}, {{end}}{{$e.CountTitle}}{{end}}),
- PluralFunc: func(ops *operands) Plural { {{range .PluralRules}}{{if .GoCondition}}
+ PluralFunc: func(ops *Operands) Plural { {{range .PluralRules}}{{if .GoCondition}}
// {{.Condition}}
if {{.GoCondition}} {
return {{.CountTitle}}
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/plurals.xml b/vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/plurals.xml
index cdd0b5296..3310c8ee2 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/plurals.xml
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/codegen/plurals.xml
@@ -6,13 +6,13 @@ CLDR data files are interpreted according to the LDML specification (http://unic
For terms of use, see http://www.unicode.org/copyright.html
-->
<supplementalData>
- <version number="$Revision: 12002 $"/>
+ <version number="$Revision: 13253 $"/>
<plurals type="cardinal">
<!-- For a canonicalized list, use GeneratedPluralSamples -->
<!-- 1: other -->
- <pluralRules locales="bm bo dz id ig ii in ja jbo jv jw kde kea km ko lkt lo ms my nqo root sah ses sg th to vi wo yo zh">
+ <pluralRules locales="bm bo dz id ig ii in ja jbo jv jw kde kea km ko lkt lo ms my nqo root sah ses sg th to vi wo yo yue zh">
<pluralRule count="other"> @integer 0~15, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
</pluralRules>
@@ -26,6 +26,10 @@ For terms of use, see http://www.unicode.org/copyright.html
<pluralRule count="one">i = 0,1 @integer 0, 1 @decimal 0.0~1.5</pluralRule>
<pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
</pluralRules>
+ <pluralRules locales="pt">
+ <pluralRule count="one">i = 0..1 @integer 0, 1 @decimal 0.0~1.5</pluralRule>
+ <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 2.0~3.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+ </pluralRules>
<pluralRules locales="ast ca de en et fi fy gl it ji nl sv sw ur yi">
<pluralRule count="one">i = 1 and v = 0 @integer 1</pluralRule>
<pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
@@ -42,18 +46,10 @@ For terms of use, see http://www.unicode.org/copyright.html
<pluralRule count="one">n = 0..1 or n = 11..99 @integer 0, 1, 11~24 @decimal 0.0, 1.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0</pluralRule>
<pluralRule count="other"> @integer 2~10, 100~106, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
</pluralRules>
- <pluralRules locales="pt">
- <pluralRule count="one">n = 0..2 and n != 2 @integer 0, 1 @decimal 0.0, 1.0, 0.00, 1.00, 0.000, 1.000, 0.0000, 1.0000</pluralRule>
- <pluralRule count="other"> @integer 2~17, 100, 1000, 10000, 100000, 1000000, … @decimal 0.1~0.9, 1.1~1.7, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
- </pluralRules>
<pluralRules locales="af asa az bem bez bg brx ce cgg chr ckb dv ee el eo es eu fo fur gsw ha haw hu jgo jmc ka kaj kcg kk kkj kl ks ksb ku ky lb lg mas mgo ml mn nah nb nd ne nn nnh no nr ny nyn om or os pap ps rm rof rwk saq sdh seh sn so sq ss ssy st syr ta te teo tig tk tn tr ts ug uz ve vo vun wae xh xog">
<pluralRule count="one">n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000</pluralRule>
<pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~0.9, 1.1~1.6, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
</pluralRules>
- <pluralRules locales="pt_PT">
- <pluralRule count="one">n = 1 and v = 0 @integer 1</pluralRule>
- <pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
- </pluralRules>
<pluralRules locales="da">
<pluralRule count="one">n = 1 or t != 0 and i = 0,1 @integer 1 @decimal 0.1~1.6</pluralRule>
<pluralRule count="other"> @integer 0, 2~16, 100, 1000, 10000, 100000, 1000000, … @decimal 0.0, 2.0~3.4, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
@@ -210,7 +206,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- 6: zero,one,two,few,many,other -->
- <pluralRules locales="ar">
+ <pluralRules locales="ar ars">
<pluralRule count="zero">n = 0 @integer 0 @decimal 0.0, 0.00, 0.000, 0.0000</pluralRule>
<pluralRule count="one">n = 1 @integer 1 @decimal 1.0, 1.00, 1.000, 1.0000</pluralRule>
<pluralRule count="two">n = 2 @integer 2 @decimal 2.0, 2.00, 2.000, 2.0000</pluralRule>
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/language_test.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/language_test.go
index 2949bfe4a..1ab3314d6 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/language/language_test.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/language_test.go
@@ -18,8 +18,8 @@ func TestParse(t *testing.T) {
{"zh-TW", []*Language{{"zh-tw", pluralSpecs["zh"]}}},
{"pt-BR", []*Language{{"pt-br", pluralSpecs["pt"]}}},
{"pt_BR", []*Language{{"pt-br", pluralSpecs["pt"]}}},
- {"pt-PT", []*Language{{"pt-pt", pluralSpecs["pt-pt"]}}},
- {"pt_PT", []*Language{{"pt-pt", pluralSpecs["pt-pt"]}}},
+ {"pt-PT", []*Language{{"pt-pt", pluralSpecs["pt"]}}},
+ {"pt_PT", []*Language{{"pt-pt", pluralSpecs["pt"]}}},
{"zh-Hans-CN", []*Language{{"zh-hans-cn", pluralSpecs["zh"]}}},
{"zh-Hant-TW", []*Language{{"zh-hant-tw", pluralSpecs["zh"]}}},
{"en-US-en-US", []*Language{{"en-us-en-us", pluralSpecs["en"]}}},
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands.go
index 877bcc89d..49ee7dc7c 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands.go
@@ -7,7 +7,7 @@ import (
)
// http://unicode.org/reports/tr35/tr35-numbers.html#Operands
-type operands struct {
+type Operands struct {
N float64 // absolute value of the source number (integer and decimals)
I int64 // integer digits of n
V int64 // number of visible fraction digits in n, with trailing zeros
@@ -17,7 +17,7 @@ type operands struct {
}
// NmodEqualAny returns true if o represents an integer equal to any of the arguments.
-func (o *operands) NequalsAny(any ...int64) bool {
+func (o *Operands) NequalsAny(any ...int64) bool {
for _, i := range any {
if o.I == i && o.T == 0 {
return true
@@ -27,7 +27,7 @@ func (o *operands) NequalsAny(any ...int64) bool {
}
// NmodEqualAny returns true if o represents an integer equal to any of the arguments modulo mod.
-func (o *operands) NmodEqualsAny(mod int64, any ...int64) bool {
+func (o *Operands) NmodEqualsAny(mod int64, any ...int64) bool {
modI := o.I % mod
for _, i := range any {
if modI == i && o.T == 0 {
@@ -38,17 +38,17 @@ func (o *operands) NmodEqualsAny(mod int64, any ...int64) bool {
}
// NmodInRange returns true if o represents an integer in the closed interval [from, to].
-func (o *operands) NinRange(from, to int64) bool {
+func (o *Operands) NinRange(from, to int64) bool {
return o.T == 0 && from <= o.I && o.I <= to
}
// NmodInRange returns true if o represents an integer in the closed interval [from, to] modulo mod.
-func (o *operands) NmodInRange(mod, from, to int64) bool {
+func (o *Operands) NmodInRange(mod, from, to int64) bool {
modI := o.I % mod
return o.T == 0 && from <= modI && modI <= to
}
-func newOperands(v interface{}) (*operands, error) {
+func newOperands(v interface{}) (*Operands, error) {
switch v := v.(type) {
case int:
return newOperandsInt64(int64(v)), nil
@@ -69,14 +69,14 @@ func newOperands(v interface{}) (*operands, error) {
}
}
-func newOperandsInt64(i int64) *operands {
+func newOperandsInt64(i int64) *Operands {
if i < 0 {
i = -i
}
- return &operands{float64(i), i, 0, 0, 0, 0}
+ return &Operands{float64(i), i, 0, 0, 0, 0}
}
-func newOperandsString(s string) (*operands, error) {
+func newOperandsString(s string) (*Operands, error) {
if s[0] == '-' {
s = s[1:]
}
@@ -84,7 +84,7 @@ func newOperandsString(s string) (*operands, error) {
if err != nil {
return nil, err
}
- ops := &operands{N: n}
+ ops := &Operands{N: n}
parts := strings.SplitN(s, ".", 2)
ops.I, err = strconv.ParseInt(parts[0], 10, 64)
if err != nil {
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands_test.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands_test.go
index 29030876a..e4f33902b 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands_test.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/operands_test.go
@@ -8,20 +8,20 @@ import (
func TestNewOperands(t *testing.T) {
tests := []struct {
input interface{}
- ops *operands
+ ops *Operands
err bool
}{
- {int64(0), &operands{0.0, 0, 0, 0, 0, 0}, false},
- {int64(1), &operands{1.0, 1, 0, 0, 0, 0}, false},
- {"0", &operands{0.0, 0, 0, 0, 0, 0}, false},
- {"1", &operands{1.0, 1, 0, 0, 0, 0}, false},
- {"1.0", &operands{1.0, 1, 1, 0, 0, 0}, false},
- {"1.00", &operands{1.0, 1, 2, 0, 0, 0}, false},
- {"1.3", &operands{1.3, 1, 1, 1, 3, 3}, false},
- {"1.30", &operands{1.3, 1, 2, 1, 30, 3}, false},
- {"1.03", &operands{1.03, 1, 2, 2, 3, 3}, false},
- {"1.230", &operands{1.23, 1, 3, 2, 230, 23}, false},
- {"20.0230", &operands{20.023, 20, 4, 3, 230, 23}, false},
+ {int64(0), &Operands{0.0, 0, 0, 0, 0, 0}, false},
+ {int64(1), &Operands{1.0, 1, 0, 0, 0, 0}, false},
+ {"0", &Operands{0.0, 0, 0, 0, 0, 0}, false},
+ {"1", &Operands{1.0, 1, 0, 0, 0, 0}, false},
+ {"1.0", &Operands{1.0, 1, 1, 0, 0, 0}, false},
+ {"1.00", &Operands{1.0, 1, 2, 0, 0, 0}, false},
+ {"1.3", &Operands{1.3, 1, 1, 1, 3, 3}, false},
+ {"1.30", &Operands{1.3, 1, 2, 1, 30, 3}, false},
+ {"1.03", &Operands{1.03, 1, 2, 2, 3, 3}, false},
+ {"1.230", &Operands{1.23, 1, 3, 2, 230, 23}, false},
+ {"20.0230", &Operands{20.023, 20, 4, 3, 230, 23}, false},
{20.0230, nil, true},
}
for _, test := range tests {
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec.go
index fc3522682..85b2a1b37 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec.go
@@ -7,7 +7,7 @@ import "strings"
// http://unicode.org/reports/tr35/tr35-numbers.html#Operands
type PluralSpec struct {
Plurals map[Plural]struct{}
- PluralFunc func(*operands) Plural
+ PluralFunc func(*Operands) Plural
}
var pluralSpecs = make(map[string]*PluralSpec)
@@ -18,7 +18,8 @@ func normalizePluralSpecID(id string) string {
return id
}
-func registerPluralSpec(ids []string, ps *PluralSpec) {
+// RegisterPluralSpec registers a new plural spec for the language ids.
+func RegisterPluralSpec(ids []string, ps *PluralSpec) {
for _, id := range ids {
id = normalizePluralSpecID(id)
pluralSpecs[id] = ps
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen.go
index c9b4f2667..0268bb92c 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen.go
@@ -4,15 +4,15 @@ package language
func init() {
- registerPluralSpec([]string{"bm", "bo", "dz", "id", "ig", "ii", "in", "ja", "jbo", "jv", "jw", "kde", "kea", "km", "ko", "lkt", "lo", "ms", "my", "nqo", "root", "sah", "ses", "sg", "th", "to", "vi", "wo", "yo", "zh"}, &PluralSpec{
+ RegisterPluralSpec([]string{"bm", "bo", "dz", "id", "ig", "ii", "in", "ja", "jbo", "jv", "jw", "kde", "kea", "km", "ko", "lkt", "lo", "ms", "my", "nqo", "root", "sah", "ses", "sg", "th", "to", "vi", "wo", "yo", "yue", "zh"}, &PluralSpec{
Plurals: newPluralSet(Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
return Other
},
})
- registerPluralSpec([]string{"am", "as", "bn", "fa", "gu", "hi", "kn", "mr", "zu"}, &PluralSpec{
+ RegisterPluralSpec([]string{"am", "as", "bn", "fa", "gu", "hi", "kn", "mr", "zu"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// i = 0 or n = 1
if intEqualsAny(ops.I, 0) ||
ops.NequalsAny(1) {
@@ -21,9 +21,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"ff", "fr", "hy", "kab"}, &PluralSpec{
+ RegisterPluralSpec([]string{"ff", "fr", "hy", "kab"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// i = 0,1
if intEqualsAny(ops.I, 0, 1) {
return One
@@ -31,9 +31,19 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"ast", "ca", "de", "en", "et", "fi", "fy", "gl", "it", "ji", "nl", "sv", "sw", "ur", "yi"}, &PluralSpec{
+ RegisterPluralSpec([]string{"pt"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
+ // i = 0..1
+ if intInRange(ops.I, 0, 1) {
+ return One
+ }
+ return Other
+ },
+ })
+ RegisterPluralSpec([]string{"ast", "ca", "de", "en", "et", "fi", "fy", "gl", "it", "ji", "nl", "sv", "sw", "ur", "yi"}, &PluralSpec{
+ Plurals: newPluralSet(One, Other),
+ PluralFunc: func(ops *Operands) Plural {
// i = 1 and v = 0
if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) {
return One
@@ -41,9 +51,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"si"}, &PluralSpec{
+ RegisterPluralSpec([]string{"si"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 0,1 or i = 0 and f = 1
if ops.NequalsAny(0, 1) ||
intEqualsAny(ops.I, 0) && intEqualsAny(ops.F, 1) {
@@ -52,9 +62,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"ak", "bh", "guw", "ln", "mg", "nso", "pa", "ti", "wa"}, &PluralSpec{
+ RegisterPluralSpec([]string{"ak", "bh", "guw", "ln", "mg", "nso", "pa", "ti", "wa"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 0..1
if ops.NinRange(0, 1) {
return One
@@ -62,9 +72,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"tzm"}, &PluralSpec{
+ RegisterPluralSpec([]string{"tzm"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 0..1 or n = 11..99
if ops.NinRange(0, 1) ||
ops.NinRange(11, 99) {
@@ -73,19 +83,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"pt"}, &PluralSpec{
- Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
- // n = 0..2 and n != 2
- if ops.NinRange(0, 2) && !ops.NequalsAny(2) {
- return One
- }
- return Other
- },
- })
- registerPluralSpec([]string{"af", "asa", "az", "bem", "bez", "bg", "brx", "ce", "cgg", "chr", "ckb", "dv", "ee", "el", "eo", "es", "eu", "fo", "fur", "gsw", "ha", "haw", "hu", "jgo", "jmc", "ka", "kaj", "kcg", "kk", "kkj", "kl", "ks", "ksb", "ku", "ky", "lb", "lg", "mas", "mgo", "ml", "mn", "nah", "nb", "nd", "ne", "nn", "nnh", "no", "nr", "ny", "nyn", "om", "or", "os", "pap", "ps", "rm", "rof", "rwk", "saq", "sdh", "seh", "sn", "so", "sq", "ss", "ssy", "st", "syr", "ta", "te", "teo", "tig", "tk", "tn", "tr", "ts", "ug", "uz", "ve", "vo", "vun", "wae", "xh", "xog"}, &PluralSpec{
+ RegisterPluralSpec([]string{"af", "asa", "az", "bem", "bez", "bg", "brx", "ce", "cgg", "chr", "ckb", "dv", "ee", "el", "eo", "es", "eu", "fo", "fur", "gsw", "ha", "haw", "hu", "jgo", "jmc", "ka", "kaj", "kcg", "kk", "kkj", "kl", "ks", "ksb", "ku", "ky", "lb", "lg", "mas", "mgo", "ml", "mn", "nah", "nb", "nd", "ne", "nn", "nnh", "no", "nr", "ny", "nyn", "om", "or", "os", "pap", "ps", "rm", "rof", "rwk", "saq", "sdh", "seh", "sn", "so", "sq", "ss", "ssy", "st", "syr", "ta", "te", "teo", "tig", "tk", "tn", "tr", "ts", "ug", "uz", "ve", "vo", "vun", "wae", "xh", "xog"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 1
if ops.NequalsAny(1) {
return One
@@ -93,19 +93,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"pt_PT"}, &PluralSpec{
- Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
- // n = 1 and v = 0
- if ops.NequalsAny(1) && intEqualsAny(ops.V, 0) {
- return One
- }
- return Other
- },
- })
- registerPluralSpec([]string{"da"}, &PluralSpec{
+ RegisterPluralSpec([]string{"da"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 1 or t != 0 and i = 0,1
if ops.NequalsAny(1) ||
!intEqualsAny(ops.T, 0) && intEqualsAny(ops.I, 0, 1) {
@@ -114,9 +104,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"is"}, &PluralSpec{
+ RegisterPluralSpec([]string{"is"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0
if intEqualsAny(ops.T, 0) && intEqualsAny(ops.I%10, 1) && !intEqualsAny(ops.I%100, 11) ||
!intEqualsAny(ops.T, 0) {
@@ -125,9 +115,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"mk"}, &PluralSpec{
+ RegisterPluralSpec([]string{"mk"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// v = 0 and i % 10 = 1 or f % 10 = 1
if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 1) ||
intEqualsAny(ops.F%10, 1) {
@@ -136,9 +126,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"fil", "tl"}, &PluralSpec{
+ RegisterPluralSpec([]string{"fil", "tl"}, &PluralSpec{
Plurals: newPluralSet(One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// v = 0 and i = 1,2,3 or v = 0 and i % 10 != 4,6,9 or v != 0 and f % 10 != 4,6,9
if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I, 1, 2, 3) ||
intEqualsAny(ops.V, 0) && !intEqualsAny(ops.I%10, 4, 6, 9) ||
@@ -148,9 +138,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"lv", "prg"}, &PluralSpec{
+ RegisterPluralSpec([]string{"lv", "prg"}, &PluralSpec{
Plurals: newPluralSet(Zero, One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19
if ops.NmodEqualsAny(10, 0) ||
ops.NmodInRange(100, 11, 19) ||
@@ -166,9 +156,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"lag"}, &PluralSpec{
+ RegisterPluralSpec([]string{"lag"}, &PluralSpec{
Plurals: newPluralSet(Zero, One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 0
if ops.NequalsAny(0) {
return Zero
@@ -180,9 +170,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"ksh"}, &PluralSpec{
+ RegisterPluralSpec([]string{"ksh"}, &PluralSpec{
Plurals: newPluralSet(Zero, One, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 0
if ops.NequalsAny(0) {
return Zero
@@ -194,9 +184,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"iu", "kw", "naq", "se", "sma", "smi", "smj", "smn", "sms"}, &PluralSpec{
+ RegisterPluralSpec([]string{"iu", "kw", "naq", "se", "sma", "smi", "smj", "smn", "sms"}, &PluralSpec{
Plurals: newPluralSet(One, Two, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 1
if ops.NequalsAny(1) {
return One
@@ -208,9 +198,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"shi"}, &PluralSpec{
+ RegisterPluralSpec([]string{"shi"}, &PluralSpec{
Plurals: newPluralSet(One, Few, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// i = 0 or n = 1
if intEqualsAny(ops.I, 0) ||
ops.NequalsAny(1) {
@@ -223,9 +213,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"mo", "ro"}, &PluralSpec{
+ RegisterPluralSpec([]string{"mo", "ro"}, &PluralSpec{
Plurals: newPluralSet(One, Few, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// i = 1 and v = 0
if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) {
return One
@@ -239,9 +229,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"bs", "hr", "sh", "sr"}, &PluralSpec{
+ RegisterPluralSpec([]string{"bs", "hr", "sh", "sr"}, &PluralSpec{
Plurals: newPluralSet(One, Few, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11
if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 1) && !intEqualsAny(ops.I%100, 11) ||
intEqualsAny(ops.F%10, 1) && !intEqualsAny(ops.F%100, 11) {
@@ -255,9 +245,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"gd"}, &PluralSpec{
+ RegisterPluralSpec([]string{"gd"}, &PluralSpec{
Plurals: newPluralSet(One, Two, Few, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 1,11
if ops.NequalsAny(1, 11) {
return One
@@ -273,9 +263,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"sl"}, &PluralSpec{
+ RegisterPluralSpec([]string{"sl"}, &PluralSpec{
Plurals: newPluralSet(One, Two, Few, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// v = 0 and i % 100 = 1
if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%100, 1) {
return One
@@ -292,9 +282,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"dsb", "hsb"}, &PluralSpec{
+ RegisterPluralSpec([]string{"dsb", "hsb"}, &PluralSpec{
Plurals: newPluralSet(One, Two, Few, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// v = 0 and i % 100 = 1 or f % 100 = 1
if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%100, 1) ||
intEqualsAny(ops.F%100, 1) {
@@ -313,9 +303,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"he", "iw"}, &PluralSpec{
+ RegisterPluralSpec([]string{"he", "iw"}, &PluralSpec{
Plurals: newPluralSet(One, Two, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// i = 1 and v = 0
if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) {
return One
@@ -331,9 +321,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"cs", "sk"}, &PluralSpec{
+ RegisterPluralSpec([]string{"cs", "sk"}, &PluralSpec{
Plurals: newPluralSet(One, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// i = 1 and v = 0
if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) {
return One
@@ -349,9 +339,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"pl"}, &PluralSpec{
+ RegisterPluralSpec([]string{"pl"}, &PluralSpec{
Plurals: newPluralSet(One, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// i = 1 and v = 0
if intEqualsAny(ops.I, 1) && intEqualsAny(ops.V, 0) {
return One
@@ -369,9 +359,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"be"}, &PluralSpec{
+ RegisterPluralSpec([]string{"be"}, &PluralSpec{
Plurals: newPluralSet(One, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n % 10 = 1 and n % 100 != 11
if ops.NmodEqualsAny(10, 1) && !ops.NmodEqualsAny(100, 11) {
return One
@@ -389,9 +379,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"lt"}, &PluralSpec{
+ RegisterPluralSpec([]string{"lt"}, &PluralSpec{
Plurals: newPluralSet(One, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n % 10 = 1 and n % 100 != 11..19
if ops.NmodEqualsAny(10, 1) && !ops.NmodInRange(100, 11, 19) {
return One
@@ -407,9 +397,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"mt"}, &PluralSpec{
+ RegisterPluralSpec([]string{"mt"}, &PluralSpec{
Plurals: newPluralSet(One, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 1
if ops.NequalsAny(1) {
return One
@@ -426,9 +416,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"ru", "uk"}, &PluralSpec{
+ RegisterPluralSpec([]string{"ru", "uk"}, &PluralSpec{
Plurals: newPluralSet(One, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// v = 0 and i % 10 = 1 and i % 100 != 11
if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 1) && !intEqualsAny(ops.I%100, 11) {
return One
@@ -446,9 +436,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"br"}, &PluralSpec{
+ RegisterPluralSpec([]string{"br"}, &PluralSpec{
Plurals: newPluralSet(One, Two, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n % 10 = 1 and n % 100 != 11,71,91
if ops.NmodEqualsAny(10, 1) && !ops.NmodEqualsAny(100, 11, 71, 91) {
return One
@@ -468,9 +458,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"ga"}, &PluralSpec{
+ RegisterPluralSpec([]string{"ga"}, &PluralSpec{
Plurals: newPluralSet(One, Two, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 1
if ops.NequalsAny(1) {
return One
@@ -490,9 +480,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"gv"}, &PluralSpec{
+ RegisterPluralSpec([]string{"gv"}, &PluralSpec{
Plurals: newPluralSet(One, Two, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// v = 0 and i % 10 = 1
if intEqualsAny(ops.V, 0) && intEqualsAny(ops.I%10, 1) {
return One
@@ -512,9 +502,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"ar"}, &PluralSpec{
+ RegisterPluralSpec([]string{"ar", "ars"}, &PluralSpec{
Plurals: newPluralSet(Zero, One, Two, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 0
if ops.NequalsAny(0) {
return Zero
@@ -538,9 +528,9 @@ func init() {
return Other
},
})
- registerPluralSpec([]string{"cy"}, &PluralSpec{
+ RegisterPluralSpec([]string{"cy"}, &PluralSpec{
Plurals: newPluralSet(Zero, One, Two, Few, Many, Other),
- PluralFunc: func(ops *operands) Plural {
+ PluralFunc: func(ops *Operands) Plural {
// n = 0
if ops.NequalsAny(0) {
return Zero
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen_test.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen_test.go
index c8ec41fd4..4cfa97bdf 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen_test.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_gen_test.go
@@ -4,13 +4,13 @@ package language
import "testing"
-func TestBmBoDzIdIgIiInJaJboJvJwKdeKeaKmKoLktLoMsMyNqoRootSahSesSgThToViWoYoZh(t *testing.T) {
+func TestBmBoDzIdIgIiInJaJboJvJwKdeKeaKmKoLktLoMsMyNqoRootSahSesSgThToViWoYoYueZh(t *testing.T) {
var tests []pluralTest
tests = appendIntegerTests(tests, Other, []string{"0~15", "100", "1000", "10000", "100000", "1000000"})
tests = appendDecimalTests(tests, Other, []string{"0.0~1.5", "10.0", "100.0", "1000.0", "10000.0", "100000.0", "1000000.0"})
- locales := []string{"bm", "bo", "dz", "id", "ig", "ii", "in", "ja", "jbo", "jv", "jw", "kde", "kea", "km", "ko", "lkt", "lo", "ms", "my", "nqo", "root", "sah", "ses", "sg", "th", "to", "vi", "wo", "yo", "zh"}
+ locales := []string{"bm", "bo", "dz", "id", "ig", "ii", "in", "ja", "jbo", "jv", "jw", "kde", "kea", "km", "ko", "lkt", "lo", "ms", "my", "nqo", "root", "sah", "ses", "sg", "th", "to", "vi", "wo", "yo", "yue", "zh"}
for _, locale := range locales {
runTests(t, locale, tests)
}
@@ -46,6 +46,21 @@ func TestFfFrHyKab(t *testing.T) {
}
}
+func TestPt(t *testing.T) {
+ var tests []pluralTest
+
+ tests = appendIntegerTests(tests, One, []string{"0", "1"})
+ tests = appendDecimalTests(tests, One, []string{"0.0~1.5"})
+
+ tests = appendIntegerTests(tests, Other, []string{"2~17", "100", "1000", "10000", "100000", "1000000"})
+ tests = appendDecimalTests(tests, Other, []string{"2.0~3.5", "10.0", "100.0", "1000.0", "10000.0", "100000.0", "1000000.0"})
+
+ locales := []string{"pt"}
+ for _, locale := range locales {
+ runTests(t, locale, tests)
+ }
+}
+
func TestAstCaDeEnEtFiFyGlItJiNlSvSwUrYi(t *testing.T) {
var tests []pluralTest
@@ -105,21 +120,6 @@ func TestTzm(t *testing.T) {
}
}
-func TestPt(t *testing.T) {
- var tests []pluralTest
-
- tests = appendIntegerTests(tests, One, []string{"0", "1"})
- tests = appendDecimalTests(tests, One, []string{"0.0", "1.0", "0.00", "1.00", "0.000", "1.000", "0.0000", "1.0000"})
-
- tests = appendIntegerTests(tests, Other, []string{"2~17", "100", "1000", "10000", "100000", "1000000"})
- tests = appendDecimalTests(tests, Other, []string{"0.1~0.9", "1.1~1.7", "10.0", "100.0", "1000.0", "10000.0", "100000.0", "1000000.0"})
-
- locales := []string{"pt"}
- for _, locale := range locales {
- runTests(t, locale, tests)
- }
-}
-
func TestAfAsaAzBemBezBgBrxCeCggChrCkbDvEeElEoEsEuFoFurGswHaHawHuJgoJmcKaKajKcgKkKkjKlKsKsbKuKyLbLgMasMgoMlMnNahNbNdNeNnNnhNoNrNyNynOmOrOsPapPsRmRofRwkSaqSdhSehSnSoSqSsSsyStSyrTaTeTeoTigTkTnTrTsUgUzVeVoVunWaeXhXog(t *testing.T) {
var tests []pluralTest
@@ -135,20 +135,6 @@ func TestAfAsaAzBemBezBgBrxCeCggChrCkbDvEeElEoEsEuFoFurGswHaHawHuJgoJmcKaKajKcgK
}
}
-func TestPt_PT(t *testing.T) {
- var tests []pluralTest
-
- tests = appendIntegerTests(tests, One, []string{"1"})
-
- tests = appendIntegerTests(tests, Other, []string{"0", "2~16", "100", "1000", "10000", "100000", "1000000"})
- tests = appendDecimalTests(tests, Other, []string{"0.0~1.5", "10.0", "100.0", "1000.0", "10000.0", "100000.0", "1000000.0"})
-
- locales := []string{"pt_PT"}
- for _, locale := range locales {
- runTests(t, locale, tests)
- }
-}
-
func TestDa(t *testing.T) {
var tests []pluralTest
@@ -590,7 +576,7 @@ func TestGv(t *testing.T) {
}
}
-func TestAr(t *testing.T) {
+func TestArArs(t *testing.T) {
var tests []pluralTest
tests = appendIntegerTests(tests, Zero, []string{"0"})
@@ -611,7 +597,7 @@ func TestAr(t *testing.T) {
tests = appendIntegerTests(tests, Other, []string{"100~102", "200~202", "300~302", "400~402", "500~502", "600", "1000", "10000", "100000", "1000000"})
tests = appendDecimalTests(tests, Other, []string{"0.1~0.9", "1.1~1.7", "10.1", "100.0", "1000.0", "10000.0", "100000.0", "1000000.0"})
- locales := []string{"ar"}
+ locales := []string{"ar", "ars"}
for _, locale := range locales {
runTests(t, locale, tests)
}
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_test.go b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_test.go
index 34931b7bb..919b489bd 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_test.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/language/pluralspec_test.go
@@ -23,8 +23,8 @@ func TestGetPluralSpec(t *testing.T) {
{"zh-TW", pluralSpecs["zh"]},
{"pt-BR", pluralSpecs["pt"]},
{"pt_BR", pluralSpecs["pt"]},
- {"pt-PT", pluralSpecs["pt-pt"]},
- {"pt_PT", pluralSpecs["pt-pt"]},
+ {"pt-PT", pluralSpecs["pt"]},
+ {"pt_PT", pluralSpecs["pt"]},
{"zh-Hans-CN", pluralSpecs["zh"]},
{"zh-Hant-TW", pluralSpecs["zh"]},
{"zh-CN", pluralSpecs["zh"]},
@@ -462,11 +462,11 @@ func TestPortuguese(t *testing.T) {
{"0.0", One},
{1, One},
{"1.0", One},
- {onePlusEpsilon, Other},
+ {onePlusEpsilon, One},
{2, Other},
}
- tests = appendFloatTests(tests, 0.1, 0.9, Other)
- tests = appendFloatTests(tests, 1.1, 10.0, Other)
+ tests = appendFloatTests(tests, 0, 1.5, One)
+ tests = appendFloatTests(tests, 2, 10.0, Other)
runTests(t, "pt", tests)
}
@@ -484,23 +484,6 @@ func TestMacedonian(t *testing.T) {
runTests(t, "mk", tests)
}
-func TestPortugueseEuropean(t *testing.T) {
- tests := []pluralTest{
- {0, Other},
- {"0.0", Other},
- {"0.1", Other},
- {"0.01", Other},
- {1, One},
- {"1", One},
- {"1.1", Other},
- {"1.01", Other},
- {onePlusEpsilon, Other},
- {2, Other},
- }
- tests = appendFloatTests(tests, 2.0, 10.0, Other)
- runTests(t, "pt-pt", tests)
-}
-
func TestRussian(t *testing.T) {
tests := []pluralTest{
{0, Many},
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/translation/plural_translation.go b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/plural_translation.go
index 5dd74b2f5..17c32609c 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/translation/plural_translation.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/plural_translation.go
@@ -50,7 +50,7 @@ func (pt *pluralTranslation) Normalize(l *language.Language) Translation {
func (pt *pluralTranslation) Backfill(src Translation) Translation {
for pc, t := range pt.templates {
- if t == nil || t.src == "" {
+ if (t == nil || t.src == "") && src != nil {
pt.templates[pc] = src.Template(language.Other)
}
}
diff --git a/vendor/github.com/nicksnyder/go-i18n/i18n/translation/single_translation.go b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/single_translation.go
index 9fcba5a18..a76c8c941 100644
--- a/vendor/github.com/nicksnyder/go-i18n/i18n/translation/single_translation.go
+++ b/vendor/github.com/nicksnyder/go-i18n/i18n/translation/single_translation.go
@@ -37,7 +37,7 @@ func (st *singleTranslation) Normalize(language *language.Language) Translation
}
func (st *singleTranslation) Backfill(src Translation) Translation {
- if st.template == nil || st.template.src == "" {
+ if (st.template == nil || st.template.src == "") && src != nil {
st.template = src.Template(language.Other)
}
return st
diff --git a/vendor/github.com/pelletier/go-toml/.travis.yml b/vendor/github.com/pelletier/go-toml/.travis.yml
index 1f8b41ffe..496691166 100644
--- a/vendor/github.com/pelletier/go-toml/.travis.yml
+++ b/vendor/github.com/pelletier/go-toml/.travis.yml
@@ -1,9 +1,9 @@
sudo: false
language: go
go:
- - 1.6.4
- 1.7.6
- 1.8.3
+ - 1.9
- tip
matrix:
allow_failures:
diff --git a/vendor/github.com/pelletier/go-toml/README.md b/vendor/github.com/pelletier/go-toml/README.md
index 22da41a81..2681690d5 100644
--- a/vendor/github.com/pelletier/go-toml/README.md
+++ b/vendor/github.com/pelletier/go-toml/README.md
@@ -33,7 +33,7 @@ import "github.com/pelletier/go-toml"
Read a TOML document:
```go
-config, _ := toml.LoadString(`
+config, _ := toml.Load(`
[postgres]
user = "pelletier"
password = "mypassword"`)
@@ -42,7 +42,7 @@ user := config.Get("postgres.user").(string)
// or using an intermediate object
postgresConfig := config.Get("postgres").(*toml.Tree)
-password = postgresConfig.Get("password").(string)
+password := postgresConfig.Get("password").(string)
```
Or use Unmarshal:
@@ -62,7 +62,7 @@ user = "pelletier"
password = "mypassword"`)
config := Config{}
-Unmarshal(doc, &config)
+toml.Unmarshal(doc, &config)
fmt.Println("user=", config.Postgres.User)
```
@@ -70,7 +70,8 @@ Or use a query:
```go
// use a query to gather elements without walking the tree
-results, _ := config.Query("$..[user,password]")
+q, _ := query.Compile("$..[user,password]")
+results := q.Execute(config)
for ii, item := range results.Values() {
fmt.Println("Query result %d: %v", ii, item)
}
diff --git a/vendor/github.com/pelletier/go-toml/query/parser.go b/vendor/github.com/pelletier/go-toml/query/parser.go
index e4f91b97e..5f69b70d4 100644
--- a/vendor/github.com/pelletier/go-toml/query/parser.go
+++ b/vendor/github.com/pelletier/go-toml/query/parser.go
@@ -253,7 +253,7 @@ func (p *queryParser) parseFilterExpr() queryParserStateFn {
}
tok = p.getToken()
if tok.typ != tokenKey && tok.typ != tokenString {
- return p.parseError(tok, "expected key or string for filter funciton name")
+ return p.parseError(tok, "expected key or string for filter function name")
}
name := tok.val
tok = p.getToken()
diff --git a/vendor/github.com/pkg/errors/.travis.yml b/vendor/github.com/pkg/errors/.travis.yml
index bf3eed6f5..7ca408d1b 100644
--- a/vendor/github.com/pkg/errors/.travis.yml
+++ b/vendor/github.com/pkg/errors/.travis.yml
@@ -6,6 +6,7 @@ go:
- 1.6.x
- 1.7.x
- 1.8.x
+ - 1.9.x
- tip
script:
diff --git a/vendor/github.com/prometheus/common/promlog/flag/flag.go b/vendor/github.com/prometheus/common/promlog/flag/flag.go
new file mode 100644
index 000000000..b9d361e43
--- /dev/null
+++ b/vendor/github.com/prometheus/common/promlog/flag/flag.go
@@ -0,0 +1,33 @@
+// Copyright 2017 The Prometheus Authors
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package flag
+
+import (
+ "github.com/prometheus/common/promlog"
+ kingpin "gopkg.in/alecthomas/kingpin.v2"
+)
+
+// LevelFlagName is the canonical flag name to configure the allowed log level
+// within Prometheus projects.
+const LevelFlagName = "log.level"
+
+// LevelFlagHelp is the help description for the log.level flag.
+const LevelFlagHelp = "Only log messages with the given severity or above. One of: [debug, info, warn, error]"
+
+// AddFlags adds the flags used by this package to the Kingpin application.
+// To use the default Kingpin application, call AddFlags(kingpin.CommandLine)
+func AddFlags(a *kingpin.Application, logLevel *promlog.AllowedLevel) {
+ a.Flag(LevelFlagName, LevelFlagHelp).
+ Default("info").SetValue(logLevel)
+}
diff --git a/vendor/github.com/prometheus/common/promlog/log.go b/vendor/github.com/prometheus/common/promlog/log.go
new file mode 100644
index 000000000..cf8307ad2
--- /dev/null
+++ b/vendor/github.com/prometheus/common/promlog/log.go
@@ -0,0 +1,63 @@
+// Copyright 2017 The Prometheus Authors
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Package promlog defines standardised ways to initialize Go kit loggers
+// across Prometheus components.
+// It should typically only ever be imported by main packages.
+package promlog
+
+import (
+ "os"
+
+ "github.com/go-kit/kit/log"
+ "github.com/go-kit/kit/log/level"
+ "github.com/pkg/errors"
+)
+
+// AllowedLevel is a settable identifier for the minimum level a log entry
+// must be have.
+type AllowedLevel struct {
+ s string
+ o level.Option
+}
+
+func (l *AllowedLevel) String() string {
+ return l.s
+}
+
+// Set updates the value of the allowed level.
+func (l *AllowedLevel) Set(s string) error {
+ switch s {
+ case "debug":
+ l.o = level.AllowDebug()
+ case "info":
+ l.o = level.AllowInfo()
+ case "warn":
+ l.o = level.AllowWarn()
+ case "error":
+ l.o = level.AllowError()
+ default:
+ return errors.Errorf("unrecognized log level %q", s)
+ }
+ l.s = s
+ return nil
+}
+
+// New returns a new leveled oklog logger in the logfmt format. Each logged line will be annotated
+// with a timestamp. The output always goes to stderr.
+func New(al AllowedLevel) log.Logger {
+ l := log.NewLogfmtLogger(log.NewSyncWriter(os.Stderr))
+ l = level.NewFilter(l, al.o)
+ l = log.With(l, "ts", log.DefaultTimestampUTC, "caller", log.DefaultCaller)
+ return l
+}
diff --git a/vendor/github.com/spf13/afero/match.go b/vendor/github.com/spf13/afero/match.go
new file mode 100644
index 000000000..08b3b7e01
--- /dev/null
+++ b/vendor/github.com/spf13/afero/match.go
@@ -0,0 +1,110 @@
+// Copyright © 2014 Steve Francia <spf@spf13.com>.
+// Copyright 2009 The Go Authors. All rights reserved.
+
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package afero
+
+import (
+ "path/filepath"
+ "sort"
+ "strings"
+)
+
+// Glob returns the names of all files matching pattern or nil
+// if there is no matching file. The syntax of patterns is the same
+// as in Match. The pattern may describe hierarchical names such as
+// /usr/*/bin/ed (assuming the Separator is '/').
+//
+// Glob ignores file system errors such as I/O errors reading directories.
+// The only possible returned error is ErrBadPattern, when pattern
+// is malformed.
+//
+// This was adapted from (http://golang.org/pkg/path/filepath) and uses several
+// built-ins from that package.
+func Glob(fs Fs, pattern string) (matches []string, err error) {
+ if !hasMeta(pattern) {
+ // afero does not support Lstat directly.
+ if _, err = lstatIfOs(fs, pattern); err != nil {
+ return nil, nil
+ }
+ return []string{pattern}, nil
+ }
+
+ dir, file := filepath.Split(pattern)
+ switch dir {
+ case "":
+ dir = "."
+ case string(filepath.Separator):
+ // nothing
+ default:
+ dir = dir[0 : len(dir)-1] // chop off trailing separator
+ }
+
+ if !hasMeta(dir) {
+ return glob(fs, dir, file, nil)
+ }
+
+ var m []string
+ m, err = Glob(fs, dir)
+ if err != nil {
+ return
+ }
+ for _, d := range m {
+ matches, err = glob(fs, d, file, matches)
+ if err != nil {
+ return
+ }
+ }
+ return
+}
+
+// glob searches for files matching pattern in the directory dir
+// and appends them to matches. If the directory cannot be
+// opened, it returns the existing matches. New matches are
+// added in lexicographical order.
+func glob(fs Fs, dir, pattern string, matches []string) (m []string, e error) {
+ m = matches
+ fi, err := fs.Stat(dir)
+ if err != nil {
+ return
+ }
+ if !fi.IsDir() {
+ return
+ }
+ d, err := fs.Open(dir)
+ if err != nil {
+ return
+ }
+ defer d.Close()
+
+ names, _ := d.Readdirnames(-1)
+ sort.Strings(names)
+
+ for _, n := range names {
+ matched, err := filepath.Match(pattern, n)
+ if err != nil {
+ return m, err
+ }
+ if matched {
+ m = append(m, filepath.Join(dir, n))
+ }
+ }
+ return
+}
+
+// hasMeta reports whether path contains any of the magic characters
+// recognized by Match.
+func hasMeta(path string) bool {
+ // TODO(niemeyer): Should other magic characters be added here?
+ return strings.IndexAny(path, "*?[") >= 0
+}
diff --git a/vendor/github.com/spf13/afero/match_test.go b/vendor/github.com/spf13/afero/match_test.go
new file mode 100644
index 000000000..21e1faecd
--- /dev/null
+++ b/vendor/github.com/spf13/afero/match_test.go
@@ -0,0 +1,183 @@
+// Copyright © 2014 Steve Francia <spf@spf13.com>.
+// Copyright 2009 The Go Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package afero
+
+import (
+ "os"
+ "path/filepath"
+ "runtime"
+ "testing"
+)
+
+// contains returns true if vector contains the string s.
+func contains(vector []string, s string) bool {
+ for _, elem := range vector {
+ if elem == s {
+ return true
+ }
+ }
+ return false
+}
+
+func setupGlobDirRoot(t *testing.T, fs Fs) string {
+ path := testDir(fs)
+ setupGlobFiles(t, fs, path)
+ return path
+}
+
+func setupGlobDirReusePath(t *testing.T, fs Fs, path string) string {
+ testRegistry[fs] = append(testRegistry[fs], path)
+ return setupGlobFiles(t, fs, path)
+}
+
+func setupGlobFiles(t *testing.T, fs Fs, path string) string {
+ testSubDir := filepath.Join(path, "globs", "bobs")
+ err := fs.MkdirAll(testSubDir, 0700)
+ if err != nil && !os.IsExist(err) {
+ t.Fatal(err)
+ }
+
+ f, err := fs.Create(filepath.Join(testSubDir, "/matcher"))
+ if err != nil {
+ t.Fatal(err)
+ }
+ f.WriteString("Testfile 1 content")
+ f.Close()
+
+ f, err = fs.Create(filepath.Join(testSubDir, "/../submatcher"))
+ if err != nil {
+ t.Fatal(err)
+ }
+ f.WriteString("Testfile 2 content")
+ f.Close()
+
+ f, err = fs.Create(filepath.Join(testSubDir, "/../../match"))
+ if err != nil {
+ t.Fatal(err)
+ }
+ f.WriteString("Testfile 3 content")
+ f.Close()
+
+ return testSubDir
+}
+
+func TestGlob(t *testing.T) {
+ defer removeAllTestFiles(t)
+ var testDir string
+ for i, fs := range Fss {
+ if i == 0 {
+ testDir = setupGlobDirRoot(t, fs)
+ } else {
+ setupGlobDirReusePath(t, fs, testDir)
+ }
+ }
+
+ var globTests = []struct {
+ pattern, result string
+ }{
+ {testDir + "/globs/bobs/matcher", testDir + "/globs/bobs/matcher"},
+ {testDir + "/globs/*/mat?her", testDir + "/globs/bobs/matcher"},
+ {testDir + "/globs/bobs/../*", testDir + "/globs/submatcher"},
+ {testDir + "/match", testDir + "/match"},
+ }
+
+ for _, fs := range Fss {
+
+ for _, tt := range globTests {
+ pattern := tt.pattern
+ result := tt.result
+ if runtime.GOOS == "windows" {
+ pattern = filepath.Clean(pattern)
+ result = filepath.Clean(result)
+ }
+ matches, err := Glob(fs, pattern)
+ if err != nil {
+ t.Errorf("Glob error for %q: %s", pattern, err)
+ continue
+ }
+ if !contains(matches, result) {
+ t.Errorf("Glob(%#q) = %#v want %v", pattern, matches, result)
+ }
+ }
+ for _, pattern := range []string{"no_match", "../*/no_match"} {
+ matches, err := Glob(fs, pattern)
+ if err != nil {
+ t.Errorf("Glob error for %q: %s", pattern, err)
+ continue
+ }
+ if len(matches) != 0 {
+ t.Errorf("Glob(%#q) = %#v want []", pattern, matches)
+ }
+ }
+
+ }
+}
+
+func TestGlobSymlink(t *testing.T) {
+ defer removeAllTestFiles(t)
+
+ fs := &OsFs{}
+ testDir := setupGlobDirRoot(t, fs)
+
+ err := os.Symlink("target", filepath.Join(testDir, "symlink"))
+ if err != nil {
+ t.Skipf("skipping on %s", runtime.GOOS)
+ }
+
+ var globSymlinkTests = []struct {
+ path, dest string
+ brokenLink bool
+ }{
+ {"test1", "link1", false},
+ {"test2", "link2", true},
+ }
+
+ for _, tt := range globSymlinkTests {
+ path := filepath.Join(testDir, tt.path)
+ dest := filepath.Join(testDir, tt.dest)
+ f, err := fs.Create(path)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if err := f.Close(); err != nil {
+ t.Fatal(err)
+ }
+ err = os.Symlink(path, dest)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if tt.brokenLink {
+ // Break the symlink.
+ fs.Remove(path)
+ }
+ matches, err := Glob(fs, dest)
+ if err != nil {
+ t.Errorf("GlobSymlink error for %q: %s", dest, err)
+ }
+ if !contains(matches, dest) {
+ t.Errorf("Glob(%#q) = %#v want %v", dest, matches, dest)
+ }
+ }
+}
+
+
+func TestGlobError(t *testing.T) {
+ for _, fs := range Fss {
+ _, err := Glob(fs, "[7]")
+ if err != nil {
+ t.Error("expected error for bad pattern; got none")
+ }
+ }
+}
diff --git a/vendor/github.com/spf13/afero/memmap.go b/vendor/github.com/spf13/afero/memmap.go
index 767ac1d5f..14cd438fb 100644
--- a/vendor/github.com/spf13/afero/memmap.go
+++ b/vendor/github.com/spf13/afero/memmap.go
@@ -66,7 +66,10 @@ func (m *MemMapFs) unRegisterWithParent(fileName string) error {
if parent == nil {
log.Panic("parent of ", f.Name(), " is nil")
}
+
+ parent.Lock()
mem.RemoveFromMemDir(parent, f)
+ parent.Unlock()
return nil
}
@@ -99,8 +102,10 @@ func (m *MemMapFs) registerWithParent(f *mem.FileData) {
}
}
+ parent.Lock()
mem.InitializeDir(parent)
mem.AddToMemDir(parent, f)
+ parent.Unlock()
}
func (m *MemMapFs) lockfreeMkdir(name string, perm os.FileMode) error {
diff --git a/vendor/github.com/spf13/afero/memmap_test.go b/vendor/github.com/spf13/afero/memmap_test.go
index ca5abbca6..d28e91220 100644
--- a/vendor/github.com/spf13/afero/memmap_test.go
+++ b/vendor/github.com/spf13/afero/memmap_test.go
@@ -1,6 +1,7 @@
package afero
import (
+ "fmt"
"os"
"path/filepath"
"runtime"
@@ -343,3 +344,43 @@ func TestRacingDeleteAndClose(t *testing.T) {
}()
close(in)
}
+
+// This test should be run with the race detector on:
+// go test -run TestMemFsDataRace -race
+func TestMemFsDataRace(t *testing.T) {
+ const dir = "test_dir"
+ fs := NewMemMapFs()
+
+ if err := fs.MkdirAll(dir, 0777); err != nil {
+ t.Fatal(err)
+ }
+
+ const n = 1000
+ done := make(chan struct{})
+
+ go func() {
+ defer close(done)
+ for i := 0; i < n; i++ {
+ fname := filepath.Join(dir, fmt.Sprintf("%d.txt", i))
+ if err := WriteFile(fs, fname, []byte(""), 0777); err != nil {
+ panic(err)
+ }
+ if err := fs.Remove(fname); err != nil {
+ panic(err)
+ }
+ }
+ }()
+
+loop:
+ for {
+ select {
+ case <-done:
+ break loop
+ default:
+ _, err := ReadDir(fs, dir)
+ if err != nil {
+ t.Fatal(err)
+ }
+ }
+ }
+}
diff --git a/vendor/github.com/spf13/cobra/README.md b/vendor/github.com/spf13/cobra/README.md
index a38137b25..da9aa881e 100644
--- a/vendor/github.com/spf13/cobra/README.md
+++ b/vendor/github.com/spf13/cobra/README.md
@@ -117,14 +117,6 @@ Flag functionality is provided by the [pflag
library](https://github.com/spf13/pflag), a fork of the flag standard library
which maintains the same interface while adding POSIX compliance.
-## Usage
-
-Cobra works by creating a set of commands and then organizing them into a tree.
-The tree defines the structure of the application.
-
-Once each command is defined with its corresponding flags, then the
-tree is assigned to the commander which is finally executed.
-
# Installing
Using Cobra is easy. First, use `go get` to install the latest version
of the library. This command will install the `cobra` generator executable
@@ -159,17 +151,17 @@ In a Cobra app, typically the main.go file is very bare. It serves one purpose:
package main
import (
- "fmt"
- "os"
+ "fmt"
+ "os"
- "{pathToYourApp}/cmd"
+ "{pathToYourApp}/cmd"
)
func main() {
- if err := cmd.RootCmd.Execute(); err != nil {
- fmt.Println(err)
- os.Exit(1)
- }
+ if err := cmd.RootCmd.Execute(); err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
}
```
@@ -285,14 +277,14 @@ Ideally you place this in app/cmd/root.go:
```go
var RootCmd = &cobra.Command{
- Use: "hugo",
- Short: "Hugo is a very fast static site generator",
- Long: `A Fast and Flexible Static Site Generator built with
+ Use: "hugo",
+ Short: "Hugo is a very fast static site generator",
+ Long: `A Fast and Flexible Static Site Generator built with
love by spf13 and friends in Go.
Complete documentation is available at http://hugo.spf13.com`,
- Run: func(cmd *cobra.Command, args []string) {
- // Do Stuff Here
- },
+ Run: func(cmd *cobra.Command, args []string) {
+ // Do Stuff Here
+ },
}
```
@@ -302,54 +294,54 @@ For example cmd/root.go:
```go
import (
- "fmt"
- "os"
+ "fmt"
+ "os"
- homedir "github.com/mitchellh/go-homedir"
- "github.com/spf13/cobra"
- "github.com/spf13/viper"
+ homedir "github.com/mitchellh/go-homedir"
+ "github.com/spf13/cobra"
+ "github.com/spf13/viper"
)
func init() {
- cobra.OnInitialize(initConfig)
- RootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.cobra.yaml)")
- RootCmd.PersistentFlags().StringVarP(&projectBase, "projectbase", "b", "", "base project directory eg. github.com/spf13/")
- RootCmd.PersistentFlags().StringP("author", "a", "YOUR NAME", "Author name for copyright attribution")
- RootCmd.PersistentFlags().StringVarP(&userLicense, "license", "l", "", "Name of license for the project (can provide `licensetext` in config)")
- RootCmd.PersistentFlags().Bool("viper", true, "Use Viper for configuration")
- viper.BindPFlag("author", RootCmd.PersistentFlags().Lookup("author"))
- viper.BindPFlag("projectbase", RootCmd.PersistentFlags().Lookup("projectbase"))
- viper.BindPFlag("useViper", RootCmd.PersistentFlags().Lookup("viper"))
- viper.SetDefault("author", "NAME HERE <EMAIL ADDRESS>")
- viper.SetDefault("license", "apache")
+ cobra.OnInitialize(initConfig)
+ RootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.cobra.yaml)")
+ RootCmd.PersistentFlags().StringVarP(&projectBase, "projectbase", "b", "", "base project directory eg. github.com/spf13/")
+ RootCmd.PersistentFlags().StringP("author", "a", "YOUR NAME", "Author name for copyright attribution")
+ RootCmd.PersistentFlags().StringVarP(&userLicense, "license", "l", "", "Name of license for the project (can provide `licensetext` in config)")
+ RootCmd.PersistentFlags().Bool("viper", true, "Use Viper for configuration")
+ viper.BindPFlag("author", RootCmd.PersistentFlags().Lookup("author"))
+ viper.BindPFlag("projectbase", RootCmd.PersistentFlags().Lookup("projectbase"))
+ viper.BindPFlag("useViper", RootCmd.PersistentFlags().Lookup("viper"))
+ viper.SetDefault("author", "NAME HERE <EMAIL ADDRESS>")
+ viper.SetDefault("license", "apache")
}
func Execute() {
- RootCmd.Execute()
+ RootCmd.Execute()
}
func initConfig() {
// Don't forget to read config either from cfgFile or from home directory!
- if cfgFile != "" {
- // Use config file from the flag.
- viper.SetConfigFile(cfgFile)
- } else {
- // Find home directory.
- home, err := homedir.Dir()
- if err != nil {
- fmt.Println(err)
- os.Exit(1)
- }
-
- // Search config in home directory with name ".cobra" (without extension).
- viper.AddConfigPath(home)
- viper.SetConfigName(".cobra")
- }
-
- if err := viper.ReadInConfig(); err != nil {
- fmt.Println("Can't read config:", err)
- os.Exit(1)
- }
+ if cfgFile != "" {
+ // Use config file from the flag.
+ viper.SetConfigFile(cfgFile)
+ } else {
+ // Find home directory.
+ home, err := homedir.Dir()
+ if err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
+
+ // Search config in home directory with name ".cobra" (without extension).
+ viper.AddConfigPath(home)
+ viper.SetConfigName(".cobra")
+ }
+
+ if err := viper.ReadInConfig(); err != nil {
+ fmt.Println("Can't read config:", err)
+ os.Exit(1)
+ }
}
```
@@ -364,17 +356,17 @@ In a Cobra app, typically the main.go file is very bare. It serves, one purpose,
package main
import (
- "fmt"
- "os"
+ "fmt"
+ "os"
- "{pathToYourApp}/cmd"
+ "{pathToYourApp}/cmd"
)
func main() {
- if err := cmd.RootCmd.Execute(); err != nil {
- fmt.Println(err)
- os.Exit(1)
- }
+ if err := cmd.RootCmd.Execute(); err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
}
```
@@ -390,21 +382,21 @@ populate it with the following:
package cmd
import (
- "github.com/spf13/cobra"
- "fmt"
+ "github.com/spf13/cobra"
+ "fmt"
)
func init() {
- RootCmd.AddCommand(versionCmd)
+ RootCmd.AddCommand(versionCmd)
}
var versionCmd = &cobra.Command{
- Use: "version",
- Short: "Print the version number of Hugo",
- Long: `All software has versions. This is Hugo's`,
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Hugo Static Site Generator v0.9 -- HEAD")
- },
+ Use: "version",
+ Short: "Print the version number of Hugo",
+ Long: `All software has versions. This is Hugo's`,
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Hugo Static Site Generator v0.9 -- HEAD")
+ },
}
```
@@ -419,19 +411,6 @@ root, but commands can be attached at any level.
RootCmd.AddCommand(versionCmd)
```
-### Remove a command from its parent
-
-Removing a command is not a common action in simple programs, but it allows 3rd
-parties to customize an existing command tree.
-
-In this example, we remove the existing `VersionCmd` command of an existing
-root command, and we replace it with our own version:
-
-```go
-mainlib.RootCmd.RemoveCommand(mainlib.VersionCmd)
-mainlib.RootCmd.AddCommand(versionCmd)
-```
-
## Working with Flags
Flags provide modifiers to control how the action command operates.
@@ -474,8 +453,8 @@ You can also bind your flags with [viper](https://github.com/spf13/viper):
var author string
func init() {
- RootCmd.PersistentFlags().StringVar(&author, "author", "YOUR NAME", "Author name for copyright attribution")
- viper.BindPFlag("author", RootCmd.PersistentFlags().Lookup("author"))
+ RootCmd.PersistentFlags().StringVar(&author, "author", "YOUR NAME", "Author name for copyright attribution")
+ viper.BindPFlag("author", RootCmd.PersistentFlags().Lookup("author"))
}
```
@@ -487,32 +466,37 @@ More in [viper documentation](https://github.com/spf13/viper#working-with-flags)
## Positional and Custom Arguments
-Validation of positional arguments can be specified using the `Args` field.
+Validation of positional arguments can be specified using the `Args` field
+of `Command`.
-The follow validators are built in:
+The following validators are built in:
- `NoArgs` - the command will report an error if there are any positional args.
- `ArbitraryArgs` - the command will accept any args.
-- `OnlyValidArgs` - the command will report an error if there are any positional args that are not in the ValidArgs list.
+- `OnlyValidArgs` - the command will report an error if there are any positional args that are not in the `ValidArgs` field of `Command`.
- `MinimumNArgs(int)` - the command will report an error if there are not at least N positional args.
- `MaximumNArgs(int)` - the command will report an error if there are more than N positional args.
- `ExactArgs(int)` - the command will report an error if there are not exactly N positional args.
- `RangeArgs(min, max)` - the command will report an error if the number of args is not between the minimum and maximum number of expected args.
-A custom validator can be provided like this:
+An example of setting the custom validator:
```go
-
-Args: func validColorArgs(cmd *cobra.Command, args []string) error {
- if err := cli.RequiresMinArgs(1)(cmd, args); err != nil {
- return err
- }
- if myapp.IsValidColor(args[0]) {
- return nil
- }
- return fmt.Errorf("Invalid color specified: %s", args[0])
+var cmd = &cobra.Command{
+ Short: "hello",
+ Args: func(cmd *cobra.Command, args []string) error {
+ if len(args) < 1 {
+ return errors.New("requires at least one arg")
+ }
+ if myapp.IsValidColor(args[0]) {
+ return nil
+ }
+ return fmt.Errorf("invalid color specified: %s", args[0])
+ },
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Hello, World!")
+ },
}
-
```
## Example
@@ -530,56 +514,56 @@ More documentation about flags is available at https://github.com/spf13/pflag
package main
import (
- "fmt"
- "strings"
+ "fmt"
+ "strings"
- "github.com/spf13/cobra"
+ "github.com/spf13/cobra"
)
func main() {
+ var echoTimes int
+
+ var cmdPrint = &cobra.Command{
+ Use: "print [string to print]",
+ Short: "Print anything to the screen",
+ Long: `print is for printing anything back to the screen.
+For many years people have printed back to the screen.`,
+ Args: cobra.MinimumNArgs(1),
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Print: " + strings.Join(args, " "))
+ },
+ }
+
+ var cmdEcho = &cobra.Command{
+ Use: "echo [string to echo]",
+ Short: "Echo anything to the screen",
+ Long: `echo is for echoing anything back.
+Echo works a lot like print, except it has a child command.`,
+ Args: cobra.MinimumNArgs(1),
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Println("Print: " + strings.Join(args, " "))
+ },
+ }
- var echoTimes int
-
- var cmdPrint = &cobra.Command{
- Use: "print [string to print]",
- Short: "Print anything to the screen",
- Long: `print is for printing anything back to the screen.
- For many years people have printed back to the screen.
- `,
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Print: " + strings.Join(args, " "))
- },
- }
-
- var cmdEcho = &cobra.Command{
- Use: "echo [string to echo]",
- Short: "Echo anything to the screen",
- Long: `echo is for echoing anything back.
- Echo works a lot like print, except it has a child command.
- `,
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Print: " + strings.Join(args, " "))
- },
- }
-
- var cmdTimes = &cobra.Command{
- Use: "times [# times] [string to echo]",
- Short: "Echo anything to the screen more times",
- Long: `echo things multiple times back to the user by providing
- a count and a string.`,
- Run: func(cmd *cobra.Command, args []string) {
- for i := 0; i < echoTimes; i++ {
- fmt.Println("Echo: " + strings.Join(args, " "))
- }
- },
- }
-
- cmdTimes.Flags().IntVarP(&echoTimes, "times", "t", 1, "times to echo the input")
-
- var rootCmd = &cobra.Command{Use: "app"}
- rootCmd.AddCommand(cmdPrint, cmdEcho)
- cmdEcho.AddCommand(cmdTimes)
- rootCmd.Execute()
+ var cmdTimes = &cobra.Command{
+ Use: "times [# times] [string to echo]",
+ Short: "Echo anything to the screen more times",
+ Long: `echo things multiple times back to the user by providing
+a count and a string.`,
+ Args: cobra.MinimumNArgs(1),
+ Run: func(cmd *cobra.Command, args []string) {
+ for i := 0; i < echoTimes; i++ {
+ fmt.Println("Echo: " + strings.Join(args, " "))
+ }
+ },
+ }
+
+ cmdTimes.Flags().IntVarP(&echoTimes, "times", "t", 1, "times to echo the input")
+
+ var rootCmd = &cobra.Command{Use: "app"}
+ rootCmd.AddCommand(cmdPrint, cmdEcho)
+ cmdEcho.AddCommand(cmdTimes)
+ rootCmd.Execute()
}
```
@@ -665,16 +649,16 @@ The default help command is
```go
func (c *Command) initHelp() {
- if c.helpCommand == nil {
- c.helpCommand = &Command{
- Use: "help [command]",
- Short: "Help about any command",
- Long: `Help provides help for any command in the application.
+ if c.helpCommand == nil {
+ c.helpCommand = &Command{
+ Use: "help [command]",
+ Short: "Help about any command",
+ Long: `Help provides help for any command in the application.
Simply type ` + c.Name() + ` help [path to command] for full details.`,
- Run: c.HelpFunc(),
- }
- }
- c.AddCommand(c.helpCommand)
+ Run: c.HelpFunc(),
+ }
+ }
+ c.AddCommand(c.helpCommand)
}
```
@@ -682,9 +666,7 @@ You can provide your own command, function or template through the following met
```go
command.SetHelpCommand(cmd *Command)
-
command.SetHelpFunc(f func(*Command, []string))
-
command.SetHelpTemplate(s string)
```
@@ -750,8 +732,8 @@ The default usage function is:
```go
return func(c *Command) error {
- err := tmpl(c.Out(), c.UsageTemplate(), c)
- return err
+ err := tmpl(c.Out(), c.UsageTemplate(), c)
+ return err
}
```
@@ -779,57 +761,57 @@ An example of two commands which use all of these features is below. When the s
package main
import (
- "fmt"
+ "fmt"
- "github.com/spf13/cobra"
+ "github.com/spf13/cobra"
)
func main() {
- var rootCmd = &cobra.Command{
- Use: "root [sub]",
- Short: "My root command",
- PersistentPreRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd PersistentPreRun with args: %v\n", args)
- },
- PreRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd PreRun with args: %v\n", args)
- },
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd Run with args: %v\n", args)
- },
- PostRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd PostRun with args: %v\n", args)
- },
- PersistentPostRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd PersistentPostRun with args: %v\n", args)
- },
- }
-
- var subCmd = &cobra.Command{
- Use: "sub [no options!]",
- Short: "My subcommand",
- PreRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside subCmd PreRun with args: %v\n", args)
- },
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside subCmd Run with args: %v\n", args)
- },
- PostRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside subCmd PostRun with args: %v\n", args)
- },
- PersistentPostRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside subCmd PersistentPostRun with args: %v\n", args)
- },
- }
-
- rootCmd.AddCommand(subCmd)
-
- rootCmd.SetArgs([]string{""})
- _ = rootCmd.Execute()
- fmt.Print("\n")
- rootCmd.SetArgs([]string{"sub", "arg1", "arg2"})
- _ = rootCmd.Execute()
+ var rootCmd = &cobra.Command{
+ Use: "root [sub]",
+ Short: "My root command",
+ PersistentPreRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd PersistentPreRun with args: %v\n", args)
+ },
+ PreRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd PreRun with args: %v\n", args)
+ },
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd Run with args: %v\n", args)
+ },
+ PostRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd PostRun with args: %v\n", args)
+ },
+ PersistentPostRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside rootCmd PersistentPostRun with args: %v\n", args)
+ },
+ }
+
+ var subCmd = &cobra.Command{
+ Use: "sub [no options!]",
+ Short: "My subcommand",
+ PreRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside subCmd PreRun with args: %v\n", args)
+ },
+ Run: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside subCmd Run with args: %v\n", args)
+ },
+ PostRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside subCmd PostRun with args: %v\n", args)
+ },
+ PersistentPostRun: func(cmd *cobra.Command, args []string) {
+ fmt.Printf("Inside subCmd PersistentPostRun with args: %v\n", args)
+ },
+ }
+
+ rootCmd.AddCommand(subCmd)
+
+ rootCmd.SetArgs([]string{""})
+ rootCmd.Execute()
+ fmt.Println()
+ rootCmd.SetArgs([]string{"sub", "arg1", "arg2"})
+ rootCmd.Execute()
}
```
@@ -855,28 +837,28 @@ command.
package main
import (
- "errors"
- "log"
+ "errors"
+ "log"
- "github.com/spf13/cobra"
+ "github.com/spf13/cobra"
)
func main() {
- var rootCmd = &cobra.Command{
- Use: "hugo",
- Short: "Hugo is a very fast static site generator",
- Long: `A Fast and Flexible Static Site Generator built with
- love by spf13 and friends in Go.
- Complete documentation is available at http://hugo.spf13.com`,
- RunE: func(cmd *cobra.Command, args []string) error {
- // Do Stuff Here
- return errors.New("some random error")
- },
- }
-
- if err := rootCmd.Execute(); err != nil {
- log.Fatal(err)
- }
+ var rootCmd = &cobra.Command{
+ Use: "hugo",
+ Short: "Hugo is a very fast static site generator",
+ Long: `A Fast and Flexible Static Site Generator built with
+love by spf13 and friends in Go.
+Complete documentation is available at http://hugo.spf13.com`,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ // Do Stuff Here
+ return errors.New("some random error")
+ },
+ }
+
+ if err := rootCmd.Execute(); err != nil {
+ log.Fatal(err)
+ }
}
```
@@ -932,16 +914,6 @@ Cobra can generate a man page based on the subcommands, flags, etc. A simple exa
Cobra can generate a bash-completion file. If you add more information to your command, these completions can be amazingly powerful and flexible. Read more about it in [Bash Completions](bash_completions.md).
-## Debugging
-
-Cobra provides a ‘DebugFlags’ method on a command which, when called, will print
-out everything Cobra knows about the flags for each command.
-
-### Example
-
-```go
-command.DebugFlags()
-```
## Extensions
diff --git a/vendor/github.com/spf13/cobra/bash_completions.go b/vendor/github.com/spf13/cobra/bash_completions.go
index e0cfb3494..e402065dd 100644
--- a/vendor/github.com/spf13/cobra/bash_completions.go
+++ b/vendor/github.com/spf13/cobra/bash_completions.go
@@ -463,14 +463,14 @@ func gen(buf *bytes.Buffer, cmd *Command) {
}
// GenBashCompletion generates bash completion file and writes to the passed writer.
-func (cmd *Command) GenBashCompletion(w io.Writer) error {
+func (c *Command) GenBashCompletion(w io.Writer) error {
buf := new(bytes.Buffer)
- writePreamble(buf, cmd.Name())
- if len(cmd.BashCompletionFunction) > 0 {
- buf.WriteString(cmd.BashCompletionFunction + "\n")
+ writePreamble(buf, c.Name())
+ if len(c.BashCompletionFunction) > 0 {
+ buf.WriteString(c.BashCompletionFunction + "\n")
}
- gen(buf, cmd)
- writePostscript(buf, cmd.Name())
+ gen(buf, c)
+ writePostscript(buf, c.Name())
_, err := buf.WriteTo(w)
return err
@@ -481,24 +481,24 @@ func nonCompletableFlag(flag *pflag.Flag) bool {
}
// GenBashCompletionFile generates bash completion file.
-func (cmd *Command) GenBashCompletionFile(filename string) error {
+func (c *Command) GenBashCompletionFile(filename string) error {
outFile, err := os.Create(filename)
if err != nil {
return err
}
defer outFile.Close()
- return cmd.GenBashCompletion(outFile)
+ return c.GenBashCompletion(outFile)
}
// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag, if it exists.
-func (cmd *Command) MarkFlagRequired(name string) error {
- return MarkFlagRequired(cmd.Flags(), name)
+func (c *Command) MarkFlagRequired(name string) error {
+ return MarkFlagRequired(c.Flags(), name)
}
// MarkPersistentFlagRequired adds the BashCompOneRequiredFlag annotation to the named persistent flag, if it exists.
-func (cmd *Command) MarkPersistentFlagRequired(name string) error {
- return MarkFlagRequired(cmd.PersistentFlags(), name)
+func (c *Command) MarkPersistentFlagRequired(name string) error {
+ return MarkFlagRequired(c.PersistentFlags(), name)
}
// MarkFlagRequired adds the BashCompOneRequiredFlag annotation to the named flag in the flag set, if it exists.
@@ -508,20 +508,20 @@ func MarkFlagRequired(flags *pflag.FlagSet, name string) error {
// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag, if it exists.
// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided.
-func (cmd *Command) MarkFlagFilename(name string, extensions ...string) error {
- return MarkFlagFilename(cmd.Flags(), name, extensions...)
+func (c *Command) MarkFlagFilename(name string, extensions ...string) error {
+ return MarkFlagFilename(c.Flags(), name, extensions...)
}
// MarkFlagCustom adds the BashCompCustom annotation to the named flag, if it exists.
// Generated bash autocompletion will call the bash function f for the flag.
-func (cmd *Command) MarkFlagCustom(name string, f string) error {
- return MarkFlagCustom(cmd.Flags(), name, f)
+func (c *Command) MarkFlagCustom(name string, f string) error {
+ return MarkFlagCustom(c.Flags(), name, f)
}
// MarkPersistentFlagFilename adds the BashCompFilenameExt annotation to the named persistent flag, if it exists.
// Generated bash autocompletion will select filenames for the flag, limiting to named extensions if provided.
-func (cmd *Command) MarkPersistentFlagFilename(name string, extensions ...string) error {
- return MarkFlagFilename(cmd.PersistentFlags(), name, extensions...)
+func (c *Command) MarkPersistentFlagFilename(name string, extensions ...string) error {
+ return MarkFlagFilename(c.PersistentFlags(), name, extensions...)
}
// MarkFlagFilename adds the BashCompFilenameExt annotation to the named flag in the flag set, if it exists.
diff --git a/vendor/github.com/spf13/cobra/bash_completions_test.go b/vendor/github.com/spf13/cobra/bash_completions_test.go
index 071a6a2a2..a3b13a32a 100644
--- a/vendor/github.com/spf13/cobra/bash_completions_test.go
+++ b/vendor/github.com/spf13/cobra/bash_completions_test.go
@@ -118,7 +118,7 @@ func TestBashCompletions(t *testing.T) {
check(t, str, `flags_completion+=("_filedir")`)
// check for filename extension flags
check(t, str, `must_have_one_noun+=("three")`)
- // check for filename extention flags
+ // check for filename extension flags
check(t, str, `flags_completion+=("__handle_filename_extension_flag json|yaml|yml")`)
// check for custom flags
check(t, str, `flags_completion+=("__complete_custom")`)
diff --git a/vendor/github.com/spf13/cobra/command.go b/vendor/github.com/spf13/cobra/command.go
index 4f65d7708..185e45263 100644
--- a/vendor/github.com/spf13/cobra/command.go
+++ b/vendor/github.com/spf13/cobra/command.go
@@ -54,13 +54,14 @@ type Command struct {
// ValidArgs is list of all valid non-flag arguments that are accepted in bash completions
ValidArgs []string
+ // Expected arguments
+ Args PositionalArgs
+
// ArgAliases is List of aliases for ValidArgs.
// These are not suggested to the user in the bash completion,
// but accepted if entered manually.
ArgAliases []string
- // Expected arguments
- Args PositionalArgs
// BashCompletionFunction is custom functions used by the bash autocompletion generator.
BashCompletionFunction string
diff --git a/vendor/github.com/spf13/cobra/zsh_completions.go b/vendor/github.com/spf13/cobra/zsh_completions.go
index b350aeeca..889c22e27 100644
--- a/vendor/github.com/spf13/cobra/zsh_completions.go
+++ b/vendor/github.com/spf13/cobra/zsh_completions.go
@@ -4,17 +4,29 @@ import (
"bytes"
"fmt"
"io"
+ "os"
"strings"
)
+// GenZshCompletionFile generates zsh completion file.
+func (c *Command) GenZshCompletionFile(filename string) error {
+ outFile, err := os.Create(filename)
+ if err != nil {
+ return err
+ }
+ defer outFile.Close()
+
+ return c.GenZshCompletion(outFile)
+}
+
// GenZshCompletion generates a zsh completion file and writes to the passed writer.
-func (cmd *Command) GenZshCompletion(w io.Writer) error {
+func (c *Command) GenZshCompletion(w io.Writer) error {
buf := new(bytes.Buffer)
- writeHeader(buf, cmd)
- maxDepth := maxDepth(cmd)
+ writeHeader(buf, c)
+ maxDepth := maxDepth(c)
writeLevelMapping(buf, maxDepth)
- writeLevelCases(buf, maxDepth, cmd)
+ writeLevelCases(buf, maxDepth, c)
_, err := buf.WriteTo(w)
return err
diff --git a/vendor/github.com/spf13/jwalterweatherman/notepad.go b/vendor/github.com/spf13/jwalterweatherman/notepad.go
index edeff3a86..ae5aaf711 100644
--- a/vendor/github.com/spf13/jwalterweatherman/notepad.go
+++ b/vendor/github.com/spf13/jwalterweatherman/notepad.go
@@ -148,7 +148,7 @@ func (n *Notepad) GetStdoutThreshold() Threshold {
}
// SetPrefix changes the prefix used by the notepad. Prefixes are displayed between
-// brackets at the begining of the line. An empty prefix won't be displayed at all.
+// brackets at the beginning of the line. An empty prefix won't be displayed at all.
func (n *Notepad) SetPrefix(prefix string) {
if len(prefix) != 0 {
n.prefix = "[" + prefix + "] "
diff --git a/vendor/github.com/xenolf/lego/CHANGELOG.md b/vendor/github.com/xenolf/lego/CHANGELOG.md
index 7dc1c1163..d71cc23dc 100644
--- a/vendor/github.com/xenolf/lego/CHANGELOG.md
+++ b/vendor/github.com/xenolf/lego/CHANGELOG.md
@@ -1,5 +1,16 @@
# Changelog
+## [0.4.1] - 2017-09-26
+
+### Added:
+- lib: A new DNS provider for OTC.
+- lib: The `AWS_HOSTED_ZONE_ID` environment variable for the Route53 DNS provider to directly specify the zone.
+- lib: The `RFC2136_TIMEOUT` enviroment variable to make the timeout for the RFC2136 provider configurable.
+- lib: The `GCE_SERVICE_ACCOUNT_FILE` environment variable to specify a service account file for the Google Cloud DNS provider.
+
+### Fixed:
+- lib: Fixed an authentication issue with the latest Azure SDK.
+
## [0.4.0] - 2017-07-13
### Added:
diff --git a/vendor/github.com/xenolf/lego/Dockerfile b/vendor/github.com/xenolf/lego/Dockerfile
index c03964076..511e403ce 100644
--- a/vendor/github.com/xenolf/lego/Dockerfile
+++ b/vendor/github.com/xenolf/lego/Dockerfile
@@ -1,14 +1,15 @@
-FROM alpine:3.4
+FROM alpine:3.6
ENV GOPATH /go
+ENV LEGO_VERSION tags/v0.4.1
-RUN apk update && apk add ca-certificates go git && \
- rm -rf /var/cache/apk/* && \
+RUN apk update && apk add --no-cache --virtual run-dependencies ca-certificates && \
+ apk add --no-cache --virtual build-dependencies go git musl-dev && \
go get -u github.com/xenolf/lego && \
- cd /go/src/github.com/xenolf/lego && \
+ cd ${GOPATH}/src/github.com/xenolf/lego && \
+ git checkout ${LEGO_VERSION} && \
go build -o /usr/bin/lego . && \
- apk del go git && \
- rm -rf /var/cache/apk/* && \
- rm -rf /go
+ apk del build-dependencies && \
+ rm -rf ${GOPATH}
ENTRYPOINT [ "/usr/bin/lego" ]
diff --git a/vendor/github.com/xenolf/lego/README.md b/vendor/github.com/xenolf/lego/README.md
index 27b346b22..b9c374432 100644
--- a/vendor/github.com/xenolf/lego/README.md
+++ b/vendor/github.com/xenolf/lego/README.md
@@ -83,7 +83,7 @@ USAGE:
lego [global options] command [command options] [arguments...]
VERSION:
- 0.4.0
+ 0.4.1
COMMANDS:
run Register an account, then create and install a certificate
@@ -93,7 +93,7 @@ COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
- --domains value, -d value Add domains to the process
+ --domains value, -d value Add a domain to the process. Can be specified multiple times.
--csr value, -c value Certificate signing request filename, if an external CSR is to be used
--server value, -s value CA hostname (and optionally :port). The server certificate must be trusted in order to avoid further modifications to the client. (default: "https://acme-v01.api.letsencrypt.org/directory")
--email value, -m value Email used for registration and recovery contact.
diff --git a/vendor/github.com/xenolf/lego/cli.go b/vendor/github.com/xenolf/lego/cli.go
index 2518d2e8f..3aac9e253 100644
--- a/vendor/github.com/xenolf/lego/cli.go
+++ b/vendor/github.com/xenolf/lego/cli.go
@@ -32,7 +32,7 @@ func main() {
app.Name = "lego"
app.Usage = "Let's Encrypt client written in Go"
- version := "0.4.0"
+ version := "0.4.1"
if strings.HasPrefix(gittag, "v") {
version = gittag
}
@@ -109,7 +109,7 @@ func main() {
app.Flags = []cli.Flag{
cli.StringSliceFlag{
Name: "domains, d",
- Usage: "Add domains to the process",
+ Usage: "Add a domain to the process. Can be specified multiple times.",
},
cli.StringFlag{
Name: "csr, c",
diff --git a/vendor/github.com/xenolf/lego/providers/dns/azure/azure.go b/vendor/github.com/xenolf/lego/providers/dns/azure/azure.go
index 97d692382..04897aa18 100644
--- a/vendor/github.com/xenolf/lego/providers/dns/azure/azure.go
+++ b/vendor/github.com/xenolf/lego/providers/dns/azure/azure.go
@@ -125,11 +125,10 @@ func (c *DNSProvider) getHostedZoneID(fqdn string) (string, error) {
}
// Now we want to to Azure and get the zone.
- dc := dns.NewZonesClient(c.subscriptionId)
-
- rsc := dns.NewRecordSetsClient(c.subscriptionId)
spt, err := c.newServicePrincipalTokenFromCredentials(azure.PublicCloud.ResourceManagerEndpoint)
- rsc.Authorizer = autorest.NewBearerAuthorizer(spt)
+
+ dc := dns.NewZonesClient(c.subscriptionId)
+ dc.Authorizer = autorest.NewBearerAuthorizer(spt)
zone, err := dc.Get(c.resourceGroup, acme.UnFqdn(authZone))
diff --git a/vendor/github.com/xenolf/lego/providers/dns/exoscale/exoscale.go b/vendor/github.com/xenolf/lego/providers/dns/exoscale/exoscale.go
index 3b6b58d08..7b2fccc98 100644
--- a/vendor/github.com/xenolf/lego/providers/dns/exoscale/exoscale.go
+++ b/vendor/github.com/xenolf/lego/providers/dns/exoscale/exoscale.go
@@ -7,7 +7,7 @@ import (
"fmt"
"os"
- "github.com/pyr/egoscale/src/egoscale"
+ "github.com/exoscale/egoscale"
"github.com/xenolf/lego/acme"
)
diff --git a/vendor/github.com/xenolf/lego/providers/dns/rackspace/rackspace.go b/vendor/github.com/xenolf/lego/providers/dns/rackspace/rackspace.go
index 2b106a27e..13daa8c8a 100644
--- a/vendor/github.com/xenolf/lego/providers/dns/rackspace/rackspace.go
+++ b/vendor/github.com/xenolf/lego/providers/dns/rackspace/rackspace.go
@@ -269,7 +269,7 @@ func (c *DNSProvider) makeRequest(method, uri string, body io.Reader) (json.RawM
return r, nil
}
-// RackspaceRecords is the list of records sent/recieved from the DNS API
+// RackspaceRecords is the list of records sent/received from the DNS API
type RackspaceRecords struct {
RackspaceRecord []RackspaceRecord `json:"records"`
}
diff --git a/vendor/golang.org/x/crypto/acme/acme.go b/vendor/golang.org/x/crypto/acme/acme.go
index d6a09dd5b..e8388b083 100644
--- a/vendor/golang.org/x/crypto/acme/acme.go
+++ b/vendor/golang.org/x/crypto/acme/acme.go
@@ -257,7 +257,7 @@ func (c *Client) RevokeCert(ctx context.Context, key crypto.Signer, cert []byte,
func AcceptTOS(tosURL string) bool { return true }
// Register creates a new account registration by following the "new-reg" flow.
-// It returns registered account. The a argument is not modified.
+// It returns registered account. The account is not modified.
//
// The registration may require the caller to agree to the CA's Terms of Service (TOS).
// If so, and the account has not indicated the acceptance of the terms (see Account for details),
diff --git a/vendor/golang.org/x/crypto/acme/autocert/autocert.go b/vendor/golang.org/x/crypto/acme/autocert/autocert.go
index a478eff54..b10102017 100644
--- a/vendor/golang.org/x/crypto/acme/autocert/autocert.go
+++ b/vendor/golang.org/x/crypto/acme/autocert/autocert.go
@@ -83,8 +83,10 @@ func defaultHostPolicy(context.Context, string) error {
// It obtains and refreshes certificates automatically,
// as well as providing them to a TLS server via tls.Config.
//
-// To preserve issued certificates and improve overall performance,
-// use a cache implementation of Cache. For instance, DirCache.
+// You must specify a cache implementation, such as DirCache,
+// to reuse obtained certificates across program restarts.
+// Otherwise your server is very likely to exceed the certificate
+// issuer's request rate limits.
type Manager struct {
// Prompt specifies a callback function to conditionally accept a CA's Terms of Service (TOS).
// The registration may require the caller to agree to the CA's TOS.
diff --git a/vendor/golang.org/x/crypto/acme/autocert/example_test.go b/vendor/golang.org/x/crypto/acme/autocert/example_test.go
index c6267b8dd..71d61eb1c 100644
--- a/vendor/golang.org/x/crypto/acme/autocert/example_test.go
+++ b/vendor/golang.org/x/crypto/acme/autocert/example_test.go
@@ -23,6 +23,7 @@ func ExampleNewListener() {
func ExampleManager() {
m := autocert.Manager{
+ Cache: autocert.DirCache("secret-dir"),
Prompt: autocert.AcceptTOS,
HostPolicy: autocert.HostWhitelist("example.org"),
}
diff --git a/vendor/golang.org/x/crypto/blake2b/blake2b_test.go b/vendor/golang.org/x/crypto/blake2b/blake2b_test.go
index 4aa49579a..5d68bbf60 100644
--- a/vendor/golang.org/x/crypto/blake2b/blake2b_test.go
+++ b/vendor/golang.org/x/crypto/blake2b/blake2b_test.go
@@ -126,7 +126,7 @@ func testHashes2X(t *testing.T) {
t.Fatalf("#%d (single write): error from Read: %v", i, err)
}
if n, err := h.Read(sum); n != 0 || err != io.EOF {
- t.Fatalf("#%d (single write): Read did not return (0, os.EOF) after exhaustion, got (%v, %v)", i, n, err)
+ t.Fatalf("#%d (single write): Read did not return (0, io.EOF) after exhaustion, got (%v, %v)", i, n, err)
}
if gotHex := fmt.Sprintf("%x", sum); gotHex != expectedHex {
t.Fatalf("#%d (single write): got %s, wanted %s", i, gotHex, expectedHex)
diff --git a/vendor/golang.org/x/crypto/chacha20poly1305/internal/chacha20/chacha_generic.go b/vendor/golang.org/x/crypto/chacha20poly1305/internal/chacha20/chacha_generic.go
index f9e8a3a2f..0f8efdbaa 100644
--- a/vendor/golang.org/x/crypto/chacha20poly1305/internal/chacha20/chacha_generic.go
+++ b/vendor/golang.org/x/crypto/chacha20poly1305/internal/chacha20/chacha_generic.go
@@ -167,9 +167,8 @@ func core(out *[64]byte, in *[16]byte, k *[32]byte) {
}
// XORKeyStream crypts bytes from in to out using the given key and counters.
-// In and out may be the same slice but otherwise should not overlap. Counter
-// contains the raw ChaCha20 counter bytes (i.e. block counter followed by
-// nonce).
+// In and out must overlap entirely or not at all. Counter contains the raw
+// ChaCha20 counter bytes (i.e. block counter followed by nonce).
func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) {
var block [64]byte
var counterCopy [16]byte
diff --git a/vendor/golang.org/x/crypto/cryptobyte/asn1.go b/vendor/golang.org/x/crypto/cryptobyte/asn1.go
index 166e22d7b..88ec8b4fb 100644
--- a/vendor/golang.org/x/crypto/cryptobyte/asn1.go
+++ b/vendor/golang.org/x/crypto/cryptobyte/asn1.go
@@ -5,40 +5,30 @@
package cryptobyte
import (
- "encoding/asn1"
+ encoding_asn1 "encoding/asn1"
"fmt"
"math/big"
"reflect"
"time"
+
+ "golang.org/x/crypto/cryptobyte/asn1"
)
// This file contains ASN.1-related methods for String and Builder.
-// Tag represents an ASN.1 tag number and class (together also referred to as
-// identifier octets). Methods in this package only support the low-tag-number
-// form, i.e. a single identifier octet with bits 7-8 encoding the class and
-// bits 1-6 encoding the tag number.
-type Tag uint8
-
-// Contructed returns t with the context-specific class bit set.
-func (t Tag) ContextSpecific() Tag { return t | 0x80 }
-
-// Contructed returns t with the constructed class bit set.
-func (t Tag) Constructed() Tag { return t | 0x20 }
-
// Builder
// AddASN1Int64 appends a DER-encoded ASN.1 INTEGER.
func (b *Builder) AddASN1Int64(v int64) {
- b.addASN1Signed(asn1.TagInteger, v)
+ b.addASN1Signed(asn1.INTEGER, v)
}
// AddASN1Enum appends a DER-encoded ASN.1 ENUMERATION.
func (b *Builder) AddASN1Enum(v int64) {
- b.addASN1Signed(asn1.TagEnum, v)
+ b.addASN1Signed(asn1.ENUM, v)
}
-func (b *Builder) addASN1Signed(tag Tag, v int64) {
+func (b *Builder) addASN1Signed(tag asn1.Tag, v int64) {
b.AddASN1(tag, func(c *Builder) {
length := 1
for i := v; i >= 0x80 || i < -0x80; i >>= 8 {
@@ -54,7 +44,7 @@ func (b *Builder) addASN1Signed(tag Tag, v int64) {
// AddASN1Uint64 appends a DER-encoded ASN.1 INTEGER.
func (b *Builder) AddASN1Uint64(v uint64) {
- b.AddASN1(asn1.TagInteger, func(c *Builder) {
+ b.AddASN1(asn1.INTEGER, func(c *Builder) {
length := 1
for i := v; i >= 0x80; i >>= 8 {
length++
@@ -73,7 +63,7 @@ func (b *Builder) AddASN1BigInt(n *big.Int) {
return
}
- b.AddASN1(asn1.TagInteger, func(c *Builder) {
+ b.AddASN1(asn1.INTEGER, func(c *Builder) {
if n.Sign() < 0 {
// A negative number has to be converted to two's-complement form. So we
// invert and subtract 1. If the most-significant-bit isn't set then
@@ -103,7 +93,7 @@ func (b *Builder) AddASN1BigInt(n *big.Int) {
// AddASN1OctetString appends a DER-encoded ASN.1 OCTET STRING.
func (b *Builder) AddASN1OctetString(bytes []byte) {
- b.AddASN1(asn1.TagOctetString, func(c *Builder) {
+ b.AddASN1(asn1.OCTET_STRING, func(c *Builder) {
c.AddBytes(bytes)
})
}
@@ -116,27 +106,97 @@ func (b *Builder) AddASN1GeneralizedTime(t time.Time) {
b.err = fmt.Errorf("cryptobyte: cannot represent %v as a GeneralizedTime", t)
return
}
- b.AddASN1(asn1.TagGeneralizedTime, func(c *Builder) {
+ b.AddASN1(asn1.GeneralizedTime, func(c *Builder) {
c.AddBytes([]byte(t.Format(generalizedTimeFormatStr)))
})
}
-// AddASN1BitString appends a DER-encoded ASN.1 BIT STRING.
-func (b *Builder) AddASN1BitString(s asn1.BitString) {
- // TODO(martinkr): Implement.
- b.MarshalASN1(s)
+// AddASN1BitString appends a DER-encoded ASN.1 BIT STRING. This does not
+// support BIT STRINGs that are not a whole number of bytes.
+func (b *Builder) AddASN1BitString(data []byte) {
+ b.AddASN1(asn1.BIT_STRING, func(b *Builder) {
+ b.AddUint8(0)
+ b.AddBytes(data)
+ })
+}
+
+func (b *Builder) addBase128Int(n int64) {
+ var length int
+ if n == 0 {
+ length = 1
+ } else {
+ for i := n; i > 0; i >>= 7 {
+ length++
+ }
+ }
+
+ for i := length - 1; i >= 0; i-- {
+ o := byte(n >> uint(i*7))
+ o &= 0x7f
+ if i != 0 {
+ o |= 0x80
+ }
+
+ b.add(o)
+ }
+}
+
+func isValidOID(oid encoding_asn1.ObjectIdentifier) bool {
+ if len(oid) < 2 {
+ return false
+ }
+
+ if oid[0] > 2 || (oid[0] <= 1 && oid[1] >= 40) {
+ return false
+ }
+
+ for _, v := range oid {
+ if v < 0 {
+ return false
+ }
+ }
+
+ return true
+}
+
+func (b *Builder) AddASN1ObjectIdentifier(oid encoding_asn1.ObjectIdentifier) {
+ b.AddASN1(asn1.OBJECT_IDENTIFIER, func(b *Builder) {
+ if !isValidOID(oid) {
+ b.err = fmt.Errorf("cryptobyte: invalid OID: %v", oid)
+ return
+ }
+
+ b.addBase128Int(int64(oid[0])*40 + int64(oid[1]))
+ for _, v := range oid[2:] {
+ b.addBase128Int(int64(v))
+ }
+ })
+}
+
+func (b *Builder) AddASN1Boolean(v bool) {
+ b.AddASN1(asn1.BOOLEAN, func(b *Builder) {
+ if v {
+ b.AddUint8(0xff)
+ } else {
+ b.AddUint8(0)
+ }
+ })
}
-// MarshalASN1 calls asn1.Marshal on its input and appends the result if
+func (b *Builder) AddASN1NULL() {
+ b.add(uint8(asn1.NULL), 0)
+}
+
+// MarshalASN1 calls encoding_asn1.Marshal on its input and appends the result if
// successful or records an error if one occurred.
func (b *Builder) MarshalASN1(v interface{}) {
// NOTE(martinkr): This is somewhat of a hack to allow propagation of
- // asn1.Marshal errors into Builder.err. N.B. if you call MarshalASN1 with a
+ // encoding_asn1.Marshal errors into Builder.err. N.B. if you call MarshalASN1 with a
// value embedded into a struct, its tag information is lost.
if b.err != nil {
return
}
- bytes, err := asn1.Marshal(v)
+ bytes, err := encoding_asn1.Marshal(v)
if err != nil {
b.err = err
return
@@ -148,7 +208,7 @@ func (b *Builder) MarshalASN1(v interface{}) {
// Tags greater than 30 are not supported and result in an error (i.e.
// low-tag-number form only). The child builder passed to the
// BuilderContinuation can be used to build the content of the ASN.1 object.
-func (b *Builder) AddASN1(tag Tag, f BuilderContinuation) {
+func (b *Builder) AddASN1(tag asn1.Tag, f BuilderContinuation) {
if b.err != nil {
return
}
@@ -164,6 +224,24 @@ func (b *Builder) AddASN1(tag Tag, f BuilderContinuation) {
// String
+func (s *String) ReadASN1Boolean(out *bool) bool {
+ var bytes String
+ if !s.ReadASN1(&bytes, asn1.INTEGER) || len(bytes) != 1 {
+ return false
+ }
+
+ switch bytes[0] {
+ case 0:
+ *out = false
+ case 0xff:
+ *out = true
+ default:
+ return false
+ }
+
+ return true
+}
+
var bigIntType = reflect.TypeOf((*big.Int)(nil)).Elem()
// ReadASN1Integer decodes an ASN.1 INTEGER into out and advances. If out does
@@ -215,7 +293,7 @@ var bigOne = big.NewInt(1)
func (s *String) readASN1BigInt(out *big.Int) bool {
var bytes String
- if !s.ReadASN1(&bytes, asn1.TagInteger) || !checkASN1Integer(bytes) {
+ if !s.ReadASN1(&bytes, asn1.INTEGER) || !checkASN1Integer(bytes) {
return false
}
if bytes[0]&0x80 == 0x80 {
@@ -235,7 +313,7 @@ func (s *String) readASN1BigInt(out *big.Int) bool {
func (s *String) readASN1Int64(out *int64) bool {
var bytes String
- if !s.ReadASN1(&bytes, asn1.TagInteger) || !checkASN1Integer(bytes) || !asn1Signed(out, bytes) {
+ if !s.ReadASN1(&bytes, asn1.INTEGER) || !checkASN1Integer(bytes) || !asn1Signed(out, bytes) {
return false
}
return true
@@ -258,7 +336,7 @@ func asn1Signed(out *int64, n []byte) bool {
func (s *String) readASN1Uint64(out *uint64) bool {
var bytes String
- if !s.ReadASN1(&bytes, asn1.TagInteger) || !checkASN1Integer(bytes) || !asn1Unsigned(out, bytes) {
+ if !s.ReadASN1(&bytes, asn1.INTEGER) || !checkASN1Integer(bytes) || !asn1Unsigned(out, bytes) {
return false
}
return true
@@ -286,7 +364,7 @@ func asn1Unsigned(out *uint64, n []byte) bool {
func (s *String) ReadASN1Enum(out *int) bool {
var bytes String
var i int64
- if !s.ReadASN1(&bytes, asn1.TagEnum) || !checkASN1Integer(bytes) || !asn1Signed(&i, bytes) {
+ if !s.ReadASN1(&bytes, asn1.ENUM) || !checkASN1Integer(bytes) || !asn1Signed(&i, bytes) {
return false
}
if int64(int(i)) != i {
@@ -315,9 +393,9 @@ func (s *String) readBase128Int(out *int) bool {
// ReadASN1ObjectIdentifier decodes an ASN.1 OBJECT IDENTIFIER into out and
// advances. It returns true on success and false on error.
-func (s *String) ReadASN1ObjectIdentifier(out *asn1.ObjectIdentifier) bool {
+func (s *String) ReadASN1ObjectIdentifier(out *encoding_asn1.ObjectIdentifier) bool {
var bytes String
- if !s.ReadASN1(&bytes, asn1.TagOID) || len(bytes) == 0 {
+ if !s.ReadASN1(&bytes, asn1.OBJECT_IDENTIFIER) || len(bytes) == 0 {
return false
}
@@ -356,7 +434,7 @@ func (s *String) ReadASN1ObjectIdentifier(out *asn1.ObjectIdentifier) bool {
// advances. It returns true on success and false on error.
func (s *String) ReadASN1GeneralizedTime(out *time.Time) bool {
var bytes String
- if !s.ReadASN1(&bytes, asn1.TagGeneralizedTime) {
+ if !s.ReadASN1(&bytes, asn1.GeneralizedTime) {
return false
}
t := string(bytes)
@@ -373,9 +451,9 @@ func (s *String) ReadASN1GeneralizedTime(out *time.Time) bool {
// ReadASN1BitString decodes an ASN.1 BIT STRING into out and advances. It
// returns true on success and false on error.
-func (s *String) ReadASN1BitString(out *asn1.BitString) bool {
+func (s *String) ReadASN1BitString(out *encoding_asn1.BitString) bool {
var bytes String
- if !s.ReadASN1(&bytes, asn1.TagBitString) || len(bytes) == 0 {
+ if !s.ReadASN1(&bytes, asn1.BIT_STRING) || len(bytes) == 0 {
return false
}
@@ -392,10 +470,27 @@ func (s *String) ReadASN1BitString(out *asn1.BitString) bool {
return true
}
+// ReadASN1BitString decodes an ASN.1 BIT STRING into out and advances. It is
+// an error if the BIT STRING is not a whole number of bytes. This function
+// returns true on success and false on error.
+func (s *String) ReadASN1BitStringAsBytes(out *[]byte) bool {
+ var bytes String
+ if !s.ReadASN1(&bytes, asn1.BIT_STRING) || len(bytes) == 0 {
+ return false
+ }
+
+ paddingBits := uint8(bytes[0])
+ if paddingBits != 0 {
+ return false
+ }
+ *out = bytes[1:]
+ return true
+}
+
// ReadASN1Bytes reads the contents of a DER-encoded ASN.1 element (not including
// tag and length bytes) into out, and advances. The element must match the
// given tag. It returns true on success and false on error.
-func (s *String) ReadASN1Bytes(out *[]byte, tag Tag) bool {
+func (s *String) ReadASN1Bytes(out *[]byte, tag asn1.Tag) bool {
return s.ReadASN1((*String)(out), tag)
}
@@ -404,8 +499,8 @@ func (s *String) ReadASN1Bytes(out *[]byte, tag Tag) bool {
// given tag. It returns true on success and false on error.
//
// Tags greater than 30 are not supported (i.e. low-tag-number format only).
-func (s *String) ReadASN1(out *String, tag Tag) bool {
- var t Tag
+func (s *String) ReadASN1(out *String, tag asn1.Tag) bool {
+ var t asn1.Tag
if !s.ReadAnyASN1(out, &t) || t != tag {
return false
}
@@ -417,8 +512,8 @@ func (s *String) ReadASN1(out *String, tag Tag) bool {
// given tag. It returns true on success and false on error.
//
// Tags greater than 30 are not supported (i.e. low-tag-number format only).
-func (s *String) ReadASN1Element(out *String, tag Tag) bool {
- var t Tag
+func (s *String) ReadASN1Element(out *String, tag asn1.Tag) bool {
+ var t asn1.Tag
if !s.ReadAnyASN1Element(out, &t) || t != tag {
return false
}
@@ -430,7 +525,7 @@ func (s *String) ReadASN1Element(out *String, tag Tag) bool {
// returns true on success and false on error.
//
// Tags greater than 30 are not supported (i.e. low-tag-number format only).
-func (s *String) ReadAnyASN1(out *String, outTag *Tag) bool {
+func (s *String) ReadAnyASN1(out *String, outTag *asn1.Tag) bool {
return s.readASN1(out, outTag, true /* skip header */)
}
@@ -439,24 +534,30 @@ func (s *String) ReadAnyASN1(out *String, outTag *Tag) bool {
// advances. It returns true on success and false on error.
//
// Tags greater than 30 are not supported (i.e. low-tag-number format only).
-func (s *String) ReadAnyASN1Element(out *String, outTag *Tag) bool {
+func (s *String) ReadAnyASN1Element(out *String, outTag *asn1.Tag) bool {
return s.readASN1(out, outTag, false /* include header */)
}
// PeekASN1Tag returns true if the next ASN.1 value on the string starts with
// the given tag.
-func (s String) PeekASN1Tag(tag Tag) bool {
+func (s String) PeekASN1Tag(tag asn1.Tag) bool {
if len(s) == 0 {
return false
}
- return Tag(s[0]) == tag
+ return asn1.Tag(s[0]) == tag
}
-// ReadOptionalASN1 attempts to read the contents of a DER-encoded ASN.Element
-// (not including tag and length bytes) tagged with the given tag into out. It
-// stores whether an element with the tag was found in outPresent, unless
-// outPresent is nil. It returns true on success and false on error.
-func (s *String) ReadOptionalASN1(out *String, outPresent *bool, tag Tag) bool {
+// SkipASN1 reads and discards an ASN.1 element with the given tag.
+func (s *String) SkipASN1(tag asn1.Tag) bool {
+ var unused String
+ return s.ReadASN1(&unused, tag)
+}
+
+// ReadOptionalASN1 attempts to read the contents of a DER-encoded ASN.1
+// element (not including tag and length bytes) tagged with the given tag into
+// out. It stores whether an element with the tag was found in outPresent,
+// unless outPresent is nil. It returns true on success and false on error.
+func (s *String) ReadOptionalASN1(out *String, outPresent *bool, tag asn1.Tag) bool {
present := s.PeekASN1Tag(tag)
if outPresent != nil {
*outPresent = present
@@ -467,12 +568,22 @@ func (s *String) ReadOptionalASN1(out *String, outPresent *bool, tag Tag) bool {
return true
}
+// SkipOptionalASN1 advances s over an ASN.1 element with the given tag, or
+// else leaves s unchanged.
+func (s *String) SkipOptionalASN1(tag asn1.Tag) bool {
+ if !s.PeekASN1Tag(tag) {
+ return true
+ }
+ var unused String
+ return s.ReadASN1(&unused, tag)
+}
+
// ReadOptionalASN1Integer attempts to read an optional ASN.1 INTEGER
// explicitly tagged with tag into out and advances. If no element with a
// matching tag is present, it writes defaultValue into out instead. If out
// does not point to an integer or to a big.Int, it panics. It returns true on
// success and false on error.
-func (s *String) ReadOptionalASN1Integer(out interface{}, tag Tag, defaultValue interface{}) bool {
+func (s *String) ReadOptionalASN1Integer(out interface{}, tag asn1.Tag, defaultValue interface{}) bool {
if reflect.TypeOf(out).Kind() != reflect.Ptr {
panic("out is not a pointer")
}
@@ -510,7 +621,7 @@ func (s *String) ReadOptionalASN1Integer(out interface{}, tag Tag, defaultValue
// explicitly tagged with tag into out and advances. If no element with a
// matching tag is present, it writes defaultValue into out instead. It returns
// true on success and false on error.
-func (s *String) ReadOptionalASN1OctetString(out *[]byte, outPresent *bool, tag Tag) bool {
+func (s *String) ReadOptionalASN1OctetString(out *[]byte, outPresent *bool, tag asn1.Tag) bool {
var present bool
var child String
if !s.ReadOptionalASN1(&child, &present, tag) {
@@ -521,7 +632,7 @@ func (s *String) ReadOptionalASN1OctetString(out *[]byte, outPresent *bool, tag
}
if present {
var oct String
- if !child.ReadASN1(&oct, asn1.TagOctetString) || !child.Empty() {
+ if !child.ReadASN1(&oct, asn1.OCTET_STRING) || !child.Empty() {
return false
}
*out = oct
@@ -531,7 +642,24 @@ func (s *String) ReadOptionalASN1OctetString(out *[]byte, outPresent *bool, tag
return true
}
-func (s *String) readASN1(out *String, outTag *Tag, skipHeader bool) bool {
+// ReadOptionalASN1Boolean sets *out to the value of the next ASN.1 BOOLEAN or,
+// if the next bytes are not an ASN.1 BOOLEAN, to the value of defaultValue.
+func (s *String) ReadOptionalASN1Boolean(out *bool, defaultValue bool) bool {
+ var present bool
+ var child String
+ if !s.ReadOptionalASN1(&child, &present, asn1.BOOLEAN) {
+ return false
+ }
+
+ if !present {
+ *out = defaultValue
+ return true
+ }
+
+ return s.ReadASN1Boolean(out)
+}
+
+func (s *String) readASN1(out *String, outTag *asn1.Tag, skipHeader bool) bool {
if len(*s) < 2 {
return false
}
@@ -547,7 +675,7 @@ func (s *String) readASN1(out *String, outTag *Tag, skipHeader bool) bool {
}
if outTag != nil {
- *outTag = Tag(tag)
+ *outTag = asn1.Tag(tag)
}
// ITU-T X.690 section 8.1.3
diff --git a/vendor/golang.org/x/crypto/cryptobyte/asn1/asn1.go b/vendor/golang.org/x/crypto/cryptobyte/asn1/asn1.go
new file mode 100644
index 000000000..cda8e3edf
--- /dev/null
+++ b/vendor/golang.org/x/crypto/cryptobyte/asn1/asn1.go
@@ -0,0 +1,46 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package asn1 contains supporting types for parsing and building ASN.1
+// messages with the cryptobyte package.
+package asn1 // import "golang.org/x/crypto/cryptobyte/asn1"
+
+// Tag represents an ASN.1 identifier octet, consisting of a tag number
+// (indicating a type) and class (such as context-specific or constructed).
+//
+// Methods in the cryptobyte package only support the low-tag-number form, i.e.
+// a single identifier octet with bits 7-8 encoding the class and bits 1-6
+// encoding the tag number.
+type Tag uint8
+
+const (
+ classConstructed = 0x20
+ classContextSpecific = 0x80
+)
+
+// Constructed returns t with the constructed class bit set.
+func (t Tag) Constructed() Tag { return t | classConstructed }
+
+// ContextSpecific returns t with the context-specific class bit set.
+func (t Tag) ContextSpecific() Tag { return t | classContextSpecific }
+
+// The following is a list of standard tag and class combinations.
+const (
+ BOOLEAN = Tag(1)
+ INTEGER = Tag(2)
+ BIT_STRING = Tag(3)
+ OCTET_STRING = Tag(4)
+ NULL = Tag(5)
+ OBJECT_IDENTIFIER = Tag(6)
+ ENUM = Tag(10)
+ UTF8String = Tag(12)
+ SEQUENCE = Tag(16 | classConstructed)
+ SET = Tag(17 | classConstructed)
+ PrintableString = Tag(19)
+ T61String = Tag(20)
+ IA5String = Tag(22)
+ UTCTime = Tag(23)
+ GeneralizedTime = Tag(24)
+ GeneralString = Tag(27)
+)
diff --git a/vendor/golang.org/x/crypto/cryptobyte/asn1_test.go b/vendor/golang.org/x/crypto/cryptobyte/asn1_test.go
index c8c187032..ee6674a2f 100644
--- a/vendor/golang.org/x/crypto/cryptobyte/asn1_test.go
+++ b/vendor/golang.org/x/crypto/cryptobyte/asn1_test.go
@@ -6,17 +6,19 @@ package cryptobyte
import (
"bytes"
- "encoding/asn1"
+ encoding_asn1 "encoding/asn1"
"math/big"
"reflect"
"testing"
"time"
+
+ "golang.org/x/crypto/cryptobyte/asn1"
)
type readASN1Test struct {
name string
in []byte
- tag Tag
+ tag asn1.Tag
ok bool
out interface{}
}
@@ -194,7 +196,7 @@ func TestReadASN1IntegerInvalid(t *testing.T) {
}
}
-func TestReadASN1ObjectIdentifier(t *testing.T) {
+func TestASN1ObjectIdentifier(t *testing.T) {
testData := []struct {
in []byte
ok bool
@@ -212,10 +214,23 @@ func TestReadASN1ObjectIdentifier(t *testing.T) {
for i, test := range testData {
in := String(test.in)
- var out asn1.ObjectIdentifier
+ var out encoding_asn1.ObjectIdentifier
ok := in.ReadASN1ObjectIdentifier(&out)
if ok != test.ok || ok && !out.Equal(test.out) {
t.Errorf("#%d: in.ReadASN1ObjectIdentifier() = %v, want %v; out = %v, want %v", i, ok, test.ok, out, test.out)
+ continue
+ }
+
+ var b Builder
+ b.AddASN1ObjectIdentifier(out)
+ result, err := b.Bytes()
+ if builderOk := err == nil; test.ok != builderOk {
+ t.Errorf("#%d: error from Builder.Bytes: %s", i, err)
+ continue
+ }
+ if test.ok && !bytes.Equal(result, test.in) {
+ t.Errorf("#%d: reserialisation didn't match, got %x, want %x", i, result, test.in)
+ continue
}
}
}
@@ -250,7 +265,7 @@ func TestReadASN1GeneralizedTime(t *testing.T) {
{"201001020304-10Z", false, time.Time{}},
}
for i, test := range testData {
- in := String(append([]byte{asn1.TagGeneralizedTime, byte(len(test.in))}, test.in...))
+ in := String(append([]byte{byte(asn1.GeneralizedTime), byte(len(test.in))}, test.in...))
var out time.Time
ok := in.ReadASN1GeneralizedTime(&out)
if ok != test.ok || ok && !reflect.DeepEqual(out, test.out) {
@@ -263,20 +278,20 @@ func TestReadASN1BitString(t *testing.T) {
testData := []struct {
in []byte
ok bool
- out asn1.BitString
+ out encoding_asn1.BitString
}{
- {[]byte{}, false, asn1.BitString{}},
- {[]byte{0x00}, true, asn1.BitString{}},
- {[]byte{0x07, 0x00}, true, asn1.BitString{Bytes: []byte{0}, BitLength: 1}},
- {[]byte{0x07, 0x01}, false, asn1.BitString{}},
- {[]byte{0x07, 0x40}, false, asn1.BitString{}},
- {[]byte{0x08, 0x00}, false, asn1.BitString{}},
- {[]byte{0xff}, false, asn1.BitString{}},
- {[]byte{0xfe, 0x00}, false, asn1.BitString{}},
+ {[]byte{}, false, encoding_asn1.BitString{}},
+ {[]byte{0x00}, true, encoding_asn1.BitString{}},
+ {[]byte{0x07, 0x00}, true, encoding_asn1.BitString{Bytes: []byte{0}, BitLength: 1}},
+ {[]byte{0x07, 0x01}, false, encoding_asn1.BitString{}},
+ {[]byte{0x07, 0x40}, false, encoding_asn1.BitString{}},
+ {[]byte{0x08, 0x00}, false, encoding_asn1.BitString{}},
+ {[]byte{0xff}, false, encoding_asn1.BitString{}},
+ {[]byte{0xfe, 0x00}, false, encoding_asn1.BitString{}},
}
for i, test := range testData {
in := String(append([]byte{3, byte(len(test.in))}, test.in...))
- var out asn1.BitString
+ var out encoding_asn1.BitString
ok := in.ReadASN1BitString(&out)
if ok != test.ok || ok && (!bytes.Equal(out.Bytes, test.out.Bytes) || out.BitLength != test.out.BitLength) {
t.Errorf("#%d: in.ReadASN1BitString() = %v, want %v; out = %v, want %v", i, ok, test.ok, out, test.out)
diff --git a/vendor/golang.org/x/crypto/cryptobyte/builder.go b/vendor/golang.org/x/crypto/cryptobyte/builder.go
index 9883fb3c3..29b4c7641 100644
--- a/vendor/golang.org/x/crypto/cryptobyte/builder.go
+++ b/vendor/golang.org/x/crypto/cryptobyte/builder.go
@@ -10,15 +10,25 @@ import (
)
// A Builder builds byte strings from fixed-length and length-prefixed values.
+// Builders either allocate space as needed, or are ‘fixed’, which means that
+// they write into a given buffer and produce an error if it's exhausted.
+//
// The zero value is a usable Builder that allocates space as needed.
+//
+// Simple values are marshaled and appended to a Builder using methods on the
+// Builder. Length-prefixed values are marshaled by providing a
+// BuilderContinuation, which is a function that writes the inner contents of
+// the value to a given Builder. See the documentation for BuilderContinuation
+// for details.
type Builder struct {
- err error
- result []byte
- fixedSize bool
- child *Builder
- offset int
- pendingLenLen int
- pendingIsASN1 bool
+ err error
+ result []byte
+ fixedSize bool
+ child *Builder
+ offset int
+ pendingLenLen int
+ pendingIsASN1 bool
+ inContinuation *bool
}
// NewBuilder creates a Builder that appends its output to the given buffer.
@@ -86,9 +96,9 @@ func (b *Builder) AddBytes(v []byte) {
// BuilderContinuation is continuation-passing interface for building
// length-prefixed byte sequences. Builder methods for length-prefixed
-// sequences (AddUint8LengthPrefixed etc.) will invoke the BuilderContinuation
+// sequences (AddUint8LengthPrefixed etc) will invoke the BuilderContinuation
// supplied to them. The child builder passed to the continuation can be used
-// to build the content of the length-prefixed sequence. Example:
+// to build the content of the length-prefixed sequence. For example:
//
// parent := cryptobyte.NewBuilder()
// parent.AddUint8LengthPrefixed(func (child *Builder) {
@@ -102,8 +112,19 @@ func (b *Builder) AddBytes(v []byte) {
// length prefix. After the continuation returns, the child must be considered
// invalid, i.e. users must not store any copies or references of the child
// that outlive the continuation.
+//
+// If the continuation panics with a value of type BuildError then the inner
+// error will be returned as the error from Bytes. If the child panics
+// otherwise then Bytes will repanic with the same value.
type BuilderContinuation func(child *Builder)
+// BuildError wraps an error. If a BuilderContinuation panics with this value,
+// the panic will be recovered and the inner error will be returned from
+// Builder.Bytes.
+type BuildError struct {
+ Err error
+}
+
// AddUint8LengthPrefixed adds a 8-bit length-prefixed byte sequence.
func (b *Builder) AddUint8LengthPrefixed(f BuilderContinuation) {
b.addLengthPrefixed(1, false, f)
@@ -119,6 +140,34 @@ func (b *Builder) AddUint24LengthPrefixed(f BuilderContinuation) {
b.addLengthPrefixed(3, false, f)
}
+// AddUint32LengthPrefixed adds a big-endian, 32-bit length-prefixed byte sequence.
+func (b *Builder) AddUint32LengthPrefixed(f BuilderContinuation) {
+ b.addLengthPrefixed(4, false, f)
+}
+
+func (b *Builder) callContinuation(f BuilderContinuation, arg *Builder) {
+ if !*b.inContinuation {
+ *b.inContinuation = true
+
+ defer func() {
+ *b.inContinuation = false
+
+ r := recover()
+ if r == nil {
+ return
+ }
+
+ if buildError, ok := r.(BuildError); ok {
+ b.err = buildError.Err
+ } else {
+ panic(r)
+ }
+ }()
+ }
+
+ f(arg)
+}
+
func (b *Builder) addLengthPrefixed(lenLen int, isASN1 bool, f BuilderContinuation) {
// Subsequent writes can be ignored if the builder has encountered an error.
if b.err != nil {
@@ -128,15 +177,20 @@ func (b *Builder) addLengthPrefixed(lenLen int, isASN1 bool, f BuilderContinuati
offset := len(b.result)
b.add(make([]byte, lenLen)...)
+ if b.inContinuation == nil {
+ b.inContinuation = new(bool)
+ }
+
b.child = &Builder{
- result: b.result,
- fixedSize: b.fixedSize,
- offset: offset,
- pendingLenLen: lenLen,
- pendingIsASN1: isASN1,
+ result: b.result,
+ fixedSize: b.fixedSize,
+ offset: offset,
+ pendingLenLen: lenLen,
+ pendingIsASN1: isASN1,
+ inContinuation: b.inContinuation,
}
- f(b.child)
+ b.callContinuation(f, b.child)
b.flushChild()
if b.child != nil {
panic("cryptobyte: internal error")
diff --git a/vendor/golang.org/x/crypto/cryptobyte/cryptobyte_test.go b/vendor/golang.org/x/crypto/cryptobyte/cryptobyte_test.go
index 49c61dca4..f294dd552 100644
--- a/vendor/golang.org/x/crypto/cryptobyte/cryptobyte_test.go
+++ b/vendor/golang.org/x/crypto/cryptobyte/cryptobyte_test.go
@@ -6,6 +6,7 @@ package cryptobyte
import (
"bytes"
+ "errors"
"fmt"
"testing"
)
@@ -18,6 +19,54 @@ func builderBytesEq(b *Builder, want ...byte) error {
return nil
}
+func TestContinuationError(t *testing.T) {
+ const errorStr = "TestContinuationError"
+ var b Builder
+ b.AddUint8LengthPrefixed(func(b *Builder) {
+ b.AddUint8(1)
+ panic(BuildError{Err: errors.New(errorStr)})
+ })
+
+ ret, err := b.Bytes()
+ if ret != nil {
+ t.Error("expected nil result")
+ }
+ if err == nil {
+ t.Fatal("unexpected nil error")
+ }
+ if s := err.Error(); s != errorStr {
+ t.Errorf("expected error %q, got %v", errorStr, s)
+ }
+}
+
+func TestContinuationNonError(t *testing.T) {
+ defer func() {
+ recover()
+ }()
+
+ var b Builder
+ b.AddUint8LengthPrefixed(func(b *Builder) {
+ b.AddUint8(1)
+ panic(1)
+ })
+
+ t.Error("Builder did not panic")
+}
+
+func TestGeneratedPanic(t *testing.T) {
+ defer func() {
+ recover()
+ }()
+
+ var b Builder
+ b.AddUint8LengthPrefixed(func(b *Builder) {
+ var p *byte
+ *p = 0
+ })
+
+ t.Error("Builder did not panic")
+}
+
func TestBytes(t *testing.T) {
var b Builder
v := []byte("foobarbaz")
diff --git a/vendor/golang.org/x/crypto/cryptobyte/example_test.go b/vendor/golang.org/x/crypto/cryptobyte/example_test.go
index 7d3c06e12..86c098adf 100644
--- a/vendor/golang.org/x/crypto/cryptobyte/example_test.go
+++ b/vendor/golang.org/x/crypto/cryptobyte/example_test.go
@@ -5,9 +5,11 @@
package cryptobyte_test
import (
- "encoding/asn1"
+ "errors"
"fmt"
+
"golang.org/x/crypto/cryptobyte"
+ "golang.org/x/crypto/cryptobyte/asn1"
)
func ExampleString_lengthPrefixed() {
@@ -37,7 +39,7 @@ func ExampleString_lengthPrefixed() {
fmt.Printf("%#v\n", result)
}
-func ExampleString_asn1() {
+func ExampleString_aSN1() {
// This is an example of parsing ASN.1 data that looks like:
// Foo ::= SEQUENCE {
// version [6] INTEGER DEFAULT 0
@@ -51,12 +53,12 @@ func ExampleString_asn1() {
data, inner, versionBytes cryptobyte.String
haveVersion bool
)
- if !input.ReadASN1(&inner, cryptobyte.Tag(asn1.TagSequence).Constructed()) ||
+ if !input.ReadASN1(&inner, asn1.SEQUENCE) ||
!input.Empty() ||
- !inner.ReadOptionalASN1(&versionBytes, &haveVersion, cryptobyte.Tag(6).Constructed().ContextSpecific()) ||
+ !inner.ReadOptionalASN1(&versionBytes, &haveVersion, asn1.Tag(6).Constructed().ContextSpecific()) ||
(haveVersion && !versionBytes.ReadASN1Integer(&version)) ||
(haveVersion && !versionBytes.Empty()) ||
- !inner.ReadASN1(&data, asn1.TagOctetString) ||
+ !inner.ReadASN1(&data, asn1.OCTET_STRING) ||
!inner.Empty() {
panic("bad format")
}
@@ -65,7 +67,7 @@ func ExampleString_asn1() {
fmt.Printf("haveVersion: %t, version: %d, data: %s\n", haveVersion, version, string(data))
}
-func ExampleBuilder_asn1() {
+func ExampleBuilder_aSN1() {
// This is an example of building ASN.1 data that looks like:
// Foo ::= SEQUENCE {
// version [6] INTEGER DEFAULT 0
@@ -77,9 +79,9 @@ func ExampleBuilder_asn1() {
const defaultVersion = 0
var b cryptobyte.Builder
- b.AddASN1(cryptobyte.Tag(asn1.TagSequence).Constructed(), func(b *cryptobyte.Builder) {
+ b.AddASN1(asn1.SEQUENCE, func(b *cryptobyte.Builder) {
if version != defaultVersion {
- b.AddASN1(cryptobyte.Tag(6).Constructed().ContextSpecific(), func(b *cryptobyte.Builder) {
+ b.AddASN1(asn1.Tag(6).Constructed().ContextSpecific(), func(b *cryptobyte.Builder) {
b.AddASN1Int64(version)
})
}
@@ -118,3 +120,35 @@ func ExampleBuilder_lengthPrefixed() {
// Output: 000c0568656c6c6f05776f726c64
fmt.Printf("%x\n", result)
}
+
+func ExampleBuilder_lengthPrefixOverflow() {
+ // Writing more data that can be expressed by the length prefix results
+ // in an error from Bytes().
+
+ tooLarge := make([]byte, 256)
+
+ var b cryptobyte.Builder
+ b.AddUint8LengthPrefixed(func(b *cryptobyte.Builder) {
+ b.AddBytes(tooLarge)
+ })
+
+ result, err := b.Bytes()
+ fmt.Printf("len=%d err=%s\n", len(result), err)
+
+ // Output: len=0 err=cryptobyte: pending child length 256 exceeds 1-byte length prefix
+}
+
+func ExampleBuilderContinuation_errorHandling() {
+ var b cryptobyte.Builder
+ // Continuations that panic with a BuildError will cause Bytes to
+ // return the inner error.
+ b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) {
+ b.AddUint32(0)
+ panic(cryptobyte.BuildError{Err: errors.New("example error")})
+ })
+
+ result, err := b.Bytes()
+ fmt.Printf("len=%d err=%s\n", len(result), err)
+
+ // Output: len=0 err=example error
+}
diff --git a/vendor/golang.org/x/crypto/cryptobyte/string.go b/vendor/golang.org/x/crypto/cryptobyte/string.go
index 678033611..7636fb9c8 100644
--- a/vendor/golang.org/x/crypto/cryptobyte/string.go
+++ b/vendor/golang.org/x/crypto/cryptobyte/string.go
@@ -2,9 +2,19 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// Package cryptobyte implements building and parsing of byte strings for
-// DER-encoded ASN.1 and TLS messages. See the examples for the Builder and
-// String types to get started.
+// Package cryptobyte contains types that help with parsing and constructing
+// length-prefixed, binary messages, including ASN.1 DER. (The asn1 subpackage
+// contains useful ASN.1 constants.)
+//
+// The String type is for parsing. It wraps a []byte slice and provides helper
+// functions for consuming structures, value by value.
+//
+// The Builder type is for constructing messages. It providers helper functions
+// for appending values and also for appending length-prefixed submessages –
+// without having to worry about calculating the length prefix ahead of time.
+//
+// See the documentation and examples for the Builder and String types to get
+// started.
package cryptobyte // import "golang.org/x/crypto/cryptobyte"
// String represents a string of bytes. It provides methods for parsing
diff --git a/vendor/golang.org/x/crypto/curve25519/curve25519.go b/vendor/golang.org/x/crypto/curve25519/curve25519.go
index 2d14c2a78..cb8fbc57b 100644
--- a/vendor/golang.org/x/crypto/curve25519/curve25519.go
+++ b/vendor/golang.org/x/crypto/curve25519/curve25519.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// We have a implementation in amd64 assembly so this code is only run on
+// We have an implementation in amd64 assembly so this code is only run on
// non-amd64 platforms. The amd64 assembly does not support gccgo.
// +build !amd64 gccgo appengine
diff --git a/vendor/golang.org/x/crypto/nacl/box/box.go b/vendor/golang.org/x/crypto/nacl/box/box.go
index 7ed1864f7..31b697be4 100644
--- a/vendor/golang.org/x/crypto/nacl/box/box.go
+++ b/vendor/golang.org/x/crypto/nacl/box/box.go
@@ -3,7 +3,7 @@
// license that can be found in the LICENSE file.
/*
-Package box authenticates and encrypts messages using public-key cryptography.
+Package box authenticates and encrypts small messages using public-key cryptography.
Box uses Curve25519, XSalsa20 and Poly1305 to encrypt and authenticate
messages. The length of messages is not hidden.
@@ -13,6 +13,23 @@ example, by using nonce 1 for the first message, nonce 2 for the second
message, etc. Nonces are long enough that randomly generated nonces have
negligible risk of collision.
+Messages should be small because:
+
+1. The whole message needs to be held in memory to be processed.
+
+2. Using large messages pressures implementations on small machines to decrypt
+and process plaintext before authenticating it. This is very dangerous, and
+this API does not allow it, but a protocol that uses excessive message sizes
+might present some implementations with no other choice.
+
+3. Fixed overheads will be sufficiently amortised by messages as small as 8KB.
+
+4. Performance may be improved by working with messages that fit into data caches.
+
+Thus large amounts of data should be chunked so that each message is small.
+(Each message still needs a unique nonce.) If in doubt, 16KB is a reasonable
+chunk size.
+
This package is interoperable with NaCl: https://nacl.cr.yp.to/box.html.
*/
package box // import "golang.org/x/crypto/nacl/box"
@@ -56,7 +73,7 @@ func Precompute(sharedKey, peersPublicKey, privateKey *[32]byte) {
}
// Seal appends an encrypted and authenticated copy of message to out, which
-// will be Overhead bytes longer than the original and must not overlap. The
+// will be Overhead bytes longer than the original and must not overlap it. The
// nonce must be unique for each distinct message for a given pair of keys.
func Seal(out, message []byte, nonce *[24]byte, peersPublicKey, privateKey *[32]byte) []byte {
var sharedKey [32]byte
diff --git a/vendor/golang.org/x/crypto/nacl/secretbox/secretbox.go b/vendor/golang.org/x/crypto/nacl/secretbox/secretbox.go
index 1e1dff506..53ee83cfb 100644
--- a/vendor/golang.org/x/crypto/nacl/secretbox/secretbox.go
+++ b/vendor/golang.org/x/crypto/nacl/secretbox/secretbox.go
@@ -13,6 +13,23 @@ example, by using nonce 1 for the first message, nonce 2 for the second
message, etc. Nonces are long enough that randomly generated nonces have
negligible risk of collision.
+Messages should be small because:
+
+1. The whole message needs to be held in memory to be processed.
+
+2. Using large messages pressures implementations on small machines to decrypt
+and process plaintext before authenticating it. This is very dangerous, and
+this API does not allow it, but a protocol that uses excessive message sizes
+might present some implementations with no other choice.
+
+3. Fixed overheads will be sufficiently amortised by messages as small as 8KB.
+
+4. Performance may be improved by working with messages that fit into data caches.
+
+Thus large amounts of data should be chunked so that each message is small.
+(Each message still needs a unique nonce.) If in doubt, 16KB is a reasonable
+chunk size.
+
This package is interoperable with NaCl: https://nacl.cr.yp.to/secretbox.html.
*/
package secretbox // import "golang.org/x/crypto/nacl/secretbox"
diff --git a/vendor/golang.org/x/crypto/openpgp/keys_test.go b/vendor/golang.org/x/crypto/openpgp/keys_test.go
index f768e68a6..76ba13ed1 100644
--- a/vendor/golang.org/x/crypto/openpgp/keys_test.go
+++ b/vendor/golang.org/x/crypto/openpgp/keys_test.go
@@ -12,7 +12,10 @@ import (
)
func TestKeyExpiry(t *testing.T) {
- kring, _ := ReadKeyRing(readerFromHex(expiringKeyHex))
+ kring, err := ReadKeyRing(readerFromHex(expiringKeyHex))
+ if err != nil {
+ t.Fatal(err)
+ }
entity := kring[0]
const timeFormat = "2006-01-02"
@@ -104,7 +107,10 @@ func TestGoodCrossSignature(t *testing.T) {
// TestExternallyRevokableKey attempts to load and parse a key with a third party revocation permission.
func TestExternallyRevocableKey(t *testing.T) {
- kring, _ := ReadKeyRing(readerFromHex(subkeyUsageHex))
+ kring, err := ReadKeyRing(readerFromHex(subkeyUsageHex))
+ if err != nil {
+ t.Fatal(err)
+ }
// The 0xA42704B92866382A key can be revoked by 0xBE3893CB843D0FE70C
// according to this signature that appears within the key:
@@ -125,7 +131,10 @@ func TestExternallyRevocableKey(t *testing.T) {
}
func TestKeyRevocation(t *testing.T) {
- kring, _ := ReadKeyRing(readerFromHex(revokedKeyHex))
+ kring, err := ReadKeyRing(readerFromHex(revokedKeyHex))
+ if err != nil {
+ t.Fatal(err)
+ }
// revokedKeyHex contains these keys:
// pub 1024R/9A34F7C0 2014-03-25 [revoked: 2014-03-25]
@@ -145,7 +154,10 @@ func TestKeyRevocation(t *testing.T) {
}
func TestSubkeyRevocation(t *testing.T) {
- kring, _ := ReadKeyRing(readerFromHex(revokedSubkeyHex))
+ kring, err := ReadKeyRing(readerFromHex(revokedSubkeyHex))
+ if err != nil {
+ t.Fatal(err)
+ }
// revokedSubkeyHex contains these keys:
// pub 1024R/4EF7E4BECCDE97F0 2014-03-25
@@ -178,7 +190,10 @@ func TestSubkeyRevocation(t *testing.T) {
}
func TestKeyUsage(t *testing.T) {
- kring, _ := ReadKeyRing(readerFromHex(subkeyUsageHex))
+ kring, err := ReadKeyRing(readerFromHex(subkeyUsageHex))
+ if err != nil {
+ t.Fatal(err)
+ }
// subkeyUsageHex contains these keys:
// pub 1024R/2866382A created: 2014-04-01 expires: never usage: SC
diff --git a/vendor/golang.org/x/crypto/openpgp/packet/private_key_test.go b/vendor/golang.org/x/crypto/openpgp/packet/private_key_test.go
index c16ef78ab..ac651d917 100644
--- a/vendor/golang.org/x/crypto/openpgp/packet/private_key_test.go
+++ b/vendor/golang.org/x/crypto/openpgp/packet/private_key_test.go
@@ -228,7 +228,7 @@ func TestECDSASignerPrivateKey(t *testing.T) {
priv := NewSignerPrivateKey(time.Now(), &ecdsaSigner{ecdsaPriv})
if priv.PubKeyAlgo != PubKeyAlgoECDSA {
- t.Fatal("NewSignerPrivateKey should have made a ECSDA private key")
+ t.Fatal("NewSignerPrivateKey should have made an ECSDA private key")
}
sig := &Signature{
diff --git a/vendor/golang.org/x/crypto/pkcs12/crypto.go b/vendor/golang.org/x/crypto/pkcs12/crypto.go
index 4bd4470ec..484ca51b7 100644
--- a/vendor/golang.org/x/crypto/pkcs12/crypto.go
+++ b/vendor/golang.org/x/crypto/pkcs12/crypto.go
@@ -124,7 +124,7 @@ func pbDecrypt(info decryptable, password []byte) (decrypted []byte, err error)
return
}
-// decryptable abstracts a object that contains ciphertext.
+// decryptable abstracts an object that contains ciphertext.
type decryptable interface {
Algorithm() pkix.AlgorithmIdentifier
Data() []byte
diff --git a/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go
index c34d362ee..f9269c384 100644
--- a/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go
+++ b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_amd64.go
@@ -13,7 +13,7 @@ package salsa
func salsa2020XORKeyStream(out, in *byte, n uint64, nonce, key *byte)
// XORKeyStream crypts bytes from in to out using the given key and counters.
-// In and out may be the same slice but otherwise should not overlap. Counter
+// In and out must overlap entirely or not at all. Counter
// contains the raw salsa20 counter bytes (both nonce and block counter).
func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) {
if len(in) == 0 {
diff --git a/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_ref.go b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_ref.go
index 95f8ca5bb..22126d17c 100644
--- a/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_ref.go
+++ b/vendor/golang.org/x/crypto/salsa20/salsa/salsa20_ref.go
@@ -203,7 +203,7 @@ func core(out *[64]byte, in *[16]byte, k *[32]byte, c *[16]byte) {
}
// XORKeyStream crypts bytes from in to out using the given key and counters.
-// In and out may be the same slice but otherwise should not overlap. Counter
+// In and out must overlap entirely or not at all. Counter
// contains the raw salsa20 counter bytes (both nonce and block counter).
func XORKeyStream(out, in []byte, counter *[16]byte, key *[32]byte) {
var block [64]byte
diff --git a/vendor/golang.org/x/crypto/salsa20/salsa20.go b/vendor/golang.org/x/crypto/salsa20/salsa20.go
index a8ddd76e8..0ee62485a 100644
--- a/vendor/golang.org/x/crypto/salsa20/salsa20.go
+++ b/vendor/golang.org/x/crypto/salsa20/salsa20.go
@@ -27,8 +27,8 @@ import (
"golang.org/x/crypto/salsa20/salsa"
)
-// XORKeyStream crypts bytes from in to out using the given key and nonce. In
-// and out may be the same slice but otherwise should not overlap. Nonce must
+// XORKeyStream crypts bytes from in to out using the given key and nonce.
+// In and out must overlap entirely or not at all. Nonce must
// be either 8 or 24 bytes long.
func XORKeyStream(out, in []byte, nonce []byte, key *[32]byte) {
if len(out) < len(in) {
diff --git a/vendor/golang.org/x/crypto/sha3/sha3.go b/vendor/golang.org/x/crypto/sha3/sha3.go
index c86167c0b..b12a35c87 100644
--- a/vendor/golang.org/x/crypto/sha3/sha3.go
+++ b/vendor/golang.org/x/crypto/sha3/sha3.go
@@ -42,9 +42,8 @@ type state struct {
storage [maxRate]byte
// Specific to SHA-3 and SHAKE.
- fixedOutput bool // whether this is a fixed-output-length instance
- outputLen int // the default output size in bytes
- state spongeDirection // whether the sponge is absorbing or squeezing
+ outputLen int // the default output size in bytes
+ state spongeDirection // whether the sponge is absorbing or squeezing
}
// BlockSize returns the rate of sponge underlying this hash function.
diff --git a/vendor/golang.org/x/crypto/ssh/agent/client_test.go b/vendor/golang.org/x/crypto/ssh/agent/client_test.go
index a5b20f551..266fd6d40 100644
--- a/vendor/golang.org/x/crypto/ssh/agent/client_test.go
+++ b/vendor/golang.org/x/crypto/ssh/agent/client_test.go
@@ -19,7 +19,7 @@ import (
"golang.org/x/crypto/ssh"
)
-// startOpenSSHAgent executes ssh-agent, and returns a Agent interface to it.
+// startOpenSSHAgent executes ssh-agent, and returns an Agent interface to it.
func startOpenSSHAgent(t *testing.T) (client Agent, socket string, cleanup func()) {
if testing.Short() {
// ssh-agent is not always available, and the key
diff --git a/vendor/golang.org/x/crypto/ssh/buffer.go b/vendor/golang.org/x/crypto/ssh/buffer.go
index 6931b5114..1ab07d078 100644
--- a/vendor/golang.org/x/crypto/ssh/buffer.go
+++ b/vendor/golang.org/x/crypto/ssh/buffer.go
@@ -51,13 +51,12 @@ func (b *buffer) write(buf []byte) {
}
// eof closes the buffer. Reads from the buffer once all
-// the data has been consumed will receive os.EOF.
-func (b *buffer) eof() error {
+// the data has been consumed will receive io.EOF.
+func (b *buffer) eof() {
b.Cond.L.Lock()
b.closed = true
b.Cond.Signal()
b.Cond.L.Unlock()
- return nil
}
// Read reads data from the internal buffer in buf. Reads will block
diff --git a/vendor/golang.org/x/crypto/ssh/client_auth.go b/vendor/golang.org/x/crypto/ssh/client_auth.go
index b882da086..3acd8d498 100644
--- a/vendor/golang.org/x/crypto/ssh/client_auth.go
+++ b/vendor/golang.org/x/crypto/ssh/client_auth.go
@@ -349,7 +349,7 @@ func handleAuthResponse(c packetConn) (bool, []string, error) {
// both CLI and GUI environments.
type KeyboardInteractiveChallenge func(user, instruction string, questions []string, echos []bool) (answers []string, err error)
-// KeyboardInteractive returns a AuthMethod using a prompt/response
+// KeyboardInteractive returns an AuthMethod using a prompt/response
// sequence controlled by the server.
func KeyboardInteractive(challenge KeyboardInteractiveChallenge) AuthMethod {
return challenge
diff --git a/vendor/golang.org/x/crypto/ssh/keys.go b/vendor/golang.org/x/crypto/ssh/keys.go
index 7a8756a93..b682c1741 100644
--- a/vendor/golang.org/x/crypto/ssh/keys.go
+++ b/vendor/golang.org/x/crypto/ssh/keys.go
@@ -367,6 +367,17 @@ func (r *dsaPublicKey) Type() string {
return "ssh-dss"
}
+func checkDSAParams(param *dsa.Parameters) error {
+ // SSH specifies FIPS 186-2, which only provided a single size
+ // (1024 bits) DSA key. FIPS 186-3 allows for larger key
+ // sizes, which would confuse SSH.
+ if l := param.P.BitLen(); l != 1024 {
+ return fmt.Errorf("ssh: unsupported DSA key size %d", l)
+ }
+
+ return nil
+}
+
// parseDSA parses an DSA key according to RFC 4253, section 6.6.
func parseDSA(in []byte) (out PublicKey, rest []byte, err error) {
var w struct {
@@ -377,13 +388,18 @@ func parseDSA(in []byte) (out PublicKey, rest []byte, err error) {
return nil, nil, err
}
+ param := dsa.Parameters{
+ P: w.P,
+ Q: w.Q,
+ G: w.G,
+ }
+ if err := checkDSAParams(&param); err != nil {
+ return nil, nil, err
+ }
+
key := &dsaPublicKey{
- Parameters: dsa.Parameters{
- P: w.P,
- Q: w.Q,
- G: w.G,
- },
- Y: w.Y,
+ Parameters: param,
+ Y: w.Y,
}
return key, w.Rest, nil
}
@@ -630,19 +646,28 @@ func (k *ecdsaPublicKey) CryptoPublicKey() crypto.PublicKey {
}
// NewSignerFromKey takes an *rsa.PrivateKey, *dsa.PrivateKey,
-// *ecdsa.PrivateKey or any other crypto.Signer and returns a corresponding
-// Signer instance. ECDSA keys must use P-256, P-384 or P-521.
+// *ecdsa.PrivateKey or any other crypto.Signer and returns a
+// corresponding Signer instance. ECDSA keys must use P-256, P-384 or
+// P-521. DSA keys must use parameter size L1024N160.
func NewSignerFromKey(key interface{}) (Signer, error) {
switch key := key.(type) {
case crypto.Signer:
return NewSignerFromSigner(key)
case *dsa.PrivateKey:
- return &dsaPrivateKey{key}, nil
+ return newDSAPrivateKey(key)
default:
return nil, fmt.Errorf("ssh: unsupported key type %T", key)
}
}
+func newDSAPrivateKey(key *dsa.PrivateKey) (Signer, error) {
+ if err := checkDSAParams(&key.PublicKey.Parameters); err != nil {
+ return nil, err
+ }
+
+ return &dsaPrivateKey{key}, nil
+}
+
type wrappedSigner struct {
signer crypto.Signer
pubKey PublicKey
diff --git a/vendor/golang.org/x/crypto/ssh/terminal/util.go b/vendor/golang.org/x/crypto/ssh/terminal/util.go
index d01919614..e7404ff49 100644
--- a/vendor/golang.org/x/crypto/ssh/terminal/util.go
+++ b/vendor/golang.org/x/crypto/ssh/terminal/util.go
@@ -19,6 +19,8 @@ package terminal // import "golang.org/x/crypto/ssh/terminal"
import (
"syscall"
"unsafe"
+
+ "golang.org/x/sys/unix"
)
// State contains the state of a terminal.
@@ -50,6 +52,8 @@ func MakeRaw(fd int) (*State, error) {
newState.Lflag &^= syscall.ECHO | syscall.ECHONL | syscall.ICANON | syscall.ISIG | syscall.IEXTEN
newState.Cflag &^= syscall.CSIZE | syscall.PARENB
newState.Cflag |= syscall.CS8
+ newState.Cc[unix.VMIN] = 1
+ newState.Cc[unix.VTIME] = 0
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlWriteTermios, uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 {
return nil, err
}
diff --git a/vendor/golang.org/x/crypto/xts/xts.go b/vendor/golang.org/x/crypto/xts/xts.go
index a7643fdcd..92cbce99b 100644
--- a/vendor/golang.org/x/crypto/xts/xts.go
+++ b/vendor/golang.org/x/crypto/xts/xts.go
@@ -55,7 +55,7 @@ func NewCipher(cipherFunc func([]byte) (cipher.Block, error), key []byte) (c *Ci
}
// Encrypt encrypts a sector of plaintext and puts the result into ciphertext.
-// Plaintext and ciphertext may be the same slice but should not overlap.
+// Plaintext and ciphertext must overlap entirely or not at all.
// Sectors must be a multiple of 16 bytes and less than 2²⁴ bytes.
func (c *Cipher) Encrypt(ciphertext, plaintext []byte, sectorNum uint64) {
if len(ciphertext) < len(plaintext) {
@@ -86,7 +86,7 @@ func (c *Cipher) Encrypt(ciphertext, plaintext []byte, sectorNum uint64) {
}
// Decrypt decrypts a sector of ciphertext and puts the result into plaintext.
-// Plaintext and ciphertext may be the same slice but should not overlap.
+// Plaintext and ciphertext must overlap entirely or not at all.
// Sectors must be a multiple of 16 bytes and less than 2²⁴ bytes.
func (c *Cipher) Decrypt(plaintext, ciphertext []byte, sectorNum uint64) {
if len(plaintext) < len(ciphertext) {
diff --git a/vendor/golang.org/x/image/README b/vendor/golang.org/x/image/README
deleted file mode 100644
index 462038079..000000000
--- a/vendor/golang.org/x/image/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This repository holds supplementary Go image libraries.
-
-To submit changes to this repository, see http://golang.org/doc/contribute.html.
diff --git a/vendor/golang.org/x/image/README.md b/vendor/golang.org/x/image/README.md
new file mode 100644
index 000000000..0a312b4c1
--- /dev/null
+++ b/vendor/golang.org/x/image/README.md
@@ -0,0 +1,17 @@
+# Go Images
+
+This repository holds supplementary Go image libraries.
+
+## Download/Install
+
+The easiest way to install is to run `go get -u golang.org/x/image`. You can
+also manually git clone the repository to `$GOPATH/src/golang.org/x/image`.
+
+## Report Issues / Send Patches
+
+This repository uses Gerrit for code changes. To learn how to submit changes to
+this repository, see https://golang.org/doc/contribute.html.
+
+The main issue tracker for the image repository is located at
+https://github.com/golang/go/issues. Prefix your issue with "x/image:" in the
+subject line, so it is easy to find.
diff --git a/vendor/golang.org/x/image/vector/raster_floating.go b/vendor/golang.org/x/image/vector/raster_floating.go
index 143b376b5..fd11db1b4 100644
--- a/vendor/golang.org/x/image/vector/raster_floating.go
+++ b/vendor/golang.org/x/image/vector/raster_floating.go
@@ -54,13 +54,25 @@ func (z *Rasterizer) floatingLineTo(bx, by float32) {
for ; y < yMax; y++ {
dy := floatingMin(float32(y+1), by) - floatingMax(float32(y), ay)
- xNext := x + dy*dxdy
+
+ // The "float32" in expressions like "float32(foo*bar)" here and below
+ // look redundant, since foo and bar already have type float32, but are
+ // explicit in order to disable the compiler's Fused Multiply Add (FMA)
+ // instruction selection, which can improve performance but can result
+ // in different rounding errors in floating point computations.
+ //
+ // This package aims to have bit-exact identical results across all
+ // GOARCHes, and across pure Go code and assembly, so it disables FMA.
+ //
+ // See the discussion at
+ // https://groups.google.com/d/topic/golang-dev/Sti0bl2xUXQ/discussion
+ xNext := x + float32(dy*dxdy)
if y < 0 {
x = xNext
continue
}
buf := z.bufF32[y*width:]
- d := dy * dir
+ d := float32(dy * dir)
x0, x1 := x, xNext
if x > xNext {
x0, x1 = x1, x0
@@ -71,48 +83,48 @@ func (z *Rasterizer) floatingLineTo(bx, by float32) {
x1Ceil := float32(x1i)
if x1i <= x0i+1 {
- xmf := 0.5*(x+xNext) - x0Floor
+ xmf := float32(0.5*(x+xNext)) - x0Floor
if i := clamp(x0i+0, width); i < uint(len(buf)) {
- buf[i] += d - d*xmf
+ buf[i] += d - float32(d*xmf)
}
if i := clamp(x0i+1, width); i < uint(len(buf)) {
- buf[i] += d * xmf
+ buf[i] += float32(d * xmf)
}
} else {
s := 1 / (x1 - x0)
x0f := x0 - x0Floor
oneMinusX0f := 1 - x0f
- a0 := 0.5 * s * oneMinusX0f * oneMinusX0f
+ a0 := float32(0.5 * s * oneMinusX0f * oneMinusX0f)
x1f := x1 - x1Ceil + 1
- am := 0.5 * s * x1f * x1f
+ am := float32(0.5 * s * x1f * x1f)
if i := clamp(x0i, width); i < uint(len(buf)) {
- buf[i] += d * a0
+ buf[i] += float32(d * a0)
}
if x1i == x0i+2 {
if i := clamp(x0i+1, width); i < uint(len(buf)) {
- buf[i] += d * (1 - a0 - am)
+ buf[i] += float32(d * (1 - a0 - am))
}
} else {
- a1 := s * (1.5 - x0f)
+ a1 := float32(s * (1.5 - x0f))
if i := clamp(x0i+1, width); i < uint(len(buf)) {
- buf[i] += d * (a1 - a0)
+ buf[i] += float32(d * (a1 - a0))
}
- dTimesS := d * s
+ dTimesS := float32(d * s)
for xi := x0i + 2; xi < x1i-1; xi++ {
if i := clamp(xi, width); i < uint(len(buf)) {
buf[i] += dTimesS
}
}
- a2 := a1 + s*float32(x1i-x0i-3)
+ a2 := a1 + float32(s*float32(x1i-x0i-3))
if i := clamp(x1i-1, width); i < uint(len(buf)) {
- buf[i] += d * (1 - a2 - am)
+ buf[i] += float32(d * (1 - a2 - am))
}
}
if i := clamp(x1i, width); i < uint(len(buf)) {
- buf[i] += d * am
+ buf[i] += float32(d * am)
}
}
diff --git a/vendor/golang.org/x/image/vector/vector_test.go b/vendor/golang.org/x/image/vector/vector_test.go
index f32b992f8..012968e02 100644
--- a/vendor/golang.org/x/image/vector/vector_test.go
+++ b/vendor/golang.org/x/image/vector/vector_test.go
@@ -463,46 +463,57 @@ func benchGlyph(b *testing.B, colorModel byte, loose bool, height int, op draw.O
}
}
-func BenchmarkGlyphAlpha16Over(b *testing.B) { benchGlyph(b, 'A', false, 16, draw.Over) }
-func BenchmarkGlyphAlpha16Src(b *testing.B) { benchGlyph(b, 'A', false, 16, draw.Src) }
-func BenchmarkGlyphAlpha32Over(b *testing.B) { benchGlyph(b, 'A', false, 32, draw.Over) }
-func BenchmarkGlyphAlpha32Src(b *testing.B) { benchGlyph(b, 'A', false, 32, draw.Src) }
-func BenchmarkGlyphAlpha64Over(b *testing.B) { benchGlyph(b, 'A', false, 64, draw.Over) }
-func BenchmarkGlyphAlpha64Src(b *testing.B) { benchGlyph(b, 'A', false, 64, draw.Src) }
-func BenchmarkGlyphAlpha128Over(b *testing.B) { benchGlyph(b, 'A', false, 128, draw.Over) }
-func BenchmarkGlyphAlpha128Src(b *testing.B) { benchGlyph(b, 'A', false, 128, draw.Src) }
-func BenchmarkGlyphAlpha256Over(b *testing.B) { benchGlyph(b, 'A', false, 256, draw.Over) }
-func BenchmarkGlyphAlpha256Src(b *testing.B) { benchGlyph(b, 'A', false, 256, draw.Src) }
-
-func BenchmarkGlyphAlphaLoose16Over(b *testing.B) { benchGlyph(b, 'A', true, 16, draw.Over) }
-func BenchmarkGlyphAlphaLoose16Src(b *testing.B) { benchGlyph(b, 'A', true, 16, draw.Src) }
-func BenchmarkGlyphAlphaLoose32Over(b *testing.B) { benchGlyph(b, 'A', true, 32, draw.Over) }
-func BenchmarkGlyphAlphaLoose32Src(b *testing.B) { benchGlyph(b, 'A', true, 32, draw.Src) }
-func BenchmarkGlyphAlphaLoose64Over(b *testing.B) { benchGlyph(b, 'A', true, 64, draw.Over) }
-func BenchmarkGlyphAlphaLoose64Src(b *testing.B) { benchGlyph(b, 'A', true, 64, draw.Src) }
-func BenchmarkGlyphAlphaLoose128Over(b *testing.B) { benchGlyph(b, 'A', true, 128, draw.Over) }
-func BenchmarkGlyphAlphaLoose128Src(b *testing.B) { benchGlyph(b, 'A', true, 128, draw.Src) }
-func BenchmarkGlyphAlphaLoose256Over(b *testing.B) { benchGlyph(b, 'A', true, 256, draw.Over) }
-func BenchmarkGlyphAlphaLoose256Src(b *testing.B) { benchGlyph(b, 'A', true, 256, draw.Src) }
-
-func BenchmarkGlyphRGBA16Over(b *testing.B) { benchGlyph(b, 'R', false, 16, draw.Over) }
-func BenchmarkGlyphRGBA16Src(b *testing.B) { benchGlyph(b, 'R', false, 16, draw.Src) }
-func BenchmarkGlyphRGBA32Over(b *testing.B) { benchGlyph(b, 'R', false, 32, draw.Over) }
-func BenchmarkGlyphRGBA32Src(b *testing.B) { benchGlyph(b, 'R', false, 32, draw.Src) }
-func BenchmarkGlyphRGBA64Over(b *testing.B) { benchGlyph(b, 'R', false, 64, draw.Over) }
-func BenchmarkGlyphRGBA64Src(b *testing.B) { benchGlyph(b, 'R', false, 64, draw.Src) }
-func BenchmarkGlyphRGBA128Over(b *testing.B) { benchGlyph(b, 'R', false, 128, draw.Over) }
-func BenchmarkGlyphRGBA128Src(b *testing.B) { benchGlyph(b, 'R', false, 128, draw.Src) }
-func BenchmarkGlyphRGBA256Over(b *testing.B) { benchGlyph(b, 'R', false, 256, draw.Over) }
-func BenchmarkGlyphRGBA256Src(b *testing.B) { benchGlyph(b, 'R', false, 256, draw.Src) }
-
-func BenchmarkGlyphNRGBA16Over(b *testing.B) { benchGlyph(b, 'N', false, 16, draw.Over) }
-func BenchmarkGlyphNRGBA16Src(b *testing.B) { benchGlyph(b, 'N', false, 16, draw.Src) }
-func BenchmarkGlyphNRGBA32Over(b *testing.B) { benchGlyph(b, 'N', false, 32, draw.Over) }
-func BenchmarkGlyphNRGBA32Src(b *testing.B) { benchGlyph(b, 'N', false, 32, draw.Src) }
-func BenchmarkGlyphNRGBA64Over(b *testing.B) { benchGlyph(b, 'N', false, 64, draw.Over) }
-func BenchmarkGlyphNRGBA64Src(b *testing.B) { benchGlyph(b, 'N', false, 64, draw.Src) }
-func BenchmarkGlyphNRGBA128Over(b *testing.B) { benchGlyph(b, 'N', false, 128, draw.Over) }
-func BenchmarkGlyphNRGBA128Src(b *testing.B) { benchGlyph(b, 'N', false, 128, draw.Src) }
-func BenchmarkGlyphNRGBA256Over(b *testing.B) { benchGlyph(b, 'N', false, 256, draw.Over) }
-func BenchmarkGlyphNRGBA256Src(b *testing.B) { benchGlyph(b, 'N', false, 256, draw.Src) }
+// The heights 16, 32, 64, 128, 256, 1024 include numbers both above and below
+// the floatingPointMathThreshold constant (512).
+
+func BenchmarkGlyphAlpha16Over(b *testing.B) { benchGlyph(b, 'A', false, 16, draw.Over) }
+func BenchmarkGlyphAlpha16Src(b *testing.B) { benchGlyph(b, 'A', false, 16, draw.Src) }
+func BenchmarkGlyphAlpha32Over(b *testing.B) { benchGlyph(b, 'A', false, 32, draw.Over) }
+func BenchmarkGlyphAlpha32Src(b *testing.B) { benchGlyph(b, 'A', false, 32, draw.Src) }
+func BenchmarkGlyphAlpha64Over(b *testing.B) { benchGlyph(b, 'A', false, 64, draw.Over) }
+func BenchmarkGlyphAlpha64Src(b *testing.B) { benchGlyph(b, 'A', false, 64, draw.Src) }
+func BenchmarkGlyphAlpha128Over(b *testing.B) { benchGlyph(b, 'A', false, 128, draw.Over) }
+func BenchmarkGlyphAlpha128Src(b *testing.B) { benchGlyph(b, 'A', false, 128, draw.Src) }
+func BenchmarkGlyphAlpha256Over(b *testing.B) { benchGlyph(b, 'A', false, 256, draw.Over) }
+func BenchmarkGlyphAlpha256Src(b *testing.B) { benchGlyph(b, 'A', false, 256, draw.Src) }
+func BenchmarkGlyphAlpha1024Over(b *testing.B) { benchGlyph(b, 'A', false, 1024, draw.Over) }
+func BenchmarkGlyphAlpha1024Src(b *testing.B) { benchGlyph(b, 'A', false, 1024, draw.Src) }
+
+func BenchmarkGlyphAlphaLoose16Over(b *testing.B) { benchGlyph(b, 'A', true, 16, draw.Over) }
+func BenchmarkGlyphAlphaLoose16Src(b *testing.B) { benchGlyph(b, 'A', true, 16, draw.Src) }
+func BenchmarkGlyphAlphaLoose32Over(b *testing.B) { benchGlyph(b, 'A', true, 32, draw.Over) }
+func BenchmarkGlyphAlphaLoose32Src(b *testing.B) { benchGlyph(b, 'A', true, 32, draw.Src) }
+func BenchmarkGlyphAlphaLoose64Over(b *testing.B) { benchGlyph(b, 'A', true, 64, draw.Over) }
+func BenchmarkGlyphAlphaLoose64Src(b *testing.B) { benchGlyph(b, 'A', true, 64, draw.Src) }
+func BenchmarkGlyphAlphaLoose128Over(b *testing.B) { benchGlyph(b, 'A', true, 128, draw.Over) }
+func BenchmarkGlyphAlphaLoose128Src(b *testing.B) { benchGlyph(b, 'A', true, 128, draw.Src) }
+func BenchmarkGlyphAlphaLoose256Over(b *testing.B) { benchGlyph(b, 'A', true, 256, draw.Over) }
+func BenchmarkGlyphAlphaLoose256Src(b *testing.B) { benchGlyph(b, 'A', true, 256, draw.Src) }
+func BenchmarkGlyphAlphaLoose1024Over(b *testing.B) { benchGlyph(b, 'A', true, 1024, draw.Over) }
+func BenchmarkGlyphAlphaLoose1024Src(b *testing.B) { benchGlyph(b, 'A', true, 1024, draw.Src) }
+
+func BenchmarkGlyphRGBA16Over(b *testing.B) { benchGlyph(b, 'R', false, 16, draw.Over) }
+func BenchmarkGlyphRGBA16Src(b *testing.B) { benchGlyph(b, 'R', false, 16, draw.Src) }
+func BenchmarkGlyphRGBA32Over(b *testing.B) { benchGlyph(b, 'R', false, 32, draw.Over) }
+func BenchmarkGlyphRGBA32Src(b *testing.B) { benchGlyph(b, 'R', false, 32, draw.Src) }
+func BenchmarkGlyphRGBA64Over(b *testing.B) { benchGlyph(b, 'R', false, 64, draw.Over) }
+func BenchmarkGlyphRGBA64Src(b *testing.B) { benchGlyph(b, 'R', false, 64, draw.Src) }
+func BenchmarkGlyphRGBA128Over(b *testing.B) { benchGlyph(b, 'R', false, 128, draw.Over) }
+func BenchmarkGlyphRGBA128Src(b *testing.B) { benchGlyph(b, 'R', false, 128, draw.Src) }
+func BenchmarkGlyphRGBA256Over(b *testing.B) { benchGlyph(b, 'R', false, 256, draw.Over) }
+func BenchmarkGlyphRGBA256Src(b *testing.B) { benchGlyph(b, 'R', false, 256, draw.Src) }
+func BenchmarkGlyphRGBA1024Over(b *testing.B) { benchGlyph(b, 'R', false, 1024, draw.Over) }
+func BenchmarkGlyphRGBA1024Src(b *testing.B) { benchGlyph(b, 'R', false, 1024, draw.Src) }
+
+func BenchmarkGlyphNRGBA16Over(b *testing.B) { benchGlyph(b, 'N', false, 16, draw.Over) }
+func BenchmarkGlyphNRGBA16Src(b *testing.B) { benchGlyph(b, 'N', false, 16, draw.Src) }
+func BenchmarkGlyphNRGBA32Over(b *testing.B) { benchGlyph(b, 'N', false, 32, draw.Over) }
+func BenchmarkGlyphNRGBA32Src(b *testing.B) { benchGlyph(b, 'N', false, 32, draw.Src) }
+func BenchmarkGlyphNRGBA64Over(b *testing.B) { benchGlyph(b, 'N', false, 64, draw.Over) }
+func BenchmarkGlyphNRGBA64Src(b *testing.B) { benchGlyph(b, 'N', false, 64, draw.Src) }
+func BenchmarkGlyphNRGBA128Over(b *testing.B) { benchGlyph(b, 'N', false, 128, draw.Over) }
+func BenchmarkGlyphNRGBA128Src(b *testing.B) { benchGlyph(b, 'N', false, 128, draw.Src) }
+func BenchmarkGlyphNRGBA256Over(b *testing.B) { benchGlyph(b, 'N', false, 256, draw.Over) }
+func BenchmarkGlyphNRGBA256Src(b *testing.B) { benchGlyph(b, 'N', false, 256, draw.Src) }
+func BenchmarkGlyphNRGBA1024Over(b *testing.B) { benchGlyph(b, 'N', false, 1024, draw.Over) }
+func BenchmarkGlyphNRGBA1024Src(b *testing.B) { benchGlyph(b, 'N', false, 1024, draw.Src) }
diff --git a/vendor/golang.org/x/net/README b/vendor/golang.org/x/net/README
deleted file mode 100644
index 6b13d8e50..000000000
--- a/vendor/golang.org/x/net/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This repository holds supplementary Go networking libraries.
-
-To submit changes to this repository, see http://golang.org/doc/contribute.html.
diff --git a/vendor/golang.org/x/net/README.md b/vendor/golang.org/x/net/README.md
new file mode 100644
index 000000000..00a9b6eb2
--- /dev/null
+++ b/vendor/golang.org/x/net/README.md
@@ -0,0 +1,16 @@
+# Go Networking
+
+This repository holds supplementary Go networking libraries.
+
+## Download/Install
+
+The easiest way to install is to run `go get -u golang.org/x/net`. You can
+also manually git clone the repository to `$GOPATH/src/golang.org/x/net`.
+
+## Report Issues / Send Patches
+
+This repository uses Gerrit for code changes. To learn how to submit
+changes to this repository, see https://golang.org/doc/contribute.html.
+The main issue tracker for the net repository is located at
+https://github.com/golang/go/issues. Prefix your issue with "x/net:" in the
+subject line, so it is easy to find.
diff --git a/vendor/golang.org/x/net/html/atom/gen.go b/vendor/golang.org/x/net/html/atom/gen.go
index 6bfa86601..cc5dc5dbc 100644
--- a/vendor/golang.org/x/net/html/atom/gen.go
+++ b/vendor/golang.org/x/net/html/atom/gen.go
@@ -4,17 +4,17 @@
// +build ignore
-package main
+//go:generate go run gen.go
+//go:generate go run gen.go -test
-// This program generates table.go and table_test.go.
-// Invoke as
-//
-// go run gen.go |gofmt >table.go
-// go run gen.go -test |gofmt >table_test.go
+package main
import (
+ "bytes"
"flag"
"fmt"
+ "go/format"
+ "io/ioutil"
"math/rand"
"os"
"sort"
@@ -42,6 +42,18 @@ func identifier(s string) string {
var test = flag.Bool("test", false, "generate table_test.go")
+func genFile(name string, buf *bytes.Buffer) {
+ b, err := format.Source(buf.Bytes())
+ if err != nil {
+ fmt.Fprintln(os.Stderr, err)
+ os.Exit(1)
+ }
+ if err := ioutil.WriteFile(name, b, 0644); err != nil {
+ fmt.Fprintln(os.Stderr, err)
+ os.Exit(1)
+ }
+}
+
func main() {
flag.Parse()
@@ -52,32 +64,31 @@ func main() {
all = append(all, extra...)
sort.Strings(all)
- if *test {
- fmt.Printf("// generated by go run gen.go -test; DO NOT EDIT\n\n")
- fmt.Printf("package atom\n\n")
- fmt.Printf("var testAtomList = []string{\n")
- for _, s := range all {
- fmt.Printf("\t%q,\n", s)
- }
- fmt.Printf("}\n")
- return
- }
-
// uniq - lists have dups
- // compute max len too
- maxLen := 0
w := 0
for _, s := range all {
if w == 0 || all[w-1] != s {
- if maxLen < len(s) {
- maxLen = len(s)
- }
all[w] = s
w++
}
}
all = all[:w]
+ if *test {
+ var buf bytes.Buffer
+ fmt.Fprintln(&buf, "// Code generated by go generate gen.go; DO NOT EDIT.\n")
+ fmt.Fprintln(&buf, "//go:generate go run gen.go -test\n")
+ fmt.Fprintln(&buf, "package atom\n")
+ fmt.Fprintln(&buf, "var testAtomList = []string{")
+ for _, s := range all {
+ fmt.Fprintf(&buf, "\t%q,\n", s)
+ }
+ fmt.Fprintln(&buf, "}")
+
+ genFile("table_test.go", &buf)
+ return
+ }
+
// Find hash that minimizes table size.
var best *table
for i := 0; i < 1000000; i++ {
@@ -163,36 +174,46 @@ func main() {
atom[s] = uint32(off<<8 | len(s))
}
+ var buf bytes.Buffer
// Generate the Go code.
- fmt.Printf("// generated by go run gen.go; DO NOT EDIT\n\n")
- fmt.Printf("package atom\n\nconst (\n")
+ fmt.Fprintln(&buf, "// Code generated by go generate gen.go; DO NOT EDIT.\n")
+ fmt.Fprintln(&buf, "//go:generate go run gen.go\n")
+ fmt.Fprintln(&buf, "package atom\n\nconst (")
+
+ // compute max len
+ maxLen := 0
for _, s := range all {
- fmt.Printf("\t%s Atom = %#x\n", identifier(s), atom[s])
+ if maxLen < len(s) {
+ maxLen = len(s)
+ }
+ fmt.Fprintf(&buf, "\t%s Atom = %#x\n", identifier(s), atom[s])
}
- fmt.Printf(")\n\n")
+ fmt.Fprintln(&buf, ")\n")
- fmt.Printf("const hash0 = %#x\n\n", best.h0)
- fmt.Printf("const maxAtomLen = %d\n\n", maxLen)
+ fmt.Fprintf(&buf, "const hash0 = %#x\n\n", best.h0)
+ fmt.Fprintf(&buf, "const maxAtomLen = %d\n\n", maxLen)
- fmt.Printf("var table = [1<<%d]Atom{\n", best.k)
+ fmt.Fprintf(&buf, "var table = [1<<%d]Atom{\n", best.k)
for i, s := range best.tab {
if s == "" {
continue
}
- fmt.Printf("\t%#x: %#x, // %s\n", i, atom[s], s)
+ fmt.Fprintf(&buf, "\t%#x: %#x, // %s\n", i, atom[s], s)
}
- fmt.Printf("}\n")
+ fmt.Fprintf(&buf, "}\n")
datasize := (1 << best.k) * 4
- fmt.Printf("const atomText =\n")
+ fmt.Fprintln(&buf, "const atomText =")
textsize := len(text)
for len(text) > 60 {
- fmt.Printf("\t%q +\n", text[:60])
+ fmt.Fprintf(&buf, "\t%q +\n", text[:60])
text = text[60:]
}
- fmt.Printf("\t%q\n\n", text)
+ fmt.Fprintf(&buf, "\t%q\n\n", text)
+
+ genFile("table.go", &buf)
- fmt.Fprintf(os.Stderr, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize)
+ fmt.Fprintf(os.Stdout, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize)
}
type byLen []string
@@ -285,8 +306,10 @@ func (t *table) push(i uint32, depth int) bool {
// The lists of element names and attribute keys were taken from
// https://html.spec.whatwg.org/multipage/indices.html#index
-// as of the "HTML Living Standard - Last Updated 21 February 2015" version.
+// as of the "HTML Living Standard - Last Updated 18 September 2017" version.
+// "command", "keygen" and "menuitem" have been removed from the spec,
+// but are kept here for backwards compatibility.
var elements = []string{
"a",
"abbr",
@@ -349,6 +372,7 @@ var elements = []string{
"legend",
"li",
"link",
+ "main",
"map",
"mark",
"menu",
@@ -364,6 +388,7 @@ var elements = []string{
"output",
"p",
"param",
+ "picture",
"pre",
"progress",
"q",
@@ -375,6 +400,7 @@ var elements = []string{
"script",
"section",
"select",
+ "slot",
"small",
"source",
"span",
@@ -403,14 +429,21 @@ var elements = []string{
}
// https://html.spec.whatwg.org/multipage/indices.html#attributes-3
-
+//
+// "challenge", "command", "contextmenu", "dropzone", "icon", "keytype", "mediagroup",
+// "radiogroup", "spellcheck", "scoped", "seamless", "sortable" and "sorted" have been removed from the spec,
+// but are kept here for backwards compatibility.
var attributes = []string{
"abbr",
"accept",
"accept-charset",
"accesskey",
"action",
+ "allowfullscreen",
+ "allowpaymentrequest",
+ "allowusermedia",
"alt",
+ "as",
"async",
"autocomplete",
"autofocus",
@@ -420,6 +453,7 @@ var attributes = []string{
"checked",
"cite",
"class",
+ "color",
"cols",
"colspan",
"command",
@@ -457,6 +491,8 @@ var attributes = []string{
"icon",
"id",
"inputmode",
+ "integrity",
+ "is",
"ismap",
"itemid",
"itemprop",
@@ -481,16 +517,20 @@ var attributes = []string{
"multiple",
"muted",
"name",
+ "nomodule",
+ "nonce",
"novalidate",
"open",
"optimum",
"pattern",
"ping",
"placeholder",
+ "playsinline",
"poster",
"preload",
"radiogroup",
"readonly",
+ "referrerpolicy",
"rel",
"required",
"reversed",
@@ -507,10 +547,13 @@ var attributes = []string{
"sizes",
"sortable",
"sorted",
+ "slot",
"span",
+ "spellcheck",
"src",
"srcdoc",
"srclang",
+ "srcset",
"start",
"step",
"style",
@@ -520,16 +563,22 @@ var attributes = []string{
"translate",
"type",
"typemustmatch",
+ "updateviacache",
"usemap",
"value",
"width",
+ "workertype",
"wrap",
}
+// "onautocomplete", "onautocompleteerror", "onmousewheel",
+// "onshow" and "onsort" have been removed from the spec,
+// but are kept here for backwards compatibility.
var eventHandlers = []string{
"onabort",
"onautocomplete",
"onautocompleteerror",
+ "onauxclick",
"onafterprint",
"onbeforeprint",
"onbeforeunload",
@@ -541,11 +590,14 @@ var eventHandlers = []string{
"onclick",
"onclose",
"oncontextmenu",
+ "oncopy",
"oncuechange",
+ "oncut",
"ondblclick",
"ondrag",
"ondragend",
"ondragenter",
+ "ondragexit",
"ondragleave",
"ondragover",
"ondragstart",
@@ -565,18 +617,24 @@ var eventHandlers = []string{
"onload",
"onloadeddata",
"onloadedmetadata",
+ "onloadend",
"onloadstart",
"onmessage",
+ "onmessageerror",
"onmousedown",
+ "onmouseenter",
+ "onmouseleave",
"onmousemove",
"onmouseout",
"onmouseover",
"onmouseup",
"onmousewheel",
+ "onwheel",
"onoffline",
"ononline",
"onpagehide",
"onpageshow",
+ "onpaste",
"onpause",
"onplay",
"onplaying",
@@ -585,7 +643,9 @@ var eventHandlers = []string{
"onratechange",
"onreset",
"onresize",
+ "onrejectionhandled",
"onscroll",
+ "onsecuritypolicyviolation",
"onseeked",
"onseeking",
"onselect",
@@ -597,6 +657,7 @@ var eventHandlers = []string{
"onsuspend",
"ontimeupdate",
"ontoggle",
+ "onunhandledrejection",
"onunload",
"onvolumechange",
"onwaiting",
diff --git a/vendor/golang.org/x/net/html/atom/table.go b/vendor/golang.org/x/net/html/atom/table.go
index 2605ba310..f74018ece 100644
--- a/vendor/golang.org/x/net/html/atom/table.go
+++ b/vendor/golang.org/x/net/html/atom/table.go
@@ -1,713 +1,777 @@
-// generated by go run gen.go; DO NOT EDIT
+// Code generated by go generate gen.go; DO NOT EDIT.
+
+//go:generate go run gen.go
package atom
const (
- A Atom = 0x1
- Abbr Atom = 0x4
- Accept Atom = 0x2106
- AcceptCharset Atom = 0x210e
- Accesskey Atom = 0x3309
- Action Atom = 0x1f606
- Address Atom = 0x4f307
- Align Atom = 0x1105
- Alt Atom = 0x4503
- Annotation Atom = 0x1670a
- AnnotationXml Atom = 0x1670e
- Applet Atom = 0x2b306
- Area Atom = 0x2fa04
- Article Atom = 0x38807
- Aside Atom = 0x8305
- Async Atom = 0x7b05
- Audio Atom = 0xa605
- Autocomplete Atom = 0x1fc0c
- Autofocus Atom = 0xb309
- Autoplay Atom = 0xce08
- B Atom = 0x101
- Base Atom = 0xd604
- Basefont Atom = 0xd608
- Bdi Atom = 0x1a03
- Bdo Atom = 0xe703
- Bgsound Atom = 0x11807
- Big Atom = 0x12403
- Blink Atom = 0x12705
- Blockquote Atom = 0x12c0a
- Body Atom = 0x2f04
- Br Atom = 0x202
- Button Atom = 0x13606
- Canvas Atom = 0x7f06
- Caption Atom = 0x1bb07
- Center Atom = 0x5b506
- Challenge Atom = 0x21f09
- Charset Atom = 0x2807
- Checked Atom = 0x32807
- Cite Atom = 0x3c804
- Class Atom = 0x4de05
- Code Atom = 0x14904
- Col Atom = 0x15003
- Colgroup Atom = 0x15008
- Color Atom = 0x15d05
- Cols Atom = 0x16204
- Colspan Atom = 0x16207
- Command Atom = 0x17507
- Content Atom = 0x42307
- Contenteditable Atom = 0x4230f
- Contextmenu Atom = 0x3310b
- Controls Atom = 0x18808
- Coords Atom = 0x19406
- Crossorigin Atom = 0x19f0b
- Data Atom = 0x44a04
- Datalist Atom = 0x44a08
- Datetime Atom = 0x23c08
- Dd Atom = 0x26702
- Default Atom = 0x8607
- Defer Atom = 0x14b05
- Del Atom = 0x3ef03
- Desc Atom = 0x4db04
- Details Atom = 0x4807
- Dfn Atom = 0x6103
- Dialog Atom = 0x1b06
- Dir Atom = 0x6903
- Dirname Atom = 0x6907
- Disabled Atom = 0x10c08
- Div Atom = 0x11303
- Dl Atom = 0x11e02
- Download Atom = 0x40008
- Draggable Atom = 0x17b09
- Dropzone Atom = 0x39108
- Dt Atom = 0x50902
- Em Atom = 0x6502
- Embed Atom = 0x6505
- Enctype Atom = 0x21107
- Face Atom = 0x5b304
- Fieldset Atom = 0x1b008
- Figcaption Atom = 0x1b80a
- Figure Atom = 0x1cc06
- Font Atom = 0xda04
- Footer Atom = 0x8d06
- For Atom = 0x1d803
- ForeignObject Atom = 0x1d80d
- Foreignobject Atom = 0x1e50d
- Form Atom = 0x1f204
- Formaction Atom = 0x1f20a
- Formenctype Atom = 0x20d0b
- Formmethod Atom = 0x2280a
- Formnovalidate Atom = 0x2320e
- Formtarget Atom = 0x2470a
- Frame Atom = 0x9a05
- Frameset Atom = 0x9a08
- H1 Atom = 0x26e02
- H2 Atom = 0x29402
- H3 Atom = 0x2a702
- H4 Atom = 0x2e902
- H5 Atom = 0x2f302
- H6 Atom = 0x50b02
- Head Atom = 0x2d504
- Header Atom = 0x2d506
- Headers Atom = 0x2d507
- Height Atom = 0x25106
- Hgroup Atom = 0x25906
- Hidden Atom = 0x26506
- High Atom = 0x26b04
- Hr Atom = 0x27002
- Href Atom = 0x27004
- Hreflang Atom = 0x27008
- Html Atom = 0x25504
- HttpEquiv Atom = 0x2780a
- I Atom = 0x601
- Icon Atom = 0x42204
- Id Atom = 0x8502
- Iframe Atom = 0x29606
- Image Atom = 0x29c05
- Img Atom = 0x2a103
- Input Atom = 0x3e805
- Inputmode Atom = 0x3e809
- Ins Atom = 0x1a803
- Isindex Atom = 0x2a907
- Ismap Atom = 0x2b005
- Itemid Atom = 0x33c06
- Itemprop Atom = 0x3c908
- Itemref Atom = 0x5ad07
- Itemscope Atom = 0x2b909
- Itemtype Atom = 0x2c308
- Kbd Atom = 0x1903
- Keygen Atom = 0x3906
- Keytype Atom = 0x53707
- Kind Atom = 0x10904
- Label Atom = 0xf005
- Lang Atom = 0x27404
- Legend Atom = 0x18206
- Li Atom = 0x1202
- Link Atom = 0x12804
- List Atom = 0x44e04
- Listing Atom = 0x44e07
- Loop Atom = 0xf404
- Low Atom = 0x11f03
- Malignmark Atom = 0x100a
- Manifest Atom = 0x5f108
- Map Atom = 0x2b203
- Mark Atom = 0x1604
- Marquee Atom = 0x2cb07
- Math Atom = 0x2d204
- Max Atom = 0x2e103
- Maxlength Atom = 0x2e109
- Media Atom = 0x6e05
- Mediagroup Atom = 0x6e0a
- Menu Atom = 0x33804
- Menuitem Atom = 0x33808
- Meta Atom = 0x45d04
- Meter Atom = 0x24205
- Method Atom = 0x22c06
- Mglyph Atom = 0x2a206
- Mi Atom = 0x2eb02
- Min Atom = 0x2eb03
- Minlength Atom = 0x2eb09
- Mn Atom = 0x23502
- Mo Atom = 0x3ed02
- Ms Atom = 0x2bc02
- Mtext Atom = 0x2f505
- Multiple Atom = 0x30308
- Muted Atom = 0x30b05
- Name Atom = 0x6c04
- Nav Atom = 0x3e03
- Nobr Atom = 0x5704
- Noembed Atom = 0x6307
- Noframes Atom = 0x9808
- Noscript Atom = 0x3d208
- Novalidate Atom = 0x2360a
- Object Atom = 0x1ec06
- Ol Atom = 0xc902
- Onabort Atom = 0x13a07
- Onafterprint Atom = 0x1c00c
- Onautocomplete Atom = 0x1fa0e
- Onautocompleteerror Atom = 0x1fa13
- Onbeforeprint Atom = 0x6040d
- Onbeforeunload Atom = 0x4e70e
- Onblur Atom = 0xaa06
- Oncancel Atom = 0xe908
- Oncanplay Atom = 0x28509
- Oncanplaythrough Atom = 0x28510
- Onchange Atom = 0x3a708
- Onclick Atom = 0x31007
- Onclose Atom = 0x31707
- Oncontextmenu Atom = 0x32f0d
- Oncuechange Atom = 0x3420b
- Ondblclick Atom = 0x34d0a
- Ondrag Atom = 0x35706
- Ondragend Atom = 0x35709
- Ondragenter Atom = 0x3600b
- Ondragleave Atom = 0x36b0b
- Ondragover Atom = 0x3760a
- Ondragstart Atom = 0x3800b
- Ondrop Atom = 0x38f06
- Ondurationchange Atom = 0x39f10
- Onemptied Atom = 0x39609
- Onended Atom = 0x3af07
- Onerror Atom = 0x3b607
- Onfocus Atom = 0x3bd07
- Onhashchange Atom = 0x3da0c
- Oninput Atom = 0x3e607
- Oninvalid Atom = 0x3f209
- Onkeydown Atom = 0x3fb09
- Onkeypress Atom = 0x4080a
- Onkeyup Atom = 0x41807
- Onlanguagechange Atom = 0x43210
- Onload Atom = 0x44206
- Onloadeddata Atom = 0x4420c
- Onloadedmetadata Atom = 0x45510
- Onloadstart Atom = 0x46b0b
- Onmessage Atom = 0x47609
- Onmousedown Atom = 0x47f0b
- Onmousemove Atom = 0x48a0b
- Onmouseout Atom = 0x4950a
- Onmouseover Atom = 0x4a20b
- Onmouseup Atom = 0x4ad09
- Onmousewheel Atom = 0x4b60c
- Onoffline Atom = 0x4c209
- Ononline Atom = 0x4cb08
- Onpagehide Atom = 0x4d30a
- Onpageshow Atom = 0x4fe0a
- Onpause Atom = 0x50d07
- Onplay Atom = 0x51706
- Onplaying Atom = 0x51709
- Onpopstate Atom = 0x5200a
- Onprogress Atom = 0x52a0a
- Onratechange Atom = 0x53e0c
- Onreset Atom = 0x54a07
- Onresize Atom = 0x55108
- Onscroll Atom = 0x55f08
- Onseeked Atom = 0x56708
- Onseeking Atom = 0x56f09
- Onselect Atom = 0x57808
- Onshow Atom = 0x58206
- Onsort Atom = 0x58b06
- Onstalled Atom = 0x59509
- Onstorage Atom = 0x59e09
- Onsubmit Atom = 0x5a708
- Onsuspend Atom = 0x5bb09
- Ontimeupdate Atom = 0xdb0c
- Ontoggle Atom = 0x5c408
- Onunload Atom = 0x5cc08
- Onvolumechange Atom = 0x5d40e
- Onwaiting Atom = 0x5e209
- Open Atom = 0x3cf04
- Optgroup Atom = 0xf608
- Optimum Atom = 0x5eb07
- Option Atom = 0x60006
- Output Atom = 0x49c06
- P Atom = 0xc01
- Param Atom = 0xc05
- Pattern Atom = 0x5107
- Ping Atom = 0x7704
- Placeholder Atom = 0xc30b
- Plaintext Atom = 0xfd09
- Poster Atom = 0x15706
- Pre Atom = 0x25e03
- Preload Atom = 0x25e07
- Progress Atom = 0x52c08
- Prompt Atom = 0x5fa06
- Public Atom = 0x41e06
- Q Atom = 0x13101
- Radiogroup Atom = 0x30a
- Readonly Atom = 0x2fb08
- Rel Atom = 0x25f03
- Required Atom = 0x1d008
- Reversed Atom = 0x5a08
- Rows Atom = 0x9204
- Rowspan Atom = 0x9207
- Rp Atom = 0x1c602
- Rt Atom = 0x13f02
- Ruby Atom = 0xaf04
- S Atom = 0x2c01
- Samp Atom = 0x4e04
- Sandbox Atom = 0xbb07
- Scope Atom = 0x2bd05
- Scoped Atom = 0x2bd06
- Script Atom = 0x3d406
- Seamless Atom = 0x31c08
- Section Atom = 0x4e207
- Select Atom = 0x57a06
- Selected Atom = 0x57a08
- Shape Atom = 0x4f905
- Size Atom = 0x55504
- Sizes Atom = 0x55505
- Small Atom = 0x18f05
- Sortable Atom = 0x58d08
- Sorted Atom = 0x19906
- Source Atom = 0x1aa06
- Spacer Atom = 0x2db06
- Span Atom = 0x9504
- Spellcheck Atom = 0x3230a
- Src Atom = 0x3c303
- Srcdoc Atom = 0x3c306
- Srclang Atom = 0x41107
- Start Atom = 0x38605
- Step Atom = 0x5f704
- Strike Atom = 0x53306
- Strong Atom = 0x55906
- Style Atom = 0x61105
- Sub Atom = 0x5a903
- Summary Atom = 0x61607
- Sup Atom = 0x61d03
- Svg Atom = 0x62003
- System Atom = 0x62306
- Tabindex Atom = 0x46308
- Table Atom = 0x42d05
- Target Atom = 0x24b06
- Tbody Atom = 0x2e05
- Td Atom = 0x4702
- Template Atom = 0x62608
- Textarea Atom = 0x2f608
- Tfoot Atom = 0x8c05
- Th Atom = 0x22e02
- Thead Atom = 0x2d405
- Time Atom = 0xdd04
- Title Atom = 0xa105
- Tr Atom = 0x10502
- Track Atom = 0x10505
- Translate Atom = 0x14009
- Tt Atom = 0x5302
- Type Atom = 0x21404
- Typemustmatch Atom = 0x2140d
- U Atom = 0xb01
- Ul Atom = 0x8a02
- Usemap Atom = 0x51106
- Value Atom = 0x4005
- Var Atom = 0x11503
- Video Atom = 0x28105
- Wbr Atom = 0x12103
- Width Atom = 0x50705
- Wrap Atom = 0x58704
- Xmp Atom = 0xc103
+ A Atom = 0x1
+ Abbr Atom = 0x4
+ Accept Atom = 0x1a06
+ AcceptCharset Atom = 0x1a0e
+ Accesskey Atom = 0x2c09
+ Action Atom = 0x25a06
+ Address Atom = 0x6ed07
+ Align Atom = 0x6d405
+ Allowfullscreen Atom = 0x1f00f
+ Allowpaymentrequest Atom = 0x6913
+ Allowusermedia Atom = 0x850e
+ Alt Atom = 0xb003
+ Annotation Atom = 0x1b90a
+ AnnotationXml Atom = 0x1b90e
+ Applet Atom = 0x30106
+ Area Atom = 0x34a04
+ Article Atom = 0x3f007
+ As Atom = 0xb902
+ Aside Atom = 0xc105
+ Async Atom = 0xb905
+ Audio Atom = 0xcf05
+ Autocomplete Atom = 0x2600c
+ Autofocus Atom = 0xeb09
+ Autoplay Atom = 0x10608
+ B Atom = 0x101
+ Base Atom = 0x11504
+ Basefont Atom = 0x11508
+ Bdi Atom = 0x16103
+ Bdo Atom = 0x13403
+ Bgsound Atom = 0x14707
+ Big Atom = 0x15903
+ Blink Atom = 0x15c05
+ Blockquote Atom = 0x1680a
+ Body Atom = 0x2804
+ Br Atom = 0x202
+ Button Atom = 0x17206
+ Canvas Atom = 0xbd06
+ Caption Atom = 0x21907
+ Center Atom = 0x20806
+ Challenge Atom = 0x28309
+ Charset Atom = 0x2107
+ Checked Atom = 0x46d07
+ Cite Atom = 0x55804
+ Class Atom = 0x5b905
+ Code Atom = 0x19004
+ Col Atom = 0x19703
+ Colgroup Atom = 0x19708
+ Color Atom = 0x1af05
+ Cols Atom = 0x1b404
+ Colspan Atom = 0x1b407
+ Command Atom = 0x1c707
+ Content Atom = 0x57f07
+ Contenteditable Atom = 0x57f0f
+ Contextmenu Atom = 0x3740b
+ Controls Atom = 0x1ce08
+ Coords Atom = 0x1da06
+ Crossorigin Atom = 0x1e30b
+ Data Atom = 0x49904
+ Datalist Atom = 0x49908
+ Datetime Atom = 0x2a008
+ Dd Atom = 0x2bf02
+ Default Atom = 0xc407
+ Defer Atom = 0x19205
+ Del Atom = 0x44603
+ Desc Atom = 0x55504
+ Details Atom = 0x4607
+ Dfn Atom = 0x5f03
+ Dialog Atom = 0x16206
+ Dir Atom = 0xa303
+ Dirname Atom = 0xa307
+ Disabled Atom = 0x14d08
+ Div Atom = 0x15403
+ Dl Atom = 0x5e202
+ Download Atom = 0x45708
+ Draggable Atom = 0x18309
+ Dropzone Atom = 0x3f908
+ Dt Atom = 0x64702
+ Em Atom = 0x4202
+ Embed Atom = 0x4205
+ Enctype Atom = 0x27507
+ Face Atom = 0x20604
+ Fieldset Atom = 0x20e08
+ Figcaption Atom = 0x2160a
+ Figure Atom = 0x23006
+ Font Atom = 0x11904
+ Footer Atom = 0xb306
+ For Atom = 0x23c03
+ ForeignObject Atom = 0x23c0d
+ Foreignobject Atom = 0x2490d
+ Form Atom = 0x25604
+ Formaction Atom = 0x2560a
+ Formenctype Atom = 0x2710b
+ Formmethod Atom = 0x28c0a
+ Formnovalidate Atom = 0x2960e
+ Formtarget Atom = 0x2a80a
+ Frame Atom = 0x5705
+ Frameset Atom = 0x5708
+ H1 Atom = 0x14502
+ H2 Atom = 0x2c602
+ H3 Atom = 0x2f502
+ H4 Atom = 0x33902
+ H5 Atom = 0x34302
+ H6 Atom = 0x64902
+ Head Atom = 0x32504
+ Header Atom = 0x32506
+ Headers Atom = 0x32507
+ Height Atom = 0x12c06
+ Hgroup Atom = 0x2b206
+ Hidden Atom = 0x2bd06
+ High Atom = 0x2c304
+ Hr Atom = 0x14002
+ Href Atom = 0x2c804
+ Hreflang Atom = 0x2c808
+ Html Atom = 0x13004
+ HttpEquiv Atom = 0x2d00a
+ I Atom = 0x601
+ Icon Atom = 0x57e04
+ Id Atom = 0xc302
+ Iframe Atom = 0x2e406
+ Image Atom = 0x2ea05
+ Img Atom = 0x2ef03
+ Input Atom = 0x43f05
+ Inputmode Atom = 0x43f09
+ Ins Atom = 0x1ec03
+ Integrity Atom = 0x22709
+ Is Atom = 0x14e02
+ Isindex Atom = 0x2f707
+ Ismap Atom = 0x2fe05
+ Itemid Atom = 0x37f06
+ Itemprop Atom = 0x55908
+ Itemref Atom = 0x3c107
+ Itemscope Atom = 0x66d09
+ Itemtype Atom = 0x30708
+ Kbd Atom = 0x16003
+ Keygen Atom = 0x3206
+ Keytype Atom = 0x7e07
+ Kind Atom = 0x18004
+ Label Atom = 0xda05
+ Lang Atom = 0x2cc04
+ Legend Atom = 0x18a06
+ Li Atom = 0x11102
+ Link Atom = 0x15d04
+ List Atom = 0x49d04
+ Listing Atom = 0x49d07
+ Loop Atom = 0xde04
+ Low Atom = 0x6b03
+ Main Atom = 0x1004
+ Malignmark Atom = 0x6d30a
+ Manifest Atom = 0x30f08
+ Map Atom = 0x30003
+ Mark Atom = 0x6d904
+ Marquee Atom = 0x31b07
+ Math Atom = 0x32204
+ Max Atom = 0x33103
+ Maxlength Atom = 0x33109
+ Media Atom = 0x8e05
+ Mediagroup Atom = 0x8e0a
+ Menu Atom = 0x37b04
+ Menuitem Atom = 0x37b08
+ Meta Atom = 0x4ac04
+ Meter Atom = 0xa805
+ Method Atom = 0x29006
+ Mglyph Atom = 0x2f006
+ Mi Atom = 0x33b02
+ Min Atom = 0x33b03
+ Minlength Atom = 0x33b09
+ Mn Atom = 0x29902
+ Mo Atom = 0x6302
+ Ms Atom = 0x67002
+ Mtext Atom = 0x34505
+ Multiple Atom = 0x35308
+ Muted Atom = 0x35b05
+ Name Atom = 0xa604
+ Nav Atom = 0x1303
+ Nobr Atom = 0x3704
+ Noembed Atom = 0x4007
+ Noframes Atom = 0x5508
+ Nomodule Atom = 0x6108
+ Nonce Atom = 0x56205
+ Noscript Atom = 0x1fe08
+ Novalidate Atom = 0x29a0a
+ Object Atom = 0x25006
+ Ol Atom = 0x10102
+ Onabort Atom = 0x17607
+ Onafterprint Atom = 0x21e0c
+ Onautocomplete Atom = 0x25e0e
+ Onautocompleteerror Atom = 0x25e13
+ Onauxclick Atom = 0x61b0a
+ Onbeforeprint Atom = 0x69a0d
+ Onbeforeunload Atom = 0x6e10e
+ Onblur Atom = 0x5c206
+ Oncancel Atom = 0xd308
+ Oncanplay Atom = 0x13609
+ Oncanplaythrough Atom = 0x13610
+ Onchange Atom = 0x40f08
+ Onclick Atom = 0x2dd07
+ Onclose Atom = 0x36007
+ Oncontextmenu Atom = 0x3720d
+ Oncopy Atom = 0x38506
+ Oncuechange Atom = 0x38b0b
+ Oncut Atom = 0x39605
+ Ondblclick Atom = 0x39b0a
+ Ondrag Atom = 0x3a506
+ Ondragend Atom = 0x3a509
+ Ondragenter Atom = 0x3ae0b
+ Ondragexit Atom = 0x3b90a
+ Ondragleave Atom = 0x3d30b
+ Ondragover Atom = 0x3de0a
+ Ondragstart Atom = 0x3e80b
+ Ondrop Atom = 0x3f706
+ Ondurationchange Atom = 0x40710
+ Onemptied Atom = 0x3fe09
+ Onended Atom = 0x41707
+ Onerror Atom = 0x41e07
+ Onfocus Atom = 0x42507
+ Onhashchange Atom = 0x4310c
+ Oninput Atom = 0x43d07
+ Oninvalid Atom = 0x44909
+ Onkeydown Atom = 0x45209
+ Onkeypress Atom = 0x45f0a
+ Onkeyup Atom = 0x47407
+ Onlanguagechange Atom = 0x48110
+ Onload Atom = 0x49106
+ Onloadeddata Atom = 0x4910c
+ Onloadedmetadata Atom = 0x4a410
+ Onloadend Atom = 0x4ba09
+ Onloadstart Atom = 0x4c30b
+ Onmessage Atom = 0x4ce09
+ Onmessageerror Atom = 0x4ce0e
+ Onmousedown Atom = 0x4dc0b
+ Onmouseenter Atom = 0x4e70c
+ Onmouseleave Atom = 0x4f30c
+ Onmousemove Atom = 0x4ff0b
+ Onmouseout Atom = 0x50a0a
+ Onmouseover Atom = 0x5170b
+ Onmouseup Atom = 0x52209
+ Onmousewheel Atom = 0x5300c
+ Onoffline Atom = 0x53c09
+ Ononline Atom = 0x54508
+ Onpagehide Atom = 0x54d0a
+ Onpageshow Atom = 0x5670a
+ Onpaste Atom = 0x57307
+ Onpause Atom = 0x58e07
+ Onplay Atom = 0x59806
+ Onplaying Atom = 0x59809
+ Onpopstate Atom = 0x5a10a
+ Onprogress Atom = 0x5ab0a
+ Onratechange Atom = 0x5c80c
+ Onrejectionhandled Atom = 0x5d412
+ Onreset Atom = 0x5e607
+ Onresize Atom = 0x5ed08
+ Onscroll Atom = 0x5fc08
+ Onsecuritypolicyviolation Atom = 0x60419
+ Onseeked Atom = 0x62508
+ Onseeking Atom = 0x62d09
+ Onselect Atom = 0x63608
+ Onshow Atom = 0x64006
+ Onsort Atom = 0x64b06
+ Onstalled Atom = 0x65509
+ Onstorage Atom = 0x65e09
+ Onsubmit Atom = 0x66708
+ Onsuspend Atom = 0x67709
+ Ontimeupdate Atom = 0x11a0c
+ Ontoggle Atom = 0x68008
+ Onunhandledrejection Atom = 0x68814
+ Onunload Atom = 0x6a708
+ Onvolumechange Atom = 0x6af0e
+ Onwaiting Atom = 0x6bd09
+ Onwheel Atom = 0x6c607
+ Open Atom = 0x55f04
+ Optgroup Atom = 0xe008
+ Optimum Atom = 0x6cd07
+ Option Atom = 0x6dd06
+ Output Atom = 0x51106
+ P Atom = 0xc01
+ Param Atom = 0xc05
+ Pattern Atom = 0x4f07
+ Picture Atom = 0x9707
+ Ping Atom = 0xe704
+ Placeholder Atom = 0xfb0b
+ Plaintext Atom = 0x19e09
+ Playsinline Atom = 0x10a0b
+ Poster Atom = 0x2b706
+ Pre Atom = 0x46403
+ Preload Atom = 0x47a07
+ Progress Atom = 0x5ad08
+ Prompt Atom = 0x52a06
+ Public Atom = 0x57a06
+ Q Atom = 0x7701
+ Radiogroup Atom = 0x30a
+ Readonly Atom = 0x34b08
+ Referrerpolicy Atom = 0x3c50e
+ Rel Atom = 0x47b03
+ Required Atom = 0x23408
+ Reversed Atom = 0x9c08
+ Rows Atom = 0x3a04
+ Rowspan Atom = 0x3a07
+ Rp Atom = 0x22402
+ Rt Atom = 0x17b02
+ Ruby Atom = 0xac04
+ S Atom = 0x2501
+ Samp Atom = 0x4c04
+ Sandbox Atom = 0xf307
+ Scope Atom = 0x67105
+ Scoped Atom = 0x67106
+ Script Atom = 0x20006
+ Seamless Atom = 0x36508
+ Section Atom = 0x5bd07
+ Select Atom = 0x63806
+ Selected Atom = 0x63808
+ Shape Atom = 0x1d505
+ Size Atom = 0x5f104
+ Sizes Atom = 0x5f105
+ Slot Atom = 0x1df04
+ Small Atom = 0x1ee05
+ Sortable Atom = 0x64d08
+ Sorted Atom = 0x32b06
+ Source Atom = 0x36c06
+ Spacer Atom = 0x42b06
+ Span Atom = 0x3d04
+ Spellcheck Atom = 0x4680a
+ Src Atom = 0x5b403
+ Srcdoc Atom = 0x5b406
+ Srclang Atom = 0x5f507
+ Srcset Atom = 0x6f306
+ Start Atom = 0x3ee05
+ Step Atom = 0x57704
+ Strike Atom = 0x7a06
+ Strong Atom = 0x31506
+ Style Atom = 0x6f905
+ Sub Atom = 0x66903
+ Summary Atom = 0x6fe07
+ Sup Atom = 0x70503
+ Svg Atom = 0x70803
+ System Atom = 0x70b06
+ Tabindex Atom = 0x4b208
+ Table Atom = 0x58905
+ Target Atom = 0x2ac06
+ Tbody Atom = 0x2705
+ Td Atom = 0x5e02
+ Template Atom = 0x70e08
+ Textarea Atom = 0x34608
+ Tfoot Atom = 0xb205
+ Th Atom = 0x13f02
+ Thead Atom = 0x32405
+ Time Atom = 0x11c04
+ Title Atom = 0xca05
+ Tr Atom = 0x7402
+ Track Atom = 0x17c05
+ Translate Atom = 0x1a609
+ Tt Atom = 0x5102
+ Type Atom = 0x8104
+ Typemustmatch Atom = 0x2780d
+ U Atom = 0xb01
+ Ul Atom = 0x6602
+ Updateviacache Atom = 0x1200e
+ Usemap Atom = 0x59206
+ Value Atom = 0x1505
+ Var Atom = 0x15603
+ Video Atom = 0x2d905
+ Wbr Atom = 0x57003
+ Width Atom = 0x64505
+ Workertype Atom = 0x7160a
+ Wrap Atom = 0x72004
+ Xmp Atom = 0xf903
)
-const hash0 = 0xc17da63e
+const hash0 = 0x81cdf10e
-const maxAtomLen = 19
+const maxAtomLen = 25
var table = [1 << 9]Atom{
- 0x1: 0x48a0b, // onmousemove
- 0x2: 0x5e209, // onwaiting
- 0x3: 0x1fa13, // onautocompleteerror
- 0x4: 0x5fa06, // prompt
- 0x7: 0x5eb07, // optimum
- 0x8: 0x1604, // mark
- 0xa: 0x5ad07, // itemref
- 0xb: 0x4fe0a, // onpageshow
- 0xc: 0x57a06, // select
- 0xd: 0x17b09, // draggable
- 0xe: 0x3e03, // nav
- 0xf: 0x17507, // command
- 0x11: 0xb01, // u
- 0x14: 0x2d507, // headers
- 0x15: 0x44a08, // datalist
- 0x17: 0x4e04, // samp
- 0x1a: 0x3fb09, // onkeydown
- 0x1b: 0x55f08, // onscroll
- 0x1c: 0x15003, // col
- 0x20: 0x3c908, // itemprop
- 0x21: 0x2780a, // http-equiv
- 0x22: 0x61d03, // sup
- 0x24: 0x1d008, // required
- 0x2b: 0x25e07, // preload
- 0x2c: 0x6040d, // onbeforeprint
- 0x2d: 0x3600b, // ondragenter
- 0x2e: 0x50902, // dt
- 0x2f: 0x5a708, // onsubmit
- 0x30: 0x27002, // hr
- 0x31: 0x32f0d, // oncontextmenu
- 0x33: 0x29c05, // image
- 0x34: 0x50d07, // onpause
- 0x35: 0x25906, // hgroup
- 0x36: 0x7704, // ping
- 0x37: 0x57808, // onselect
- 0x3a: 0x11303, // div
- 0x3b: 0x1fa0e, // onautocomplete
- 0x40: 0x2eb02, // mi
- 0x41: 0x31c08, // seamless
- 0x42: 0x2807, // charset
- 0x43: 0x8502, // id
- 0x44: 0x5200a, // onpopstate
- 0x45: 0x3ef03, // del
- 0x46: 0x2cb07, // marquee
- 0x47: 0x3309, // accesskey
- 0x49: 0x8d06, // footer
- 0x4a: 0x44e04, // list
- 0x4b: 0x2b005, // ismap
- 0x51: 0x33804, // menu
- 0x52: 0x2f04, // body
- 0x55: 0x9a08, // frameset
- 0x56: 0x54a07, // onreset
- 0x57: 0x12705, // blink
- 0x58: 0xa105, // title
- 0x59: 0x38807, // article
- 0x5b: 0x22e02, // th
- 0x5d: 0x13101, // q
- 0x5e: 0x3cf04, // open
- 0x5f: 0x2fa04, // area
- 0x61: 0x44206, // onload
- 0x62: 0xda04, // font
- 0x63: 0xd604, // base
- 0x64: 0x16207, // colspan
- 0x65: 0x53707, // keytype
- 0x66: 0x11e02, // dl
- 0x68: 0x1b008, // fieldset
- 0x6a: 0x2eb03, // min
- 0x6b: 0x11503, // var
- 0x6f: 0x2d506, // header
- 0x70: 0x13f02, // rt
- 0x71: 0x15008, // colgroup
- 0x72: 0x23502, // mn
- 0x74: 0x13a07, // onabort
- 0x75: 0x3906, // keygen
- 0x76: 0x4c209, // onoffline
- 0x77: 0x21f09, // challenge
- 0x78: 0x2b203, // map
- 0x7a: 0x2e902, // h4
- 0x7b: 0x3b607, // onerror
- 0x7c: 0x2e109, // maxlength
- 0x7d: 0x2f505, // mtext
- 0x7e: 0xbb07, // sandbox
- 0x7f: 0x58b06, // onsort
- 0x80: 0x100a, // malignmark
- 0x81: 0x45d04, // meta
- 0x82: 0x7b05, // async
- 0x83: 0x2a702, // h3
- 0x84: 0x26702, // dd
- 0x85: 0x27004, // href
- 0x86: 0x6e0a, // mediagroup
- 0x87: 0x19406, // coords
- 0x88: 0x41107, // srclang
- 0x89: 0x34d0a, // ondblclick
- 0x8a: 0x4005, // value
- 0x8c: 0xe908, // oncancel
- 0x8e: 0x3230a, // spellcheck
- 0x8f: 0x9a05, // frame
- 0x91: 0x12403, // big
- 0x94: 0x1f606, // action
- 0x95: 0x6903, // dir
- 0x97: 0x2fb08, // readonly
- 0x99: 0x42d05, // table
- 0x9a: 0x61607, // summary
- 0x9b: 0x12103, // wbr
- 0x9c: 0x30a, // radiogroup
- 0x9d: 0x6c04, // name
- 0x9f: 0x62306, // system
- 0xa1: 0x15d05, // color
- 0xa2: 0x7f06, // canvas
- 0xa3: 0x25504, // html
- 0xa5: 0x56f09, // onseeking
- 0xac: 0x4f905, // shape
- 0xad: 0x25f03, // rel
- 0xae: 0x28510, // oncanplaythrough
- 0xaf: 0x3760a, // ondragover
- 0xb0: 0x62608, // template
- 0xb1: 0x1d80d, // foreignObject
- 0xb3: 0x9204, // rows
- 0xb6: 0x44e07, // listing
- 0xb7: 0x49c06, // output
- 0xb9: 0x3310b, // contextmenu
- 0xbb: 0x11f03, // low
- 0xbc: 0x1c602, // rp
- 0xbd: 0x5bb09, // onsuspend
- 0xbe: 0x13606, // button
- 0xbf: 0x4db04, // desc
- 0xc1: 0x4e207, // section
- 0xc2: 0x52a0a, // onprogress
- 0xc3: 0x59e09, // onstorage
- 0xc4: 0x2d204, // math
- 0xc5: 0x4503, // alt
- 0xc7: 0x8a02, // ul
- 0xc8: 0x5107, // pattern
- 0xc9: 0x4b60c, // onmousewheel
- 0xca: 0x35709, // ondragend
- 0xcb: 0xaf04, // ruby
- 0xcc: 0xc01, // p
- 0xcd: 0x31707, // onclose
- 0xce: 0x24205, // meter
- 0xcf: 0x11807, // bgsound
- 0xd2: 0x25106, // height
- 0xd4: 0x101, // b
- 0xd5: 0x2c308, // itemtype
- 0xd8: 0x1bb07, // caption
- 0xd9: 0x10c08, // disabled
- 0xdb: 0x33808, // menuitem
- 0xdc: 0x62003, // svg
- 0xdd: 0x18f05, // small
- 0xde: 0x44a04, // data
- 0xe0: 0x4cb08, // ononline
- 0xe1: 0x2a206, // mglyph
- 0xe3: 0x6505, // embed
- 0xe4: 0x10502, // tr
- 0xe5: 0x46b0b, // onloadstart
- 0xe7: 0x3c306, // srcdoc
- 0xeb: 0x5c408, // ontoggle
- 0xed: 0xe703, // bdo
- 0xee: 0x4702, // td
- 0xef: 0x8305, // aside
- 0xf0: 0x29402, // h2
- 0xf1: 0x52c08, // progress
- 0xf2: 0x12c0a, // blockquote
- 0xf4: 0xf005, // label
- 0xf5: 0x601, // i
- 0xf7: 0x9207, // rowspan
- 0xfb: 0x51709, // onplaying
- 0xfd: 0x2a103, // img
- 0xfe: 0xf608, // optgroup
- 0xff: 0x42307, // content
- 0x101: 0x53e0c, // onratechange
- 0x103: 0x3da0c, // onhashchange
- 0x104: 0x4807, // details
- 0x106: 0x40008, // download
- 0x109: 0x14009, // translate
- 0x10b: 0x4230f, // contenteditable
- 0x10d: 0x36b0b, // ondragleave
- 0x10e: 0x2106, // accept
- 0x10f: 0x57a08, // selected
- 0x112: 0x1f20a, // formaction
- 0x113: 0x5b506, // center
- 0x115: 0x45510, // onloadedmetadata
- 0x116: 0x12804, // link
- 0x117: 0xdd04, // time
- 0x118: 0x19f0b, // crossorigin
- 0x119: 0x3bd07, // onfocus
- 0x11a: 0x58704, // wrap
- 0x11b: 0x42204, // icon
- 0x11d: 0x28105, // video
- 0x11e: 0x4de05, // class
- 0x121: 0x5d40e, // onvolumechange
- 0x122: 0xaa06, // onblur
- 0x123: 0x2b909, // itemscope
- 0x124: 0x61105, // style
- 0x127: 0x41e06, // public
- 0x129: 0x2320e, // formnovalidate
- 0x12a: 0x58206, // onshow
- 0x12c: 0x51706, // onplay
- 0x12d: 0x3c804, // cite
- 0x12e: 0x2bc02, // ms
- 0x12f: 0xdb0c, // ontimeupdate
- 0x130: 0x10904, // kind
- 0x131: 0x2470a, // formtarget
- 0x135: 0x3af07, // onended
- 0x136: 0x26506, // hidden
- 0x137: 0x2c01, // s
- 0x139: 0x2280a, // formmethod
- 0x13a: 0x3e805, // input
- 0x13c: 0x50b02, // h6
- 0x13d: 0xc902, // ol
- 0x13e: 0x3420b, // oncuechange
- 0x13f: 0x1e50d, // foreignobject
- 0x143: 0x4e70e, // onbeforeunload
- 0x144: 0x2bd05, // scope
- 0x145: 0x39609, // onemptied
- 0x146: 0x14b05, // defer
- 0x147: 0xc103, // xmp
- 0x148: 0x39f10, // ondurationchange
- 0x149: 0x1903, // kbd
- 0x14c: 0x47609, // onmessage
- 0x14d: 0x60006, // option
- 0x14e: 0x2eb09, // minlength
- 0x14f: 0x32807, // checked
- 0x150: 0xce08, // autoplay
- 0x152: 0x202, // br
- 0x153: 0x2360a, // novalidate
- 0x156: 0x6307, // noembed
- 0x159: 0x31007, // onclick
- 0x15a: 0x47f0b, // onmousedown
- 0x15b: 0x3a708, // onchange
- 0x15e: 0x3f209, // oninvalid
- 0x15f: 0x2bd06, // scoped
- 0x160: 0x18808, // controls
- 0x161: 0x30b05, // muted
- 0x162: 0x58d08, // sortable
- 0x163: 0x51106, // usemap
- 0x164: 0x1b80a, // figcaption
- 0x165: 0x35706, // ondrag
- 0x166: 0x26b04, // high
- 0x168: 0x3c303, // src
- 0x169: 0x15706, // poster
- 0x16b: 0x1670e, // annotation-xml
- 0x16c: 0x5f704, // step
- 0x16d: 0x4, // abbr
- 0x16e: 0x1b06, // dialog
- 0x170: 0x1202, // li
- 0x172: 0x3ed02, // mo
- 0x175: 0x1d803, // for
- 0x176: 0x1a803, // ins
- 0x178: 0x55504, // size
- 0x179: 0x43210, // onlanguagechange
- 0x17a: 0x8607, // default
- 0x17b: 0x1a03, // bdi
- 0x17c: 0x4d30a, // onpagehide
- 0x17d: 0x6907, // dirname
- 0x17e: 0x21404, // type
- 0x17f: 0x1f204, // form
- 0x181: 0x28509, // oncanplay
- 0x182: 0x6103, // dfn
- 0x183: 0x46308, // tabindex
- 0x186: 0x6502, // em
- 0x187: 0x27404, // lang
- 0x189: 0x39108, // dropzone
- 0x18a: 0x4080a, // onkeypress
- 0x18b: 0x23c08, // datetime
- 0x18c: 0x16204, // cols
- 0x18d: 0x1, // a
- 0x18e: 0x4420c, // onloadeddata
- 0x190: 0xa605, // audio
- 0x192: 0x2e05, // tbody
- 0x193: 0x22c06, // method
- 0x195: 0xf404, // loop
- 0x196: 0x29606, // iframe
- 0x198: 0x2d504, // head
- 0x19e: 0x5f108, // manifest
- 0x19f: 0xb309, // autofocus
- 0x1a0: 0x14904, // code
- 0x1a1: 0x55906, // strong
- 0x1a2: 0x30308, // multiple
- 0x1a3: 0xc05, // param
- 0x1a6: 0x21107, // enctype
- 0x1a7: 0x5b304, // face
- 0x1a8: 0xfd09, // plaintext
- 0x1a9: 0x26e02, // h1
- 0x1aa: 0x59509, // onstalled
- 0x1ad: 0x3d406, // script
- 0x1ae: 0x2db06, // spacer
- 0x1af: 0x55108, // onresize
- 0x1b0: 0x4a20b, // onmouseover
- 0x1b1: 0x5cc08, // onunload
- 0x1b2: 0x56708, // onseeked
- 0x1b4: 0x2140d, // typemustmatch
- 0x1b5: 0x1cc06, // figure
- 0x1b6: 0x4950a, // onmouseout
- 0x1b7: 0x25e03, // pre
- 0x1b8: 0x50705, // width
- 0x1b9: 0x19906, // sorted
- 0x1bb: 0x5704, // nobr
- 0x1be: 0x5302, // tt
- 0x1bf: 0x1105, // align
- 0x1c0: 0x3e607, // oninput
- 0x1c3: 0x41807, // onkeyup
- 0x1c6: 0x1c00c, // onafterprint
- 0x1c7: 0x210e, // accept-charset
- 0x1c8: 0x33c06, // itemid
- 0x1c9: 0x3e809, // inputmode
- 0x1cb: 0x53306, // strike
- 0x1cc: 0x5a903, // sub
- 0x1cd: 0x10505, // track
- 0x1ce: 0x38605, // start
- 0x1d0: 0xd608, // basefont
- 0x1d6: 0x1aa06, // source
- 0x1d7: 0x18206, // legend
- 0x1d8: 0x2d405, // thead
- 0x1da: 0x8c05, // tfoot
- 0x1dd: 0x1ec06, // object
- 0x1de: 0x6e05, // media
- 0x1df: 0x1670a, // annotation
- 0x1e0: 0x20d0b, // formenctype
- 0x1e2: 0x3d208, // noscript
- 0x1e4: 0x55505, // sizes
- 0x1e5: 0x1fc0c, // autocomplete
- 0x1e6: 0x9504, // span
- 0x1e7: 0x9808, // noframes
- 0x1e8: 0x24b06, // target
- 0x1e9: 0x38f06, // ondrop
- 0x1ea: 0x2b306, // applet
- 0x1ec: 0x5a08, // reversed
- 0x1f0: 0x2a907, // isindex
- 0x1f3: 0x27008, // hreflang
- 0x1f5: 0x2f302, // h5
- 0x1f6: 0x4f307, // address
- 0x1fa: 0x2e103, // max
- 0x1fb: 0xc30b, // placeholder
- 0x1fc: 0x2f608, // textarea
- 0x1fe: 0x4ad09, // onmouseup
- 0x1ff: 0x3800b, // ondragstart
+ 0x1: 0x8e0a, // mediagroup
+ 0x2: 0x2cc04, // lang
+ 0x4: 0x2c09, // accesskey
+ 0x5: 0x5708, // frameset
+ 0x7: 0x63608, // onselect
+ 0x8: 0x70b06, // system
+ 0xa: 0x64505, // width
+ 0xc: 0x2710b, // formenctype
+ 0xd: 0x10102, // ol
+ 0xe: 0x38b0b, // oncuechange
+ 0x10: 0x13403, // bdo
+ 0x11: 0xcf05, // audio
+ 0x12: 0x18309, // draggable
+ 0x14: 0x2d905, // video
+ 0x15: 0x29902, // mn
+ 0x16: 0x37b04, // menu
+ 0x17: 0x2b706, // poster
+ 0x19: 0xb306, // footer
+ 0x1a: 0x29006, // method
+ 0x1b: 0x2a008, // datetime
+ 0x1c: 0x17607, // onabort
+ 0x1d: 0x1200e, // updateviacache
+ 0x1e: 0xb905, // async
+ 0x1f: 0x49106, // onload
+ 0x21: 0xd308, // oncancel
+ 0x22: 0x62508, // onseeked
+ 0x23: 0x2ea05, // image
+ 0x24: 0x5d412, // onrejectionhandled
+ 0x26: 0x15d04, // link
+ 0x27: 0x51106, // output
+ 0x28: 0x32504, // head
+ 0x29: 0x4f30c, // onmouseleave
+ 0x2a: 0x57307, // onpaste
+ 0x2b: 0x59809, // onplaying
+ 0x2c: 0x1b407, // colspan
+ 0x2f: 0x1af05, // color
+ 0x30: 0x5f104, // size
+ 0x31: 0x2d00a, // http-equiv
+ 0x33: 0x601, // i
+ 0x34: 0x54d0a, // onpagehide
+ 0x35: 0x68814, // onunhandledrejection
+ 0x37: 0x41e07, // onerror
+ 0x3a: 0x11508, // basefont
+ 0x3f: 0x1303, // nav
+ 0x40: 0x18004, // kind
+ 0x41: 0x34b08, // readonly
+ 0x42: 0x2f006, // mglyph
+ 0x44: 0x11102, // li
+ 0x46: 0x2bd06, // hidden
+ 0x47: 0x70803, // svg
+ 0x48: 0x57704, // step
+ 0x49: 0x22709, // integrity
+ 0x4a: 0x57a06, // public
+ 0x4c: 0x19703, // col
+ 0x4d: 0x1680a, // blockquote
+ 0x4e: 0x34302, // h5
+ 0x50: 0x5ad08, // progress
+ 0x51: 0x5f105, // sizes
+ 0x52: 0x33902, // h4
+ 0x56: 0x32405, // thead
+ 0x57: 0x7e07, // keytype
+ 0x58: 0x5ab0a, // onprogress
+ 0x59: 0x43f09, // inputmode
+ 0x5a: 0x3a509, // ondragend
+ 0x5d: 0x39605, // oncut
+ 0x5e: 0x42b06, // spacer
+ 0x5f: 0x19708, // colgroup
+ 0x62: 0x14e02, // is
+ 0x65: 0xb902, // as
+ 0x66: 0x53c09, // onoffline
+ 0x67: 0x32b06, // sorted
+ 0x69: 0x48110, // onlanguagechange
+ 0x6c: 0x4310c, // onhashchange
+ 0x6d: 0xa604, // name
+ 0x6e: 0xb205, // tfoot
+ 0x6f: 0x55504, // desc
+ 0x70: 0x33103, // max
+ 0x72: 0x1da06, // coords
+ 0x73: 0x2f502, // h3
+ 0x74: 0x6e10e, // onbeforeunload
+ 0x75: 0x3a04, // rows
+ 0x76: 0x63806, // select
+ 0x77: 0xa805, // meter
+ 0x78: 0x37f06, // itemid
+ 0x79: 0x5300c, // onmousewheel
+ 0x7a: 0x5b406, // srcdoc
+ 0x7d: 0x17c05, // track
+ 0x7f: 0x30708, // itemtype
+ 0x82: 0x6302, // mo
+ 0x83: 0x40f08, // onchange
+ 0x84: 0x32507, // headers
+ 0x85: 0x5c80c, // onratechange
+ 0x86: 0x60419, // onsecuritypolicyviolation
+ 0x88: 0x49908, // datalist
+ 0x89: 0x4dc0b, // onmousedown
+ 0x8a: 0x1df04, // slot
+ 0x8b: 0x4a410, // onloadedmetadata
+ 0x8c: 0x1a06, // accept
+ 0x8d: 0x25006, // object
+ 0x91: 0x6af0e, // onvolumechange
+ 0x92: 0x2107, // charset
+ 0x93: 0x25e13, // onautocompleteerror
+ 0x94: 0x6913, // allowpaymentrequest
+ 0x95: 0x2804, // body
+ 0x96: 0xc407, // default
+ 0x97: 0x63808, // selected
+ 0x98: 0x20604, // face
+ 0x99: 0x1d505, // shape
+ 0x9b: 0x68008, // ontoggle
+ 0x9e: 0x64702, // dt
+ 0x9f: 0x6d904, // mark
+ 0xa1: 0xb01, // u
+ 0xa4: 0x6a708, // onunload
+ 0xa5: 0xde04, // loop
+ 0xa6: 0x14d08, // disabled
+ 0xaa: 0x41707, // onended
+ 0xab: 0x6d30a, // malignmark
+ 0xad: 0x67709, // onsuspend
+ 0xae: 0x34505, // mtext
+ 0xaf: 0x64b06, // onsort
+ 0xb0: 0x55908, // itemprop
+ 0xb3: 0x66d09, // itemscope
+ 0xb4: 0x15c05, // blink
+ 0xb6: 0x3a506, // ondrag
+ 0xb7: 0x6602, // ul
+ 0xb8: 0x25604, // form
+ 0xb9: 0xf307, // sandbox
+ 0xba: 0x5705, // frame
+ 0xbb: 0x1505, // value
+ 0xbc: 0x65e09, // onstorage
+ 0xc0: 0x17b02, // rt
+ 0xc2: 0x202, // br
+ 0xc3: 0x20e08, // fieldset
+ 0xc4: 0x2780d, // typemustmatch
+ 0xc5: 0x6108, // nomodule
+ 0xc6: 0x4007, // noembed
+ 0xc7: 0x69a0d, // onbeforeprint
+ 0xc8: 0x17206, // button
+ 0xc9: 0x2dd07, // onclick
+ 0xca: 0x6fe07, // summary
+ 0xcd: 0xac04, // ruby
+ 0xce: 0x5b905, // class
+ 0xcf: 0x3e80b, // ondragstart
+ 0xd0: 0x21907, // caption
+ 0xd4: 0x850e, // allowusermedia
+ 0xd5: 0x4c30b, // onloadstart
+ 0xd9: 0x15403, // div
+ 0xda: 0x49d04, // list
+ 0xdb: 0x32204, // math
+ 0xdc: 0x43f05, // input
+ 0xdf: 0x3de0a, // ondragover
+ 0xe0: 0x2c602, // h2
+ 0xe2: 0x19e09, // plaintext
+ 0xe4: 0x4e70c, // onmouseenter
+ 0xe7: 0x46d07, // checked
+ 0xe8: 0x46403, // pre
+ 0xea: 0x35308, // multiple
+ 0xeb: 0x16103, // bdi
+ 0xec: 0x33109, // maxlength
+ 0xed: 0x7701, // q
+ 0xee: 0x61b0a, // onauxclick
+ 0xf0: 0x57003, // wbr
+ 0xf2: 0x11504, // base
+ 0xf3: 0x6dd06, // option
+ 0xf5: 0x40710, // ondurationchange
+ 0xf7: 0x5508, // noframes
+ 0xf9: 0x3f908, // dropzone
+ 0xfb: 0x67105, // scope
+ 0xfc: 0x9c08, // reversed
+ 0xfd: 0x3ae0b, // ondragenter
+ 0xfe: 0x3ee05, // start
+ 0xff: 0xf903, // xmp
+ 0x100: 0x5f507, // srclang
+ 0x101: 0x2ef03, // img
+ 0x104: 0x101, // b
+ 0x105: 0x23c03, // for
+ 0x106: 0xc105, // aside
+ 0x107: 0x43d07, // oninput
+ 0x108: 0x34a04, // area
+ 0x109: 0x28c0a, // formmethod
+ 0x10a: 0x72004, // wrap
+ 0x10c: 0x22402, // rp
+ 0x10d: 0x45f0a, // onkeypress
+ 0x10e: 0x5102, // tt
+ 0x110: 0x33b02, // mi
+ 0x111: 0x35b05, // muted
+ 0x112: 0xb003, // alt
+ 0x113: 0x19004, // code
+ 0x114: 0x4202, // em
+ 0x115: 0x3b90a, // ondragexit
+ 0x117: 0x3d04, // span
+ 0x119: 0x30f08, // manifest
+ 0x11a: 0x37b08, // menuitem
+ 0x11b: 0x57f07, // content
+ 0x11d: 0x6bd09, // onwaiting
+ 0x11f: 0x4ba09, // onloadend
+ 0x121: 0x3720d, // oncontextmenu
+ 0x123: 0x5c206, // onblur
+ 0x124: 0x3f007, // article
+ 0x125: 0xa303, // dir
+ 0x126: 0xe704, // ping
+ 0x127: 0x23408, // required
+ 0x128: 0x44909, // oninvalid
+ 0x129: 0x6d405, // align
+ 0x12b: 0x57e04, // icon
+ 0x12c: 0x64902, // h6
+ 0x12d: 0x1b404, // cols
+ 0x12e: 0x2160a, // figcaption
+ 0x12f: 0x45209, // onkeydown
+ 0x130: 0x66708, // onsubmit
+ 0x131: 0x13609, // oncanplay
+ 0x132: 0x70503, // sup
+ 0x133: 0xc01, // p
+ 0x135: 0x3fe09, // onemptied
+ 0x136: 0x38506, // oncopy
+ 0x137: 0x55804, // cite
+ 0x138: 0x39b0a, // ondblclick
+ 0x13a: 0x4ff0b, // onmousemove
+ 0x13c: 0x66903, // sub
+ 0x13d: 0x47b03, // rel
+ 0x13e: 0xe008, // optgroup
+ 0x142: 0x3a07, // rowspan
+ 0x143: 0x36c06, // source
+ 0x144: 0x1fe08, // noscript
+ 0x145: 0x55f04, // open
+ 0x146: 0x1ec03, // ins
+ 0x147: 0x23c0d, // foreignObject
+ 0x148: 0x5a10a, // onpopstate
+ 0x14a: 0x27507, // enctype
+ 0x14b: 0x25e0e, // onautocomplete
+ 0x14c: 0x34608, // textarea
+ 0x14e: 0x2600c, // autocomplete
+ 0x14f: 0x14002, // hr
+ 0x150: 0x1ce08, // controls
+ 0x151: 0xc302, // id
+ 0x153: 0x21e0c, // onafterprint
+ 0x155: 0x2490d, // foreignobject
+ 0x156: 0x31b07, // marquee
+ 0x157: 0x58e07, // onpause
+ 0x158: 0x5e202, // dl
+ 0x159: 0x12c06, // height
+ 0x15a: 0x33b03, // min
+ 0x15b: 0xa307, // dirname
+ 0x15c: 0x1a609, // translate
+ 0x15d: 0x13004, // html
+ 0x15e: 0x33b09, // minlength
+ 0x15f: 0x47a07, // preload
+ 0x160: 0x70e08, // template
+ 0x161: 0x3d30b, // ondragleave
+ 0x164: 0x5b403, // src
+ 0x165: 0x31506, // strong
+ 0x167: 0x4c04, // samp
+ 0x168: 0x6ed07, // address
+ 0x169: 0x54508, // ononline
+ 0x16b: 0xfb0b, // placeholder
+ 0x16c: 0x2ac06, // target
+ 0x16d: 0x1ee05, // small
+ 0x16e: 0x6c607, // onwheel
+ 0x16f: 0x1b90a, // annotation
+ 0x170: 0x4680a, // spellcheck
+ 0x171: 0x4607, // details
+ 0x172: 0xbd06, // canvas
+ 0x173: 0xeb09, // autofocus
+ 0x174: 0xc05, // param
+ 0x176: 0x45708, // download
+ 0x177: 0x44603, // del
+ 0x178: 0x36007, // onclose
+ 0x179: 0x16003, // kbd
+ 0x17a: 0x30106, // applet
+ 0x17b: 0x2c804, // href
+ 0x17c: 0x5ed08, // onresize
+ 0x17e: 0x4910c, // onloadeddata
+ 0x180: 0x7402, // tr
+ 0x181: 0x2a80a, // formtarget
+ 0x182: 0xca05, // title
+ 0x183: 0x6f905, // style
+ 0x184: 0x7a06, // strike
+ 0x185: 0x59206, // usemap
+ 0x186: 0x2e406, // iframe
+ 0x187: 0x1004, // main
+ 0x189: 0x9707, // picture
+ 0x18c: 0x2fe05, // ismap
+ 0x18e: 0x49904, // data
+ 0x18f: 0xda05, // label
+ 0x191: 0x3c50e, // referrerpolicy
+ 0x192: 0x13f02, // th
+ 0x194: 0x52a06, // prompt
+ 0x195: 0x5bd07, // section
+ 0x197: 0x6cd07, // optimum
+ 0x198: 0x2c304, // high
+ 0x199: 0x14502, // h1
+ 0x19a: 0x65509, // onstalled
+ 0x19b: 0x15603, // var
+ 0x19c: 0x11c04, // time
+ 0x19e: 0x67002, // ms
+ 0x19f: 0x32506, // header
+ 0x1a0: 0x4ce09, // onmessage
+ 0x1a1: 0x56205, // nonce
+ 0x1a2: 0x2560a, // formaction
+ 0x1a3: 0x20806, // center
+ 0x1a4: 0x3704, // nobr
+ 0x1a5: 0x58905, // table
+ 0x1a6: 0x49d07, // listing
+ 0x1a7: 0x18a06, // legend
+ 0x1a9: 0x28309, // challenge
+ 0x1aa: 0x23006, // figure
+ 0x1ab: 0x8e05, // media
+ 0x1ae: 0x8104, // type
+ 0x1af: 0x11904, // font
+ 0x1b0: 0x4ce0e, // onmessageerror
+ 0x1b1: 0x36508, // seamless
+ 0x1b2: 0x5f03, // dfn
+ 0x1b3: 0x19205, // defer
+ 0x1b4: 0x6b03, // low
+ 0x1b5: 0x62d09, // onseeking
+ 0x1b6: 0x5170b, // onmouseover
+ 0x1b7: 0x29a0a, // novalidate
+ 0x1b8: 0x7160a, // workertype
+ 0x1ba: 0x3c107, // itemref
+ 0x1bd: 0x1, // a
+ 0x1be: 0x30003, // map
+ 0x1bf: 0x11a0c, // ontimeupdate
+ 0x1c0: 0x14707, // bgsound
+ 0x1c1: 0x3206, // keygen
+ 0x1c2: 0x2705, // tbody
+ 0x1c5: 0x64006, // onshow
+ 0x1c7: 0x2501, // s
+ 0x1c8: 0x4f07, // pattern
+ 0x1cc: 0x13610, // oncanplaythrough
+ 0x1ce: 0x2bf02, // dd
+ 0x1cf: 0x6f306, // srcset
+ 0x1d0: 0x15903, // big
+ 0x1d2: 0x64d08, // sortable
+ 0x1d3: 0x47407, // onkeyup
+ 0x1d5: 0x59806, // onplay
+ 0x1d7: 0x4ac04, // meta
+ 0x1d8: 0x3f706, // ondrop
+ 0x1da: 0x5fc08, // onscroll
+ 0x1db: 0x1e30b, // crossorigin
+ 0x1dc: 0x5670a, // onpageshow
+ 0x1dd: 0x4, // abbr
+ 0x1de: 0x5e02, // td
+ 0x1df: 0x57f0f, // contenteditable
+ 0x1e0: 0x25a06, // action
+ 0x1e1: 0x10a0b, // playsinline
+ 0x1e2: 0x42507, // onfocus
+ 0x1e3: 0x2c808, // hreflang
+ 0x1e5: 0x50a0a, // onmouseout
+ 0x1e6: 0x5e607, // onreset
+ 0x1e7: 0x10608, // autoplay
+ 0x1ea: 0x67106, // scoped
+ 0x1ec: 0x30a, // radiogroup
+ 0x1ee: 0x3740b, // contextmenu
+ 0x1ef: 0x52209, // onmouseup
+ 0x1f1: 0x2b206, // hgroup
+ 0x1f2: 0x1f00f, // allowfullscreen
+ 0x1f3: 0x4b208, // tabindex
+ 0x1f6: 0x2f707, // isindex
+ 0x1f7: 0x1a0e, // accept-charset
+ 0x1f8: 0x2960e, // formnovalidate
+ 0x1fb: 0x1b90e, // annotation-xml
+ 0x1fc: 0x4205, // embed
+ 0x1fd: 0x20006, // script
+ 0x1fe: 0x16206, // dialog
+ 0x1ff: 0x1c707, // command
}
-const atomText = "abbradiogrouparamalignmarkbdialogaccept-charsetbodyaccesskey" +
- "genavaluealtdetailsampatternobreversedfnoembedirnamediagroup" +
- "ingasyncanvasidefaultfooterowspanoframesetitleaudionblurubya" +
- "utofocusandboxmplaceholderautoplaybasefontimeupdatebdoncance" +
- "labelooptgrouplaintextrackindisabledivarbgsoundlowbrbigblink" +
- "blockquotebuttonabortranslatecodefercolgroupostercolorcolspa" +
- "nnotation-xmlcommandraggablegendcontrolsmallcoordsortedcross" +
- "originsourcefieldsetfigcaptionafterprintfigurequiredforeignO" +
- "bjectforeignobjectformactionautocompleteerrorformenctypemust" +
- "matchallengeformmethodformnovalidatetimeterformtargetheightm" +
- "lhgroupreloadhiddenhigh1hreflanghttp-equivideoncanplaythroug" +
- "h2iframeimageimglyph3isindexismappletitemscopeditemtypemarqu" +
- "eematheaderspacermaxlength4minlength5mtextareadonlymultiplem" +
- "utedonclickoncloseamlesspellcheckedoncontextmenuitemidoncuec" +
- "hangeondblclickondragendondragenterondragleaveondragoverondr" +
- "agstarticleondropzonemptiedondurationchangeonendedonerroronf" +
- "ocusrcdocitempropenoscriptonhashchangeoninputmodeloninvalido" +
- "nkeydownloadonkeypressrclangonkeyupublicontenteditableonlang" +
- "uagechangeonloadeddatalistingonloadedmetadatabindexonloadsta" +
- "rtonmessageonmousedownonmousemoveonmouseoutputonmouseoveronm" +
- "ouseuponmousewheelonofflineononlineonpagehidesclassectionbef" +
- "oreunloaddresshapeonpageshowidth6onpausemaponplayingonpopsta" +
- "teonprogresstrikeytypeonratechangeonresetonresizestrongonscr" +
- "ollonseekedonseekingonselectedonshowraponsortableonstalledon" +
- "storageonsubmitemrefacenteronsuspendontoggleonunloadonvolume" +
- "changeonwaitingoptimumanifestepromptoptionbeforeprintstylesu" +
- "mmarysupsvgsystemplate"
+const atomText = "abbradiogrouparamainavalueaccept-charsetbodyaccesskeygenobro" +
+ "wspanoembedetailsampatternoframesetdfnomoduleallowpaymentreq" +
+ "uestrikeytypeallowusermediagroupictureversedirnameterubyaltf" +
+ "ooterasyncanvasidefaultitleaudioncancelabelooptgroupingautof" +
+ "ocusandboxmplaceholderautoplaysinlinebasefontimeupdateviacac" +
+ "heightmlbdoncanplaythrough1bgsoundisabledivarbigblinkbdialog" +
+ "blockquotebuttonabortrackindraggablegendcodefercolgrouplaint" +
+ "extranslatecolorcolspannotation-xmlcommandcontrolshapecoords" +
+ "lotcrossoriginsmallowfullscreenoscriptfacenterfieldsetfigcap" +
+ "tionafterprintegrityfigurequiredforeignObjectforeignobjectfo" +
+ "rmactionautocompleteerrorformenctypemustmatchallengeformmeth" +
+ "odformnovalidatetimeformtargethgrouposterhiddenhigh2hreflang" +
+ "http-equivideonclickiframeimageimglyph3isindexismappletitemt" +
+ "ypemanifestrongmarqueematheadersortedmaxlength4minlength5mte" +
+ "xtareadonlymultiplemutedoncloseamlessourceoncontextmenuitemi" +
+ "doncopyoncuechangeoncutondblclickondragendondragenterondrage" +
+ "xitemreferrerpolicyondragleaveondragoverondragstarticleondro" +
+ "pzonemptiedondurationchangeonendedonerroronfocuspaceronhashc" +
+ "hangeoninputmodeloninvalidonkeydownloadonkeypresspellchecked" +
+ "onkeyupreloadonlanguagechangeonloadeddatalistingonloadedmeta" +
+ "databindexonloadendonloadstartonmessageerroronmousedownonmou" +
+ "seenteronmouseleaveonmousemoveonmouseoutputonmouseoveronmous" +
+ "eupromptonmousewheelonofflineononlineonpagehidescitempropeno" +
+ "nceonpageshowbronpastepublicontenteditableonpausemaponplayin" +
+ "gonpopstateonprogressrcdoclassectionbluronratechangeonreject" +
+ "ionhandledonresetonresizesrclangonscrollonsecuritypolicyviol" +
+ "ationauxclickonseekedonseekingonselectedonshowidth6onsortabl" +
+ "eonstalledonstorageonsubmitemscopedonsuspendontoggleonunhand" +
+ "ledrejectionbeforeprintonunloadonvolumechangeonwaitingonwhee" +
+ "loptimumalignmarkoptionbeforeunloaddressrcsetstylesummarysup" +
+ "svgsystemplateworkertypewrap"
diff --git a/vendor/golang.org/x/net/html/atom/table_test.go b/vendor/golang.org/x/net/html/atom/table_test.go
index 0f2ecce4f..16891054f 100644
--- a/vendor/golang.org/x/net/html/atom/table_test.go
+++ b/vendor/golang.org/x/net/html/atom/table_test.go
@@ -1,23 +1,28 @@
-// generated by go run gen.go -test; DO NOT EDIT
+// Code generated by go generate gen.go; DO NOT EDIT.
+
+//go:generate go run gen.go -test
package atom
var testAtomList = []string{
"a",
"abbr",
- "abbr",
"accept",
"accept-charset",
"accesskey",
"action",
"address",
"align",
+ "allowfullscreen",
+ "allowpaymentrequest",
+ "allowusermedia",
"alt",
"annotation",
"annotation-xml",
"applet",
"area",
"article",
+ "as",
"aside",
"async",
"audio",
@@ -43,7 +48,6 @@ var testAtomList = []string{
"charset",
"checked",
"cite",
- "cite",
"class",
"code",
"col",
@@ -52,7 +56,6 @@ var testAtomList = []string{
"cols",
"colspan",
"command",
- "command",
"content",
"contenteditable",
"contextmenu",
@@ -60,7 +63,6 @@ var testAtomList = []string{
"coords",
"crossorigin",
"data",
- "data",
"datalist",
"datetime",
"dd",
@@ -93,7 +95,6 @@ var testAtomList = []string{
"foreignObject",
"foreignobject",
"form",
- "form",
"formaction",
"formenctype",
"formmethod",
@@ -128,6 +129,8 @@ var testAtomList = []string{
"input",
"inputmode",
"ins",
+ "integrity",
+ "is",
"isindex",
"ismap",
"itemid",
@@ -140,7 +143,6 @@ var testAtomList = []string{
"keytype",
"kind",
"label",
- "label",
"lang",
"legend",
"li",
@@ -149,6 +151,7 @@ var testAtomList = []string{
"listing",
"loop",
"low",
+ "main",
"malignmark",
"manifest",
"map",
@@ -179,6 +182,8 @@ var testAtomList = []string{
"nobr",
"noembed",
"noframes",
+ "nomodule",
+ "nonce",
"noscript",
"novalidate",
"object",
@@ -187,6 +192,7 @@ var testAtomList = []string{
"onafterprint",
"onautocomplete",
"onautocompleteerror",
+ "onauxclick",
"onbeforeprint",
"onbeforeunload",
"onblur",
@@ -197,11 +203,14 @@ var testAtomList = []string{
"onclick",
"onclose",
"oncontextmenu",
+ "oncopy",
"oncuechange",
+ "oncut",
"ondblclick",
"ondrag",
"ondragend",
"ondragenter",
+ "ondragexit",
"ondragleave",
"ondragover",
"ondragstart",
@@ -221,9 +230,13 @@ var testAtomList = []string{
"onload",
"onloadeddata",
"onloadedmetadata",
+ "onloadend",
"onloadstart",
"onmessage",
+ "onmessageerror",
"onmousedown",
+ "onmouseenter",
+ "onmouseleave",
"onmousemove",
"onmouseout",
"onmouseover",
@@ -233,15 +246,18 @@ var testAtomList = []string{
"ononline",
"onpagehide",
"onpageshow",
+ "onpaste",
"onpause",
"onplay",
"onplaying",
"onpopstate",
"onprogress",
"onratechange",
+ "onrejectionhandled",
"onreset",
"onresize",
"onscroll",
+ "onsecuritypolicyviolation",
"onseeked",
"onseeking",
"onselect",
@@ -253,9 +269,11 @@ var testAtomList = []string{
"onsuspend",
"ontimeupdate",
"ontoggle",
+ "onunhandledrejection",
"onunload",
"onvolumechange",
"onwaiting",
+ "onwheel",
"open",
"optgroup",
"optimum",
@@ -264,9 +282,11 @@ var testAtomList = []string{
"p",
"param",
"pattern",
+ "picture",
"ping",
"placeholder",
"plaintext",
+ "playsinline",
"poster",
"pre",
"preload",
@@ -276,6 +296,7 @@ var testAtomList = []string{
"q",
"radiogroup",
"readonly",
+ "referrerpolicy",
"rel",
"required",
"reversed",
@@ -297,23 +318,23 @@ var testAtomList = []string{
"shape",
"size",
"sizes",
+ "slot",
"small",
"sortable",
"sorted",
"source",
"spacer",
"span",
- "span",
"spellcheck",
"src",
"srcdoc",
"srclang",
+ "srcset",
"start",
"step",
"strike",
"strong",
"style",
- "style",
"sub",
"summary",
"sup",
@@ -331,7 +352,6 @@ var testAtomList = []string{
"thead",
"time",
"title",
- "title",
"tr",
"track",
"translate",
@@ -340,12 +360,14 @@ var testAtomList = []string{
"typemustmatch",
"u",
"ul",
+ "updateviacache",
"usemap",
"value",
"var",
"video",
"wbr",
"width",
+ "workertype",
"wrap",
"xmp",
}
diff --git a/vendor/golang.org/x/net/html/const.go b/vendor/golang.org/x/net/html/const.go
index 52f651ff6..b37e62124 100644
--- a/vendor/golang.org/x/net/html/const.go
+++ b/vendor/golang.org/x/net/html/const.go
@@ -52,10 +52,12 @@ var isSpecialElementMap = map[string]bool{
"iframe": true,
"img": true,
"input": true,
- "isindex": true,
+ "isindex": true, // The 'isindex' element has been removed, but keep it for backwards compatibility.
+ "keygen": true,
"li": true,
"link": true,
"listing": true,
+ "main": true,
"marquee": true,
"menu": true,
"meta": true,
diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go
index e0dfe9f6a..adb77ffab 100644
--- a/vendor/golang.org/x/net/http2/transport.go
+++ b/vendor/golang.org/x/net/http2/transport.go
@@ -87,7 +87,7 @@ type Transport struct {
// MaxHeaderListSize is the http2 SETTINGS_MAX_HEADER_LIST_SIZE to
// send in the initial settings frame. It is how many bytes
- // of response headers are allow. Unlike the http2 spec, zero here
+ // of response headers are allowed. Unlike the http2 spec, zero here
// means to use a default limit (currently 10MB). If you actually
// want to advertise an ulimited value to the peer, Transport
// interprets the highest possible value here (0xffffffff or 1<<32-1)
@@ -172,9 +172,10 @@ type ClientConn struct {
fr *Framer
lastActive time.Time
// Settings from peer: (also guarded by mu)
- maxFrameSize uint32
- maxConcurrentStreams uint32
- initialWindowSize uint32
+ maxFrameSize uint32
+ maxConcurrentStreams uint32
+ peerMaxHeaderListSize uint64
+ initialWindowSize uint32
hbuf bytes.Buffer // HPACK encoder writes into this
henc *hpack.Encoder
@@ -519,17 +520,18 @@ func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) {
func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) {
cc := &ClientConn{
- t: t,
- tconn: c,
- readerDone: make(chan struct{}),
- nextStreamID: 1,
- maxFrameSize: 16 << 10, // spec default
- initialWindowSize: 65535, // spec default
- maxConcurrentStreams: 1000, // "infinite", per spec. 1000 seems good enough.
- streams: make(map[uint32]*clientStream),
- singleUse: singleUse,
- wantSettingsAck: true,
- pings: make(map[[8]byte]chan struct{}),
+ t: t,
+ tconn: c,
+ readerDone: make(chan struct{}),
+ nextStreamID: 1,
+ maxFrameSize: 16 << 10, // spec default
+ initialWindowSize: 65535, // spec default
+ maxConcurrentStreams: 1000, // "infinite", per spec. 1000 seems good enough.
+ peerMaxHeaderListSize: 0xffffffffffffffff, // "infinite", per spec. Use 2^64-1 instead.
+ streams: make(map[uint32]*clientStream),
+ singleUse: singleUse,
+ wantSettingsAck: true,
+ pings: make(map[[8]byte]chan struct{}),
}
if d := t.idleConnTimeout(); d != 0 {
cc.idleTimeout = d
@@ -1085,8 +1087,13 @@ func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (
var trls []byte
if hasTrailers {
cc.mu.Lock()
- defer cc.mu.Unlock()
- trls = cc.encodeTrailers(req)
+ trls, err = cc.encodeTrailers(req)
+ cc.mu.Unlock()
+ if err != nil {
+ cc.writeStreamReset(cs.ID, ErrCodeInternal, err)
+ cc.forgetStreamID(cs.ID)
+ return err
+ }
}
cc.wmu.Lock()
@@ -1189,62 +1196,86 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail
}
}
- // 8.1.2.3 Request Pseudo-Header Fields
- // The :path pseudo-header field includes the path and query parts of the
- // target URI (the path-absolute production and optionally a '?' character
- // followed by the query production (see Sections 3.3 and 3.4 of
- // [RFC3986]).
- cc.writeHeader(":authority", host)
- cc.writeHeader(":method", req.Method)
- if req.Method != "CONNECT" {
- cc.writeHeader(":path", path)
- cc.writeHeader(":scheme", req.URL.Scheme)
- }
- if trailers != "" {
- cc.writeHeader("trailer", trailers)
- }
+ enumerateHeaders := func(f func(name, value string)) {
+ // 8.1.2.3 Request Pseudo-Header Fields
+ // The :path pseudo-header field includes the path and query parts of the
+ // target URI (the path-absolute production and optionally a '?' character
+ // followed by the query production (see Sections 3.3 and 3.4 of
+ // [RFC3986]).
+ f(":authority", host)
+ f(":method", req.Method)
+ if req.Method != "CONNECT" {
+ f(":path", path)
+ f(":scheme", req.URL.Scheme)
+ }
+ if trailers != "" {
+ f("trailer", trailers)
+ }
- var didUA bool
- for k, vv := range req.Header {
- lowKey := strings.ToLower(k)
- switch lowKey {
- case "host", "content-length":
- // Host is :authority, already sent.
- // Content-Length is automatic, set below.
- continue
- case "connection", "proxy-connection", "transfer-encoding", "upgrade", "keep-alive":
- // Per 8.1.2.2 Connection-Specific Header
- // Fields, don't send connection-specific
- // fields. We have already checked if any
- // are error-worthy so just ignore the rest.
- continue
- case "user-agent":
- // Match Go's http1 behavior: at most one
- // User-Agent. If set to nil or empty string,
- // then omit it. Otherwise if not mentioned,
- // include the default (below).
- didUA = true
- if len(vv) < 1 {
+ var didUA bool
+ for k, vv := range req.Header {
+ if strings.EqualFold(k, "host") || strings.EqualFold(k, "content-length") {
+ // Host is :authority, already sent.
+ // Content-Length is automatic, set below.
continue
- }
- vv = vv[:1]
- if vv[0] == "" {
+ } else if strings.EqualFold(k, "connection") || strings.EqualFold(k, "proxy-connection") ||
+ strings.EqualFold(k, "transfer-encoding") || strings.EqualFold(k, "upgrade") ||
+ strings.EqualFold(k, "keep-alive") {
+ // Per 8.1.2.2 Connection-Specific Header
+ // Fields, don't send connection-specific
+ // fields. We have already checked if any
+ // are error-worthy so just ignore the rest.
continue
+ } else if strings.EqualFold(k, "user-agent") {
+ // Match Go's http1 behavior: at most one
+ // User-Agent. If set to nil or empty string,
+ // then omit it. Otherwise if not mentioned,
+ // include the default (below).
+ didUA = true
+ if len(vv) < 1 {
+ continue
+ }
+ vv = vv[:1]
+ if vv[0] == "" {
+ continue
+ }
+
+ }
+
+ for _, v := range vv {
+ f(k, v)
}
}
- for _, v := range vv {
- cc.writeHeader(lowKey, v)
+ if shouldSendReqContentLength(req.Method, contentLength) {
+ f("content-length", strconv.FormatInt(contentLength, 10))
+ }
+ if addGzipHeader {
+ f("accept-encoding", "gzip")
+ }
+ if !didUA {
+ f("user-agent", defaultUserAgent)
}
}
- if shouldSendReqContentLength(req.Method, contentLength) {
- cc.writeHeader("content-length", strconv.FormatInt(contentLength, 10))
- }
- if addGzipHeader {
- cc.writeHeader("accept-encoding", "gzip")
- }
- if !didUA {
- cc.writeHeader("user-agent", defaultUserAgent)
+
+ // Do a first pass over the headers counting bytes to ensure
+ // we don't exceed cc.peerMaxHeaderListSize. This is done as a
+ // separate pass before encoding the headers to prevent
+ // modifying the hpack state.
+ hlSize := uint64(0)
+ enumerateHeaders(func(name, value string) {
+ hf := hpack.HeaderField{Name: name, Value: value}
+ hlSize += uint64(hf.Size())
+ })
+
+ if hlSize > cc.peerMaxHeaderListSize {
+ return nil, errRequestHeaderListSize
}
+
+ // Header list size is ok. Write the headers.
+ enumerateHeaders(func(name, value string) {
+ cc.writeHeader(strings.ToLower(name), value)
+ })
+
return cc.hbuf.Bytes(), nil
}
@@ -1271,17 +1302,29 @@ func shouldSendReqContentLength(method string, contentLength int64) bool {
}
// requires cc.mu be held.
-func (cc *ClientConn) encodeTrailers(req *http.Request) []byte {
+func (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) {
cc.hbuf.Reset()
+
+ hlSize := uint64(0)
for k, vv := range req.Trailer {
- // Transfer-Encoding, etc.. have already been filter at the
+ for _, v := range vv {
+ hf := hpack.HeaderField{Name: k, Value: v}
+ hlSize += uint64(hf.Size())
+ }
+ }
+ if hlSize > cc.peerMaxHeaderListSize {
+ return nil, errRequestHeaderListSize
+ }
+
+ for k, vv := range req.Trailer {
+ // Transfer-Encoding, etc.. have already been filtered at the
// start of RoundTrip
lowKey := strings.ToLower(k)
for _, v := range vv {
cc.writeHeader(lowKey, v)
}
}
- return cc.hbuf.Bytes()
+ return cc.hbuf.Bytes(), nil
}
func (cc *ClientConn) writeHeader(name, value string) {
@@ -1789,6 +1832,14 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error {
}
return nil
}
+ if !cs.firstByte {
+ cc.logf("protocol error: received DATA before a HEADERS frame")
+ rl.endStreamError(cs, StreamError{
+ StreamID: f.StreamID,
+ Code: ErrCodeProtocol,
+ })
+ return nil
+ }
if f.Length > 0 {
// Check connection-level flow control.
cc.mu.Lock()
@@ -1903,6 +1954,8 @@ func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error {
cc.maxFrameSize = s.Val
case SettingMaxConcurrentStreams:
cc.maxConcurrentStreams = s.Val
+ case SettingMaxHeaderListSize:
+ cc.peerMaxHeaderListSize = uint64(s.Val)
case SettingInitialWindowSize:
// Values above the maximum flow-control
// window size of 2^31-1 MUST be treated as a
@@ -2069,6 +2122,7 @@ func (cc *ClientConn) writeStreamReset(streamID uint32, code ErrCode, err error)
var (
errResponseHeaderListSize = errors.New("http2: response header list larger than advertised limit")
+ errRequestHeaderListSize = errors.New("http2: request header list larger than peer's advertised limit")
errPseudoTrailers = errors.New("http2: invalid pseudo header in trailers")
)
diff --git a/vendor/golang.org/x/net/http2/transport_test.go b/vendor/golang.org/x/net/http2/transport_test.go
index ac4661f48..0126ff483 100644
--- a/vendor/golang.org/x/net/http2/transport_test.go
+++ b/vendor/golang.org/x/net/http2/transport_test.go
@@ -16,6 +16,7 @@ import (
"math/rand"
"net"
"net/http"
+ "net/http/httptest"
"net/url"
"os"
"reflect"
@@ -1370,6 +1371,269 @@ func testInvalidTrailer(t *testing.T, trailers headerType, wantErr error, writeT
ct.run()
}
+// headerListSize returns the HTTP2 header list size of h.
+// http://httpwg.org/specs/rfc7540.html#SETTINGS_MAX_HEADER_LIST_SIZE
+// http://httpwg.org/specs/rfc7540.html#MaxHeaderBlock
+func headerListSize(h http.Header) (size uint32) {
+ for k, vv := range h {
+ for _, v := range vv {
+ hf := hpack.HeaderField{Name: k, Value: v}
+ size += hf.Size()
+ }
+ }
+ return size
+}
+
+// padHeaders adds data to an http.Header until headerListSize(h) ==
+// limit. Due to the way header list sizes are calculated, padHeaders
+// cannot add fewer than len("Pad-Headers") + 32 bytes to h, and will
+// call t.Fatal if asked to do so. PadHeaders first reserves enough
+// space for an empty "Pad-Headers" key, then adds as many copies of
+// filler as possible. Any remaining bytes necessary to push the
+// header list size up to limit are added to h["Pad-Headers"].
+func padHeaders(t *testing.T, h http.Header, limit uint64, filler string) {
+ if limit > 0xffffffff {
+ t.Fatalf("padHeaders: refusing to pad to more than 2^32-1 bytes. limit = %v", limit)
+ }
+ hf := hpack.HeaderField{Name: "Pad-Headers", Value: ""}
+ minPadding := uint64(hf.Size())
+ size := uint64(headerListSize(h))
+
+ minlimit := size + minPadding
+ if limit < minlimit {
+ t.Fatalf("padHeaders: limit %v < %v", limit, minlimit)
+ }
+
+ // Use a fixed-width format for name so that fieldSize
+ // remains constant.
+ nameFmt := "Pad-Headers-%06d"
+ hf = hpack.HeaderField{Name: fmt.Sprintf(nameFmt, 1), Value: filler}
+ fieldSize := uint64(hf.Size())
+
+ // Add as many complete filler values as possible, leaving
+ // room for at least one empty "Pad-Headers" key.
+ limit = limit - minPadding
+ for i := 0; size+fieldSize < limit; i++ {
+ name := fmt.Sprintf(nameFmt, i)
+ h.Add(name, filler)
+ size += fieldSize
+ }
+
+ // Add enough bytes to reach limit.
+ remain := limit - size
+ lastValue := strings.Repeat("*", int(remain))
+ h.Add("Pad-Headers", lastValue)
+}
+
+func TestPadHeaders(t *testing.T) {
+ check := func(h http.Header, limit uint32, fillerLen int) {
+ if h == nil {
+ h = make(http.Header)
+ }
+ filler := strings.Repeat("f", fillerLen)
+ padHeaders(t, h, uint64(limit), filler)
+ gotSize := headerListSize(h)
+ if gotSize != limit {
+ t.Errorf("Got size = %v; want %v", gotSize, limit)
+ }
+ }
+ // Try all possible combinations for small fillerLen and limit.
+ hf := hpack.HeaderField{Name: "Pad-Headers", Value: ""}
+ minLimit := hf.Size()
+ for limit := minLimit; limit <= 128; limit++ {
+ for fillerLen := 0; uint32(fillerLen) <= limit; fillerLen++ {
+ check(nil, limit, fillerLen)
+ }
+ }
+
+ // Try a few tests with larger limits, plus cumulative
+ // tests. Since these tests are cumulative, tests[i+1].limit
+ // must be >= tests[i].limit + minLimit. See the comment on
+ // padHeaders for more info on why the limit arg has this
+ // restriction.
+ tests := []struct {
+ fillerLen int
+ limit uint32
+ }{
+ {
+ fillerLen: 64,
+ limit: 1024,
+ },
+ {
+ fillerLen: 1024,
+ limit: 1286,
+ },
+ {
+ fillerLen: 256,
+ limit: 2048,
+ },
+ {
+ fillerLen: 1024,
+ limit: 10 * 1024,
+ },
+ {
+ fillerLen: 1023,
+ limit: 11 * 1024,
+ },
+ }
+ h := make(http.Header)
+ for _, tc := range tests {
+ check(nil, tc.limit, tc.fillerLen)
+ check(h, tc.limit, tc.fillerLen)
+ }
+}
+
+func TestTransportChecksRequestHeaderListSize(t *testing.T) {
+ st := newServerTester(t,
+ func(w http.ResponseWriter, r *http.Request) {
+ // Consume body & force client to send
+ // trailers before writing response.
+ // ioutil.ReadAll returns non-nil err for
+ // requests that attempt to send greater than
+ // maxHeaderListSize bytes of trailers, since
+ // those requests generate a stream reset.
+ ioutil.ReadAll(r.Body)
+ r.Body.Close()
+ },
+ func(ts *httptest.Server) {
+ ts.Config.MaxHeaderBytes = 16 << 10
+ },
+ optOnlyServer,
+ optQuiet,
+ )
+ defer st.Close()
+
+ tr := &Transport{TLSClientConfig: tlsConfigInsecure}
+ defer tr.CloseIdleConnections()
+
+ checkRoundTrip := func(req *http.Request, wantErr error, desc string) {
+ res, err := tr.RoundTrip(req)
+ if err != wantErr {
+ if res != nil {
+ res.Body.Close()
+ }
+ t.Errorf("%v: RoundTrip err = %v; want %v", desc, err, wantErr)
+ return
+ }
+ if err == nil {
+ if res == nil {
+ t.Errorf("%v: response nil; want non-nil.", desc)
+ return
+ }
+ defer res.Body.Close()
+ if res.StatusCode != http.StatusOK {
+ t.Errorf("%v: response status = %v; want %v", desc, res.StatusCode, http.StatusOK)
+ }
+ return
+ }
+ if res != nil {
+ t.Errorf("%v: RoundTrip err = %v but response non-nil", desc, err)
+ }
+ }
+ headerListSizeForRequest := func(req *http.Request) (size uint64) {
+ contentLen := actualContentLength(req)
+ trailers, err := commaSeparatedTrailers(req)
+ if err != nil {
+ t.Fatalf("headerListSizeForRequest: %v", err)
+ }
+ cc := &ClientConn{peerMaxHeaderListSize: 0xffffffffffffffff}
+ cc.henc = hpack.NewEncoder(&cc.hbuf)
+ cc.mu.Lock()
+ hdrs, err := cc.encodeHeaders(req, true, trailers, contentLen)
+ cc.mu.Unlock()
+ if err != nil {
+ t.Fatalf("headerListSizeForRequest: %v", err)
+ }
+ hpackDec := hpack.NewDecoder(initialHeaderTableSize, func(hf hpack.HeaderField) {
+ size += uint64(hf.Size())
+ })
+ if len(hdrs) > 0 {
+ if _, err := hpackDec.Write(hdrs); err != nil {
+ t.Fatalf("headerListSizeForRequest: %v", err)
+ }
+ }
+ return size
+ }
+ // Create a new Request for each test, rather than reusing the
+ // same Request, to avoid a race when modifying req.Headers.
+ // See https://github.com/golang/go/issues/21316
+ newRequest := func() *http.Request {
+ // Body must be non-nil to enable writing trailers.
+ body := strings.NewReader("hello")
+ req, err := http.NewRequest("POST", st.ts.URL, body)
+ if err != nil {
+ t.Fatalf("newRequest: NewRequest: %v", err)
+ }
+ return req
+ }
+
+ // Make an arbitrary request to ensure we get the server's
+ // settings frame and initialize peerMaxHeaderListSize.
+ req := newRequest()
+ checkRoundTrip(req, nil, "Initial request")
+
+ // Get the ClientConn associated with the request and validate
+ // peerMaxHeaderListSize.
+ addr := authorityAddr(req.URL.Scheme, req.URL.Host)
+ cc, err := tr.connPool().GetClientConn(req, addr)
+ if err != nil {
+ t.Fatalf("GetClientConn: %v", err)
+ }
+ cc.mu.Lock()
+ peerSize := cc.peerMaxHeaderListSize
+ cc.mu.Unlock()
+ st.scMu.Lock()
+ wantSize := uint64(st.sc.maxHeaderListSize())
+ st.scMu.Unlock()
+ if peerSize != wantSize {
+ t.Errorf("peerMaxHeaderListSize = %v; want %v", peerSize, wantSize)
+ }
+
+ // Sanity check peerSize. (*serverConn) maxHeaderListSize adds
+ // 320 bytes of padding.
+ wantHeaderBytes := uint64(st.ts.Config.MaxHeaderBytes) + 320
+ if peerSize != wantHeaderBytes {
+ t.Errorf("peerMaxHeaderListSize = %v; want %v.", peerSize, wantHeaderBytes)
+ }
+
+ // Pad headers & trailers, but stay under peerSize.
+ req = newRequest()
+ req.Header = make(http.Header)
+ req.Trailer = make(http.Header)
+ filler := strings.Repeat("*", 1024)
+ padHeaders(t, req.Trailer, peerSize, filler)
+ // cc.encodeHeaders adds some default headers to the request,
+ // so we need to leave room for those.
+ defaultBytes := headerListSizeForRequest(req)
+ padHeaders(t, req.Header, peerSize-defaultBytes, filler)
+ checkRoundTrip(req, nil, "Headers & Trailers under limit")
+
+ // Add enough header bytes to push us over peerSize.
+ req = newRequest()
+ req.Header = make(http.Header)
+ padHeaders(t, req.Header, peerSize, filler)
+ checkRoundTrip(req, errRequestHeaderListSize, "Headers over limit")
+
+ // Push trailers over the limit.
+ req = newRequest()
+ req.Trailer = make(http.Header)
+ padHeaders(t, req.Trailer, peerSize+1, filler)
+ checkRoundTrip(req, errRequestHeaderListSize, "Trailers over limit")
+
+ // Send headers with a single large value.
+ req = newRequest()
+ filler = strings.Repeat("*", int(peerSize))
+ req.Header = make(http.Header)
+ req.Header.Set("Big", filler)
+ checkRoundTrip(req, errRequestHeaderListSize, "Single large header")
+
+ // Send trailers with a single large value.
+ req = newRequest()
+ req.Trailer = make(http.Header)
+ req.Trailer.Set("Big", filler)
+ checkRoundTrip(req, errRequestHeaderListSize, "Single large trailer")
+}
+
func TestTransportChecksResponseHeaderListSize(t *testing.T) {
ct := newClientTester(t)
ct.client = func() error {
@@ -2662,7 +2926,7 @@ func TestTransportRequestPathPseudo(t *testing.T) {
},
}
for i, tt := range tests {
- cc := &ClientConn{}
+ cc := &ClientConn{peerMaxHeaderListSize: 0xffffffffffffffff}
cc.henc = hpack.NewEncoder(&cc.hbuf)
cc.mu.Lock()
hdrs, err := cc.encodeHeaders(tt.req, false, "", -1)
@@ -3036,6 +3300,60 @@ func TestTransportRetryHasLimit(t *testing.T) {
ct.run()
}
+func TestTransportResponseDataBeforeHeaders(t *testing.T) {
+ ct := newClientTester(t)
+ ct.client = func() error {
+ defer ct.cc.(*net.TCPConn).CloseWrite()
+ req := httptest.NewRequest("GET", "https://dummy.tld/", nil)
+ // First request is normal to ensure the check is per stream and not per connection.
+ _, err := ct.tr.RoundTrip(req)
+ if err != nil {
+ return fmt.Errorf("RoundTrip expected no error, got: %v", err)
+ }
+ // Second request returns a DATA frame with no HEADERS.
+ resp, err := ct.tr.RoundTrip(req)
+ if err == nil {
+ return fmt.Errorf("RoundTrip expected error, got response: %+v", resp)
+ }
+ if err, ok := err.(StreamError); !ok || err.Code != ErrCodeProtocol {
+ return fmt.Errorf("expected stream PROTOCOL_ERROR, got: %v", err)
+ }
+ return nil
+ }
+ ct.server = func() error {
+ ct.greet()
+ for {
+ f, err := ct.fr.ReadFrame()
+ if err == io.EOF {
+ return nil
+ } else if err != nil {
+ return err
+ }
+ switch f := f.(type) {
+ case *WindowUpdateFrame, *SettingsFrame:
+ case *HeadersFrame:
+ switch f.StreamID {
+ case 1:
+ // Send a valid response to first request.
+ var buf bytes.Buffer
+ enc := hpack.NewEncoder(&buf)
+ enc.WriteField(hpack.HeaderField{Name: ":status", Value: "200"})
+ ct.fr.WriteHeaders(HeadersFrameParam{
+ StreamID: f.StreamID,
+ EndHeaders: true,
+ EndStream: true,
+ BlockFragment: buf.Bytes(),
+ })
+ case 3:
+ ct.fr.WriteData(f.StreamID, true, []byte("payload"))
+ }
+ default:
+ return fmt.Errorf("Unexpected client frame %v", f)
+ }
+ }
+ }
+ ct.run()
+}
func TestTransportRequestsStallAtServerLimit(t *testing.T) {
const maxConcurrent = 2
@@ -3318,3 +3636,51 @@ func TestTransportNoBodyMeansNoDATA(t *testing.T) {
}
ct.run()
}
+
+func benchSimpleRoundTrip(b *testing.B, nHeaders int) {
+ defer disableGoroutineTracking()()
+ b.ReportAllocs()
+ st := newServerTester(b,
+ func(w http.ResponseWriter, r *http.Request) {
+ },
+ optOnlyServer,
+ optQuiet,
+ )
+ defer st.Close()
+
+ tr := &Transport{TLSClientConfig: tlsConfigInsecure}
+ defer tr.CloseIdleConnections()
+
+ req, err := http.NewRequest("GET", st.ts.URL, nil)
+ if err != nil {
+ b.Fatal(err)
+ }
+
+ for i := 0; i < nHeaders; i++ {
+ name := fmt.Sprint("A-", i)
+ req.Header.Set(name, "*")
+ }
+
+ b.ResetTimer()
+
+ for i := 0; i < b.N; i++ {
+ res, err := tr.RoundTrip(req)
+ if err != nil {
+ if res != nil {
+ res.Body.Close()
+ }
+ b.Fatalf("RoundTrip err = %v; want nil", err)
+ }
+ res.Body.Close()
+ if res.StatusCode != http.StatusOK {
+ b.Fatalf("Response code = %v; want %v", res.StatusCode, http.StatusOK)
+ }
+ }
+}
+
+func BenchmarkClientRequestHeaders(b *testing.B) {
+ b.Run(" 0 Headers", func(b *testing.B) { benchSimpleRoundTrip(b, 0) })
+ b.Run(" 10 Headers", func(b *testing.B) { benchSimpleRoundTrip(b, 10) })
+ b.Run(" 100 Headers", func(b *testing.B) { benchSimpleRoundTrip(b, 100) })
+ b.Run("1000 Headers", func(b *testing.B) { benchSimpleRoundTrip(b, 1000) })
+}
diff --git a/vendor/golang.org/x/net/idna/idna.go b/vendor/golang.org/x/net/idna/idna.go
index eb2473507..ec8232b2e 100644
--- a/vendor/golang.org/x/net/idna/idna.go
+++ b/vendor/golang.org/x/net/idna/idna.go
@@ -167,7 +167,7 @@ type options struct {
bidirule func(s string) bool
}
-// A Profile defines the configuration of a IDNA mapper.
+// A Profile defines the configuration of an IDNA mapper.
type Profile struct {
options
}
diff --git a/vendor/golang.org/x/net/idna/idna_test.go b/vendor/golang.org/x/net/idna/idna_test.go
index b1bc6fa22..0b067cac9 100644
--- a/vendor/golang.org/x/net/idna/idna_test.go
+++ b/vendor/golang.org/x/net/idna/idna_test.go
@@ -39,5 +39,70 @@ func TestIDNA(t *testing.T) {
}
}
+func TestIDNASeparators(t *testing.T) {
+ type subCase struct {
+ unicode string
+ wantASCII string
+ wantErr bool
+ }
+
+ testCases := []struct {
+ name string
+ profile *Profile
+ subCases []subCase
+ }{
+ {
+ name: "Punycode", profile: Punycode,
+ subCases: []subCase{
+ {"example\u3002jp", "xn--examplejp-ck3h", false},
+ {"東京\uFF0Ejp", "xn--jp-l92cn98g071o", false},
+ {"大阪\uFF61jp", "xn--jp-ku9cz72u463f", false},
+ },
+ },
+ {
+ name: "Lookup", profile: Lookup,
+ subCases: []subCase{
+ {"example\u3002jp", "example.jp", false},
+ {"東京\uFF0Ejp", "xn--1lqs71d.jp", false},
+ {"大阪\uFF61jp", "xn--pssu33l.jp", false},
+ },
+ },
+ {
+ name: "Display", profile: Display,
+ subCases: []subCase{
+ {"example\u3002jp", "example.jp", false},
+ {"東京\uFF0Ejp", "xn--1lqs71d.jp", false},
+ {"大阪\uFF61jp", "xn--pssu33l.jp", false},
+ },
+ },
+ {
+ name: "Registration", profile: Registration,
+ subCases: []subCase{
+ {"example\u3002jp", "", true},
+ {"東京\uFF0Ejp", "", true},
+ {"大阪\uFF61jp", "", true},
+ },
+ },
+ }
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ for _, c := range tc.subCases {
+ gotA, err := tc.profile.ToASCII(c.unicode)
+ if c.wantErr {
+ if err == nil {
+ t.Errorf("ToASCII(%q): got no error, but an error expected", c.unicode)
+ }
+ } else {
+ if err != nil {
+ t.Errorf("ToASCII(%q): got err=%v, but no error expected", c.unicode, err)
+ } else if gotA != c.wantASCII {
+ t.Errorf("ToASCII(%q): got %q, want %q", c.unicode, gotA, c.wantASCII)
+ }
+ }
+ }
+ })
+ }
+}
+
// TODO(nigeltao): test errors, once we've specified when ToASCII and ToUnicode
// return errors.
diff --git a/vendor/golang.org/x/net/proxy/socks5.go b/vendor/golang.org/x/net/proxy/socks5.go
index 2efec6e8d..2d7978fe4 100644
--- a/vendor/golang.org/x/net/proxy/socks5.go
+++ b/vendor/golang.org/x/net/proxy/socks5.go
@@ -12,7 +12,7 @@ import (
)
// SOCKS5 returns a Dialer that makes SOCKSv5 connections to the given address
-// with an optional username and password. See RFC 1928.
+// with an optional username and password. See RFC 1928 and 1929.
func SOCKS5(network, addr string, auth *Auth, forward Dialer) (Dialer, error) {
s := &socks5{
network: network,
@@ -120,6 +120,7 @@ func (s *socks5) connect(conn net.Conn, target string) error {
return errors.New("proxy: SOCKS5 proxy at " + s.addr + " requires authentication")
}
+ // See RFC 1929
if buf[1] == socks5AuthPassword {
buf = buf[:0]
buf = append(buf, 1 /* password protocol version */)
diff --git a/vendor/golang.org/x/net/publicsuffix/gen.go b/vendor/golang.org/x/net/publicsuffix/gen.go
index a2d499529..f85a3c32b 100644
--- a/vendor/golang.org/x/net/publicsuffix/gen.go
+++ b/vendor/golang.org/x/net/publicsuffix/gen.go
@@ -37,7 +37,7 @@ import (
const (
// These sum of these four values must be no greater than 32.
- nodesBitsChildren = 9
+ nodesBitsChildren = 10
nodesBitsICANN = 1
nodesBitsTextOffset = 15
nodesBitsTextLength = 6
diff --git a/vendor/golang.org/x/net/publicsuffix/table.go b/vendor/golang.org/x/net/publicsuffix/table.go
index 50f070a92..549511c88 100644
--- a/vendor/golang.org/x/net/publicsuffix/table.go
+++ b/vendor/golang.org/x/net/publicsuffix/table.go
@@ -2,10 +2,10 @@
package publicsuffix
-const version = "publicsuffix.org's public_suffix_list.dat, git revision f47d806df99585862c8426c3e064a50eb5a278f5 (2017-06-14T11:49:01Z)"
+const version = "publicsuffix.org's public_suffix_list.dat, git revision 38b238d6324042f2c2e6270459d1f4ccfe789fba (2017-08-28T20:09:01Z)"
const (
- nodesBitsChildren = 9
+ nodesBitsChildren = 10
nodesBitsICANN = 1
nodesBitsTextOffset = 15
nodesBitsTextLength = 6
@@ -23,453 +23,459 @@ const (
)
// numTLD is the number of top level domains.
-const numTLD = 1549
+const numTLD = 1557
// Text is the combined text of all labels.
-const text = "bifukagawalterbihorologybikedagestangeorgeorgiaxasnesoddenmarkha" +
- "ngelskjakdnepropetrovskiervaapsteiermarkaragandabruzzoologicalvi" +
- "nklein-addrammenuernberggfarmerseine12bilbaogakidsmynasushiobara" +
- "gusartsalangeninohekinannestadray-dnsiskinkyotobetsumidatlantica" +
- "tholicheltenham-radio-opencraftranagatorodoybillustrationinomiya" +
- "konojosoyrorosalondonetskarpaczeladzjavald-aostarnbergladegreevj" +
- "e-og-hornnesaltdalimitedraydnsupdaternopilawabioceanographiquebi" +
- "rdartcenterprisesakikuchikuseikarugamvikaruizawabirkenesoddtange" +
- "novaraumalopolskanlandrivelandrobaknoluoktachikawakembuchikumaga" +
- "yagawakkanaibetsubamericanfamilydscloudcontrolledekafjordrudunsa" +
- "lvadordalibabalatinord-aurdalvdalaskanittedallasalleasinglesuran" +
- "certmgretagajobojinzais-a-candidatebirthplacebjarkoybjerkreimbal" +
- "sfjordgcahcesuolocus-1bjugnirasakis-a-catererblockbustermezlglas" +
- "sassinationalheritagematsubarakawagoebloombergbauernishiazais-a-" +
- "celticsfanishigoddabloxcmsalzburgliwicebluedancebmoattachmentsam" +
- "egawabmsamnangerbmwegroweibolzanordkappgafanquannefrankfurtjmaxx" +
- "xboxenapponazure-mobilebnpparibaselburglobalashovhachinohedmarka" +
- "rumaifarmsteadupontariomutashinais-a-chefarsundurbanamexnethnolo" +
- "gybnrweirbonnishiharabookinglobodoes-itvedestrandurhamburglogowf" +
- "ashionishiizunazukis-a-conservativefsnillfjordvrcambridgestonexu" +
- "s-2bootsamsclubindalimoliserniaboschaefflerdalindashorokanaiebos" +
- "tikasaokaminokawanishiaizubangebostonakijinsekikogentingloppenza" +
- "ogashimadachicagoboatsamsungmbhartiffanybotanicalgardenishikatak" +
- "ayamatta-varjjatjometlifeinsurancebotanicgardenishikatsuragithub" +
- "usercontentjxfinitybotanybouncemerckmsdnipropetrovskjervoyagebou" +
- "nty-fullensakerrypropertiesandvikcoromantovalle-d-aostatic-acces" +
- "sanfranciscofreakunemurorangeiseiyoichippubetsubetsugaruhrboutiq" +
- "uebecngminakamichiharabozentsujiiebplacedogawarabikomaezakirunor" +
- "dlandvrdnsangoppdalindesnesanjournalismailillesandefjordyndns-at" +
- "-workinggroupaleobrandywinevalleybrasiliabresciabrindisibenikebr" +
- "istoloslocalhistorybritishcolumbialowiezachpomorskienishikawazuk" +
- "amitondabayashiogamagoriziabroadcastlegallocalhostrodawaravennag" +
- "asukebroadwaybroke-itkmaxxjaworznowtvalled-aostavangerbrokerbron" +
- "noysundyndns-blogdnsannanishimerabrothermesaverdeatnurembergmode" +
- "nakasatsunais-a-cpadualstackspace-to-rentalstomakomaibarabrowser" +
- "safetymarketsannohelplfinancialivornobrumunddalombardiamondsanok" +
- "ashibatakashimaseratis-a-cubicle-slavellinotteroybrunelasticbean" +
- "stalkashiharabrusselsantabarbarabruxellesantacruzsantafedjeffers" +
- "onishinomiyashironobryanskleppalermomahachijorpelandyndns-freebo" +
- "x-ostrowwlkpmgmxn--0trq7p7nnishinoomotegobrynewhollandyndns-home" +
- "dnsanukis-a-democratmpalmspringsakerbuskerudinewmexicodyn-vpnplu" +
- "sterbuzenishinoshimattelefonicarbonia-iglesias-carboniaiglesiasc" +
- "arboniabuzzpamperedchefastlylbaltimore-og-romsdalwaysdatabasebal" +
- "langenoamishirasatochigiessensiositelemarkarateu-1bwhalingrimsta" +
- "dyndns-ipirangaulardalombardynamisches-dnsaotomemergencyachtsapo" +
- "dlasiellaktyubinskiptveterinairealtorlandyndns-mailomzaporizhzhe" +
- "guris-a-designerimarumorimachidabzhitomirumalselvendrellorenskog" +
- "ripescaravantaacondoshichinohealth-carereformitakeharaconference" +
- "constructionconsuladoesntexistanbullensvanguardyndns1consultanth" +
- "ropologyconsultingvolluroycontactoyotsukaidownloadynnsaskatchewa" +
- "ncontemporaryarteducationalchikugodoharuovatoyouracontractorsken" +
- "conventureshinodesashibetsuikinderoycookingchannelblagdenesnaase" +
- "ralingenkainanaejrietisalatinabenonichernivtsiciliacoolkuszczytn" +
- "ore-og-uvdalutskasuyameldaluxembourgrpanamacooperaunitenrightath" +
- "omeftpanasonichernovtsykkylvenetogakushimotoganewspapercopenhage" +
- "ncyclopedichirurgiens-dentistes-en-francecorsicagliaridagawarsza" +
- "washingtondclkaszubycorvettevadsoccertificationcosenzagancosidns" +
- "dojoetsuwanouchikujogaszkoladbrokesassaris-a-huntercostumedio-ca" +
- "mpidano-mediocampidanomediocouchpotatofriesatxn--11b4c3dynv6coun" +
- "ciluxurycouponsaudacoursesauheradynvpnchiryukyuragifuchungbukhar" +
- "acq-acranbrookuwanalyticsavannahgacreditcardyroyrvikingruecredit" +
- "unioncremonashgabadaddjambyluzerncrewiiheyakagecricketrzyncrimea" +
- "st-kazakhstanangercrotonextdirectoystre-slidrettozawacrownprovid" +
- "ercrsvparaglidinguitarsaves-the-whalessandria-trani-barletta-and" +
- "riatranibarlettaandriacruisesavonaplesaxocryptonomichigangwoncui" +
- "sinellahppiacenzakopanerairguardiannakadomarinebraskaunjargalsac" +
- "eoculturalcentertainmentozsdeltaitogliattiresbschokoladencuneocu" +
- "pcakecxn--12c1fe0bradescorporationcyberlevagangaviikanonjis-a-kn" +
- "ightpointtokaizukamikitayamatsuris-a-landscapercymrussiacyonabar" +
- "ulvikatowicecyouthdfcbankatsushikabeeldengeluidfidonnakamurataji" +
- "mibuildingulenfieldfiguerestaurantraniandriabarlettatraniandriaf" +
- "ilateliafilegearthachiojiyahoofilminamidaitomangotsukisosakitaga" +
- "wafinalfinancefineartschwarzgwangjuifminamiechizenfinlandfinnoyf" +
- "irebaseapparisor-fronfirenzefirestonefirmdaleirvikaufenfishingol" +
- "ffanschweizwildlifedorainfracloudfrontdoorfitjarmeniafitnessettl" +
- "ementranoyfjalerflesbergunmarburguovdageaidnuslivinghistoryflick" +
- "ragerotikakamigaharaflightsciencecentersciencehistoryflirflogint" +
- "ogurafloraflorencefloridavvesiidazaifudaigojomedizinhistorisches" +
- "cientistoragefloripaderbornfloristanohatakahamangyshlakasamatsud" +
- "ontexisteingeekautokeinoflorogerscjohnsonflowerscotlandflynnhuba" +
- "mblefrakkestadiscountysnes3-sa-east-1fndfoodnetworkshoppingushik" +
- "amifuranortonsbergxn--12co0c3b4evalleaostatoilfor-ourfor-someetn" +
- "edalfor-theaterforexrothachirogatakahatakaishimogosenforgotdnscr" +
- "apper-siteforli-cesena-forlicesenaforlikescandynamic-dnscrapping" +
- "forsaleitungsenforsandasuolodingenfortmissoulair-traffic-control" +
- "leyfortworthadanosegawaforuminamifuranofosneserveftparliamentran" +
- "sportransurlfotaruis-a-lawyerfoxfordedyn-ip24freeboxoservegame-s" +
- "erversailleservehalflifestylefreemasonryfreetlservehttparmafreib" +
- "urgfreightcminamiiselectrapaniimimatakatoris-a-liberalfresenius-" +
- "3fribourgfriuli-v-giuliafriuli-ve-giuliafriuli-vegiuliafriuli-ve" +
- "nezia-giuliafriuli-veneziagiuliafriuli-vgiuliafriuliv-giuliafriu" +
- "live-giuliafriulivegiuliafriulivenezia-giuliafriuliveneziagiulia" +
- "friulivgiuliafrlfroganservehumourfrognfrolandfrom-akrehamnfrom-a" +
- "lfrom-arqhadselfiparocherkasyno-dserveirchitachinakagawassamukaw" +
- "ataricohdatsunanjoburgriwataraidyndns-office-on-the-webcampobass" +
- "ociatesapporofrom-azfrom-capebretonamiastapleserveminecraftravel" +
- "channelfrom-collectionfrom-ctravelersinsurancefrom-dchitosetogit" +
- "suldalotenkawafrom-defenseljordfrom-flanderservemp3from-gausdalf" +
- "rom-higashiagatsumagoizumizakirkeneservep2parservepicservequakef" +
- "rom-iafrom-idfrom-ilfrom-incheonfrom-kservesarcasmatartanddesign" +
- "from-kyowariasahikawafrom-lajollamericanexpressexyfrom-maniwakur" +
- "atextileksvikazofrom-mdfrom-megurokunohealthcareerservicesettsur" +
- "geonshalloffamemorialfrom-microsoftbankazunofrom-mnfrom-modellin" +
- "gfrom-msevastopolefrom-mtnfrom-nchloefrom-ndfrom-nefrom-nhktrdfr" +
- "om-njcbnlfrom-nminamiizukamisatokamachintaifun-dnsaliasdaburfrom" +
- "-nvalledaostavernfrom-nyfrom-ohkurafrom-oketohmannorth-kazakhsta" +
- "nfrom-orfrom-padovaksdalfrom-pratohnoshoooshikamaishimodatefrom-" +
- "rivnefrom-schoenbrunnfrom-sdfrom-tnfrom-txn--1ck2e1bananarepubli" +
- "caseihichisobetsuitainairforcechirealminamiawajikibmdiscoveryomb" +
- "ondishakotanavigationavoiitatebayashiibahcavuotnagaraholtaleniwa" +
- "izumiotsukumiyamazonawsadodgemologicallyngenvironmentalconservat" +
- "ionavuotnaklodzkodairassnasabaerobaticketselinogradultashkentata" +
- "motors3-ap-northeast-2from-utazuerichardlillehammerfeste-ipartis" +
- "-a-libertarianfrom-val-daostavalleyfrom-vtrentino-a-adigefrom-wa" +
- "from-wielunnerfrom-wvallee-aosteroyfrom-wyfrosinonefrostalowa-wo" +
- "lawafroyahikobeardubaiduckdnsevenassisicilyfstcgroupartnersewill" +
- "iamhillfujiiderafujikawaguchikonefujiminohtawaramotoineppubologn" +
- "akanotoddenfujinomiyadafujiokayamansionsfranziskanerdpolicefujis" +
- "atoshonairtelecityeatsharis-a-linux-useranishiaritabashijonawate" +
- "fujisawafujishiroishidakabiratoridefinimakanegasakindlegokasells" +
- "-for-lessharpartshawaiijimarugame-hostrolekameokameyamatotakadaf" +
- "ujitsurugashimaritimekeepingfujixeroxn--1ctwolominamatakkokamino" +
- "yamaxunusualpersonfujiyoshidafukayabeatshellaspeziafukuchiyamada" +
- "fukudominichocolatemasekashiwazakiyosatokashikiyosemitefukuis-a-" +
- "llamarylandfukumitsubishigakirovogradoyfukuokazakiryuohaebarumin" +
- "amimakis-a-musicianfukuroishikarikaturindalfukusakisarazurewebsi" +
- "teshikagamiishibukawafukuyamagatakaharustkanoyakumoldeloittexasc" +
- "olipicenoipifonynysaarlandfunabashiriuchinadafunagatakahashimama" +
- "kishiwadafunahashikamiamakusatsumasendaisennangonohejis-a-nascar" +
- "fanfundaciofuoiskujukuriyamanxn--1lqs03nfuosskoczowinbarcelonaga" +
- "sakijobserverisignieznord-frontiereviewskrakowedeployomitanobihi" +
- "rosakikamijimastronomy-gatewaybomloans3-ap-south-1furnituredston" +
- "efurubiraquarelleborkangerfurudonostiaarpartyfurukawairtrafficho" +
- "funatoriginsurecifedexhibitionishiokoppegardyndns-picsardegnamss" +
- "koganeis-a-doctorayfusodegaurafussaikisofukushimaoris-a-nurserve" +
- "bbshimojis-a-painteractivegarsheis-a-patsfanfutabayamaguchinomig" +
- "awafutboldlygoingnowhere-for-moregontrailroadfuttsurugimperiafut" +
- "urehostingfuturemailingfvgfyis-a-personaltrainerfylkesbiblackfri" +
- "dayfyresdalhangoutsystemscloudfunctionshimokawahannanmokuizumode" +
- "rnhannotaireshimokitayamahanyuzenhapmirhareidsbergenharstadharve" +
- "stcelebrationhasamarcheapassagenshimonitayanagitlaborhasaminami-" +
- "alpssells-itrentino-aadigehashbanghasudahasura-appassenger-assoc" +
- "iationhasvikddielddanuorrikuzentakataiwanairlinedre-eikerhatogay" +
- "aitakamoriokalmykiahatoyamazakitahiroshimarnardalhatsukaichikais" +
- "eis-a-republicancerresearchaeologicaliforniahattfjelldalhayashim" +
- "amotobungotakadapliernewjerseyhazuminobusellsyourhomegoodshimono" +
- "sekikawahboehringerikehelsinkitakamiizumisanofidelitysvardollshi" +
- "mosuwalkis-a-rockstarachowicehembygdsforbundhemneshimotsukehemse" +
- "dalhepforgeherokussldheroyhgtvalleeaosteigenhigashichichibunkyon" +
- "anaoshimageandsoundandvisionhigashihiroshimanehigashiizumozakita" +
- "katakanabeautydalhigashikagawahigashikagurasoedahigashikawakitaa" +
- "ikitakyushuaiahigashikurumeiwamarriottrentino-alto-adigehigashim" +
- "atsushimarshallstatebankfhappouhigashimatsuyamakitaakitadaitoiga" +
- "wahigashimurayamamotorcycleshimotsumahigashinarusembokukitamidor" +
- "is-a-socialistmein-vigorgehigashinehigashiomihachimanchesterhiga" +
- "shiosakasayamanakakogawahigashishirakawamatakanezawahigashisumiy" +
- "oshikawaminamiaikitamotosumitakagildeskaliszhigashitsunotogawahi" +
- "gashiurausukitanakagusukumoduminamiminowahigashiyamatokoriyamana" +
- "shifteditchyouripaviancarrierhigashiyodogawahigashiyoshinogaris-" +
- "a-soxfanhiraizumisatohobby-sitehirakatashinagawahiranais-a-stude" +
- "ntalhirarahiratsukagawahirayaizuwakamatsubushikusakadogawahistor" +
- "ichouseshinichinanhitachiomiyaginankokubunjis-a-teacherkassymant" +
- "echnologyhitachiotagooglecodespotrentino-altoadigehitraeumtgerad" +
- "elmenhorstalbanshinjournalistjohnhjartdalhjelmelandholeckobierzy" +
- "ceholidayhomeipfizerhomelinkhakassiahomelinuxn--1lqs71dhomeoffic" +
- "ehomesecuritymaceratakaokaluganskolevangerhomesecuritypccwindmil" +
- "lhomesenseminehomeunixn--1qqw23ahondahoneywellbeingzonehongopocz" +
- "northwesternmutualhonjyoitakarazukamakurazakitashiobarahornindal" +
- "horseoulminamiogunicomcastresistancehortendofinternet-dnshinjuku" +
- "manohospitalhoteleshinkamigotoyohashimotoshimahotmailhoyangerhoy" +
- "landetroitskydivinghumanitieshinshinotsurgeryhurdalhurumajis-a-t" +
- "echietis-a-therapistoiahyllestadhyogoris-an-accountantshinshiroh" +
- "yugawarahyundaiwafunehzchoseiroumuenchenishitosashimizunaminamia" +
- "shigarajfkhmelnitskiyamashikejgorajlchoyodobashichikashukujitawa" +
- "rajlljmpharmacienshiojirishirifujiedajnjcpgfoggiajoyokaichibahcc" +
- "avuotnagareyamalborkdalpha-myqnapcloudapplebesbyglandjpmorganjpn" +
- "jprshioyanaizujuniperjurkoshimizumakis-an-engineeringkoshunantok" +
- "igawakosugekotohiradomainshirakofuefukihaboromskoguchikuzenkotou" +
- "rakouhokutamakis-an-entertainerkounosupplieshiranukamogawakouyam" +
- "ashikokuchuokouzushimasoykozagawakozakis-bykpnkppspdnshiraois-ce" +
- "rtifieducatorahimeshimamateramochizukirakrasnodarkredirectmelhus" +
- "cultureggio-calabriakristiansandcatshiraokanagawakristiansundkro" +
- "dsheradkrokstadelvaldaostarostwodzislawindowshiratakahagivestbyk" +
- "ryminamisanrikubetsupportrentino-sued-tirolkumatorinokumejimasud" +
- "akumenanyokkaichiropractichristmasakikugawatchandclockasukabedzi" +
- "n-the-bandaikawachinaganoharamcoachampionshiphoptobishimaizurugb" +
- "ydgoszczecinemakeupowiathletajimabariakeisenbahnishiwakis-a-fina" +
- "ncialadvisor-aurdalottokonamegatakasugais-a-geekgalaxykunisakis-" +
- "foundationkunitachiarailwaykunitomigusukumamotoyamassa-carrara-m" +
- "assacarraramassabusinessebytomaritimobarakunneppulawykunstsammlu" +
- "ngkunstunddesignkuokgrouphdkureggio-emilia-romagnakatsugawakurga" +
- "nkurobelaudiblebtimnetzkurogimilanokuroisoftwarendalenugkuromats" +
- "unais-gonekurotakikawasakis-into-animelbournekushirogawakustanai" +
- "s-into-carshintomikasaharakusupplykutchanelkutnokuzumakis-into-c" +
- "artoonshinyoshitomiokamitsuekvafjordkvalsundkvamfamberkeleykvana" +
- "ngenkvinesdalkvinnheradkviteseidskogkvitsoykwpspiegelkzmissilewi" +
- "smillermisugitokorozawamitourismolancastermitoyoakemiuramiyazumi" +
- "yotamanomjondalenmlbfanmonmouthagebostadmonstermonticellolmontre" +
- "alestatefarmequipmentrentino-suedtirolmonza-brianzaporizhzhiamon" +
- "za-e-della-brianzapposhishikuis-not-certifiedunetbankharkovanylv" +
- "enicemonzabrianzaptokuyamatsusakahoginowaniihamatamakawajimaphil" +
- "adelphiaareadmyblogsitemonzaebrianzaramonzaedellabrianzamoonscal" +
- "exusdecorativeartshisognemoparachutingmordoviajessheiminamitanem" +
- "oriyamatsushigemoriyoshimilitarymormoneymoroyamatsuuramortgagemo" +
- "scowinnershisuifuelveruminamiuonumatsumotofukemoseushistorymosjo" +
- "enmoskeneshitaramamosshizukuishimofusaitamatsukuris-savedmosvikn" +
- "x-serveronakatombetsunndalmoteginozawaonsenmoviemovistargardmtpc" +
- "hromedicaltanissettairamtranbymuenstermugithubcloudusercontentre" +
- "ntinoa-adigemuikamishihoronobeauxartsandcraftshizuokananporovigo" +
- "tpantheonsitemukochikushinonsenergymulhouservebeermunakatanemunc" +
- "ieszynmuosattemuphilatelymurmanskolobrzegersundmurotorcraftrenti" +
- "noaadigemusashimurayamatsuzakis-slickhersonmusashinoharamuseetre" +
- "ntinoalto-adigemuseumverenigingmusicargodaddynaliascoli-picenogi" +
- "ftshoujis-uberleetrentino-stirolmutsuzawamy-vigorlicemy-wanggouv" +
- "icenzamyactivedirectorymyasustor-elvdalmycdn77-securechtrainingm" +
- "ydissentrentinoaltoadigemydrobofagemydshowamyeffectrentinos-tiro" +
- "lmyfirewallonieruchomoscienceandindustrynmyfritzmyftpaccesshowti" +
- "meteorapphilipsynology-diskstationmyfusionmyhome-serverrankoshig" +
- "ayanagawamykolaivaporcloudmymailermymediapchryslermyokohamamatsu" +
- "damypepsongdalenviknakanojohanamakinoharamypetshriramlidlugoleka" +
- "gaminoduminamiyamashirokawanabelembroideryggeelvincklabudhabikin" +
- "okawabarthagakhanamigawamyphotoshibajddarchaeologyeongnamegawalb" +
- "rzycharternidmypsxn--30rr7ymysecuritycamerakermyshopblocksienara" +
- "shinomytis-a-bookkeeperugiamyvnchungnamdalseidfjordyndns-remotew" +
- "dyndns-serverdalouvreggioemiliaromagnakayamatsumaebashikshacknet" +
- "oyookanmakiwakunigamidsundyndns-weberlincolnissandnessjoenissayo" +
- "koshibahikariwanumatakazakis-a-greenissedalowiczest-le-patrondhe" +
- "immobilienisshingugepicturesilkomaganepiemontepilotsimple-urlpim" +
- "ientaketomisatolgapinkomakiyosumy-routerpioneerpippuphonefossigd" +
- "alpiszpittsburghofauskedsmokorsetagayasells-for-unzenpiwatepizza" +
- "pkomatsushimashikizunokunimihoboleslawiechristiansburgroks-thisa" +
- "yamanobeokakudamatsueplanetariuminanoplantationplantsirdalplatfo" +
- "rmshangrilanciaplaystationplazaplchurchaseljeepostfoldnavyplumbi" +
- "ngopmnpodzonepohlpoivronpokerpokrovskomforbarclays3-us-gov-west-" +
- "1politiendapolkowicepoltavalle-aostathellezajskommunalforbundpom" +
- "orzeszowioslingpordenonepornporsangerporsanguidellogliastradingp" +
- "orsgrunnanpoznanpraxis-a-bruinsfanprdpreservationpresidioprgmrpr" +
- "imeloyalistockholmestrandprincipeprivatizehealthinsuranceprochow" +
- "iceproductionslupskommuneprofbsbxn--12cfi8ixb8lvivano-frankivska" +
- "tsuyamasfjordenprogressivegasiapromombetsurfbx-oscholarshipschoo" +
- "lpropertyprotectionprotonetrentinosud-tirolprudentialpruszkowitd" +
- "komonoprzeworskogptplusgardenpvtrentinosudtirolpwcirclegnicafede" +
- "rationiyodogawapzqldqponqslgbtrentinosued-tirolquicksytesnoasait" +
- "omobellevuelosangelesjaguarchitecturealtychyattorneyagawalesundq" +
- "uipelementsokanazawaqvcircustomerstuff-4-salestufftoread-booksne" +
- "solognestuttgartritonsusakis-very-evillagesusonosuzakaneyamazoes" +
- "uzukaniepcesuzukis-very-goodhandsonsvalbardunloppacificitadelive" +
- "rysveiosvelvikongsbergsvizzeraswedenswidnicartierswiebodzindiana" +
- "polis-a-bloggerswiftcoversicherungswinoujscienceandhistoryswissh" +
- "ikis-very-nicesynology-dsolundbeckomorotsukamiokamikoaniikappugl" +
- "iatushuissier-justicetuvalle-daostaticsomatuxfamilytwmailvennesl" +
- "askerrylogisticsomnaritakurashikis-very-badajozoravestfoldvestne" +
- "soovestre-slidreamhostersopotrentinosuedtirolvestre-totennishiaw" +
- "akuravestvagoyvevelstadvibo-valentiavibovalentiavideovillaskimit" +
- "subatamicable-modembetsukuis-very-sweetpeppervinnicartoonartdeco" +
- "ffeedbackplaneappspotagervinnytsiavipsinaappiagetmyiphoenixn--32" +
- "vp30haibarakitahatakamatsukawavirginiavirtualvirtueeldomeindianm" +
- "arketingvirtuelvisakegawavistaprinternationalfirearmsor-odalvite" +
- "rboltrogstadvivoldavixn--3bst00minnesotaketakatsukis-into-gamess" +
- "inatsukigatakasagotembaixadavlaanderenvladikavkazimierz-dolnyvla" +
- "dimirvlogoipictetrentinostirolvolkswagentsor-varangervologdansko" +
- "ninjamisonvolvolkenkundenvolyngdalvossevangenvotevotingvotoyonak" +
- "agyokutoursorfoldwloclawekonskowolayangroupharmacyshirahamatonbe" +
- "tsurnadalwmflabsorreisahayakawakamiichikawamisatotalworldworse-t" +
- "handawowithgoogleapisa-hockeynutsiracusakatakinouewritesthisblog" +
- "sytewroclawithyoutubeneventoeidsvollwtcitichernigovernmentoyonow" +
- "tfbxoschulewuozuwwwiwatsukiyonowruzhgorodeowzmiuwajimaxn--45brj9" +
- "civilaviationxn--45q11civilisationxn--4gbriminingxn--4it168dxn--" +
- "4it797konyveloftrentino-sudtirolxn--4pvxs4allxn--54b7fta0ccivili" +
- "zationxn--55qw42gxn--55qx5dxn--5js045dxn--5rtp49civilwarmanageme" +
- "ntoyosatoyakokonoexn--5rtq34kooris-an-anarchistoricalsocietyxn--" +
- "5su34j936bgsgxn--5tzm5gxn--6btw5axn--6frz82gxn--6orx2rxn--6qq986" +
- "b3xlxn--7t0a264claimsarlucaniaxn--80adxhksortlandxn--80ao21axn--" +
- "80aqecdr1axn--80asehdbarreauctionflfanfshostrowiecasertaipeiheij" +
- "iiyamanouchikuhokuryugasakitaurayasudaukraanghkeymachineustarhub" +
- "alsanagochihayaakasakawaharanzanpachigasakicks-assedicasadelamon" +
- "edatingjemnes3-ap-southeast-2xn--80aswgxn--80audnedalnxn--8ltr62" +
- "kopervikhmelnytskyivaolbia-tempio-olbiatempioolbialystokkepnogat" +
- "aijis-an-actresshintokushimaxn--8pvr4uxn--8y0a063axn--90a3academ" +
- "y-firewall-gatewayxn--90aishobaraomoriguchiharahkkeravjuedisches" +
- "apeakebayernrtromsakakinokiaxn--90azhytomyrxn--9dbhblg6dietcimdb" +
- "arrel-of-knowledgeologyonagoyaurskog-holandroverhalla-speziaerop" +
- "ortalaheadjudaicaaarborteaches-yogasawaracingroks-theatree164xn-" +
- "-9dbq2axn--9et52uxn--9krt00axn--andy-iraxn--aroport-byandexn--3d" +
- "s443gxn--asky-iraxn--aurskog-hland-jnbarrell-of-knowledgeometre-" +
- "experts-comptables3-us-west-1xn--avery-yuasakuhokkaidoomdnshome-" +
- "webservercellikes-piedmontblancomeeresorumincommbankmpspbarclayc" +
- "ards3-us-east-2xn--b-5gaxn--b4w605ferdxn--bck1b9a5dre4cldmailucc" +
- "apitalonewportlligatoyotaris-a-gurulsandoyxn--bdddj-mrabdxn--bea" +
- "ralvhki-y4axn--berlevg-jxaxn--bhcavuotna-s4axn--bhccavuotna-k7ax" +
- "n--bidr-5nachikatsuuraxn--bievt-0qa2xn--bjarky-fyaotsurreyxn--bj" +
- "ddar-ptamayufuettertdasnetzxn--blt-elabourxn--bmlo-graingerxn--b" +
- "od-2naroyxn--brnny-wuaccident-investigation-aptibleaseating-orga" +
- "nicbcn-north-1xn--brnnysund-m8accident-prevention-webhopenairbus" +
- "antiquest-a-la-maisondre-landebudapest-a-la-masionionjukudoyamag" +
- "entositelekommunikationthewifiat-band-campaniaxn--brum-voagatrom" +
- "sojampagefrontapphotographysioxn--btsfjord-9zaxn--c1avgxn--c2br7" +
- "gxn--c3s14mintelligencexn--cck2b3barsyonlinewhampshirebungoonord" +
- "-odalazioceanographics3-us-west-2xn--cg4bkis-with-thebandovre-ei" +
- "kerxn--ciqpnxn--clchc0ea0b2g2a9gcdn77-sslattumisakis-leetrentino" +
- "-s-tirollagrigentomologyeongbukharkivgucciprianiigataishinomakim" +
- "obetsuliguriaxn--comunicaes-v6a2oxn--correios-e-telecomunicaes-g" +
- "hc29axn--czr694bashkiriaustevollarvikarasjohkamiminers3-ca-centr" +
- "al-1xn--czrs0trusteexn--czru2dxn--czrw28basilicataniaustinnatura" +
- "lsciencesnaturelles3-eu-central-1xn--d1acj3basketballfinanzgorau" +
- "straliaisondriodejaneirochesterepbodynathomebuiltatarantottoribe" +
- "staddnskingjerdrumckinseyokosukanzakiwienaturbruksgymnaturhistor" +
- "isches3-eu-west-1xn--d1alfaromeoxn--d1atrvarggatroandinosaureise" +
- "nxn--d5qv7z876clickasumigaurawa-mazowszextraspacekitagatajirissa" +
- "gamiharaxn--davvenjrga-y4axn--djrs72d6uyxn--djty4koryokamikawane" +
- "honbetsurutaharaxn--dnna-grajewolterskluwerxn--drbak-wuaxn--dyry" +
- "-iraxn--e1a4clinichernihivanovodkagoshimalvikashiwaraxn--eckvdtc" +
- "9dxn--efvn9southcarolinazawaxn--efvy88hair-surveillancexn--ehqz5" +
- "6nxn--elqq16hakatanoshiroomuraxn--estv75gxn--eveni-0qa01gaxn--f6" +
- "qx53axn--fct429kosaigawaxn--fhbeiarnxn--finny-yuaxn--fiq228c5hso" +
- "uthwestfalenxn--fiq64batodayonaguniversityoriikariyaltakasakiyok" +
- "awaraustrheimatunduhrennesoyokoteastcoastaldefencebinagisochildr" +
- "ensgardenatuurwetenschappenaumburgjerstadotsuruokakegawaetnagaha" +
- "maroygardenebakkeshibechambagriculturennebudejjudygarlandd-dnsfo" +
- "r-better-thanawawdev-myqnapcloudcontrolapplinzi234xn--fiqs8sowax" +
- "n--fiqz9spjelkavikomvuxn--2m4a15exn--fjord-lraxn--fjq720axn--fl-" +
- "ziaxn--flor-jraxn--flw351exn--fpcrj9c3dxn--frde-grandrapidspread" +
- "bettingxn--frna-woaraisaijotrysiljanxn--frya-hraxn--fzc2c9e2clin" +
- "iquenoharaxn--fzys8d69uvgmailxn--g2xx48clintonoshoesarpsborgrond" +
- "arxn--gckr3f0fedorapeopleirfjordxn--gecrj9clothingrongaxn--ggavi" +
- "ika-8ya47hakodatexn--gildeskl-g0axn--givuotna-8yasakaiminatoyone" +
- "zawaxn--gjvik-wuaxn--gk3at1exn--gls-elacaixaxn--gmq050isleofmand" +
- "alxn--gmqw5axn--h-2failxn--h1aeghakonexn--h2brj9cnsarufutsunomiy" +
- "awakasaikaitakoelnxn--h3cuzk1digitalxn--hbmer-xqaxn--hcesuolo-7y" +
- "a35batsfjordivtasvuodnakaiwamizawauthordalandroiddnss3-eu-west-2" +
- "xn--hery-iraxn--hgebostad-g3axn--hmmrfeasta-s4acctulangevagrarbo" +
- "retumbriaxn--hnefoss-q1axn--hobl-iraxn--holtlen-hxaxn--hpmir-xqa" +
- "xn--hxt814exn--hyanger-q1axn--hylandet-54axn--i1b6b1a6a2exn--imr" +
- "513nxn--indery-fyasugissmarterthanyouxn--io0a7iwchoshibuyachiyod" +
- "avvenjargapartmentsardiniaxn--j1aefedoraprojectrani-andria-barle" +
- "tta-trani-andriaxn--j1amhakubaghdadxn--j6w193gxn--jlq61u9w7bauha" +
- "usposts-and-telecommunicationsncfdivttasvuotnakamagayahababyklec" +
- "lercasinordre-landiyoshiokaracoldwarmiamihamadautomotivecoalipay" +
- "okozebinorfolkebibleikangereportateshinanomachimkentateyamagroce" +
- "rybnikahokutobamaintenancebetsukubank12xn--jlster-byasuokanraxn-" +
- "-jrpeland-54axn--jvr189misasaguris-lostre-toteneis-an-actorxn--k" +
- "7yn95exn--karmy-yuaxn--kbrq7oxn--kcrx77d1x4axn--kfjord-iuaxn--kl" +
- "bu-woaxn--klt787dxn--kltp7dxn--kltx9axn--klty5xn--3e0b707exn--ko" +
- "luokta-7ya57hakuis-a-photographerokuappasadenamsosnowiechonanbui" +
- "lderschmidtre-gauldalottexn--kprw13dxn--kpry57dxn--kpu716fermoda" +
- "lenxn--kput3ixn--krager-gyatomitamamuraxn--kranghke-b0axn--krdsh" +
- "erad-m8axn--krehamn-dxaxn--krjohka-hwab49jeonnamerikawauexn--ksn" +
- "es-uuaxn--kvfjord-nxaxn--kvitsy-fyatsukanumazuryxn--kvnangen-k0a" +
- "xn--l-1fairwindspydebergxn--l1accentureklamborghiniizaxn--lahead" +
- "ju-7yatsushiroxn--langevg-jxaxn--lcvr32dxn--ldingen-q1axn--leaga" +
- "viika-52bbcateringebugattipschlesisches3-website-ap-northeast-1x" +
- "n--lesund-huaxn--lgbbat1ad8jetztrentino-sud-tirolxn--lgrd-poacnt" +
- "oyotomiyazakis-a-hard-workerxn--lhppi-xqaxn--linds-pramericanart" +
- "unesolutionsokndalxn--lns-qlansrlxn--loabt-0qaxn--lrdal-sraxn--l" +
- "renskog-54axn--lt-liacolonialwilliamsburgrossetouchijiwadell-ogl" +
- "iastraderxn--lten-granexn--lury-iraxn--m3ch0j3axn--mely-iraxn--m" +
- "erker-kuaxn--mgb2ddesrtrentoyokawaxn--mgb9awbferraraxn--mgba3a3e" +
- "jtunkongsvingerxn--mgba3a4f16axn--mgba3a4franamizuholdingsmilelx" +
- "n--mgba7c0bbn0axn--mgbaakc7dvferrarittogoldpoint2thisamitsukexn-" +
- "-mgbaam7a8hakusandiegoodyearxn--mgbab2bdxn--mgbai9a5eva00bbtatto" +
- "olsztynsettlers3-website-ap-southeast-1xn--mgbai9azgqp6jevnakers" +
- "huscountryestateofdelawarezzoologyxn--mgbayh7gpagespeedmobilizer" +
- "oxn--mgbb9fbpobanazawaxn--mgbbh1a71exn--mgbc0a9azcgxn--mgbca7dzd" +
- "oxn--mgberp4a5d4a87gxn--mgberp4a5d4arxn--mgbi4ecexposedxn--mgbpl" +
- "2fhskodjejuegoshikiminokamoenairportland-4-salernoboribetsucksrv" +
- "areserveblogspotrevisohughesolarssonxn--mgbqly7c0a67fbcoloradopl" +
- "ateaudioxn--mgbqly7cvafredrikstadtvstordalxn--mgbt3dhdxn--mgbtf8" +
- "flatangerxn--mgbtx2bbvacationswatch-and-clockerhcloudns3-website" +
- "-ap-southeast-2xn--mgbx4cd0abbotturystykannamifunexn--mix082ferr" +
- "eroticanonoichinomiyakexn--mix891fetsundxn--mjndalen-64axn--mk0a" +
- "xindustriesteambulancexn--mk1bu44columbusheyxn--mkru45ixn--mlatv" +
- "uopmi-s4axn--mli-tlanxesstorehabmerxn--mlselv-iuaxn--moreke-juax" +
- "n--mori-qsakuragawaxn--mosjen-eyawaraxn--mot-tlapyatigorskypexn-" +
- "-mre-og-romsdal-qqbentleyukinfinitintuitaxihuanhlfanhs3-website-" +
- "eu-west-1xn--msy-ula0haldenxn--mtta-vrjjat-k7afamilycompanycommu" +
- "nitysfjordyndns-wikinkobayashikaoirminamibosogndalucernexn--muos" +
- "t-0qaxn--mxtq1misawaxn--ngbc5azdxn--ngbe9e0axn--ngbrxn--3oq18vl8" +
- "pn36axn--nit225kosakaerodromegallupinbarefootballooningjovikarat" +
- "suginamikatagamiharuconnectatsunobiraugustowadaegubs3-ap-southea" +
- "st-1xn--nmesjevuemie-tcbalestrandabergamoarekexn--nnx388axn--nod" +
- "exn--nqv7fs00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--nttery" +
- "-byaeservecounterstrikexn--nvuotna-hwaxn--nyqy26axn--o1achattano" +
- "oganordreisa-geekoseis-an-artisteinkjerusalemrxn--o3cw4halsaintl" +
- "ouis-a-anarchistoiredumbrellanbibaidarxn--o3cyx2axn--od0algxn--o" +
- "d0aq3beppublishproxyzgorzeleccolognewyorkshirecipesaro-urbino-pe" +
- "sarourbinopesaromasvuotnaharimamurogawatches3-website-sa-east-1x" +
- "n--ogbpf8flekkefjordxn--oppegrd-ixaxn--ostery-fyawatahamaxn--osy" +
- "ro-wuaxn--p1acfgujolsterxn--p1aixn--pbt977comobilyxn--pgbs0dhlxn" +
- "--porsgu-sta26fhvalerxn--pssu33lxn--pssy2uxn--q9jyb4comparemarke" +
- "rryhotelsasayamaxn--qcka1pmcdonaldstorfjordxn--qqqt11misconfused" +
- "xn--qxamuneuestorjelenia-goraxn--rady-iraxn--rdal-poaxn--rde-ula" +
- "quilancashireggiocalabriaxn--rdy-0nabarixn--rennesy-v1axn--rhkke" +
- "rvju-01aflakstadaokagakibichuoxn--rholt-mragowoodsidexn--rhqv96g" +
+const text = "bifukagawalterbihorologyukuhashimoichinosekigaharaxastronomy-gat" +
+ "ewaybomloans3-ca-central-1bikedagestangeorgeorgiabilbaogakihokum" +
+ "akogengerdalces3-website-us-west-1billustrationikinuyamashinashi" +
+ "kitchenikkoebenhavnikolaevents3-website-us-west-2bioddabirdartce" +
+ "nterprisesakikugawarszawashingtondclkariyameldalindesnesakurainv" +
+ "estmentsakyotanabellunord-odalivornomutashinainzais-a-candidateb" +
+ "irkenesoddtangenovaraumalopolskanlandrayddnsfreebox-oslocus-3bir" +
+ "thplacebitballooningladefinimakanegasakindlegokasells-for-lessal" +
+ "angenikonantankarlsoyurihonjoyentattoolsztynsettlersalondonetska" +
+ "rmoyusuharabjarkoyusuisserveexchangebjerkreimbalsfjordgcahcesuol" +
+ "ocalhostrodawaraugustowadaegubalsanagochihayaakasakawaharanzanne" +
+ "frankfurtarumizusawabkhaziamallamagazineat-url-o-g-i-naturalhist" +
+ "orymuseumcentereviewskrakowebredirectmeteorappaleobihirosakikami" +
+ "jimabogadocscbgdyniabruzzoologicalvinklein-addrammenuernberggfar" +
+ "merseinebinagisochildrensgardenaturalsciencesnaturelles3-ap-nort" +
+ "heast-2ixboxenapponazure-mobileastcoastaldefenceatonsberg12000em" +
+ "mafanconagawakayamadridvagsoyericssonyoursidealerimo-i-ranaamesj" +
+ "evuemielno-ip6bjugninohekinannestadraydnsaltdalombardiamondsalva" +
+ "dordalibabalatinord-frontierblockbustermezjavald-aostaplesalzbur" +
+ "glassassinationalheritagematsubarakawagoebloombergbauerninomiyak" +
+ "onojosoyrorosamegawabloxcmsamnangerbluedancebmoattachmentsamsclu" +
+ "bindalombardynamisches-dnsamsungleezebmsandvikcoromantovalle-d-a" +
+ "ostathellebmwedeployuufcfanirasakis-a-catererbnpparibaselburgliw" +
+ "icebnrwegroweibolzanorddalomzaporizhzheguris-a-celticsfanishiaza" +
+ "is-a-chefarmsteadrivelandrobaknoluoktachikawalbrzycharternidrudu" +
+ "nsanfranciscofreakunedre-eikerbonnishigoppdalorenskoglobalashovh" +
+ "achinohedmarkarpaczeladzlglobodoes-itvedestrandupontariobookingl" +
+ "ogoweirboomladbrokesangobootsanjournalismailillesandefjordurbana" +
+ "mexnetlifyis-a-conservativefsnillfjordurhamburgloppenzaogashimad" +
+ "achicagoboatsannanishiharaboschaefflerdalotenkawabostikaruizawab" +
+ "ostonakijinsekikogentingmbhartiffanyuzawabotanicalgardenishiizun" +
+ "azukis-a-cpadualstackspace-to-rentalstomakomaibarabotanicgardeni" +
+ "shikatakayamatta-varjjataxihuanishikatsuragit-repostfoldnavybota" +
+ "nybouncemerckmsdnipropetrovskjervoyagebounty-fullensakerryproper" +
+ "tiesannohelplfinancialotteboutiquebecngminakamichiharabozentsuji" +
+ "iebplacedekagaminordkappgafanpachigasakievennodesashibetsukumiya" +
+ "mazonawsaarlandyndns-at-workinggroupalmspringsakerbrandywinevall" +
+ "eybrasiliabresciabrindisibenikebristoloseyouripirangapartmentsan" +
+ "okarumaifarsundyndns-blogdnsantabarbarabritishcolumbialowiezachp" +
+ "omorskienishikawazukamitsuebroadcastlefrakkestadyndns-freeboxost" +
+ "rowwlkpmgmodenakatombetsumitakagiizebroadwaybroke-itgorybrokerbr" +
+ "onnoysundyndns-homednsantacruzsantafedjeffersonishimerabrotherme" +
+ "saverdeatnurembergmxfinitybrowsersafetymarketsanukis-a-cubicle-s" +
+ "lavellinotteroybrumunddalottokonamegatakasugais-a-democratjeldsu" +
+ "ndyndns-ipamperedchefashionishinomiyashironobrunelasticbeanstalk" +
+ "asaokaminoyamaxunusualpersonishinoomotegobrusselsaotomeloyalistj" +
+ "ordalshalsenishinoshimattelefonicarbonia-iglesias-carboniaiglesi" +
+ "ascarboniabruxellesapodlasiellaktyubinskiptveterinairealtorlandy" +
+ "ndns-mailouvrehabmerbryanskleppanamabrynewjerseybuskerudinewport" +
+ "lligatjmaxxxjaworznowtv-infoodnetworkshoppingrimstadyndns-office" +
+ "-on-the-webcambulancebuzenishiokoppegardyndns-picsapporobuzzpana" +
+ "sonicateringebugattipschlesischesardegnamsskoganeis-a-designerim" +
+ "arumorimachidabwfastlylbaltimore-og-romsdalillyokozehimejibigawa" +
+ "ukraanghkeymachinewhampshirebungoonord-aurdalpha-myqnapcloudacce" +
+ "sscambridgestonemurorangeiseiyoichippubetsubetsugaruhrhcloudns3-" +
+ "eu-central-1bzhitomirumalselvendrellowiczest-le-patronishitosash" +
+ "imizunaminamiashigaracompute-1computerhistoryofscience-fictionco" +
+ "msecuritytacticsaseboknowsitallvivano-frankivskasuyanagawacondos" +
+ "hichinohealth-carereformitakeharaconferenceconstructionconsulado" +
+ "esntexistanbullensvanguardyndns-workisboringrueconsultanthropolo" +
+ "gyconsultingvollcontactoyonocontemporaryarteducationalchikugodoh" +
+ "aruovatoyookannamifunecontractorskenconventureshinodearthdfcbank" +
+ "aszubycookingchannelsdvrdnsdojoetsuwanouchikujogaszczytnordreisa" +
+ "-geekatowicecoolkuszkolahppiacenzaganquannakadomarineustarhubsas" +
+ "katchewancooperaunitemp-dnsassaris-a-gurulsandoycopenhagencyclop" +
+ "edichernihivanovodkagoshimalvikashibatakashimaseratis-a-financia" +
+ "ladvisor-aurdalucaniacorsicagliaridagawashtenawdev-myqnapcloudap" +
+ "plebtimnetzwhoswhokksundyndns1corvettenrightathomeftparliamentoy" +
+ "osatoyakokonoecosenzakopanerairguardiann-arboretumbriacosidnsfor" +
+ "-better-thanawatchesatxn--12c1fe0bradescorporationcostumedio-cam" +
+ "pidano-mediocampidanomediocouchpotatofriesaudacouncilcouponsauhe" +
+ "radynnsavannahgacoursesaves-the-whalessandria-trani-barletta-and" +
+ "riatranibarlettaandriacqhachiojiyahoooshikamaishimodatecranbrook" +
+ "uwanalyticsavonaplesaxocreditcardynulvikatsushikabeeldengeluidyn" +
+ "v6creditunioncremonashgabadaddjambylcrewiiheyakagecricketrzyncri" +
+ "meast-kazakhstanangercrotonexus-2crownprovidercrsvparmacruisesbs" +
+ "chokoladencryptonomichigangwoncuisinellair-traffic-controlleycul" +
+ "turalcentertainmentoyotaris-a-hard-workercuneocupcakecxn--12cfi8" +
+ "ixb8lcyberlevagangaviikanonjis-a-huntercymrussiacyonabarunzencyo" +
+ "utheworkpccwildlifedorainfracloudcontrolledogawarabikomaezakirun" +
+ "orfolkebibleikangerfidonnakaniikawatanagurafieldfiguerestauranto" +
+ "yotsukaidownloadfilateliafilegearfilminamiechizenfinalfinancefin" +
+ "eartscientistockholmestrandfinlandfinnoyfirebaseapparscjohnsonfi" +
+ "renzefirestonefirmdaleirvikatsuyamasfjordenfishingolffanscotland" +
+ "fitjarfitnessettlementoyourafjalerflesbergulenflickragerotikakeg" +
+ "awaflightscrapper-siteflirflogintogurafloraflorencefloridavvesii" +
+ "dazaifudaigojomedizinhistorischescrappingunmarburguovdageaidnusl" +
+ "ivinghistoryfloripaderbornfloristanohatakahamangyshlakasamatsudo" +
+ "ntexisteingeekaufenflorogerserveftpartis-a-landscaperflowerserve" +
+ "game-serversicherungushikamifuranortonflynnhostingxn--1ck2e1bamb" +
+ "leclercasadelamonedatingjerstadotsuruokakudamatsuemrflynnhubanan" +
+ "arepublicaseihichisobetsuitainairforcechirealmetlifeinsuranceu-1" +
+ "fndfor-ourfor-someethnologyfor-theaterforexrothachirogatakahatak" +
+ "aishimogosenforgotdnservehalflifestyleforli-cesena-forlicesenafo" +
+ "rlikescandynamic-dnservehttpartnerservehumourforsaleitungsenfors" +
+ "andasuolodingenfortmissoulancashireggio-calabriafortworthadanose" +
+ "gawaforuminamifuranofosneserveirchernovtsykkylvenetogakushimotog" +
+ "anewyorkshirecipesaro-urbino-pesarourbinopesaromasvuotnaharimamu" +
+ "rogawassamukawataricohdatsunanjoburgriwataraidyndns-remotewdyndn" +
+ "s-serverdaluccapitalonewspaperfotaruis-a-lawyerfoxfordebianfredr" +
+ "ikstadtvserveminecraftoystre-slidrettozawafreeddnsgeekgalaxyfree" +
+ "masonryfreesitexascolipicenogiftservemp3freetlservep2partservepi" +
+ "cservequakefreiburgfreightcminamiiselectozsdeloittevadsoccertifi" +
+ "cationfresenius-4fribourgfriuli-v-giuliafriuli-ve-giuliafriuli-v" +
+ "egiuliafriuli-venezia-giuliafriuli-veneziagiuliafriuli-vgiuliafr" +
+ "iuliv-giuliafriulive-giuliafriulivegiuliafriulivenezia-giuliafri" +
+ "uliveneziagiuliafriulivgiuliafrlfroganservesarcasmatartanddesign" +
+ "frognfrolandfrom-akrehamnfrom-alfrom-arfrom-azfrom-capebretonami" +
+ "astalowa-wolayangroupartyfrom-coguchikuzenfrom-ctrani-andria-bar" +
+ "letta-trani-andriafrom-dchirurgiens-dentistes-en-francefrom-dedy" +
+ "n-ip24from-flanderservicesettsurgeonshalloffamemergencyachtsevas" +
+ "topolefrom-gausdalfrom-higashiagatsumagoizumizakirkenesevenassis" +
+ "icilyfrom-iafrom-idfrom-ilfrom-incheonfrom-ksewilliamhillfrom-ky" +
+ "owariasahikawafrom-lancasterfrom-maniwakuratextileksvikautokeino" +
+ "from-mdfrom-megurokunohealthcareersharis-a-liberalfrom-microsoft" +
+ "bankazofrom-mnfrom-modellingfrom-msharpasadenamsosnowiechiryukyu" +
+ "ragifuchungbukharafrom-mtnfrom-nchitachinakagawatchandclockashih" +
+ "arafrom-ndfrom-nefrom-nhktraniandriabarlettatraniandriafrom-njcb" +
+ "nlfrom-nminamiizukamishihoronobeauxartsandcraftshawaiijimarugame" +
+ "-hostrolekamikitayamatsuris-a-libertarianfrom-nvalled-aostatoilf" +
+ "rom-nyfrom-ohkurafrom-oketohmannorth-kazakhstanfrom-orfrom-padov" +
+ "aksdalfrom-pratohnoshooguyfrom-rivnefrom-schoenbrunnfrom-sdfrom-" +
+ "tnfrom-txn--1ctwolominamatakkokamiokamiminershellaspeziafrom-uta" +
+ "zuerichardlillehammerfeste-ipassagenshimojis-a-linux-useranishia" +
+ "ritabashijonawatefrom-val-daostavalleyfrom-vtranoyfrom-wafrom-wi" +
+ "elunnerfrom-wvalledaostavangerfrom-wyfrosinonefrostalbanshimokaw" +
+ "afroyahikobeardubaiduckdnshimokitayamafstavernfujiiderafujikawag" +
+ "uchikonefujiminohtawaramotoineppubolognakanotoddenfujinomiyadafu" +
+ "jiokayamansionshimonitayanagithubusercontentransportransurlfujis" +
+ "atoshonairtelecitychyattorneyagawakuyabukidsmynasushiobaragusart" +
+ "shimonosekikawafujisawafujishiroishidakabiratoridefenseljordfuji" +
+ "tsurugashimaritimekeepingfujixeroxn--1lqs03nfujiyoshidafukayabea" +
+ "tshimosuwalkis-a-llamarylandfukuchiyamadafukudominichitosetogits" +
+ "uldalucernefukuis-a-musicianfukumitsubishigakirovogradoyfukuokaz" +
+ "akiryuohadselfipassenger-associationfukuroishikarikaturindalfuku" +
+ "sakisarazurewebsiteshikagamiishibukawafukuyamagatakaharufunabash" +
+ "iriuchinadafunagatakahashimamakishiwadafunahashikamiamakusatsuma" +
+ "sendaisennangonohejis-a-nascarfanfundaciofuoiskujukuriyamanxn--1" +
+ "lqs71dfuosskoczowinbarcelonagasakikonaikawachinaganoharamcoacham" +
+ "pionshiphoptobishimaizurugbydgoszczecinemakeupowiathletajimabari" +
+ "akembuchikumagayagawakkanaibetsubamericanfamilydscloudcontrolapp" +
+ "spotagerfurnitureggio-emilia-romagnakasatsunairtrafficplexus-1fu" +
+ "rubiraquarellebesbyenglandfurudonostiaarpaviancarrierfurukawais-" +
+ "a-nurservebbshimotsukefusodegaurafussagamiharafutabayamaguchinom" +
+ "igawafutboldlygoingnowhere-for-moregontrailroadfuttsurugimperiaf" +
+ "uturecmshimotsumafuturehostingfuturemailingfvgfylkesbiblackfrida" +
+ "yfyresdalhangglidinghangoutsystemscloudfunctionshinichinanhannan" +
+ "mokuizumodernhannotaireshinjournalisteinkjerusalembroideryhanyuz" +
+ "enhapmirhareidsbergenharstadharvestcelebrationhasamarcheapgfoggi" +
+ "ahasaminami-alpssells-itrapaniimimatakatoris-a-playerhashbanghas" +
+ "udahasura-appharmacienshinjukumanohasvikazunohatogayaitakamoriok" +
+ "aluganskolevangerhatoyamazakitahiroshimarnardalhatsukaichikaisei" +
+ "s-a-republicancerresearchaeologicaliforniahattfjelldalhayashimam" +
+ "otobungotakadapliernewmexicodyn-vpnplusterhazuminobusellsyourhom" +
+ "egoodshinkamigotoyohashimotoshimahboehringerikehelsinkitakamiizu" +
+ "misanofidelityhembygdsforbundhemneshinshinotsurgeryhemsedalhepfo" +
+ "rgeherokussldheroyhgtvallee-aosteroyhigashichichibunkyonanaoshim" +
+ "ageandsoundandvisionhigashihiroshimanehigashiizumozakitakatakana" +
+ "beautysfjordhigashikagawahigashikagurasoedahigashikawakitaaikita" +
+ "kyushuaiahigashikurumeiwamarriottravelchannelhigashimatsushimars" +
+ "hallstatebankddielddanuorrikuzentakataiwanairlinebraskaunjargals" +
+ "aceohigashimatsuyamakitaakitadaitoigawahigashimurayamamotorcycle" +
+ "shinshirohigashinarusembokukitamidoris-a-rockstarachowicehigashi" +
+ "nehigashiomihachimanchesterhigashiosakasayamanakakogawahigashish" +
+ "irakawamatakanezawahigashisumiyoshikawaminamiaikitamotosumy-rout" +
+ "erhigashitsunotogawahigashiurausukitanakagusukumoduminamiminowah" +
+ "igashiyamatokoriyamanashifteditchyouripharmacyshintokushimahigas" +
+ "hiyodogawahigashiyoshinogaris-a-socialistmein-vigorgehiraizumisa" +
+ "tohobby-sitehirakatashinagawahiranais-a-soxfanhirarahiratsukagaw" +
+ "ahirayaizuwakamatsubushikusakadogawahistorichouseshintomikasahar" +
+ "ahitachiomiyagildeskaliszhitachiotagooglecodespotravelersinsuran" +
+ "cehitraeumtgeradellogliastradinghjartdalhjelmelandholeckobierzyc" +
+ "eholidayhomeiphdhomelinkfhappouhomelinuxn--1qqw23ahomeofficehome" +
+ "securitymaceratakaokamakurazakitashiobarahomesecuritypchloehomes" +
+ "enseminehomeunixn--2m4a15ehondahoneywellbeingzonehongopocznorthw" +
+ "esternmutualhonjyoitakarazukameokameyamatotakadahornindalhorseou" +
+ "lminamiogunicomcastresistancehortendofinternet-dnshinyoshitomiok" +
+ "amogawahospitalhoteleshiojirishirifujiedahotmailhoyangerhoylande" +
+ "troitskydivinghumanitieshioyanaizuhurdalhurumajis-a-studentalhyl" +
+ "lestadhyogoris-a-teacherkassymantechnologyhyugawarahyundaiwafune" +
+ "hzchocolatemasekashiwarajewishartgalleryjfkharkovalleeaosteigenj" +
+ "gorajlcube-serverrankoshigayakumoldelmenhorstagejlljmphilipsynol" +
+ "ogy-diskstationjnjcphilatelyjoyokaichibahccavuotnagareyamalborkd" +
+ "alwaysdatabaseballangenoamishirasatochigiessensiositelemarkherso" +
+ "njpmorganjpnjprshiraokananporovigotpantheonsitejuniperjurkoshuna" +
+ "ntokigawakosugekotohiradomainshiratakahagitlaborkotourakouhokuta" +
+ "makis-an-artistcgrouphiladelphiaareadmyblogsitekounosupplieshish" +
+ "ikuis-an-engineeringkouyamashikokuchuokouzushimasoykozagawakozak" +
+ "is-an-entertainerkozowindmillkpnkppspdnshisognekrasnodarkredston" +
+ "ekristiansandcatshisuifuelblagdenesnaaseralingenkainanaejrietisa" +
+ "latinabenonichoshibuyachiyodavvenjargaulardalutskasukabedzin-the" +
+ "-bandaioiraseeklogest-mon-blogueurovisionisshingugekristiansundk" +
+ "rodsheradkrokstadelvaldaostarnbergkryminamisanrikubetsupportrent" +
+ "ino-alto-adigekumatorinokumejimasudakumenanyokkaichiropractichoy" +
+ "odobashichikashukujitawarakunisakis-bykunitachiarailwaykunitomig" +
+ "usukumamotoyamassa-carrara-massacarraramassabusinessebyklegalloc" +
+ "alhistoryggeelvinckhmelnytskyivanylvenicekunneppulawykunstsammlu" +
+ "ngkunstunddesignkuokgrouphoenixn--30rr7ykureggioemiliaromagnakay" +
+ "amatsumaebashikshacknetrentino-altoadigekurgankurobelaudiblebork" +
+ "angerkurogimilanokuroisoftwarendalenugkuromatsunais-certifieduca" +
+ "torahimeshimamateramochizukirakurotakikawasakis-foundationkushir" +
+ "ogawakustanais-gonekusupplykutchanelkutnokuzumakis-into-animelbo" +
+ "urnekvafjordkvalsundkvamlidlugolekafjordkvanangenkvinesdalkvinnh" +
+ "eradkviteseidskogkvitsoykwpspiegelkzmisugitokorozawamitourismola" +
+ "ngevagrarchaeologyeongbuknx-serveronakatsugawamitoyoakemiuramiya" +
+ "zumiyotamanomjondalenmlbfanmonstermonticellolmontrealestatefarme" +
+ "quipmentrentino-s-tirollagrigentomologyeonggiehtavuoatnagaivuotn" +
+ "agaokakyotambabia-goracleaningatlantabusebastopologyeongnamegawa" +
+ "keisenbahnmonza-brianzaporizhzhiamonza-e-della-brianzapposhitara" +
+ "mamonzabrianzaptokuyamatsusakahoginankokubunjis-leetnedalmonzaeb" +
+ "rianzaramonzaedellabrianzamoonscalezajskolobrzegersundmoparachut" +
+ "ingmordoviajessheiminamitanemoriyamatsushigemoriyoshimilitarymor" +
+ "monmouthagakhanamigawamoroyamatsuuramortgagemoscowindowshizukuis" +
+ "himofusaintlouis-a-bruinsfanmoseushistorymosjoenmoskeneshizuokan" +
+ "azawamosshoujis-lostre-toteneis-an-accountantshirahamatonbetsurn" +
+ "adalmosvikomaganemoteginowaniihamatamakawajimaoris-not-certified" +
+ "unetbankhakassiamoviemovistargardmtpchristiansburgrondarmtranbym" +
+ "uenstermuginozawaonsenmuikamisunagawamukochikushinonsenergymulho" +
+ "uservebeermunakatanemuncieszynmuosattemuphonefosshowamurmanskoma" +
+ "kiyosunndalmurotorcraftrentino-stirolmusashimurayamatsuzakis-sav" +
+ "edmusashinoharamuseetrentino-sud-tirolmuseumverenigingmusicargod" +
+ "addynaliascoli-picenogataijis-slickharkivgucciprianiigataishinom" +
+ "akinderoymutsuzawamy-vigorlicemy-wanggouvicenzamyactivedirectory" +
+ "myasustor-elvdalmycdn77-securecifedexhibitionmyddnskingmydissent" +
+ "rentino-sudtirolmydrobofagemydshowtimemorialmyeffectrentino-sued" +
+ "-tirolmyfirewallonieruchomoscienceandindustrynmyfritzmyftpaccess" +
+ "hriramsterdamnserverbaniamyfusionmyhome-serversaillesienarashino" +
+ "mykolaivaolbia-tempio-olbiatempioolbialystokkepnoduminamiuonumat" +
+ "sumotofukemymailermymediapchristmasakimobetsuliguriamyokohamamat" +
+ "sudamypephotographysiomypetsigdalmyphotoshibajddarchitecturealty" +
+ "dalipaymypsxn--32vp30hagebostadmysecuritycamerakermyshopblocksil" +
+ "komatsushimashikizunokunimihoboleslawiechonanbuilderschmidtre-ga" +
+ "uldalukowhalingroks-thisayamanobeokalmykiamytis-a-bloggermytulea" +
+ "piagetmyipictetrentino-suedtirolmyvnchromedicaltanissettairamywi" +
+ "reitrentinoa-adigepinkomforbarclays3-us-east-2pioneerpippupictur" +
+ "esimple-urlpiszpittsburghofauskedsmokorsetagayasells-for-usgarde" +
+ "npiwatepixolinopizzapkommunalforbundplanetariuminamiyamashirokaw" +
+ "anabelembetsukubanklabudhabikinokawabarthaebaruminamimakis-a-pai" +
+ "nteractivegarsheis-a-patsfanplantationplantslingplatformshangril" +
+ "anslupskommuneplaystationplazaplchryslerplumbingopmnpodzonepohlp" +
+ "oivronpokerpokrovskomonopolitiendapolkowicepoltavalle-aostarostw" +
+ "odzislawinnersnoasaitamatsukuris-uberleetrdpomorzeszowiosokaneya" +
+ "mazoepordenonepornporsangerporsanguidell-ogliastraderporsgrunnan" +
+ "poznanpraxis-a-bookkeeperugiaprdpreservationpresidioprgmrprimelh" +
+ "uscultureisenprincipeprivatizehealthinsuranceprochowiceproductio" +
+ "nsokndalprofbsbxn--12co0c3b4evalleaostaticschuleprogressivegasia" +
+ "promombetsurfbx-oschwarzgwangjuifminamidaitomangotsukisofukushim" +
+ "aparocherkasyno-dschweizpropertyprotectionprotonetrentinoaadigep" +
+ "rudentialpruszkowitdkomorotsukamisatokamachintaifun-dnsaliasdabu" +
+ "rprzeworskogptplusdecorativeartsolarssonpvtrentinoalto-adigepwch" +
+ "ungnamdalseidfjordyndns-weberlincolniyodogawapzqldqponqslgbtrent" +
+ "inoaltoadigequicksytesolognequipelementsolundbeckomvuxn--2scrj9c" +
+ "hoseiroumuenchenissandnessjoenissayokoshibahikariwanumatakazakis" +
+ "-a-greenissedaluroyqvchurchaseljeepsongdalenviknagatorodoystufft" +
+ "oread-booksnesomnaritakurashikis-very-badajozorastuttgartrentino" +
+ "sudtirolsusakis-very-evillagesusonosuzakaniepcesuzukanmakiwakuni" +
+ "gamidsundsuzukis-very-goodhandsonsvalbardunloppacificirclegnicaf" +
+ "ederationsveiosvelvikongsvingersvizzerasvn-reposooswedenswidnica" +
+ "rtierswiebodzindianapolis-a-anarchistoireggiocalabriaswiftcovers" +
+ "winoujscienceandhistoryswisshikis-very-nicesynology-dsopotrentin" +
+ "os-tirolturystykanoyaltakasakiwientuscanytushuissier-justicetuva" +
+ "lle-daostatic-accessorreisahayakawakamiichikawamisatotaltuxfamil" +
+ "ytwmailvbargainstitutelevisionaustdalimanowarudaustevollavangena" +
+ "turbruksgymnaturhistorisches3-eu-west-1venneslaskerrylogisticsor" +
+ "tlandvestfoldvestnesoruminanovestre-slidreamhostersouthcarolinaz" +
+ "awavestre-totennishiawakuravestvagoyvevelstadvibo-valentiavibova" +
+ "lentiavideovillaskimitsubatamicable-modemoneyvinnicartoonartdeco" +
+ "ffeedbackplaneapplinzis-very-sweetpeppervinnytsiavipsinaappilots" +
+ "irdalvirginiavirtualvirtueeldomeindianmarketingvirtuelvisakataki" +
+ "nouevistaprinternationalfirearmsouthwestfalenviterboltrevisohugh" +
+ "esor-odalvivoldavixn--3bst00mincommbankmpspbarclaycards3-sa-east" +
+ "-1vlaanderenvladikavkazimierz-dolnyvladimirvlogoipimientaketomis" +
+ "atolgavolkswagentsowavologdanskonskowolawavolvolkenkundenvolyngd" +
+ "alvossevangenvotevotingvotoyonakagyokutourspjelkavikongsbergwloc" +
+ "lawekonsulatrobeepilepsydneywmflabspreadbettingworldworse-thanda" +
+ "wowithgoogleapisa-hockeynutsiracusakakinokiawpdevcloudwritesthis" +
+ "blogsytewroclawithyoutubeneventoeidsvollwtcircustomerwtfbxoscien" +
+ "cecentersciencehistorywuozuwwwiwatsukiyonowruzhgorodeowzmiuwajim" +
+ "axn--42c2d9axn--45br5cylxn--45brj9citadeliveryxn--45q11citicatho" +
+ "licheltenham-radio-opencraftrainingripescaravantaaxn--4gbriminin" +
+ "gxn--4it168dxn--4it797kooris-an-actorxn--4pvxs4allxn--54b7fta0cc" +
+ "ivilaviationxn--55qw42gxn--55qx5dxn--5js045dxn--5rtp49civilisati" +
+ "onxn--5rtq34kopervikhmelnitskiyamashikexn--5su34j936bgsgxn--5tzm" +
+ "5gxn--6btw5axn--6frz82gxn--6orx2rxn--6qq986b3xlxn--7t0a264civili" +
+ "zationxn--80adxhkspydebergxn--80ao21axn--80aqecdr1axn--80asehdba" +
+ "rreauctionaval-d-aosta-valleyolasiteu-2xn--80aswgxn--80audnedaln" +
+ "xn--8ltr62koryokamikawanehonbetsurutaharaxn--8pvr4uxn--8y0a063ax" +
+ "n--90a3academy-firewall-gatewayxn--90aeroportalaheadjudaicaaarbo" +
+ "rteaches-yogasawaracingroks-theatreexn--90aishobaraomoriguchihar" +
+ "ahkkeravjuedischesapeakebayernrtritonxn--90azhytomyrxn--9dbhblg6" +
+ "dietcimdbarrel-of-knowledgemologicallimitediscountysvardolls3-us" +
+ "-gov-west-1xn--9dbq2axn--9et52uxn--9krt00axn--andy-iraxn--aropor" +
+ "t-byandexn--3ds443gxn--asky-iraxn--aurskog-hland-jnbarrell-of-kn" +
+ "owledgeologyombondiscoveryomitanobninskarasjohkaminokawanishiaiz" +
+ "ubangeu-3utilitiesquare7xn--avery-yuasakegawaxn--b-5gaxn--b4w605" +
+ "ferdxn--bck1b9a5dre4civilwarmanagementjxn--0trq7p7nnxn--bdddj-mr" +
+ "abdxn--bearalvhki-y4axn--berlevg-jxaxn--bhcavuotna-s4axn--bhccav" +
+ "uotna-k7axn--bidr-5nachikatsuuraxn--bievt-0qa2xn--bjarky-fyaotsu" +
+ "rreyxn--bjddar-ptamayufuettertdasnetzxn--blt-elabourxn--bmlo-gra" +
+ "ingerxn--bod-2naroyxn--brnny-wuaccident-investigation-aptiblease" +
+ "ating-organicbcn-north-1xn--brnnysund-m8accident-prevention-webh" +
+ "openairbusantiquest-a-la-maisondre-landebudapest-a-la-masionionj" +
+ "ukudoyamagentositelekommunikationthewifiat-band-campaniaxn--brum" +
+ "-voagatroandinosaurepbodynathomebuiltrentinosued-tirolxn--btsfjo" +
+ "rd-9zaxn--c1avgxn--c2br7gxn--c3s14minnesotaketakatsukis-into-car" +
+ "shiranukanagawaxn--cck2b3barsyonlinewhollandishakotanavigationav" +
+ "oibmdisrechtranakaiwamizawaweddingjesdalimoliserniaustinnatuurwe" +
+ "tenschappenaumburgjerdrumckinseyokosukanzakiyokawaragrocerybnika" +
+ "hokutobamaintenancebetsuikicks-assedic66xn--cg4bkis-with-theband" +
+ "ovre-eikerxn--ciqpnxn--clchc0ea0b2g2a9gcdn77-sslattumintelligenc" +
+ "exn--comunicaes-v6a2oxn--correios-e-telecomunicaes-ghc29axn--czr" +
+ "694bashkiriaustraliaisondriodejaneirochesterxn--czrs0trogstadxn-" +
+ "-czru2dxn--czrw28basilicataniaustrheimatunduhrennesoyokotebinore" +
+ "-og-uvdalaziobiraskvolloabathsbcasacamdvrcampobassociatestingjem" +
+ "nes3-ap-southeast-1xn--d1acj3basketballyngenavuotnaklodzkodairau" +
+ "thordalandroiddnss3-eu-west-2xn--d1alfaromeoxn--d1atromsaitomobe" +
+ "llevuelosangelesjaguarmeniaxn--d5qv7z876claimsardiniaxn--davvenj" +
+ "rga-y4axn--djrs72d6uyxn--djty4kosaigawaxn--dnna-grajewolterskluw" +
+ "erxn--drbak-wuaxn--dyry-iraxn--e1a4clanbibaidarq-axn--eckvdtc9dx" +
+ "n--efvn9srlxn--efvy88haibarakisosakitagawaxn--ehqz56nxn--elqq16h" +
+ "air-surveillancexn--estv75gxn--eveni-0qa01gaxn--f6qx53axn--fct42" +
+ "9kosakaerodromegallupinbarefootballfinanzgoraurskog-holandroverh" +
+ "alla-speziaetnagahamaroygardenebakkeshibechambagriculturennebude" +
+ "jjudygarlandd-dnshome-webservercellikes-piedmontblancomeeres3-ap" +
+ "-south-1kappchizippodhaleangaviikadenadexetereport3l3p0rtargets-" +
+ "itargivestbytomaritimobaravennagasuke12hpalace164lima-cityeatsel" +
+ "inogradultarnobrzegyptianativeamericanantiques3-ap-northeast-133" +
+ "7xn--fhbeiarnxn--finny-yuaxn--fiq228c5hsrtrentinostirolxn--fiq64" +
+ "batodayonagoyautomotivecoalvdalaskanittedallasalleasinglesurance" +
+ "rtmgretagajoboji234xn--fiqs8srvaporcloudxn--fiqz9storagexn--fjor" +
+ "d-lraxn--fjq720axn--fl-ziaxn--flor-jraxn--flw351exn--fpcrj9c3dxn" +
+ "--frde-grandrapidstordalxn--frna-woaraisaijotromsojampagefrontap" +
+ "piemontexn--frya-hraxn--fzc2c9e2cldmailuxembourgrongaxn--fzys8d6" +
+ "9uvgmailxn--g2xx48clickasumigaurawa-mazowszextraspacekitagatajir" +
+ "issagaeroclubmedecincinnationwidealstahaugesunderseaportsinfolld" +
+ "alabamagasakishimabarackmazerbaijan-mayendoftheinternetflixilove" +
+ "collegefantasyleaguernseyxn--gckr3f0fedorapeopleirfjordynvpncher" +
+ "nivtsiciliaxn--gecrj9clinichernigovernmentjometacentruminamiawaj" +
+ "ikis-a-doctorayxn--ggaviika-8ya47hakatanoshiroomuraxn--gildeskl-" +
+ "g0axn--givuotna-8yasakaiminatoyonezawaxn--gjvik-wuaxn--gk3at1exn" +
+ "--gls-elacaixaxn--gmq050isleofmandalxn--gmqw5axn--h-2failxn--h1a" +
+ "eghakodatexn--h2breg3evenestorepaircraftrentinosud-tirolxn--h2br" +
+ "j9c8cliniquenoharaxn--h3cuzk1digitalxn--hbmer-xqaxn--hcesuolo-7y" +
+ "a35batsfjordivtasvuodnakamagayahababyglandivttasvuotnakamurataji" +
+ "mibuildingjovikarasjokarasuyamarylhurstjohnayorovnoceanographics" +
+ "3-us-west-1xn--hery-iraxn--hgebostad-g3axn--hmmrfeasta-s4acctrus" +
+ "teexn--hnefoss-q1axn--hobl-iraxn--holtlen-hxaxn--hpmir-xqaxn--hx" +
+ "t814exn--hyanger-q1axn--hylandet-54axn--i1b6b1a6a2exn--imr513nxn" +
+ "--indery-fyasugivingxn--io0a7issmarterthanyouxn--j1aefedoraproje" +
+ "ctoyotomiyazakis-a-knightpointtokaizukamikoaniikappugliaxn--j1am" +
+ "hakonexn--j6w193gxn--jlq61u9w7bauhausposts-and-telecommunication" +
+ "sncfdiyonaguniversityoriikarateu-4xn--jlster-byasuokanraxn--jrpe" +
+ "land-54axn--jvr189misakis-into-cartoonshiraois-a-techietis-a-the" +
+ "rapistoiaxn--k7yn95exn--karmy-yuaxn--kbrq7oxn--kcrx77d1x4axn--kf" +
+ "jord-iuaxn--klbu-woaxn--klt787dxn--kltp7dxn--kltx9axn--klty5xn--" +
+ "3e0b707exn--koluokta-7ya57hakubaghdadxn--kprw13dxn--kpry57dxn--k" +
+ "pu716fermodalenxn--kput3iwchofunatoriginsurecreationishiwakis-a-" +
+ "geekashiwazakiyosatokashikiyosemitexn--krager-gyatomitamamuraxn-" +
+ "-kranghke-b0axn--krdsherad-m8axn--krehamn-dxaxn--krjohka-hwab49j" +
+ "elenia-goraxn--ksnes-uuaxn--kvfjord-nxaxn--kvitsy-fyatsukanumazu" +
+ "ryxn--kvnangen-k0axn--l-1fairwindstorfjordxn--l1accentureklambor" +
+ "ghiniizaxn--laheadju-7yatsushiroxn--langevg-jxaxn--lcvr32dxn--ld" +
+ "ingen-q1axn--leagaviika-52bbcasertaipeiheijiitatebayashiibahcavu" +
+ "otnagaraholtalenvironmentalconservationflfanfshostrowiecasinordl" +
+ "andnpalermomahachijorpelandrangedalindashorokanaieverbankaratsug" +
+ "inamikatagamiharuconnectashkentatamotors3-us-west-2xn--lesund-hu" +
+ "axn--lgbbat1ad8jeonnamerikawauexn--lgrd-poaclintonoshoesarluxury" +
+ "xn--lhppi-xqaxn--linds-pramericanartrvareserveblogspotrentinosue" +
+ "dtirolxn--lns-qlapyatigorskypexn--loabt-0qaxn--lrdal-sraxn--lren" +
+ "skog-54axn--lt-liaclothingdustkakamigaharaxn--lten-granexn--lury" +
+ "-iraxn--m3ch0j3axn--mely-iraxn--merker-kuaxn--mgb2ddestorjdevclo" +
+ "udfrontdoorxn--mgb9awbferraraxn--mgba3a3ejtrysiljanxn--mgba3a4f1" +
+ "6axn--mgba3a4franamizuholdingsmilelverumisasaguris-into-gamessin" +
+ "atsukigatakasagotembaixadaxn--mgba7c0bbn0axn--mgbaakc7dvferrarit" +
+ "togoldpoint2thisamitsukexn--mgbaam7a8hakuis-a-personaltrainerxn-" +
+ "-mgbab2bdxn--mgbai9a5eva00bbtatarantottoriiyamanouchikuhokuryuga" +
+ "sakitaurayasudautoscanadaejeonbukaragandasnesoddenmarkhangelskja" +
+ "kdnepropetrovskiervaapsteiermark12xn--mgbai9azgqp6jetztrentino-a" +
+ "-adigexn--mgbayh7gpagespeedmobilizeroxn--mgbb9fbpobanazawaxn--mg" +
+ "bbh1a71exn--mgbc0a9azcgxn--mgbca7dzdoxn--mgberp4a5d4a87gxn--mgbe" +
+ "rp4a5d4arxn--mgbgu82axn--mgbi4ecexposedxn--mgbpl2fhskodjejuegosh" +
+ "ikiminokamoenairportland-4-salernoboribetsuckstpetersburgxn--mgb" +
+ "qly7c0a67fbcnsarpsborgrossetouchijiwadegreexn--mgbqly7cvafranzis" +
+ "kanerdpolicexn--mgbt3dhdxn--mgbtf8flatangerxn--mgbtx2bbvacations" +
+ "watch-and-clockerxn--mgbx4cd0abbottulanxessor-varangerxn--mix082" +
+ "ferreroticanonoichinomiyakexn--mix891fetsundyroyrvikinguitarscho" +
+ "larshipschoolxn--mjndalen-64axn--mk0axindustriesteamfamberkeleyx" +
+ "n--mk1bu44cntkmaxxn--11b4c3dyndns-wikinkobayashikaoirminamibosog" +
+ "ndaluzernxn--mkru45ixn--mlatvuopmi-s4axn--mli-tlaquilanciaxn--ml" +
+ "selv-iuaxn--moreke-juaxn--mori-qsakuhokkaidoomdnsiskinkyotobetsu" +
+ "midatlanticolognextdirectmparaglidingroundhandlingroznyxn--mosje" +
+ "n-eyawaraxn--mot-tlarvikoseis-an-actresshirakofuefukihaboromskog" +
+ "xn--mre-og-romsdal-qqbentleyoshiokaracoldwarmiamihamadaveroykeni" +
+ "waizumiotsukuibestadds3-external-1xn--msy-ula0hakusandiegoodyear" +
+ "xn--mtta-vrjjat-k7afamilycompanycolonialwilliamsburgrparisor-fro" +
+ "nxn--muost-0qaxn--mxtq1misawaxn--ngbc5azdxn--ngbe9e0axn--ngbrxn-" +
+ "-3hcrj9cistrondheimmobilienxn--nit225kosherbrookegawaxn--nmesjev" +
+ "uemie-tcbalestrandabergamoarekexn--nnx388axn--nodessakuragawaxn-" +
+ "-nqv7fs00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--nttery-bya" +
+ "eservecounterstrikexn--nvuotna-hwaxn--nyqy26axn--o1achattanoogan" +
+ "ordre-landxn--o3cw4haldenxn--o3cyx2axn--od0algxn--od0aq3beppubli" +
+ "shproxyzgorzeleccollectionhlfanhs3-website-ap-northeast-1xn--ogb" +
+ "pf8flekkefjordxn--oppegrd-ixaxn--ostery-fyawatahamaxn--osyro-wua" +
+ "xn--p1acfgujolsterxn--p1aixn--pbt977coloradoplateaudioxn--pgbs0d" +
+ "hlxn--porsgu-sta26fhvalerxn--pssu33lxn--pssy2uxn--q9jyb4columbus" +
+ "heyxn--qcka1pmcdonaldstreamuneuesolutionsomaxn--qqqt11misconfuse" +
+ "dxn--qxamusementunesorfoldxn--rady-iraxn--rdal-poaxn--rde-ulavag" +
+ "iskexn--rdy-0nabarixn--rennesy-v1axn--rhkkervju-01aflakstadaokag" +
+ "akibichuoxn--rholt-mragowoodsideltaitogliattirestudioxn--rhqv96g" +
"xn--rht27zxn--rht3dxn--rht61exn--risa-5narusawaxn--risr-iraxn--r" +
- "land-uuaxn--rlingen-mxaxn--rmskog-byaxn--rny31hammarfeastafricap" +
- "etownnews-stagingxn--rovu88bernuorockartuzyukuhashimoichinosekig" +
- "aharautoscanadaejeonbukarasjokarasuyamarylhurstjordalshalsenaust" +
- "dalavagiskebizenakaniikawatanaguramusementarnobrzegyptianaturalh" +
- "istorymuseumcenterepaircraftarumizusawabogadocscbgdyniabkhaziama" +
- "llamagazineat-url-o-g-i-nativeamericanantiques3-ap-northeast-1ka" +
- "ppchizippodhaleangaviikadenadexetereit3l3p0rtargets-itargiving12" +
- "000emmafanconagawakayamadridvagsoyericssonyoursidealerimo-i-rana" +
- "amesjevuemielno-ip6xn--rros-granvindafjordxn--rskog-uuaxn--rst-0" +
- "narutokyotangovtuscanyxn--rsta-francaiseharaxn--ryken-vuaxn--ryr" +
- "vik-byaxn--s-1faithruherecreationxn--s9brj9compute-1xn--sandness" +
- "jen-ogbizxn--sandy-yuaxn--seral-lraxn--ses554gxn--sgne-gratangen" +
- "xn--skierv-utazaskoyabearalvahkihokumakogengerdalcestpetersburgx" +
- "n--skjervy-v1axn--skjk-soaxn--sknit-yqaxn--sknland-fxaxn--slat-5" +
- "narviikamisunagawaxn--slt-elabbvieeexn--smla-hraxn--smna-gratis-" +
- "a-bulls-fanxn--snase-nraxn--sndre-land-0cbremangerxn--snes-poaxn" +
- "--snsa-roaxn--sr-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn--sr-" +
- "varanger-ggbeskidyn-o-saurlandes3-website-us-east-1xn--srfold-by" +
- "axn--srreisa-q1axn--srum-grazxn--stfold-9xaxn--stjrdal-s1axn--st" +
- "jrdalshalsen-sqbestbuyshouses3-website-us-west-1xn--stre-toten-z" +
- "cbstreamsterdamnserverbaniaxn--t60b56axn--tckweatherchannelxn--t" +
- "iq49xqyjewelryxn--tjme-hraxn--tn0agrinet-freakstudioxn--tnsberg-" +
- "q1axn--tor131oxn--trany-yuaxn--trgstad-r1axn--trna-woaxn--troms-" +
- "zuaxn--tysvr-vraxn--uc0atvaroyxn--uc0ay4axn--uist22hamurakamigor" +
- "is-a-playerxn--uisz3gxn--unjrga-rtaobaokinawashirosatochiokinosh" +
- "imalatvuopmiasakuchinotsuchiurakawakuyabukievenestudyndns-at-hom" +
- "edepotenzamamicrolightingxn--unup4yxn--uuwu58axn--vads-jraxn--va" +
- "rd-jraxn--vegrshei-c0axn--vermgensberater-ctbetainaboxfusejnyuri" +
- "honjoyentgoryusuharaveroykenglandds3-external-1xn--vermgensberat" +
- "ung-pwbieigersundnpalaceu-3utilitiesquare7xn--vestvgy-ixa6oxn--v" +
- "g-yiabcgxn--vgan-qoaxn--vgsy-qoa0jewishartgalleryxn--vgu402compu" +
- "terhistoryofscience-fictionxn--vhquvbargainstitutelevisionayorov" +
- "nobninskarelianceu-2xn--vler-qoaxn--vre-eiker-k8axn--vrggt-xqadx" +
- "n--vry-yla5gxn--vuq861bielawalmartjeldsundrangedalillyusuisserve" +
- "exchangevents3-website-us-west-2xn--w4r85el8fhu5dnraxn--w4rs40lx" +
- "n--wcvs22dxn--wgbh1comsecuritytacticsaseboknowsitallukowhoswhokk" +
- "sundyndns-workisboringroundhandlingroznyxn--wgbl6axn--xhq521biel" +
- "laakesvuemielecceverbankarlsoyuufcfanikinuyamashinashikitchenikk" +
- "oebenhavnikolaevennodessagaeroclubmedecincinnationwidealstahauge" +
- "sunderseaportsinfolldalabamagasakishimabarackmazerbaijan-mayendo" +
- "ftheinternetflixilovecollegefantasyleaguernseyuzawavocatanzarowe" +
- "ddingjesdalavangenaval-d-aosta-valleyolasitehimejibigawaskvolloa" +
- "bathsbc66xn--xkc2al3hye2axn--xkc2dl3a5ee0hangglidingxn--y9a3aqua" +
- "riumishimatsunoxn--yer-znarvikosherbrookegawaxn--yfro4i67oxn--yg" +
- "arden-p1axn--ygbi2ammxn--3pxu8konsulatrobeepilepsydneyxn--ystre-" +
- "slidre-ujbieszczadygeyachimataikikonaioirasebastopologyeonggieht" +
- "avuoatnagaivuotnagaokakyotambabia-goracleaningatlantabuseekloges" +
- "t-mon-blogueurovisionikonantankarmoyxn--zbx025dxn--zf0ao64axn--z" +
- "f0avxn--42c2d9axn--zfr164bievatmallorcadaquesakurainvestmentsaky" +
- "otanabellunorddalimanowarudavoues3-fips-us-gov-west-1xperiaxz"
+ "land-uuaxn--rlingen-mxaxn--rmskog-byaxn--rny31halsaikitahatakama" +
+ "tsukawaxn--rovu88bernuorockartuzyukinfinitintuitateshinanomachim" +
+ "kentateyamavocatanzarowebspacebizenakanojohanamakinoharassnasaba" +
+ "erobatickets3-ap-southeast-2xn--rros-granvindafjordxn--rskog-uua" +
+ "xn--rst-0narutokyotangovtunkoninjamisonxn--rsta-francaiseharaxn-" +
+ "-rvc1e0am3exn--ryken-vuaxn--ryrvik-byaxn--s-1faithruheredumbrell" +
+ "ajollamericanexpressexyxn--s9brj9communitysnesarufutsunomiyawaka" +
+ "saikaitakoelnxn--sandnessjen-ogbizxn--sandy-yuaxn--seral-lraxn--" +
+ "ses554gxn--sgne-gratangenxn--skierv-utazaskoyabearalvahkijobserv" +
+ "erisignieznoipifonymishimatsunoxn--skjervy-v1axn--skjk-soaxn--sk" +
+ "nit-yqaxn--sknland-fxaxn--slat-5narviikamitondabayashiogamagoriz" +
+ "iaxn--slt-elabbvieeexn--smla-hraxn--smna-gratis-a-bulls-fanxn--s" +
+ "nase-nraxn--sndre-land-0cbremangerxn--snes-poaxn--snsa-roaxn--sr" +
+ "-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn--sr-varanger-ggbeski" +
+ "dyn-o-saurlandes3-website-ap-southeast-1xn--srfold-byaxn--srreis" +
+ "a-q1axn--srum-grazxn--stfold-9xaxn--stjrdal-s1axn--stjrdalshalse" +
+ "n-sqbestbuyshouses3-website-ap-southeast-2xn--stre-toten-zcbstud" +
+ "yndns-at-homedepotenzamamicrolightingxn--t60b56axn--tckweatherch" +
+ "annelxn--tiq49xqyjevnakershuscountryestateofdelawarezzoologyxn--" +
+ "tjme-hraxn--tn0agrinet-freakstuff-4-salexn--tnsberg-q1axn--tor13" +
+ "1oxn--trany-yuaxn--trgstad-r1axn--trna-woaxn--troms-zuaxn--tysvr" +
+ "-vraxn--uc0atvarggatrentoyokawaxn--uc0ay4axn--uist22hammarfeasta" +
+ "fricapetownnews-stagingxn--uisz3gxn--unjrga-rtaobaokinawashirosa" +
+ "tochiokinoshimalatvuopmiasakuchinotsuchiurakawalesundxn--unup4yx" +
+ "n--uuwu58axn--vads-jraxn--vard-jraxn--vegrshei-c0axn--vermgensbe" +
+ "rater-ctbetainaboxfusejnynysadodgeometre-experts-comptables3-web" +
+ "site-eu-west-1xn--vermgensberatung-pwbieigersundray-dnsupdaterno" +
+ "pilawavoues3-fips-us-gov-west-1xn--vestvgy-ixa6oxn--vg-yiabcgxn-" +
+ "-vgan-qoaxn--vgsy-qoa0jewelryxn--vgu402comobilyxn--vhquvaroyxn--" +
+ "vler-qoaxn--vre-eiker-k8axn--vrggt-xqadxn--vry-yla5gxn--vuq861bi" +
+ "elawalmartatsunoceanographiquevje-og-hornnes3-website-sa-east-1x" +
+ "n--w4r85el8fhu5dnraxn--w4rs40lxn--wcvs22dxn--wgbh1comparemarkerr" +
+ "yhotelsasayamaxn--wgbl6axn--xhq521biellaakesvuemieleccexn--xkc2a" +
+ "l3hye2axn--xkc2dl3a5ee0hamurakamigoris-a-photographerokuappfizer" +
+ "xn--y9a3aquariumissilewismillerxn--yer-znarvikoshimizumakis-an-a" +
+ "narchistoricalsocietyxn--yfro4i67oxn--ygarden-p1axn--ygbi2ammxn-" +
+ "-3oq18vl8pn36axn--ystre-slidre-ujbieszczadygeyachimataikikuchiku" +
+ "seikarugamvikareliancexn--zbx025dxn--zf0ao64axn--zf0avxn--3pxu8k" +
+ "onyveloftrentino-aadigexn--zfr164bievatmallorcadaques3-website-u" +
+ "s-east-1xperiaxz"
// nodes is the list of nodes. Each node is represented as a uint32, which
// encodes the node's children, wildcard bit and node type (as an index into
@@ -483,8274 +489,8419 @@ const text = "bifukagawalterbihorologybikedagestangeorgeorgiaxasnesoddenmarkha"
// An I denotes an ICANN domain.
//
// The layout within the uint32, from MSB to LSB, is:
-// [ 1 bits] unused
-// [ 9 bits] children index
+// [ 0 bits] unused
+// [10 bits] children index
// [ 1 bits] ICANN bit
// [15 bits] text index
// [ 6 bits] text length
var nodes = [...]uint32{
- 0x31a403,
- 0x284944,
- 0x2dd106,
- 0x3706c3,
- 0x3706c6,
- 0x398706,
- 0x3a8103,
- 0x2fe244,
- 0x38e987,
- 0x2dcd48,
- 0x1a05702,
- 0x316e87,
- 0x35c789,
- 0x2abb0a,
- 0x2abb0b,
- 0x22f383,
- 0x287506,
- 0x232dc5,
- 0x1e021c2,
- 0x2161c4,
- 0x238743,
- 0x26fc45,
- 0x2214902,
- 0x347743,
- 0x266f744,
- 0x33ddc5,
- 0x2a04702,
- 0x376b4e,
- 0x24c4c3,
- 0x38ae46,
+ 0x31fe83,
+ 0x28e944,
+ 0x2ed8c6,
+ 0x380743,
+ 0x380746,
+ 0x3a5306,
+ 0x3b5e43,
+ 0x30a7c4,
+ 0x20d0c7,
+ 0x2ed508,
+ 0x1a07102,
+ 0x31f1c7,
+ 0x368c09,
+ 0x2d68ca,
+ 0x2d68cb,
+ 0x238503,
+ 0x2dec46,
+ 0x23d6c5,
+ 0x1e07542,
+ 0x21cf84,
+ 0x266d03,
+ 0x346145,
+ 0x22035c2,
+ 0x20a643,
+ 0x271f944,
+ 0x342285,
+ 0x2a10042,
+ 0x38a48e,
+ 0x255083,
+ 0x3affc6,
0x2e00142,
- 0x2dd287,
- 0x236f46,
- 0x3209282,
- 0x229d83,
- 0x24d9c4,
- 0x325e86,
- 0x26c588,
- 0x2761c6,
- 0x2011c4,
+ 0x2d4207,
+ 0x240d86,
+ 0x3204f02,
+ 0x22ee43,
+ 0x256204,
+ 0x32d106,
+ 0x25b788,
+ 0x2811c6,
+ 0x378fc4,
0x3600242,
- 0x3335c9,
- 0x20a1c7,
- 0x351e86,
- 0x330c89,
- 0x298308,
- 0x26e904,
- 0x241ec6,
- 0x222a46,
- 0x3a022c2,
- 0x26480f,
- 0x20948e,
- 0x211d04,
- 0x2c2b85,
- 0x2fe145,
- 0x39e189,
- 0x23c409,
- 0x349a87,
- 0x20fa86,
- 0x275a83,
- 0x3e02a82,
- 0x315503,
- 0x34e24a,
- 0x20f903,
- 0x2af985,
- 0x284202,
- 0x284209,
- 0x4200ec2,
- 0x212484,
- 0x2b9686,
- 0x2f3645,
- 0x3552c4,
- 0x4a05644,
- 0x2030c3,
- 0x232344,
- 0x4e00c02,
- 0x268d44,
- 0x52ef6c4,
- 0x25ef4a,
- 0x5603dc2,
- 0x2ba587,
- 0x2f3b08,
- 0x6208142,
- 0x311687,
- 0x2bf204,
- 0x2bf207,
- 0x36e0c5,
- 0x34ffc7,
- 0x349846,
- 0x24f3c4,
- 0x38c105,
- 0x29e447,
+ 0x33b8c9,
+ 0x212107,
+ 0x2e6046,
+ 0x341809,
+ 0x2a0048,
+ 0x33a904,
+ 0x2a0f46,
+ 0x21f886,
+ 0x3a02d42,
+ 0x3a014f,
+ 0x28c84e,
+ 0x21bfc4,
+ 0x382c85,
+ 0x30a6c5,
+ 0x2e2109,
+ 0x249089,
+ 0x33b1c7,
+ 0x23f8c6,
+ 0x20ae43,
+ 0x3e01d42,
+ 0x2e3203,
+ 0x225d0a,
+ 0x20cac3,
+ 0x242f85,
+ 0x28e142,
+ 0x28e149,
+ 0x4200bc2,
+ 0x209204,
+ 0x28ad46,
+ 0x2e5c05,
+ 0x361644,
+ 0x4a1a344,
+ 0x203ec3,
+ 0x218d04,
+ 0x4e00702,
+ 0x2f8e84,
+ 0x52f5f04,
+ 0x339bca,
+ 0x5600f82,
+ 0x28bc47,
+ 0x281548,
+ 0x6206502,
+ 0x31d0c7,
+ 0x2c6d44,
+ 0x2c6d47,
+ 0x393c45,
+ 0x35e887,
+ 0x33af86,
+ 0x271dc4,
+ 0x378385,
+ 0x28ea47,
0x72001c2,
- 0x26e503,
- 0x200b82,
- 0x200b83,
- 0x760de02,
- 0x2102c5,
- 0x7a02a42,
- 0x350e04,
- 0x2734c5,
- 0x211c47,
- 0x26bcce,
- 0x2b9184,
- 0x245544,
- 0x202f03,
- 0x281d49,
- 0x31ee0b,
- 0x2e9a88,
- 0x379948,
- 0x3a9908,
- 0x22ae48,
- 0x330aca,
- 0x34fec7,
- 0x318186,
- 0x7e87002,
- 0x35e203,
- 0x367e43,
- 0x36f4c4,
- 0x3a8143,
- 0x3250c3,
- 0x1720b82,
- 0x8202502,
- 0x27a8c5,
- 0x296206,
- 0x2d1b84,
- 0x375487,
- 0x2e1886,
- 0x331f84,
- 0x39d3c7,
- 0x203bc3,
- 0x86c54c2,
- 0x8b0f242,
- 0x8e16742,
- 0x216746,
+ 0x224143,
+ 0x200c42,
+ 0x200c43,
+ 0x760b5c2,
+ 0x20f4c5,
+ 0x7a01d02,
+ 0x357844,
+ 0x27e405,
+ 0x21bf07,
+ 0x25aece,
+ 0x2bf044,
+ 0x23df04,
+ 0x211c43,
+ 0x28a4c9,
+ 0x30eacb,
+ 0x2ea6c8,
+ 0x3415c8,
+ 0x306208,
+ 0x2b7288,
+ 0x33a74a,
+ 0x35e787,
+ 0x321606,
+ 0x7e8f282,
+ 0x36a683,
+ 0x377683,
+ 0x37fd44,
+ 0x3b5e83,
+ 0x32c343,
+ 0x1727e02,
+ 0x8203302,
+ 0x283f45,
+ 0x29e006,
+ 0x2da184,
+ 0x388547,
+ 0x2fa686,
+ 0x389384,
+ 0x3aa107,
+ 0x223d43,
+ 0x86cd5c2,
+ 0x8a0d342,
+ 0x8e1e642,
+ 0x21e646,
0x9200002,
- 0x3523c5,
- 0x3220c3,
- 0x200604,
- 0x2e8f84,
- 0x2e8f85,
- 0x206b43,
- 0x978d2c3,
- 0x9a0bb42,
- 0x289e05,
- 0x289e0b,
- 0x31e686,
- 0x20cb4b,
- 0x221344,
- 0x20d949,
- 0x20e9c4,
- 0x9e0ec02,
- 0x20f143,
- 0x20f403,
- 0x16105c2,
- 0x268183,
- 0x2105ca,
- 0xa20b382,
- 0x216445,
- 0x29224a,
- 0x2d7744,
- 0x283783,
- 0x26cfc4,
- 0x212543,
- 0x212544,
- 0x212547,
- 0x2140c5,
- 0x2147c5,
- 0x214f46,
- 0x2157c6,
- 0x216a03,
- 0x21ae88,
- 0x210043,
- 0xa601c02,
- 0x243448,
- 0x213ccb,
- 0x220148,
- 0x220d86,
- 0x221847,
- 0x225348,
- 0xb642b42,
- 0xbabf3c2,
- 0x326788,
- 0x35e4c7,
- 0x246085,
- 0x357f48,
- 0x2bd408,
- 0x34dd83,
- 0x22a1c4,
- 0x36f502,
- 0xbe2bc82,
- 0xc238482,
- 0xca2e802,
+ 0x2501c5,
+ 0x329343,
+ 0x201684,
+ 0x2efb04,
+ 0x2efb05,
+ 0x203c43,
+ 0x979c783,
+ 0x9a092c2,
+ 0x291d85,
+ 0x291d8b,
+ 0x343c06,
+ 0x21270b,
+ 0x226544,
+ 0x213a49,
+ 0x2148c4,
+ 0x9e14b02,
+ 0x215943,
+ 0x216283,
+ 0x1616b42,
+ 0x275fc3,
+ 0x216b4a,
+ 0xa201102,
+ 0x21d205,
+ 0x29a88a,
+ 0x2e0544,
+ 0x201103,
+ 0x325384,
+ 0x21ae03,
+ 0x21ae04,
+ 0x21ae07,
+ 0x21b605,
+ 0x21d685,
+ 0x21dc46,
+ 0x21dfc6,
+ 0x21ea43,
+ 0x222688,
+ 0x206c03,
+ 0xa60c702,
+ 0x245848,
+ 0x23614b,
+ 0x228908,
+ 0x228e06,
+ 0x229dc7,
+ 0x22da48,
+ 0xb6024c2,
+ 0xba430c2,
+ 0x32da08,
+ 0x233347,
+ 0x2e7b45,
+ 0x2e7b48,
+ 0x2c3b08,
+ 0x2be483,
+ 0x232e04,
+ 0x37fd82,
+ 0xbe34382,
+ 0xc23e102,
+ 0xca37302,
+ 0x237303,
+ 0xce01382,
+ 0x30a783,
+ 0x300f44,
+ 0x20a043,
+ 0x322844,
+ 0x20d7cb,
+ 0x2322c3,
+ 0x2e6a46,
+ 0x245f44,
+ 0x2982ce,
+ 0x381245,
+ 0x3b00c8,
+ 0x263347,
+ 0x26334a,
0x22e803,
- 0xce01ec2,
- 0x2fe203,
- 0x2f1e84,
- 0x201ec3,
- 0x26e8c4,
- 0x201ecb,
- 0x213c03,
- 0x2de946,
- 0x239f84,
- 0x29034e,
- 0x371145,
- 0x38af48,
- 0x31ffc7,
- 0x31ffca,
- 0x229743,
- 0x22f147,
- 0x31efc5,
- 0x22f8c4,
- 0x265b06,
- 0x265b07,
- 0x2c11c4,
- 0x2f7a87,
- 0x313d44,
- 0x26c004,
- 0x26c006,
- 0x387184,
- 0x3510c6,
- 0x203f83,
- 0x35e288,
- 0x203f88,
- 0x245503,
- 0x268143,
- 0x399a04,
- 0x39e003,
- 0xd219f02,
- 0xd6d6a42,
- 0x20bac3,
- 0x207146,
- 0x241fc3,
- 0x377cc4,
- 0xdaee982,
- 0x3af843,
- 0x3507c3,
- 0x217a02,
- 0xde04142,
- 0x2c1946,
- 0x233ac7,
- 0x2e8945,
- 0x37de04,
- 0x28c505,
- 0x268907,
- 0x267805,
- 0x2b8649,
- 0x2cefc6,
- 0x2daa88,
- 0x2e8846,
- 0xe21a1c2,
- 0x32ca08,
- 0x2f1c46,
- 0x21a1c5,
- 0x2f6d87,
- 0x309984,
- 0x309985,
- 0x276384,
- 0x276388,
- 0xe60cc02,
- 0xea09882,
- 0x3103c6,
- 0x3b8988,
- 0x334385,
- 0x337306,
- 0x342f08,
- 0x344a88,
- 0xee09885,
- 0xf2142c4,
- 0x3b0787,
- 0xf60e5c2,
- 0xfa1b102,
- 0x10a099c2,
- 0x2b9785,
- 0x2a2645,
- 0x2fef86,
- 0x3b2547,
- 0x380747,
- 0x112a84c3,
- 0x2a84c7,
- 0x31eb08,
- 0x376ec9,
- 0x376d07,
- 0x384d07,
- 0x3a8ec8,
- 0x3ad4c6,
- 0x22f3c6,
- 0x23000c,
- 0x23120a,
- 0x231687,
- 0x232c8b,
- 0x233907,
- 0x23390e,
- 0x234cc4,
- 0x235ac4,
- 0x237a47,
- 0x3690c7,
- 0x23b206,
- 0x23b207,
- 0x23b4c7,
- 0x19604682,
- 0x23c886,
- 0x23c88a,
- 0x23ce8b,
- 0x23dbc7,
- 0x23ed45,
- 0x23f083,
- 0x240586,
- 0x240587,
- 0x38eb43,
- 0x19a0c442,
- 0x240f4a,
- 0x19f5d882,
- 0x1a2a5e02,
- 0x1a643142,
- 0x1aa2cd82,
- 0x244bc5,
- 0x245304,
- 0x1b205742,
- 0x268dc5,
- 0x23d483,
- 0x20eac5,
- 0x22ad44,
- 0x206804,
- 0x314046,
- 0x25e206,
- 0x28a003,
- 0x238284,
- 0x3a6803,
- 0x1b600dc2,
- 0x391c04,
- 0x391c06,
- 0x3b0d05,
- 0x205e06,
- 0x2f6e88,
- 0x266e84,
- 0x27ed08,
- 0x2426c5,
- 0x228308,
- 0x29ff86,
- 0x237587,
- 0x22e204,
- 0x22e206,
- 0x33f443,
- 0x383ec3,
- 0x223d08,
- 0x318dc4,
- 0x348747,
- 0x23e6c6,
- 0x2d6389,
- 0x250348,
- 0x26cd08,
- 0x26d084,
- 0x351443,
- 0x225e02,
- 0x1c60f882,
- 0x1ca10e82,
- 0x3a7403,
- 0x1ce04a42,
- 0x38eac4,
- 0x2862c6,
- 0x26e605,
- 0x21ba03,
- 0x232884,
- 0x2b14c7,
- 0x33da03,
- 0x231a88,
- 0x208545,
- 0x36e803,
- 0x273445,
- 0x273584,
- 0x2f6a86,
- 0x209ec4,
- 0x211346,
- 0x211b86,
- 0x3916c4,
- 0x213b43,
- 0x1d205882,
- 0x247345,
- 0x221c03,
- 0x1d61b0c2,
- 0x22ffc3,
- 0x209bc5,
- 0x232403,
- 0x232409,
- 0x1da05f02,
- 0x1e205e42,
- 0x2893c5,
- 0x218786,
- 0x2d1746,
- 0x2b0a88,
- 0x2b0a8b,
- 0x20718b,
- 0x2e8b45,
- 0x2db145,
- 0x2c6309,
+ 0x317a07,
+ 0x30ec85,
+ 0x23a384,
+ 0x272706,
+ 0x272707,
+ 0x330f44,
+ 0x301f87,
+ 0x25a184,
+ 0x25b204,
+ 0x25b206,
+ 0x25f704,
+ 0x36bdc6,
+ 0x216983,
+ 0x233108,
+ 0x316ec8,
+ 0x23dec3,
+ 0x275f83,
+ 0x3a6604,
+ 0x3aae83,
+ 0xd235f42,
+ 0xd6df482,
+ 0x207143,
+ 0x203f86,
+ 0x2a1043,
+ 0x285184,
+ 0xda165c2,
+ 0x2165c3,
+ 0x35f083,
+ 0x21fe02,
+ 0xde008c2,
+ 0x2c9786,
+ 0x23e347,
+ 0x2fd645,
+ 0x38fd04,
+ 0x294d45,
+ 0x2f8a47,
+ 0x2add85,
+ 0x2e4689,
+ 0x2e9906,
+ 0x2ef808,
+ 0x2fd546,
+ 0xe20e982,
+ 0x2ddb08,
+ 0x300d06,
+ 0x219205,
+ 0x316887,
+ 0x316dc4,
+ 0x316dc5,
+ 0x281384,
+ 0x345d88,
+ 0xe6127c2,
+ 0xea04882,
+ 0x33ca06,
+ 0x2cf588,
+ 0x34d485,
+ 0x351546,
+ 0x356108,
+ 0x371488,
+ 0xee35dc5,
+ 0xf214f44,
+ 0x34e247,
+ 0xf614602,
+ 0xfa22902,
+ 0x10e0f882,
+ 0x28ae45,
+ 0x2aaa45,
+ 0x30af86,
+ 0x350007,
+ 0x386287,
+ 0x11638543,
+ 0x2b0307,
+ 0x30e7c8,
+ 0x3a0849,
+ 0x38a647,
+ 0x3b9c87,
+ 0x238788,
+ 0x238f86,
+ 0x239e86,
+ 0x23aacc,
+ 0x23c08a,
+ 0x23c407,
+ 0x23d58b,
+ 0x23e187,
+ 0x23e18e,
+ 0x19a3f304,
+ 0x240244,
+ 0x242547,
+ 0x3ac747,
+ 0x246d46,
+ 0x246d47,
+ 0x247407,
+ 0x19e29682,
+ 0x2495c6,
+ 0x2495ca,
+ 0x24a08b,
+ 0x24ac87,
+ 0x24b845,
+ 0x24bb83,
+ 0x24bdc6,
+ 0x24bdc7,
+ 0x20d283,
+ 0x1a206e02,
+ 0x24c78a,
+ 0x1a769d02,
+ 0x1aa4f282,
+ 0x1ae4dd42,
+ 0x1b240e82,
+ 0x24e9c5,
+ 0x24ef44,
+ 0x1ba1a442,
+ 0x2f8f05,
+ 0x24a683,
+ 0x2149c5,
+ 0x2b7184,
+ 0x205ec4,
+ 0x25a486,
+ 0x262586,
+ 0x291f83,
+ 0x204844,
+ 0x3894c3,
+ 0x1c204c82,
+ 0x210ac4,
+ 0x210ac6,
+ 0x34e7c5,
+ 0x37e946,
+ 0x316988,
+ 0x273544,
+ 0x266ac8,
+ 0x398785,
+ 0x22bc88,
+ 0x2b2dc6,
+ 0x26d907,
+ 0x233d84,
+ 0x233d86,
+ 0x242bc3,
+ 0x393fc3,
+ 0x211d08,
+ 0x322004,
+ 0x356747,
+ 0x20c7c6,
+ 0x2dedc9,
+ 0x322a88,
+ 0x325448,
+ 0x331ac4,
+ 0x35f103,
+ 0x229942,
+ 0x1d2234c2,
+ 0x1d61a202,
+ 0x36c083,
+ 0x1da08e02,
+ 0x20d204,
+ 0x3521c6,
+ 0x3b3745,
+ 0x24fa83,
+ 0x23cf44,
+ 0x2b95c7,
+ 0x25a783,
+ 0x251208,
+ 0x218405,
+ 0x264143,
+ 0x27e385,
+ 0x27e4c4,
+ 0x300a06,
+ 0x218f84,
+ 0x21ab86,
+ 0x21be46,
+ 0x210584,
+ 0x23e543,
+ 0x1de1a582,
+ 0x23dd05,
+ 0x20b9c3,
+ 0x1e20c882,
+ 0x23aa83,
+ 0x2231c5,
+ 0x23cac3,
+ 0x23cac9,
+ 0x1e606b82,
+ 0x1ee07842,
+ 0x2918c5,
+ 0x2211c6,
+ 0x2d9d46,
+ 0x2bb248,
+ 0x2bb24b,
+ 0x203fcb,
+ 0x220bc5,
+ 0x2fd845,
+ 0x2cdfc9,
0x1600302,
- 0x391888,
- 0x20dc44,
- 0x1ea007c2,
- 0x3a7883,
- 0x1f2c6086,
- 0x20ae88,
- 0x1f601402,
- 0x2344c8,
- 0x1fa2bb82,
- 0x3b92ca,
- 0x1feccc43,
- 0x3ac1c6,
- 0x3af408,
- 0x3ac008,
- 0x31d006,
- 0x36bc07,
- 0x264a07,
- 0x3349ca,
- 0x2d77c4,
- 0x3474c4,
- 0x35c1c9,
- 0x20794385,
- 0x209686,
- 0x20e1c3,
- 0x24a044,
- 0x20a02644,
- 0x202647,
- 0x212fc7,
- 0x22a584,
- 0x285445,
- 0x2ff048,
- 0x366747,
- 0x370f07,
- 0x20e18342,
- 0x327704,
- 0x292b48,
- 0x245bc4,
- 0x247784,
- 0x248085,
- 0x2481c7,
- 0x223589,
- 0x248fc4,
- 0x249709,
- 0x249948,
- 0x249dc4,
- 0x249dc7,
- 0x2124aa83,
- 0x24ad47,
- 0x1609d02,
- 0x16ad202,
- 0x24bec6,
- 0x24c507,
- 0x24cd44,
- 0x24e6c7,
- 0x24fa47,
- 0x24fdc3,
- 0x248902,
- 0x229642,
- 0x250a03,
- 0x250a04,
- 0x250a0b,
- 0x379a48,
- 0x256804,
- 0x2523c5,
- 0x254007,
- 0x2555c5,
- 0x2bc00a,
- 0x256743,
- 0x2160fc82,
- 0x226e84,
- 0x258d89,
- 0x25c343,
- 0x25c407,
- 0x24a849,
- 0x282688,
- 0x204743,
- 0x278fc7,
- 0x279709,
- 0x268ac3,
- 0x2810c4,
- 0x283c89,
- 0x2880c6,
- 0x289683,
+ 0x210748,
+ 0x213d44,
+ 0x1f601842,
+ 0x326403,
+ 0x1fecdd46,
+ 0x348e08,
+ 0x20208b42,
+ 0x2bdec8,
+ 0x2060c182,
+ 0x2bf7ca,
+ 0x20a3fd03,
+ 0x203606,
+ 0x36cc48,
+ 0x209708,
+ 0x3b3a46,
+ 0x37c807,
+ 0x3a0347,
+ 0x34daca,
+ 0x2e05c4,
+ 0x354d44,
+ 0x368649,
+ 0x2139fb45,
+ 0x28ca46,
+ 0x210083,
+ 0x253d44,
+ 0x2160df44,
+ 0x20df47,
+ 0x22c507,
+ 0x234404,
+ 0x2df805,
+ 0x30b048,
+ 0x375e07,
+ 0x381007,
+ 0x21a07602,
+ 0x32e984,
+ 0x29b188,
+ 0x2504c4,
+ 0x251844,
+ 0x251c45,
+ 0x251d87,
+ 0x222349,
+ 0x252a04,
+ 0x253149,
+ 0x253388,
+ 0x253ac4,
+ 0x253ac7,
+ 0x21e54003,
+ 0x254187,
+ 0x1609c42,
+ 0x16b4a42,
+ 0x254b86,
+ 0x2550c7,
+ 0x255584,
+ 0x257687,
+ 0x258d47,
+ 0x259983,
+ 0x2f6802,
+ 0x207d82,
+ 0x231683,
+ 0x231684,
+ 0x23168b,
+ 0x3416c8,
+ 0x263c84,
+ 0x25c985,
+ 0x25eb47,
+ 0x260105,
+ 0x2c8c0a,
+ 0x263bc3,
+ 0x22206b02,
+ 0x206b04,
+ 0x267189,
+ 0x26a743,
+ 0x26a807,
+ 0x373089,
+ 0x212508,
+ 0x2db543,
+ 0x282f07,
+ 0x283649,
+ 0x23d483,
+ 0x289844,
+ 0x28d209,
+ 0x290146,
+ 0x21c203,
0x200182,
- 0x21f983,
- 0x3a8a87,
- 0x21f985,
- 0x379746,
- 0x256e84,
- 0x302e85,
- 0x2e4403,
- 0x216c46,
- 0x20db42,
- 0x395144,
- 0x221402,
- 0x221403,
- 0x21a00782,
- 0x247303,
- 0x215c44,
- 0x215c47,
- 0x200906,
- 0x202602,
- 0x21e025c2,
- 0x2dca84,
- 0x22235e82,
- 0x22600b02,
- 0x2d4f84,
- 0x2d4f85,
- 0x2b6dc5,
- 0x390e06,
- 0x22a05d42,
- 0x205d45,
- 0x20cf05,
- 0x20ae03,
- 0x210986,
- 0x2126c5,
- 0x2166c2,
- 0x343605,
- 0x2166c4,
- 0x221ec3,
- 0x227343,
- 0x22e0c642,
- 0x2d4987,
- 0x3669c4,
- 0x3669c9,
- 0x249f44,
- 0x291d43,
- 0x2f6609,
- 0x367508,
- 0x232a24c4,
- 0x2a24c6,
- 0x21c303,
- 0x247bc3,
- 0x2e9dc3,
- 0x236eb382,
- 0x368cc2,
- 0x23a05e82,
- 0x323cc8,
- 0x32a388,
- 0x398e46,
- 0x2e27c5,
- 0x22efc5,
- 0x352ec7,
- 0x21d205,
- 0x228782,
- 0x23e38182,
- 0x1603002,
- 0x2416c8,
- 0x32c945,
- 0x2e3404,
- 0x2ebac5,
- 0x23f407,
- 0x3207c4,
- 0x240e42,
- 0x24200582,
- 0x338984,
- 0x212cc7,
- 0x28a2c7,
- 0x34ff84,
- 0x292203,
- 0x245444,
- 0x245448,
- 0x22f706,
- 0x26598a,
- 0x223444,
- 0x292588,
- 0x288504,
- 0x221946,
- 0x294684,
- 0x2b9a86,
- 0x366c89,
- 0x25da47,
- 0x3375c3,
- 0x24667e42,
- 0x267e43,
- 0x20ee02,
- 0x24a11ec2,
- 0x3085c6,
- 0x365c88,
- 0x2a4087,
- 0x3a3f49,
- 0x291c49,
- 0x2a5045,
- 0x2a6049,
- 0x2a6805,
- 0x2a6949,
- 0x2a8005,
- 0x2a9108,
- 0x21fb84,
- 0x24e890c7,
- 0x2a9303,
- 0x2a9307,
- 0x3850c6,
- 0x2a9b87,
- 0x2a1085,
- 0x2935c3,
- 0x2521ae02,
- 0x3b40c4,
- 0x2562ce82,
- 0x258203,
- 0x25a17f42,
- 0x36d586,
- 0x2f3a85,
- 0x2ac207,
- 0x26cc43,
- 0x325044,
- 0x20e903,
- 0x33e783,
- 0x25e02bc2,
- 0x266015c2,
- 0x398804,
- 0x2488c3,
- 0x243c85,
- 0x26a029c2,
- 0x27206482,
- 0x2b4506,
- 0x318f04,
- 0x2e3004,
- 0x2e300a,
- 0x27a01fc2,
- 0x37204a,
- 0x3756c8,
- 0x27fb1384,
- 0x20ad83,
- 0x201fc3,
- 0x3a9a49,
- 0x217649,
- 0x285246,
- 0x28244183,
- 0x3292c5,
- 0x30180d,
- 0x375886,
- 0x3bac8b,
- 0x28602e82,
- 0x22c1c8,
- 0x29206e82,
- 0x29606fc2,
- 0x2ae585,
- 0x29a03942,
- 0x258447,
- 0x21c907,
- 0x21e003,
- 0x2306c8,
- 0x29e06502,
- 0x312684,
- 0x212943,
- 0x351d45,
- 0x34db83,
- 0x2f3546,
- 0x205904,
- 0x268103,
- 0x2ae9c3,
- 0x2a205fc2,
- 0x2e8ac4,
- 0x35f6c5,
- 0x39f1c7,
- 0x275643,
- 0x2ad883,
- 0x2ae083,
- 0x160fec2,
- 0x2ae143,
- 0x2ae943,
- 0x2a605102,
- 0x282104,
- 0x25e406,
- 0x342643,
- 0x2aec43,
- 0x2aaafd42,
- 0x2afd48,
- 0x2b0004,
- 0x36c246,
- 0x2b0387,
- 0x249c46,
- 0x28e2c4,
- 0x38600682,
- 0x384f8b,
- 0x2fb08e,
- 0x21930f,
- 0x2985c3,
- 0x38ebbbc2,
- 0x1600f42,
- 0x39201582,
- 0x28f403,
- 0x2fdec3,
- 0x233706,
- 0x277c46,
- 0x3afd87,
- 0x3328c4,
- 0x396188c2,
- 0x39a08882,
- 0x348345,
- 0x2e6047,
- 0x3b5746,
- 0x39e27282,
- 0x227284,
- 0x2b3ac3,
- 0x3a20be02,
- 0x3a759ec3,
- 0x2b4c44,
- 0x2be409,
- 0x16c3ac2,
- 0x3aa03a82,
- 0x203a85,
- 0x3aec3d42,
- 0x3b203202,
- 0x346947,
- 0x239689,
- 0x35ca0b,
- 0x2647c5,
- 0x2c4849,
- 0x2e8246,
- 0x31e6c7,
- 0x3b608484,
- 0x3199c9,
- 0x373487,
- 0x20ab47,
- 0x20a383,
- 0x20a386,
- 0x3b68c7,
- 0x206a43,
- 0x2565c6,
- 0x3be02a02,
- 0x3c232682,
- 0x385803,
- 0x324c45,
- 0x350f47,
- 0x250086,
- 0x21f905,
- 0x277d44,
- 0x2c9fc5,
- 0x2f2684,
- 0x3c6040c2,
- 0x331107,
- 0x2dbd44,
- 0x217544,
- 0x21754d,
- 0x257509,
- 0x3a4448,
- 0x253944,
- 0x3abc45,
- 0x206447,
- 0x2144c4,
- 0x2e1947,
- 0x21c485,
- 0x3caa4604,
- 0x2d92c5,
- 0x25b004,
- 0x24bb86,
- 0x3b2345,
- 0x3ce250c2,
- 0x283844,
- 0x283845,
- 0x36fa46,
- 0x20c3c5,
- 0x30c304,
- 0x2c5dc3,
- 0x2053c6,
- 0x358505,
- 0x2bb485,
- 0x3b2444,
- 0x2234c3,
- 0x2234cc,
- 0x3d288a02,
- 0x3d6010c2,
- 0x3da00282,
- 0x206343,
- 0x206344,
- 0x3de04bc2,
- 0x2f9688,
- 0x379805,
- 0x235684,
- 0x23b086,
- 0x3e201f42,
- 0x3e609782,
- 0x3ea00e82,
- 0x306b85,
- 0x391586,
- 0x211084,
- 0x3263c6,
- 0x2ba346,
- 0x219943,
- 0x3ef0de0a,
- 0x247b05,
- 0x2c8e83,
- 0x223186,
- 0x300fc9,
- 0x223187,
- 0x297788,
- 0x2981c9,
- 0x224348,
- 0x229486,
- 0x20bf03,
- 0x3f2a8542,
- 0x385683,
- 0x385689,
- 0x332448,
- 0x3f649a02,
- 0x3fa02342,
- 0x227f83,
- 0x2da905,
- 0x251ec4,
- 0x2c0909,
- 0x22cb84,
- 0x266348,
- 0x202343,
- 0x202344,
- 0x278b03,
- 0x2187c8,
- 0x217487,
- 0x4020b102,
- 0x274082,
- 0x351905,
- 0x266689,
- 0x209703,
- 0x27b184,
- 0x329284,
- 0x2064c3,
- 0x27c3ca,
- 0x40752bc2,
- 0x40a83802,
- 0x2c5443,
- 0x3739c3,
- 0x1602302,
- 0x38ac03,
- 0x40e0f242,
- 0x4120ec42,
- 0x41610444,
+ 0x264d83,
+ 0x2b4847,
+ 0x2c3e85,
+ 0x3413c6,
+ 0x259004,
+ 0x374e05,
+ 0x225cc3,
+ 0x20e646,
+ 0x213c42,
+ 0x3a1784,
+ 0x2260d382,
+ 0x226603,
+ 0x22a01802,
+ 0x251743,
+ 0x21e444,
+ 0x21e447,
+ 0x201986,
+ 0x20df02,
+ 0x22e0dec2,
+ 0x2c4244,
+ 0x23235182,
+ 0x23601b82,
+ 0x265704,
+ 0x265705,
+ 0x345105,
+ 0x35c386,
+ 0x23a074c2,
+ 0x2074c5,
+ 0x213005,
+ 0x2157c3,
+ 0x219d06,
+ 0x21a645,
+ 0x21e5c2,
+ 0x34d0c5,
+ 0x21e5c4,
+ 0x228203,
+ 0x22a443,
+ 0x23e11442,
+ 0x2dcf47,
+ 0x376084,
+ 0x376089,
+ 0x253c44,
+ 0x2357c3,
+ 0x300589,
+ 0x389e08,
+ 0x242aa8c4,
+ 0x2aa8c6,
+ 0x219983,
+ 0x25d3c3,
+ 0x323043,
+ 0x246eebc2,
+ 0x379b82,
+ 0x24a17202,
+ 0x32af48,
+ 0x358e08,
+ 0x3a5a46,
+ 0x2fd0c5,
+ 0x317885,
+ 0x333d07,
+ 0x2247c5,
+ 0x210642,
+ 0x24e04742,
+ 0x160a442,
+ 0x2447c8,
+ 0x2dda45,
+ 0x2bfbc4,
+ 0x2f2845,
+ 0x381d87,
+ 0x240944,
+ 0x24c682,
+ 0x25200582,
+ 0x33ffc4,
+ 0x21ca07,
+ 0x292507,
+ 0x35e844,
+ 0x29a843,
+ 0x23de04,
+ 0x23de08,
+ 0x23a1c6,
+ 0x27258a,
+ 0x222204,
+ 0x29abc8,
+ 0x290584,
+ 0x229ec6,
+ 0x29c484,
+ 0x28b146,
+ 0x376349,
+ 0x274847,
+ 0x241243,
+ 0x256351c2,
+ 0x2755c3,
+ 0x214d02,
+ 0x25a52e42,
+ 0x313486,
+ 0x374588,
+ 0x2ac047,
+ 0x3ab249,
+ 0x299f49,
+ 0x2acf05,
+ 0x2adec9,
+ 0x2ae685,
+ 0x2ae7c9,
+ 0x2afe45,
+ 0x2b11c8,
+ 0x25e0a104,
+ 0x26259ac7,
+ 0x2b13c3,
+ 0x2b13c7,
+ 0x3ba046,
+ 0x2b1a47,
+ 0x2a9b05,
+ 0x2a2cc3,
+ 0x26636d02,
+ 0x339704,
+ 0x26a42a42,
+ 0x266603,
+ 0x26e206c2,
+ 0x30df06,
+ 0x2814c5,
+ 0x2b3cc7,
+ 0x332043,
+ 0x32c2c4,
+ 0x217003,
+ 0x342c43,
+ 0x27205e82,
+ 0x27a0c442,
+ 0x3a5404,
+ 0x2f67c3,
+ 0x24e545,
+ 0x27e01c82,
+ 0x286007c2,
+ 0x2c8286,
+ 0x322144,
+ 0x38c444,
+ 0x38c44a,
+ 0x28e00942,
+ 0x38298a,
+ 0x39b8c8,
+ 0x29231604,
+ 0x2046c3,
+ 0x20d8c3,
+ 0x306349,
+ 0x25bd09,
+ 0x364986,
+ 0x29655783,
+ 0x335d45,
+ 0x30d2cd,
+ 0x39ba86,
+ 0x204f4b,
+ 0x29a02b02,
+ 0x225b48,
+ 0x2be22782,
+ 0x2c203e02,
+ 0x2b1685,
+ 0x2c604182,
+ 0x266847,
+ 0x21b987,
+ 0x20bf43,
+ 0x23b188,
+ 0x2ca02542,
+ 0x3780c4,
+ 0x21a8c3,
+ 0x348505,
+ 0x364603,
+ 0x33c406,
+ 0x212a84,
+ 0x275f43,
+ 0x2b6443,
+ 0x2ce09942,
+ 0x2fd7c4,
+ 0x379c85,
+ 0x3b6587,
+ 0x280003,
+ 0x2b5103,
+ 0x2b5c03,
+ 0x1631182,
+ 0x2b5cc3,
+ 0x2b63c3,
+ 0x2d2086c2,
+ 0x3a2e44,
+ 0x262786,
+ 0x34ba83,
+ 0x2086c3,
+ 0x2d6b8042,
+ 0x2b8048,
+ 0x2b8304,
+ 0x37ce46,
+ 0x2b8bc7,
+ 0x258346,
+ 0x2a0304,
+ 0x3b201702,
+ 0x3b9f0b,
+ 0x307c0e,
+ 0x221d4f,
+ 0x2ac5c3,
+ 0x3ba64d42,
+ 0x160b542,
+ 0x3be00a82,
+ 0x2e89c3,
+ 0x2e4903,
+ 0x2de046,
+ 0x207986,
+ 0x203007,
+ 0x304704,
+ 0x3c221302,
+ 0x3c618742,
+ 0x3a1205,
+ 0x2e7007,
+ 0x38c946,
+ 0x3ca28142,
+ 0x228144,
+ 0x2bc743,
+ 0x3ce09a02,
+ 0x3d366443,
+ 0x2bce04,
+ 0x2c5409,
+ 0x16cb602,
+ 0x3d605242,
+ 0x385d85,
+ 0x3dacb882,
+ 0x3de03582,
+ 0x3541c7,
+ 0x21b2c9,
+ 0x368e8b,
+ 0x3a0105,
+ 0x2714c9,
+ 0x384d06,
+ 0x343c47,
+ 0x3e206844,
+ 0x341d89,
+ 0x380907,
+ 0x348ac7,
+ 0x2122c3,
+ 0x2122c6,
+ 0x312247,
+ 0x263a43,
+ 0x263a46,
+ 0x3ea01cc2,
+ 0x3ee022c2,
+ 0x22bf03,
+ 0x32bec5,
+ 0x25a007,
+ 0x227906,
+ 0x2c3e05,
+ 0x207a84,
+ 0x28ddc5,
+ 0x2fae04,
+ 0x3f204bc2,
+ 0x337447,
+ 0x2ca604,
+ 0x24f3c4,
+ 0x25bc0d,
+ 0x25d749,
+ 0x3ab748,
+ 0x25e044,
+ 0x234a85,
+ 0x322907,
+ 0x3329c4,
+ 0x2fa747,
+ 0x204bc5,
+ 0x3f6ac504,
+ 0x2b5e05,
+ 0x269404,
+ 0x256fc6,
+ 0x34fe05,
+ 0x3fa048c2,
+ 0x2011c4,
+ 0x2011c5,
+ 0x3802c6,
+ 0x206d85,
+ 0x3c0144,
+ 0x2cda83,
+ 0x208d46,
+ 0x222545,
+ 0x22b605,
+ 0x34ff04,
+ 0x222283,
+ 0x22228c,
+ 0x3fe90a82,
+ 0x40206702,
+ 0x40600282,
+ 0x211a83,
+ 0x211a84,
+ 0x40a02942,
+ 0x2fba48,
+ 0x341485,
+ 0x34c984,
+ 0x36ee86,
+ 0x40e0d842,
+ 0x41234502,
+ 0x41601fc2,
+ 0x2a6a85,
0x210446,
- 0x383b06,
- 0x26ad44,
- 0x36c643,
- 0x38bcc3,
- 0x226883,
- 0x23d206,
- 0x2cb8c5,
- 0x2c5a07,
- 0x31e589,
- 0x2ca645,
- 0x2cb806,
- 0x2cbd88,
- 0x2cbf86,
- 0x236a04,
- 0x29944b,
- 0x2ceac3,
- 0x2ceac5,
- 0x2cec08,
- 0x228502,
- 0x346c42,
- 0x41a44c42,
- 0x41e0e602,
- 0x218903,
- 0x422675c2,
- 0x2675c3,
- 0x2cef04,
- 0x2cf5c3,
- 0x42a115c2,
- 0x42ed43c6,
- 0x2a7306,
- 0x43207902,
- 0x4360f442,
- 0x43a27382,
- 0x43e02c82,
- 0x4422dd02,
- 0x44602d02,
- 0x234703,
- 0x390685,
- 0x319606,
- 0x44a11cc4,
- 0x3b0b0a,
- 0x32fe86,
- 0x2e8d84,
- 0x281d03,
- 0x45604642,
- 0x200c82,
- 0x25fd03,
- 0x45a05503,
- 0x2c7b87,
- 0x3b2247,
- 0x47250b07,
- 0x312d87,
- 0x227b03,
- 0x227b0a,
- 0x236b84,
- 0x23e5c4,
- 0x23e5ca,
- 0x213f05,
- 0x47609642,
- 0x24e683,
- 0x47a008c2,
- 0x21c2c3,
- 0x267e03,
- 0x48203342,
- 0x2a8444,
- 0x21de84,
- 0x3b9505,
- 0x305005,
- 0x2e1ac6,
- 0x2e1e46,
- 0x48608442,
- 0x48a033c2,
- 0x3185c5,
- 0x2a7012,
- 0x2511c6,
- 0x220803,
- 0x30a746,
- 0x220805,
- 0x1610602,
- 0x50e120c2,
- 0x353e83,
- 0x2120c3,
- 0x2441c3,
- 0x512023c2,
- 0x376e43,
- 0x5160b482,
- 0x210483,
- 0x282148,
- 0x25e983,
- 0x25e986,
- 0x3a2987,
- 0x306806,
- 0x30680b,
- 0x2e8cc7,
- 0x3b3ec4,
- 0x51e04ec2,
- 0x379685,
- 0x522054c3,
- 0x2a6e03,
- 0x326c05,
- 0x329983,
- 0x52729986,
- 0x391a0a,
- 0x26a9c3,
- 0x204584,
- 0x3b88c6,
- 0x21a5c6,
- 0x52a00983,
- 0x324f07,
- 0x285147,
- 0x29b0c5,
- 0x2318c6,
- 0x224a83,
- 0x54a10bc3,
- 0x54e056c2,
- 0x328144,
- 0x22a2cc,
- 0x236149,
- 0x2414c7,
- 0x249245,
+ 0x226144,
+ 0x32d646,
+ 0x28ba06,
+ 0x215c83,
+ 0x41b2770a,
+ 0x2f6b05,
+ 0x2f6fc3,
+ 0x22a9c6,
+ 0x30c989,
+ 0x22a9c7,
+ 0x29f648,
+ 0x29ff09,
+ 0x241b08,
+ 0x22e546,
+ 0x209b03,
+ 0x41e0c202,
+ 0x395343,
+ 0x395349,
+ 0x333608,
+ 0x42253442,
+ 0x42604a82,
+ 0x229443,
+ 0x2e4505,
+ 0x25c404,
+ 0x2c9ec9,
+ 0x26eb44,
+ 0x2e0908,
+ 0x2050c3,
+ 0x20dc44,
+ 0x2acd03,
+ 0x221208,
+ 0x25bb47,
+ 0x42e281c2,
+ 0x270d02,
+ 0x388b05,
+ 0x272dc9,
+ 0x28cac3,
+ 0x284bc4,
+ 0x335d04,
+ 0x227543,
+ 0x28580a,
+ 0x43382842,
+ 0x43601182,
+ 0x2cd543,
+ 0x384f83,
+ 0x160dc02,
+ 0x20ffc3,
+ 0x43a14702,
+ 0x43e00802,
+ 0x4420f644,
+ 0x20f646,
+ 0x3b6a46,
+ 0x248c44,
+ 0x37d243,
+ 0x200803,
+ 0x2f60c3,
+ 0x24a406,
+ 0x30aa05,
+ 0x2cd6c7,
+ 0x343b09,
+ 0x2d2d85,
+ 0x2d3f46,
+ 0x2d4908,
+ 0x2d4b06,
+ 0x260ec4,
+ 0x2a1d8b,
+ 0x2d8403,
+ 0x2d8405,
+ 0x2d8548,
+ 0x22c2c2,
+ 0x3544c2,
+ 0x4464ea42,
+ 0x44a14642,
+ 0x221343,
+ 0x44e745c2,
+ 0x2745c3,
+ 0x2d8844,
+ 0x2d8e03,
+ 0x45605902,
+ 0x45a0c0c6,
+ 0x2af186,
+ 0x45edcac2,
+ 0x462162c2,
+ 0x4662a482,
+ 0x46a00e82,
+ 0x46e176c2,
+ 0x47202ec2,
+ 0x205383,
+ 0x344905,
+ 0x348206,
+ 0x4761bf84,
+ 0x34e5ca,
+ 0x20bd46,
+ 0x220e04,
+ 0x28a483,
+ 0x4820ea42,
+ 0x204d42,
+ 0x23d503,
+ 0x48608e83,
+ 0x2d8047,
+ 0x34fd07,
+ 0x49e31787,
+ 0x23fcc7,
+ 0x2309c3,
+ 0x33188a,
+ 0x263544,
+ 0x3863c4,
+ 0x3863ca,
+ 0x24b685,
+ 0x4a2190c2,
+ 0x254b43,
+ 0x4a601942,
+ 0x21b543,
+ 0x275583,
+ 0x4ae02b82,
+ 0x2b0284,
+ 0x2256c4,
+ 0x208105,
+ 0x39e745,
+ 0x2fc3c6,
+ 0x2fc746,
+ 0x4b206802,
+ 0x4b600982,
+ 0x3139c5,
+ 0x2aee92,
+ 0x259806,
+ 0x231483,
+ 0x315a06,
+ 0x231485,
+ 0x1616b82,
+ 0x53a17102,
+ 0x35fd43,
+ 0x217103,
+ 0x35d703,
+ 0x53e02c82,
+ 0x38a783,
+ 0x54205b82,
+ 0x20cc43,
+ 0x3a2e88,
+ 0x231e83,
+ 0x231e86,
+ 0x3b0c87,
+ 0x26c286,
+ 0x26c28b,
+ 0x220d47,
+ 0x339504,
+ 0x54a00e42,
+ 0x341305,
+ 0x54e08e43,
+ 0x2aec83,
+ 0x32de85,
+ 0x331783,
+ 0x55331786,
+ 0x2108ca,
+ 0x2488c3,
+ 0x240c44,
+ 0x2cf4c6,
+ 0x2364c6,
+ 0x55601a03,
+ 0x32c187,
+ 0x364887,
+ 0x2a3885,
+ 0x251046,
+ 0x222583,
+ 0x57619f43,
+ 0x57a0cb42,
+ 0x34bd44,
+ 0x22c24c,
+ 0x232f09,
+ 0x2445c7,
+ 0x38ad45,
+ 0x252c84,
+ 0x25e6c8,
+ 0x265d45,
+ 0x57e6c505,
+ 0x27b709,
+ 0x2e6103,
+ 0x24f204,
+ 0x5821cc82,
+ 0x221543,
+ 0x5869bf42,
+ 0x3bbe86,
+ 0x16235c2,
+ 0x58a35b42,
+ 0x2a6988,
+ 0x2ac343,
+ 0x2b5d47,
+ 0x2daa05,
+ 0x2e5205,
+ 0x2e520b,
+ 0x2e58c6,
+ 0x2e5406,
+ 0x2e9006,
+ 0x232b84,
+ 0x2e9246,
+ 0x58eeae88,
+ 0x246003,
+ 0x231a43,
+ 0x231a44,
+ 0x2ea484,
+ 0x2eab87,
+ 0x2ec3c5,
+ 0x592ec502,
+ 0x59607082,
+ 0x207085,
+ 0x295bc4,
+ 0x2ef38b,
+ 0x2efa08,
+ 0x2998c4,
+ 0x228182,
+ 0x59e99842,
+ 0x350e83,
+ 0x2efec4,
+ 0x2f0185,
+ 0x2f0607,
+ 0x2f2384,
+ 0x220c04,
+ 0x5a204102,
+ 0x36f5c9,
+ 0x2f3185,
+ 0x3a03c5,
+ 0x2f3e45,
+ 0x5a621483,
+ 0x2f4dc4,
+ 0x2f4dcb,
+ 0x2f5204,
+ 0x2f5c0b,
+ 0x2f6005,
+ 0x221e8a,
+ 0x2f7608,
+ 0x2f780a,
+ 0x2f7fc3,
+ 0x2f7fca,
+ 0x5aa33502,
+ 0x5ae2fa42,
+ 0x236903,
+ 0x5b2f9f02,
+ 0x2f9f03,
+ 0x5b71c482,
+ 0x5bb29ac2,
+ 0x2fac84,
+ 0x2227c6,
+ 0x32d385,
+ 0x2fd4c3,
+ 0x320446,
+ 0x317345,
0x262a84,
- 0x273cc8,
- 0x278305,
- 0x55284a05,
- 0x28c609,
- 0x351f43,
- 0x2a5d84,
- 0x556013c2,
- 0x2013c3,
- 0x55a94142,
- 0x2a4386,
- 0x160f982,
- 0x55e06e02,
- 0x306a88,
- 0x2be603,
- 0x2d9207,
- 0x2e4d05,
- 0x2dd685,
- 0x32840b,
- 0x2dd686,
- 0x328606,
- 0x2ffac6,
- 0x262c84,
- 0x3042c6,
- 0x2e3508,
- 0x23a043,
- 0x250dc3,
- 0x250dc4,
- 0x2e4484,
- 0x2e4a07,
- 0x2e5ec5,
- 0x562e6002,
- 0x5660ba02,
- 0x20ba05,
- 0x2e83c4,
- 0x2e83cb,
- 0x2e8e88,
- 0x228f44,
- 0x2272c2,
- 0x56e28ec2,
- 0x23b903,
- 0x2e9344,
- 0x2e9605,
- 0x2ea047,
- 0x2eb604,
- 0x2e8b84,
- 0x57201302,
- 0x360cc9,
- 0x2ec405,
- 0x264a85,
- 0x2ecf85,
- 0x57601303,
- 0x2ee0c4,
- 0x2ee0cb,
- 0x2ee644,
- 0x2ef3cb,
- 0x2ef7c5,
- 0x21944a,
- 0x2f0048,
- 0x2f024a,
- 0x2f0ac3,
- 0x2f0aca,
- 0x57a01742,
- 0x57e2d4c2,
- 0x21aa03,
- 0x582f1bc2,
- 0x2f1bc3,
- 0x5875c402,
- 0x58b22842,
- 0x2f2504,
- 0x21afc6,
- 0x326105,
- 0x2f4503,
- 0x31a9c6,
- 0x204405,
- 0x25e704,
- 0x58e05ec2,
- 0x2c9244,
- 0x2c5f8a,
- 0x22d787,
- 0x2f38c6,
- 0x380b07,
- 0x22a403,
- 0x283e48,
- 0x37f48b,
- 0x3736c5,
- 0x333ec5,
- 0x333ec6,
- 0x390884,
- 0x3aa248,
- 0x222943,
- 0x222944,
- 0x222947,
- 0x38e446,
- 0x352686,
- 0x29018a,
- 0x246604,
- 0x24660a,
- 0x59282846,
- 0x282847,
- 0x252447,
- 0x270844,
- 0x270849,
- 0x25e0c5,
- 0x235e0b,
- 0x2e81c3,
- 0x211503,
- 0x22f003,
- 0x22fac4,
- 0x59600482,
- 0x25d4c6,
- 0x293345,
- 0x30a985,
- 0x24f6c6,
- 0x3395c4,
- 0x59a02782,
- 0x23f0c4,
- 0x59e01c42,
- 0x2b9f05,
- 0x21ad84,
- 0x21bec3,
- 0x5a612102,
- 0x212103,
- 0x23ba46,
- 0x5aa03082,
- 0x27f488,
- 0x223004,
- 0x223006,
- 0x374246,
- 0x2540c4,
- 0x205345,
- 0x2141c8,
- 0x216547,
- 0x219687,
- 0x21968f,
- 0x292a46,
- 0x22cf03,
+ 0x5be06b42,
+ 0x2ba844,
+ 0x2cdc4a,
+ 0x22fd07,
+ 0x2e5e86,
+ 0x2612c7,
+ 0x20c743,
+ 0x2bce48,
+ 0x39fd8b,
+ 0x230305,
+ 0x2f41c5,
+ 0x2f41c6,
+ 0x2ea004,
+ 0x3bf388,
+ 0x20e543,
+ 0x21f784,
+ 0x21f787,
+ 0x355746,
+ 0x344b06,
+ 0x29810a,
+ 0x250d44,
+ 0x250d4a,
+ 0x5c20c386,
+ 0x20c387,
+ 0x25ca07,
+ 0x27b0c4,
+ 0x27b0c9,
+ 0x262445,
+ 0x2439cb,
+ 0x2eef43,
+ 0x21ad43,
+ 0x5c625b03,
+ 0x23a584,
+ 0x5ca00482,
+ 0x2f70c6,
+ 0x5cea2a45,
+ 0x315c45,
+ 0x258586,
+ 0x352b04,
+ 0x5d2044c2,
+ 0x24bbc4,
+ 0x5d60b282,
+ 0x28b5c5,
+ 0x236c84,
+ 0x22cb43,
+ 0x5de17142,
+ 0x217143,
+ 0x273e86,
+ 0x5e204242,
+ 0x2241c8,
+ 0x22a844,
+ 0x22a846,
+ 0x204dc6,
+ 0x25ec04,
+ 0x208cc5,
+ 0x214e48,
+ 0x215647,
+ 0x2159c7,
+ 0x2159cf,
+ 0x29b086,
+ 0x22f483,
+ 0x22f484,
+ 0x36edc4,
+ 0x213103,
+ 0x22a004,
+ 0x2494c4,
+ 0x5e60fd02,
+ 0x291cc3,
+ 0x24bf43,
+ 0x5ea0d2c2,
+ 0x22f043,
+ 0x20d2c3,
+ 0x21d70a,
+ 0x2e7d07,
+ 0x381f0c,
+ 0x3821c6,
+ 0x2f5a86,
+ 0x2f6447,
+ 0x5ee0e947,
+ 0x252d49,
+ 0x245984,
+ 0x253e04,
+ 0x5f221382,
+ 0x5f600a02,
+ 0x2984c6,
+ 0x32bf84,
+ 0x2df606,
+ 0x239048,
+ 0x2bf2c4,
+ 0x266886,
+ 0x2d9d05,
+ 0x26e488,
+ 0x2041c3,
+ 0x26fd85,
+ 0x270b03,
+ 0x3a04c3,
+ 0x3a04c4,
+ 0x206ac3,
+ 0x5fa0e602,
+ 0x5fe00742,
+ 0x2eee09,
+ 0x273885,
+ 0x276bc4,
+ 0x27ab05,
+ 0x217e84,
+ 0x2c62c7,
+ 0x36ecc5,
+ 0x231944,
+ 0x231948,
+ 0x2d6206,
+ 0x2dac04,
+ 0x2e0788,
+ 0x2e1fc7,
+ 0x60202502,
+ 0x2e6f44,
+ 0x2131c4,
+ 0x348cc7,
+ 0x60602504,
+ 0x210f82,
+ 0x60a06742,
+ 0x227103,
+ 0x2dfc84,
+ 0x2b2143,
+ 0x370645,
+ 0x60e06d42,
+ 0x2eeac5,
+ 0x21b9c2,
+ 0x35c7c5,
+ 0x374745,
+ 0x61204d02,
+ 0x35f004,
+ 0x61606182,
+ 0x266d86,
+ 0x2a7806,
+ 0x272f08,
+ 0x2c7588,
+ 0x30de84,
+ 0x2f97c5,
+ 0x395809,
+ 0x2fd8c4,
+ 0x210884,
+ 0x208483,
+ 0x61a1f545,
+ 0x2cb6c7,
+ 0x28d004,
+ 0x31288d,
+ 0x332182,
+ 0x33f203,
+ 0x3479c3,
+ 0x61e00d02,
+ 0x397dc5,
+ 0x212cc7,
+ 0x23fd84,
+ 0x23fd87,
+ 0x2a0109,
+ 0x2cdd89,
+ 0x277e07,
+ 0x20f803,
+ 0x2ba348,
+ 0x2522c9,
+ 0x349c47,
+ 0x355685,
+ 0x395546,
+ 0x398bc6,
+ 0x3aaf05,
+ 0x25d845,
+ 0x62209142,
+ 0x37da45,
+ 0x2bad08,
+ 0x2c9546,
+ 0x626c0d47,
+ 0x2f6244,
+ 0x29bb07,
+ 0x300246,
+ 0x62a3b442,
+ 0x37ffc6,
+ 0x302d4a,
+ 0x3035c5,
+ 0x62ee6282,
+ 0x63260a02,
+ 0x312586,
+ 0x2b36c8,
+ 0x636926c7,
+ 0x63a04502,
+ 0x226783,
+ 0x36a846,
0x22cf04,
- 0x310504,
- 0x20d003,
- 0x221a84,
- 0x240944,
- 0x5ae42b02,
- 0x289d43,
- 0x242b03,
- 0x5b209842,
- 0x229f83,
- 0x38eb83,
- 0x21484a,
- 0x358107,
- 0x2efc0c,
- 0x2efec6,
- 0x30a146,
- 0x248547,
- 0x5b64c687,
- 0x24f809,
- 0x243584,
- 0x24fbc4,
- 0x5ba18942,
- 0x5be027c2,
- 0x290546,
- 0x324d04,
- 0x2d6bc6,
- 0x2a5148,
- 0x3b8dc4,
- 0x258486,
- 0x2d1705,
- 0x265c88,
- 0x207383,
- 0x273705,
- 0x273e83,
- 0x264b83,
- 0x264b84,
- 0x2759c3,
- 0x5c2ec082,
- 0x5c602e02,
- 0x2e8089,
- 0x278205,
- 0x278404,
- 0x27a9c5,
- 0x20dd44,
- 0x2e0d07,
- 0x343bc5,
- 0x250cc4,
- 0x250cc8,
- 0x2d5086,
- 0x2d7984,
- 0x2d8e88,
- 0x2dbb87,
- 0x5ca03902,
- 0x2e36c4,
- 0x20d0c4,
- 0x20ad47,
- 0x5ce2b804,
- 0x2ccf42,
- 0x5d201102,
- 0x201543,
- 0x203984,
- 0x2aa283,
- 0x374e05,
- 0x5d61e182,
- 0x2eb285,
- 0x202c42,
- 0x34d5c5,
- 0x365e45,
- 0x5da00c42,
- 0x350744,
- 0x5de00d02,
- 0x2387c6,
- 0x29a146,
- 0x2667c8,
- 0x2bfa08,
- 0x36d504,
- 0x36d6c5,
- 0x3610c9,
- 0x2db1c4,
- 0x3919c4,
- 0x205183,
- 0x5e222705,
- 0x2c3b87,
- 0x2a2744,
- 0x341e8d,
- 0x361782,
- 0x361783,
- 0x364503,
- 0x5e600802,
- 0x388305,
- 0x25f9c7,
- 0x205b44,
- 0x312e47,
- 0x2983c9,
- 0x2c60c9,
- 0x2519c7,
- 0x273b03,
- 0x273b08,
- 0x2ed249,
- 0x24e187,
- 0x373605,
- 0x39e086,
- 0x39fb86,
- 0x3a3c05,
- 0x257605,
- 0x5ea02d82,
- 0x36ce45,
- 0x2b2908,
- 0x2c1706,
- 0x5eeb7487,
- 0x2efa04,
- 0x2aa987,
- 0x2f62c6,
- 0x5f230982,
- 0x36f746,
- 0x2f83ca,
- 0x2f8e85,
- 0x5f6de402,
- 0x5fa36542,
- 0x3b6c06,
- 0x2a1e88,
- 0x5fe8a487,
- 0x60234e42,
- 0x2255c3,
- 0x311d86,
- 0x225044,
- 0x3a2846,
- 0x390b06,
- 0x26ff0a,
- 0x331c05,
- 0x367ec6,
- 0x3759c3,
- 0x3759c4,
- 0x207102,
- 0x309943,
- 0x60606382,
- 0x2f0f83,
- 0x3722c4,
- 0x2a1fc4,
- 0x2a1fca,
- 0x229543,
- 0x276288,
- 0x22954a,
- 0x27b447,
- 0x2fcd86,
- 0x238684,
- 0x290bc2,
- 0x2a2e82,
- 0x60a04002,
- 0x245403,
- 0x252207,
- 0x31ac87,
- 0x2848c4,
- 0x26f8c7,
- 0x2ea146,
- 0x216847,
- 0x35e604,
- 0x242a05,
- 0x2b7985,
- 0x60e0fe82,
- 0x20fe86,
- 0x218283,
- 0x220502,
- 0x220506,
- 0x61203e02,
- 0x6160b0c2,
- 0x3ba785,
- 0x61a21c82,
- 0x61e03b42,
- 0x33b5c5,
- 0x393105,
- 0x367f85,
- 0x267303,
- 0x286385,
- 0x2dd747,
- 0x307bc5,
- 0x306185,
- 0x38b044,
- 0x3204c6,
- 0x23e804,
- 0x62201442,
- 0x62f630c5,
- 0x2ebe07,
- 0x2d6dc8,
- 0x25fe86,
- 0x25fe8d,
- 0x260709,
- 0x260712,
- 0x32f345,
- 0x3339c3,
- 0x6320a9c2,
- 0x309444,
- 0x375903,
- 0x360fc5,
- 0x2fa085,
- 0x63612982,
- 0x36e843,
- 0x63a50b82,
- 0x642bf542,
- 0x6460fb42,
- 0x353805,
- 0x37ac43,
- 0x37a4c8,
- 0x64a07842,
- 0x64e000c2,
- 0x2a8406,
- 0x33b80a,
- 0x21bf03,
- 0x20c343,
- 0x2ee3c3,
- 0x65a02dc2,
- 0x73e35482,
- 0x74601c82,
- 0x201682,
- 0x36f549,
- 0x2c2f04,
- 0x2309c8,
- 0x74af4542,
- 0x74e08602,
- 0x2ef605,
- 0x2330c8,
- 0x282288,
- 0x2f858c,
- 0x22d543,
- 0x25a9c2,
- 0x75201f82,
- 0x2caac6,
- 0x2fdc05,
- 0x26d343,
- 0x23cc46,
- 0x2fdd46,
- 0x201f83,
- 0x2ff883,
- 0x300786,
- 0x3013c4,
- 0x295586,
- 0x2cec85,
- 0x30164a,
- 0x2eebc4,
- 0x302304,
- 0x30370a,
- 0x7566b082,
- 0x337745,
- 0x30478a,
- 0x305285,
- 0x305b44,
- 0x305c46,
- 0x305dc4,
- 0x218dc6,
- 0x75a6dac2,
- 0x2f3206,
- 0x2f3dc5,
- 0x3ab6c7,
- 0x200206,
- 0x248744,
- 0x2d5e07,
- 0x30dd46,
- 0x2b8a45,
- 0x381947,
- 0x39eb47,
- 0x39eb4e,
- 0x25ed06,
- 0x2e1805,
- 0x27dec7,
- 0x282b43,
- 0x3b2f87,
- 0x20f5c5,
- 0x212144,
- 0x212f82,
- 0x3addc7,
- 0x332944,
- 0x377404,
- 0x273f0b,
- 0x21d5c3,
- 0x2b6987,
- 0x21d5c4,
- 0x2cc0c7,
- 0x228bc3,
- 0x33678d,
- 0x388b48,
- 0x21d044,
- 0x250bc5,
- 0x307d05,
- 0x308143,
- 0x75e22f02,
- 0x309903,
- 0x309fc3,
- 0x210004,
- 0x279805,
- 0x218307,
- 0x375a46,
- 0x372003,
- 0x23ab4b,
- 0x26ba4b,
- 0x2a654b,
- 0x2de44a,
- 0x30254b,
- 0x31be8b,
- 0x356b8c,
- 0x378d11,
- 0x3b654a,
- 0x3ba10b,
- 0x30ad8b,
- 0x30b34a,
- 0x30b88a,
- 0x30cb4e,
- 0x30d18b,
- 0x30d44a,
- 0x30ef11,
- 0x30f34a,
- 0x30f84b,
- 0x30fd8e,
- 0x31078c,
- 0x310c4b,
- 0x310f0e,
- 0x31128c,
- 0x31474a,
- 0x31698c,
- 0x76316c8a,
- 0x317489,
- 0x31af4a,
- 0x31b1ca,
- 0x31b44b,
- 0x31f60e,
- 0x31f991,
- 0x328b89,
- 0x328dca,
- 0x3295cb,
- 0x32a84a,
- 0x32b316,
- 0x32e14b,
- 0x32f10a,
- 0x32f50a,
- 0x33084b,
- 0x333449,
- 0x337109,
- 0x337d4d,
- 0x33870b,
- 0x33978b,
- 0x33a14b,
- 0x33a609,
- 0x33ac4e,
- 0x33b30a,
- 0x33fc8a,
- 0x33ffca,
- 0x340b8b,
- 0x3413cb,
- 0x34168d,
- 0x342c0d,
- 0x343290,
- 0x34374b,
- 0x34408c,
- 0x34480b,
- 0x34644b,
- 0x34798b,
- 0x34c00b,
- 0x34ca8f,
- 0x34ce4b,
- 0x34d94a,
- 0x34e689,
- 0x34f409,
- 0x34f8cb,
- 0x34fb8e,
- 0x35434b,
- 0x35574f,
- 0x35864b,
- 0x35890b,
- 0x358bcb,
- 0x3590ca,
- 0x35c609,
- 0x35f34f,
- 0x36424c,
- 0x36488c,
- 0x364d0e,
- 0x3653cf,
- 0x36578e,
- 0x365fd0,
- 0x3663cf,
- 0x366f4e,
- 0x36770c,
- 0x367a12,
- 0x3689d1,
- 0x36988e,
- 0x36a04e,
- 0x36a58e,
- 0x36a90f,
- 0x36acce,
- 0x36b053,
- 0x36b511,
- 0x36b94e,
- 0x36bdcc,
- 0x36d913,
- 0x36e210,
- 0x36ea8c,
- 0x36ed8c,
- 0x36f24b,
- 0x3703ce,
- 0x370c8b,
- 0x3715cb,
- 0x37258c,
- 0x37814a,
- 0x37850c,
- 0x37880c,
- 0x378b09,
- 0x37bb8b,
- 0x37be48,
- 0x37c049,
- 0x37c04f,
- 0x37d98b,
- 0x7677eb8a,
- 0x381fcc,
- 0x383189,
- 0x383608,
- 0x38380b,
- 0x383c8b,
- 0x38480a,
- 0x384a8b,
- 0x38540c,
- 0x386008,
- 0x388d4b,
- 0x38b44b,
- 0x39484b,
- 0x3958cb,
- 0x39e6cb,
- 0x39e989,
- 0x39eecd,
- 0x3a464a,
- 0x3a5597,
- 0x3a6bd8,
- 0x3a96c9,
- 0x3ab30b,
- 0x3ac814,
- 0x3acd0b,
- 0x3ad28a,
- 0x3aea0a,
- 0x3aec8b,
- 0x3b4250,
- 0x3b4651,
- 0x3b4d0a,
- 0x3b5b4d,
- 0x3b624d,
- 0x3ba3cb,
- 0x3bbd46,
- 0x20ff83,
- 0x76b80483,
- 0x22cdc6,
- 0x247645,
- 0x27a007,
- 0x31bd46,
- 0x1656682,
- 0x2ad9c9,
- 0x31a7c4,
- 0x2dacc8,
- 0x232b43,
- 0x309387,
- 0x234f42,
- 0x2ac243,
- 0x76e07b02,
- 0x2c7406,
- 0x2c9884,
- 0x369f44,
- 0x390143,
- 0x390145,
- 0x776c3d82,
- 0x77aa6cc4,
- 0x270787,
- 0x77e4a282,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x204e83,
- 0x205702,
- 0x16d208,
- 0x2099c2,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x214843,
- 0x324556,
- 0x325793,
- 0x26f749,
- 0x3b0688,
- 0x379509,
- 0x304906,
- 0x3389d0,
- 0x254b53,
- 0x38e508,
- 0x28ea47,
- 0x36c747,
- 0x284d0a,
- 0x372349,
- 0x38d849,
- 0x28decb,
- 0x349846,
- 0x379b4a,
- 0x220d86,
- 0x31a3c3,
- 0x2d48c5,
- 0x35e288,
- 0x23888d,
- 0x2b984c,
- 0x2de0c7,
- 0x30b00d,
- 0x2142c4,
- 0x22fd8a,
- 0x230d4a,
- 0x23120a,
- 0x2099c7,
- 0x23af07,
- 0x23d844,
- 0x22e206,
- 0x20c144,
- 0x2b4148,
- 0x22cbc9,
- 0x2b0a86,
- 0x2b0a88,
- 0x2422cd,
- 0x2c6309,
- 0x3ac008,
- 0x264a07,
- 0x2f1f0a,
- 0x24c506,
- 0x2580c7,
- 0x2cc3c4,
- 0x23f287,
- 0x309c0a,
- 0x3ae54e,
- 0x21d205,
- 0x3b4a4b,
- 0x331a09,
- 0x217649,
- 0x21c747,
- 0x2a34ca,
- 0x20ac87,
- 0x2fb1c9,
- 0x38f0c8,
- 0x3533cb,
- 0x2da905,
- 0x3a430a,
- 0x266e09,
- 0x26d2ca,
- 0x2ca6cb,
- 0x23f18b,
- 0x28dc55,
- 0x2e3b85,
- 0x264a85,
- 0x2ee0ca,
- 0x3945ca,
- 0x331787,
- 0x21da83,
- 0x2904c8,
- 0x2d2c4a,
- 0x223006,
- 0x24dfc9,
- 0x265c88,
- 0x2d7984,
- 0x2aa289,
- 0x2bfa08,
- 0x29fec7,
- 0x3630c6,
- 0x2ebe07,
- 0x289a47,
- 0x23d005,
- 0x21d04c,
- 0x250bc5,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2099c2,
- 0x2a84c3,
- 0x205503,
- 0x204e83,
- 0x200983,
- 0x2a84c3,
- 0x205503,
- 0x25e983,
- 0x200983,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
+ 0x3b0b46,
+ 0x344e06,
+ 0x36d78a,
+ 0x377705,
+ 0x208806,
+ 0x2205c3,
+ 0x2205c4,
+ 0x203082,
+ 0x314a43,
+ 0x63e11ac2,
+ 0x2f8483,
+ 0x382c04,
+ 0x2b3804,
+ 0x2b380a,
+ 0x22e603,
+ 0x281288,
+ 0x22e60a,
+ 0x2b4247,
+ 0x309306,
+ 0x266c44,
+ 0x220cc2,
+ 0x228cc2,
+ 0x64207002,
+ 0x23ddc3,
+ 0x25c7c7,
+ 0x320707,
+ 0x28e8c4,
+ 0x39d147,
+ 0x2f0706,
+ 0x21e747,
+ 0x233484,
+ 0x398ac5,
+ 0x2ce485,
+ 0x6462be42,
+ 0x231146,
+ 0x327943,
+ 0x371742,
+ 0x383306,
+ 0x64a08bc2,
+ 0x64e05082,
+ 0x3c0985,
+ 0x6522a202,
+ 0x65604782,
+ 0x348085,
+ 0x39e345,
+ 0x2088c5,
+ 0x26f003,
+ 0x352285,
+ 0x2e5987,
+ 0x305cc5,
+ 0x311985,
+ 0x3b01c4,
+ 0x24d486,
+ 0x264544,
+ 0x65a00d42,
+ 0x666f2bc5,
+ 0x2ab647,
+ 0x3176c8,
+ 0x29f806,
+ 0x29f80d,
+ 0x2aac09,
+ 0x2aac12,
+ 0x359f05,
+ 0x36f8c3,
+ 0x66a08882,
+ 0x314544,
+ 0x39bb03,
+ 0x3963c5,
+ 0x304a45,
+ 0x66e1a902,
+ 0x264183,
+ 0x67231802,
+ 0x67a43242,
+ 0x67e1f342,
+ 0x2ed385,
+ 0x23fec3,
+ 0x36d408,
+ 0x68204382,
+ 0x686000c2,
+ 0x2b0246,
+ 0x35f2ca,
0x205503,
- 0x200983,
- 0x16d208,
- 0x2099c2,
- 0x2006c2,
- 0x231442,
- 0x206502,
+ 0x209f43,
+ 0x2ef103,
+ 0x69202642,
+ 0x77602cc2,
+ 0x77e0d582,
+ 0x206442,
+ 0x37fdc9,
+ 0x2caa44,
+ 0x23b488,
+ 0x782fd502,
+ 0x78603642,
+ 0x2f5e45,
+ 0x23d9c8,
+ 0x3a2fc8,
+ 0x25920c,
+ 0x22fac3,
+ 0x78a68dc2,
+ 0x78e0c402,
+ 0x2d3206,
+ 0x30a185,
+ 0x2a7b83,
+ 0x381c46,
+ 0x30a2c6,
+ 0x20d883,
+ 0x30bc43,
+ 0x30c146,
+ 0x30cd84,
+ 0x29d386,
+ 0x2d85c5,
+ 0x30d10a,
+ 0x2397c4,
+ 0x30e244,
+ 0x30f08a,
+ 0x79203442,
+ 0x2413c5,
+ 0x31018a,
+ 0x310a85,
+ 0x311344,
+ 0x311446,
+ 0x3115c4,
+ 0x221806,
+ 0x79611042,
+ 0x33c0c6,
+ 0x3b1b45,
+ 0x3b80c7,
+ 0x200206,
+ 0x2de844,
+ 0x2de847,
+ 0x327646,
+ 0x245345,
+ 0x245347,
+ 0x3abdc7,
+ 0x3abdce,
+ 0x232206,
+ 0x2fa605,
+ 0x202447,
+ 0x216303,
+ 0x3326c7,
+ 0x2172c5,
+ 0x21b0c4,
+ 0x2343c2,
+ 0x2432c7,
+ 0x304784,
+ 0x383884,
+ 0x270b8b,
+ 0x224e03,
+ 0x2d4c47,
+ 0x224e04,
+ 0x2f11c7,
+ 0x299543,
+ 0x33dd4d,
+ 0x398608,
+ 0x224604,
+ 0x231845,
+ 0x312bc5,
+ 0x313003,
+ 0x79a0c4c2,
+ 0x314a03,
+ 0x314d43,
+ 0x20f204,
+ 0x283745,
+ 0x22a4c7,
+ 0x220646,
+ 0x382943,
+ 0x38344b,
+ 0x259c8b,
+ 0x2ac9cb,
+ 0x2fbd4b,
+ 0x2c578a,
+ 0x30e48b,
+ 0x32420b,
+ 0x362f0c,
+ 0x38bf4b,
+ 0x3bdf51,
+ 0x3bfd8a,
+ 0x31604b,
+ 0x31630c,
+ 0x31660b,
+ 0x316b8a,
+ 0x317c8a,
+ 0x318c8e,
+ 0x31930b,
+ 0x3195ca,
+ 0x31a9d1,
+ 0x31ae0a,
+ 0x31b30b,
+ 0x31b84e,
+ 0x31c18c,
+ 0x31c68b,
+ 0x31c94e,
+ 0x31cccc,
+ 0x31d9ca,
+ 0x31eccc,
+ 0x79f1efca,
+ 0x31f7c8,
+ 0x320909,
+ 0x3232ca,
+ 0x32354a,
+ 0x3237cb,
+ 0x326d8e,
+ 0x327111,
+ 0x330189,
+ 0x3303ca,
+ 0x3313cb,
+ 0x334a0a,
+ 0x3354d6,
+ 0x336e4b,
+ 0x337b0a,
+ 0x337f4a,
+ 0x33a4cb,
+ 0x33b749,
+ 0x33e6c9,
+ 0x33ec8d,
+ 0x33f2cb,
+ 0x34040b,
+ 0x340dcb,
+ 0x347049,
+ 0x34768e,
+ 0x347dca,
+ 0x3494ca,
+ 0x349a0a,
+ 0x34a14b,
+ 0x34a98b,
+ 0x34ac4d,
+ 0x34c50d,
+ 0x34cd50,
+ 0x34d20b,
+ 0x35064c,
+ 0x3512cb,
+ 0x353ccb,
+ 0x35528e,
+ 0x355e0b,
+ 0x355e0d,
+ 0x35ae8b,
+ 0x35b90f,
+ 0x35bccb,
+ 0x35c50a,
+ 0x35cb49,
+ 0x35de09,
+ 0x35e18b,
+ 0x35e44e,
+ 0x36020b,
+ 0x361acf,
+ 0x36394b,
+ 0x363c0b,
+ 0x363ecb,
+ 0x3643ca,
+ 0x368a89,
+ 0x36e04f,
+ 0x372a8c,
+ 0x3732cc,
+ 0x37374e,
+ 0x373ccf,
+ 0x37408e,
+ 0x375690,
+ 0x375a8f,
+ 0x37660e,
+ 0x376f4c,
+ 0x377252,
+ 0x379891,
+ 0x37a18e,
+ 0x37a94e,
+ 0x37ae8e,
+ 0x37b20f,
+ 0x37b5ce,
+ 0x37b953,
+ 0x37be11,
+ 0x37c24c,
+ 0x37c54e,
+ 0x37c9cc,
+ 0x37de53,
+ 0x37ead0,
+ 0x37f30c,
+ 0x37f60c,
+ 0x37facb,
+ 0x38044e,
+ 0x380d8b,
+ 0x3816cb,
+ 0x382fcc,
+ 0x38b38a,
+ 0x38b74c,
+ 0x38ba4c,
+ 0x38bd49,
+ 0x38d7cb,
+ 0x38da88,
+ 0x38df49,
+ 0x38df4f,
+ 0x38f88b,
+ 0x7a39028a,
+ 0x391e4c,
+ 0x393009,
+ 0x393488,
+ 0x39368b,
+ 0x393d8b,
+ 0x39490a,
+ 0x394b8b,
+ 0x3950cc,
+ 0x396048,
+ 0x398d4b,
+ 0x39b1cb,
+ 0x39ef4e,
+ 0x3a05cb,
+ 0x3a1f0b,
+ 0x3ab94b,
+ 0x3abc09,
+ 0x3ac14d,
+ 0x3b1d4a,
+ 0x3b2c97,
+ 0x3b4398,
+ 0x3b6bc9,
+ 0x3b7d0b,
+ 0x3b8fd4,
+ 0x3b94cb,
+ 0x3b9a4a,
+ 0x3ba38a,
+ 0x3ba60b,
+ 0x3badd0,
+ 0x3bb1d1,
+ 0x3bc00a,
+ 0x3bd54d,
+ 0x3bdc4d,
+ 0x3c05cb,
+ 0x3c1206,
+ 0x231243,
+ 0x7a791143,
+ 0x26ed86,
+ 0x248805,
+ 0x22d287,
+ 0x3240c6,
+ 0x1608742,
+ 0x2c1fc9,
+ 0x320244,
+ 0x2e4d48,
+ 0x210943,
+ 0x314487,
+ 0x239202,
+ 0x2b3d03,
+ 0x7aa04542,
+ 0x2d0d06,
+ 0x2d2104,
+ 0x37a844,
+ 0x3443c3,
+ 0x3443c5,
+ 0x7b2cb8c2,
+ 0x7b6aeb44,
+ 0x27b007,
+ 0x7ba43282,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x200e03,
+ 0x207102,
+ 0x16fb88,
+ 0x20f882,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
+ 0x215443,
+ 0x32b7d6,
+ 0x32ca13,
+ 0x39cfc9,
+ 0x34e148,
+ 0x341189,
+ 0x310306,
+ 0x340010,
+ 0x24c9d3,
+ 0x355808,
+ 0x2a0a87,
+ 0x37d347,
+ 0x28db0a,
+ 0x232309,
+ 0x3961c9,
+ 0x28664b,
+ 0x33af86,
+ 0x20728a,
+ 0x228e06,
+ 0x31fe43,
+ 0x2dce85,
+ 0x233108,
+ 0x266e4d,
+ 0x28af0c,
+ 0x218c87,
+ 0x318fcd,
+ 0x214f44,
+ 0x23a84a,
+ 0x23bbca,
+ 0x23c08a,
+ 0x24ccc7,
+ 0x246b87,
+ 0x24a904,
+ 0x233d86,
+ 0x209d44,
+ 0x2c7ec8,
+ 0x26eb89,
+ 0x2bb246,
+ 0x2bb248,
+ 0x24d18d,
+ 0x2cdfc9,
+ 0x209708,
+ 0x3a0347,
+ 0x300fca,
+ 0x2550c6,
+ 0x2664c7,
+ 0x2bd584,
+ 0x292347,
+ 0x35180a,
+ 0x38690e,
+ 0x2247c5,
+ 0x29224b,
+ 0x32f709,
+ 0x25bd09,
+ 0x21b7c7,
+ 0x2936ca,
+ 0x348c07,
+ 0x307d49,
+ 0x20b808,
+ 0x33420b,
+ 0x2e4505,
+ 0x3ab60a,
+ 0x2734c9,
+ 0x331d0a,
+ 0x2d2e0b,
+ 0x38668b,
+ 0x2863d5,
+ 0x30be85,
+ 0x3a03c5,
+ 0x2f4dca,
+ 0x364a8a,
+ 0x32f487,
+ 0x2252c3,
+ 0x298448,
+ 0x2db34a,
+ 0x22a846,
+ 0x252109,
+ 0x26e488,
+ 0x2dac04,
+ 0x2b2149,
+ 0x2c7588,
+ 0x2b2d07,
+ 0x2f2bc6,
+ 0x2ab647,
+ 0x376d87,
+ 0x24a205,
+ 0x22460c,
+ 0x231845,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x20f882,
+ 0x238543,
+ 0x208e83,
+ 0x200e03,
+ 0x201a03,
+ 0x238543,
+ 0x208e83,
+ 0xe03,
+ 0x231e83,
+ 0x201a03,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
+ 0x16fb88,
+ 0x20f882,
+ 0x201742,
+ 0x23c2c2,
+ 0x202542,
0x200542,
- 0x2decc2,
- 0x46a84c3,
- 0x232403,
- 0x2163c3,
- 0x2e9dc3,
- 0x244183,
- 0x209703,
- 0x2d47c6,
- 0x205503,
- 0x200983,
- 0x233183,
- 0x16d208,
- 0x31ae44,
- 0x202107,
- 0x392403,
- 0x2ae584,
- 0x22e043,
- 0x21c7c3,
- 0x2e9dc3,
- 0x16fc07,
- 0x205702,
- 0x18d2c3,
- 0x5a099c2,
- 0x88f4d,
- 0x8928d,
- 0x231442,
- 0x1b1384,
+ 0x2e6dc2,
+ 0x4638543,
+ 0x23cac3,
+ 0x21b583,
+ 0x323043,
+ 0x255783,
+ 0x28cac3,
+ 0x2dcd86,
+ 0x208e83,
+ 0x201a03,
+ 0x20bdc3,
+ 0x16fb88,
+ 0x345b44,
+ 0x20da07,
+ 0x2112c3,
+ 0x2b1684,
+ 0x208543,
+ 0x21b843,
+ 0x323043,
+ 0x36dc7,
+ 0x145944,
+ 0xf183,
+ 0x145c05,
+ 0x207102,
+ 0x19c783,
+ 0x5a0f882,
+ 0x1490fc9,
+ 0x9144d,
+ 0x9178d,
+ 0x23c2c2,
+ 0x31604,
+ 0x145c49,
0x200442,
- 0x5fb1288,
- 0xed844,
- 0x16d208,
- 0x1411d82,
- 0x15054c6,
- 0x231783,
- 0x200c03,
- 0x66a84c3,
- 0x22fd84,
- 0x6a32403,
- 0x6ee9dc3,
- 0x202bc2,
- 0x3b1384,
- 0x205503,
- 0x2f78c3,
- 0x203ec2,
- 0x200983,
- 0x21b5c2,
- 0x2f2443,
- 0x203082,
- 0x211643,
- 0x265d43,
+ 0x5f4ed48,
+ 0xf4544,
+ 0x16fb88,
+ 0x1409702,
+ 0x1510cc6,
+ 0x239283,
+ 0x2bcc43,
+ 0x6638543,
+ 0x23a844,
+ 0x6a3cac3,
+ 0x6f23043,
+ 0x205e82,
+ 0x231604,
+ 0x208e83,
+ 0x301dc3,
+ 0x2014c2,
+ 0x201a03,
+ 0x222dc2,
+ 0x2fabc3,
+ 0x204242,
+ 0x205983,
+ 0x26e543,
0x200202,
- 0x16d208,
- 0x231783,
- 0x2f78c3,
- 0x203ec2,
- 0x2f2443,
- 0x203082,
- 0x211643,
- 0x265d43,
+ 0x16fb88,
+ 0x239283,
+ 0x301dc3,
+ 0x2014c2,
+ 0x2fabc3,
+ 0x204242,
+ 0x205983,
+ 0x26e543,
0x200202,
- 0x2f2443,
- 0x203082,
- 0x211643,
- 0x265d43,
+ 0x2fabc3,
+ 0x204242,
+ 0x205983,
+ 0x26e543,
0x200202,
- 0x2a84c3,
- 0x38d2c3,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x244183,
- 0x209703,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x20f942,
- 0x201303,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x38d2c3,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x205503,
- 0x200983,
- 0x373605,
- 0x212982,
- 0x205702,
- 0x16d208,
- 0x1456108,
- 0x2e9dc3,
- 0x2274c1,
- 0x202901,
- 0x202941,
- 0x23ad81,
- 0x23ad01,
- 0x30aec1,
- 0x23aec1,
- 0x2275c1,
- 0x2eea41,
- 0x30afc1,
+ 0x238543,
+ 0x39c783,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x255783,
+ 0x28cac3,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x20cb02,
+ 0x221483,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x39c783,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x208e83,
+ 0x201a03,
+ 0x355685,
+ 0x21a902,
+ 0x207102,
+ 0x16fb88,
+ 0x1480cc8,
+ 0x323043,
+ 0x20fec1,
+ 0x201641,
+ 0x203c01,
+ 0x201301,
+ 0x267401,
+ 0x2ae601,
+ 0x211341,
+ 0x28a0c1,
+ 0x24dfc1,
+ 0x2fbf81,
0x200141,
0x200001,
- 0x129845,
- 0x16d208,
- 0x201ec1,
- 0x200701,
+ 0x131645,
+ 0x16fb88,
+ 0x2008c1,
+ 0x201781,
0x200301,
0x200081,
0x200181,
0x200401,
0x200041,
- 0x201181,
+ 0x2086c1,
0x200101,
0x200281,
- 0x200e81,
- 0x2008c1,
+ 0x200801,
+ 0x200981,
0x200441,
- 0x201301,
- 0x206ec1,
+ 0x204101,
+ 0x2227c1,
0x200341,
- 0x200801,
+ 0x200741,
0x2002c1,
0x2000c1,
- 0x201501,
+ 0x203441,
0x200201,
- 0x200bc1,
+ 0x200c81,
0x2005c1,
- 0x201cc1,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
+ 0x204541,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
0x200442,
- 0x200983,
- 0x16fc07,
- 0x9807,
- 0x1cdc6,
- 0x13ef8a,
- 0x88648,
- 0x51d48,
- 0x52107,
- 0x191106,
- 0xd8c05,
- 0x192345,
- 0x5d306,
- 0x125c86,
- 0x25ef44,
- 0x311547,
- 0x16d208,
- 0x2d5f04,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2163c3,
- 0x2e9dc3,
- 0x244183,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x212982,
- 0x2c5983,
- 0x2bb143,
- 0x32c243,
- 0x2022c2,
- 0x25d183,
- 0x2030c3,
- 0x204903,
+ 0x201a03,
+ 0x36dc7,
+ 0x8cbc7,
+ 0x24386,
+ 0x44f4a,
+ 0x906c8,
+ 0x5c288,
+ 0x5c6c7,
+ 0xffc6,
+ 0xe1d45,
+ 0x11205,
+ 0x86286,
+ 0x12cf06,
+ 0x286644,
+ 0x31cf87,
+ 0x16fb88,
+ 0x2de944,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x21b583,
+ 0x323043,
+ 0x255783,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x21a902,
+ 0x2ba8c3,
+ 0x242043,
+ 0x2cc103,
+ 0x202d42,
+ 0x33eb43,
+ 0x203ec3,
+ 0x20fc03,
0x200001,
- 0x2dc745,
- 0x206b43,
- 0x221344,
- 0x26cc83,
- 0x318ec3,
- 0x21b103,
- 0x35ff43,
- 0xaaa84c3,
- 0x235ac4,
- 0x23dbc3,
- 0x21cc43,
- 0x21b0c3,
- 0x22ffc3,
- 0x232403,
- 0x232143,
- 0x2459c3,
- 0x2a2703,
- 0x318e43,
- 0x2344c3,
- 0x202643,
- 0x24ce44,
- 0x24e347,
- 0x248902,
- 0x250943,
- 0x256303,
- 0x273ac3,
- 0x390f43,
- 0x2025c3,
- 0xaee9dc3,
- 0x20bec3,
- 0x2143c3,
- 0x24a5c3,
- 0x328085,
- 0x209d43,
- 0x2fa383,
- 0xb21f903,
- 0x365f03,
- 0x20d543,
- 0x227f83,
- 0x209703,
- 0x228502,
- 0x27d2c3,
- 0x205503,
- 0x1604e83,
- 0x224a43,
- 0x209a43,
- 0x204a03,
- 0x200983,
- 0x35fe83,
- 0x20f943,
- 0x201303,
- 0x2efe83,
- 0x2ff903,
- 0x2f2603,
- 0x204405,
- 0x23e743,
- 0x285346,
- 0x2f2643,
- 0x36cf43,
- 0x3759c4,
- 0x2d9083,
- 0x2284c3,
- 0x267ec3,
- 0x233183,
- 0x212982,
- 0x22d543,
- 0x3024c3,
- 0x304144,
- 0x377404,
- 0x20ce83,
- 0x16d208,
- 0x205702,
+ 0x2ed0c5,
+ 0x203c43,
+ 0x226544,
+ 0x332083,
+ 0x322103,
+ 0x222903,
+ 0x383283,
+ 0xaa38543,
+ 0x240244,
+ 0x24ac83,
+ 0x207583,
+ 0x2228c3,
+ 0x23aa83,
+ 0x23cac3,
+ 0x23c803,
+ 0x202103,
+ 0x2aab03,
+ 0x322083,
+ 0x2bdec3,
+ 0x20df43,
+ 0x255684,
+ 0x257307,
+ 0x2f6802,
+ 0x25c003,
+ 0x263783,
+ 0x27e983,
+ 0x20fe03,
+ 0x20dec3,
+ 0xaf23043,
+ 0x209ac3,
+ 0x204c03,
+ 0x231603,
+ 0x34bc85,
+ 0x209c83,
+ 0x304d43,
+ 0xb207a83,
+ 0x374803,
+ 0x213643,
+ 0x229443,
+ 0x28cac3,
+ 0x22c2c2,
+ 0x20c0c3,
+ 0x208e83,
+ 0x1600e03,
+ 0x22b1c3,
+ 0x2014c3,
+ 0x21a743,
+ 0x201a03,
+ 0x36ea03,
+ 0x223583,
+ 0x221483,
+ 0x233503,
+ 0x30bcc3,
+ 0x2fad83,
+ 0x317345,
+ 0x20c843,
+ 0x2df706,
+ 0x2fadc3,
+ 0x349703,
+ 0x2205c4,
+ 0x20c9c3,
+ 0x386603,
+ 0x2f1a03,
+ 0x20bdc3,
+ 0x21a902,
+ 0x22fac3,
+ 0x30e403,
+ 0x30fac4,
+ 0x383884,
+ 0x21a5c3,
+ 0x16fb88,
+ 0x207102,
0x200242,
- 0x2022c2,
- 0x201702,
- 0x202a42,
- 0x206c02,
- 0x245482,
- 0x2007c2,
- 0x20d882,
- 0x200e82,
- 0x20b102,
- 0x20e602,
- 0x2675c2,
- 0x2056c2,
- 0x2decc2,
- 0x2013c2,
- 0x2069c2,
- 0x201302,
- 0x2172c2,
- 0x202482,
+ 0x202d42,
+ 0x20cac2,
+ 0x201d02,
+ 0x201442,
+ 0x23de42,
+ 0x201842,
+ 0x207b02,
+ 0x201fc2,
+ 0x2281c2,
+ 0x214642,
+ 0x2745c2,
+ 0x20cb42,
+ 0x2e6dc2,
+ 0x21cc82,
+ 0x225b82,
+ 0x204102,
+ 0x2204c2,
+ 0x205842,
0x200482,
- 0x219382,
- 0x202782,
- 0x209842,
- 0x2027c2,
- 0x222702,
- 0x203b42,
- 0x5702,
+ 0x221dc2,
+ 0x2044c2,
+ 0x20d2c2,
+ 0x200a02,
+ 0x21f542,
+ 0x204782,
+ 0x7102,
0x242,
- 0x22c2,
- 0x1702,
- 0x2a42,
- 0x6c02,
- 0x45482,
- 0x7c2,
- 0xd882,
- 0xe82,
- 0xb102,
- 0xe602,
- 0x675c2,
- 0x56c2,
- 0xdecc2,
- 0x13c2,
- 0x69c2,
- 0x1302,
- 0x172c2,
- 0x2482,
- 0x482,
- 0x19382,
- 0x2782,
- 0x9842,
- 0x27c2,
- 0x22702,
- 0x3b42,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2099c2,
- 0x200983,
- 0xc6a84c3,
- 0x2e9dc3,
- 0x209703,
- 0x21a2c2,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
+ 0x2d42,
+ 0xcac2,
+ 0x1d02,
+ 0x1442,
+ 0x3de42,
+ 0x1842,
0x7b02,
- 0x201bc2,
- 0x153f3c5,
- 0x25ed82,
- 0x16d208,
- 0x99c2,
- 0x20c182,
- 0x208d02,
- 0x2024c2,
- 0x209642,
- 0x208442,
- 0x192345,
- 0x2038c2,
- 0x203ec2,
- 0x2023c2,
- 0x204dc2,
- 0x2013c2,
- 0x385502,
- 0x201102,
- 0x236582,
- 0x16fc07,
- 0x1b270d,
- 0xd8c89,
- 0x56e8b,
- 0xdd608,
- 0x53dc9,
- 0xfacc6,
- 0x2e9dc3,
- 0x16d208,
- 0x16d208,
- 0x52e06,
- 0x1a78c7,
- 0x205702,
- 0x25ef44,
- 0x2099c2,
- 0x2a84c3,
- 0x2006c2,
- 0x232403,
- 0x20d882,
- 0x2d5f04,
- 0x244183,
- 0x249a02,
- 0x205503,
+ 0x1fc2,
+ 0x281c2,
+ 0x14642,
+ 0x745c2,
+ 0xcb42,
+ 0xe6dc2,
+ 0x1cc82,
+ 0x25b82,
+ 0x4102,
+ 0x204c2,
+ 0x5842,
+ 0x482,
+ 0x21dc2,
+ 0x44c2,
+ 0xd2c2,
+ 0xa02,
+ 0x1f542,
+ 0x4782,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x2442,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x20f882,
+ 0x201a03,
+ 0xc638543,
+ 0x323043,
+ 0x28cac3,
+ 0x1a3443,
+ 0x219302,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x1a3443,
+ 0x201a03,
+ 0x4542,
+ 0x201c02,
+ 0x1442b45,
+ 0x232282,
+ 0x16fb88,
+ 0xf882,
+ 0x209d82,
+ 0x209b02,
+ 0x20ddc2,
+ 0x2190c2,
+ 0x206802,
+ 0x11205,
+ 0x201282,
+ 0x2014c2,
+ 0x202c82,
+ 0x200dc2,
+ 0x21cc82,
+ 0x3951c2,
+ 0x206742,
+ 0x260a42,
+ 0x36dc7,
+ 0x1501cd,
+ 0xe1dc9,
+ 0x5900b,
+ 0xe5848,
+ 0x56809,
+ 0x106046,
+ 0x323043,
+ 0x16fb88,
+ 0x145944,
+ 0xf183,
+ 0x145c05,
+ 0x16fb88,
+ 0x5d3c6,
+ 0x145c49,
+ 0x126447,
+ 0x207102,
+ 0x286644,
+ 0x20f882,
+ 0x238543,
+ 0x201742,
+ 0x23cac3,
+ 0x207b02,
+ 0x2de944,
+ 0x255783,
+ 0x253442,
+ 0x208e83,
0x200442,
- 0x200983,
- 0x264a86,
- 0x31ba0f,
- 0x70a403,
- 0x16d208,
- 0x2099c2,
- 0x2163c3,
- 0x2e9dc3,
- 0x209703,
- 0x1526f4b,
- 0xd9888,
- 0x142b68a,
- 0x14fa807,
- 0xda405,
- 0x16fc07,
- 0x2099c2,
- 0x2a84c3,
- 0x2e9dc3,
- 0x205503,
- 0x205702,
- 0x20c202,
- 0x20bb42,
- 0xfea84c3,
- 0x23c042,
- 0x232403,
- 0x209d02,
- 0x221402,
- 0x2e9dc3,
- 0x228782,
- 0x251442,
- 0x2a6c82,
- 0x200f82,
- 0x28d742,
- 0x203442,
- 0x202e42,
- 0x267e42,
- 0x24ecc2,
- 0x211ec2,
- 0x2ad882,
- 0x2eab02,
- 0x2182c2,
- 0x2ad342,
- 0x209703,
- 0x20ec42,
- 0x205503,
- 0x200e42,
- 0x281702,
- 0x200983,
- 0x25d202,
- 0x209842,
- 0x218942,
- 0x202e02,
- 0x200c42,
- 0x2de402,
- 0x20fe82,
- 0x250b82,
- 0x220642,
- 0x30d44a,
- 0x34d94a,
- 0x37fc4a,
- 0x3bbec2,
- 0x202cc2,
- 0x2058c2,
- 0x1026e389,
- 0x1072510a,
- 0x1594ac7,
- 0x1410843,
- 0x24d50,
- 0x50642,
- 0x2030c4,
- 0x10ea84c3,
- 0x232403,
- 0x249944,
- 0x2e9dc3,
- 0x3b1384,
- 0x244183,
- 0x209703,
- 0x205503,
- 0xdc105,
- 0x204e83,
- 0x200983,
- 0x23e743,
- 0x25ed03,
- 0x16d208,
- 0x1591084,
- 0x18ff45,
- 0x1a768a,
- 0x116902,
- 0x18ae46,
- 0xaf551,
- 0x1166e389,
- 0x18ffc8,
- 0x13f9c8,
- 0xff387,
- 0xec2,
- 0x12984b,
- 0x1a5b0a,
- 0x21347,
- 0x16d208,
- 0x108f08,
- 0xe4c7,
- 0x17818f4b,
- 0x1b887,
- 0x1c02,
- 0x6c707,
- 0x1a1ca,
- 0x13f6cf,
- 0x988f,
- 0x1b102,
- 0x99c2,
- 0xa2648,
- 0x19e30a,
- 0x1320c8,
- 0xdc2,
- 0x13f44f,
- 0x9e18b,
- 0x68bc8,
- 0x38f47,
- 0x388a,
- 0x304cb,
- 0x4efc9,
- 0x11dd07,
- 0xfc34c,
- 0x2c07,
- 0x19b40a,
- 0xd4ac8,
- 0x1a3cce,
- 0x1cdce,
- 0x2118b,
- 0x26ccb,
- 0x27d4b,
- 0x2c009,
- 0x2da0b,
- 0x5e7cd,
- 0x85acb,
- 0xdfc8d,
- 0xe000d,
- 0xe164a,
- 0x17724b,
- 0x1ae0cb,
- 0x31c45,
- 0x1424d50,
- 0x12618f,
- 0x1268cf,
- 0xe2c0d,
- 0x1b8f90,
- 0x2bb82,
- 0x17fb0388,
- 0x9688,
- 0x182ee705,
- 0x48fcb,
- 0x117090,
- 0x4fdc8,
- 0x26e8a,
- 0x56b49,
- 0x5cb47,
- 0x5ce87,
- 0x5d047,
- 0x5f507,
- 0x60587,
- 0x60b87,
- 0x61387,
- 0x617c7,
- 0x61cc7,
- 0x61fc7,
- 0x62fc7,
- 0x63187,
- 0x63347,
- 0x63507,
- 0x63807,
- 0x64007,
- 0x64c87,
- 0x65407,
- 0x66547,
- 0x66b07,
- 0x66cc7,
- 0x67047,
- 0x67487,
- 0x67687,
- 0x67947,
- 0x67b07,
- 0x67cc7,
- 0x67f87,
- 0x68247,
- 0x68f07,
- 0x69607,
- 0x698c7,
- 0x6a047,
- 0x6a207,
- 0x6a607,
- 0x6aec7,
- 0x6b147,
- 0x6b547,
- 0x6b707,
- 0x6b8c7,
- 0x70587,
- 0x71387,
- 0x718c7,
- 0x71e47,
+ 0x201a03,
+ 0x3a03c6,
+ 0x323d8f,
+ 0x7156c3,
+ 0x16fb88,
+ 0x20f882,
+ 0x21b583,
+ 0x323043,
+ 0x28cac3,
+ 0xe03,
+ 0x152e1cb,
+ 0xe2648,
+ 0x14b7aca,
+ 0x14f5907,
+ 0x8dbcb,
+ 0x149785,
+ 0x36dc7,
+ 0x20f882,
+ 0x238543,
+ 0x323043,
+ 0x208e83,
+ 0x207102,
+ 0x200b42,
+ 0x2092c2,
+ 0xfe38543,
+ 0x248582,
+ 0x23cac3,
+ 0x209c42,
+ 0x20d382,
+ 0x323043,
+ 0x210642,
+ 0x259c42,
+ 0x2aeb02,
+ 0x2006c2,
+ 0x295e02,
+ 0x203102,
+ 0x200782,
+ 0x2351c2,
+ 0x2335c2,
+ 0x252e42,
+ 0x2b5102,
+ 0x2d2942,
+ 0x327982,
+ 0x2111c2,
+ 0x28cac3,
+ 0x200802,
+ 0x208e83,
+ 0x24d382,
+ 0x289e82,
+ 0x201a03,
+ 0x2485c2,
+ 0x20d2c2,
+ 0x221382,
+ 0x200742,
+ 0x204d02,
+ 0x2e6282,
+ 0x22be42,
+ 0x231802,
+ 0x2312c2,
+ 0x3195ca,
+ 0x35c50a,
+ 0x39090a,
+ 0x3c1382,
+ 0x208a82,
+ 0x212a42,
+ 0x10223fc9,
+ 0x1072c38a,
+ 0x1438547,
+ 0x10a02482,
+ 0x1416dc3,
+ 0x12c2,
+ 0x12c38a,
+ 0x252044,
+ 0x11238543,
+ 0x23cac3,
+ 0x253384,
+ 0x323043,
+ 0x231604,
+ 0x255783,
+ 0x28cac3,
+ 0x208e83,
+ 0xe3bc5,
+ 0x200e03,
+ 0x201a03,
+ 0x20c843,
+ 0x202443,
+ 0x16fb88,
+ 0x140ff44,
+ 0x1441c5,
+ 0x12620a,
+ 0x11ec42,
+ 0x1affc6,
+ 0x35ad1,
+ 0x11a23fc9,
+ 0x144248,
+ 0x10b388,
+ 0x8cf47,
+ 0xbc2,
+ 0x13164b,
+ 0x1b320a,
+ 0x71ca,
+ 0x26547,
+ 0x16fb88,
+ 0x114008,
+ 0x14507,
+ 0x17c2198b,
+ 0x23087,
+ 0xc702,
+ 0x5b907,
+ 0x1920a,
+ 0x8cc4f,
+ 0x4f70f,
+ 0x22902,
+ 0xf882,
+ 0xaaa48,
+ 0xe228a,
+ 0x6a08,
+ 0x64b88,
+ 0xdfbc8,
+ 0x4c82,
+ 0x42bcf,
+ 0xa670b,
+ 0xf8d08,
+ 0x3e607,
+ 0x185b8a,
+ 0x3af8b,
+ 0x57f89,
+ 0x185a87,
+ 0x6908,
+ 0x1089cc,
+ 0x81a87,
+ 0x1a800a,
+ 0xdd088,
+ 0x1aafce,
+ 0x2438e,
+ 0x2638b,
+ 0x27bcb,
+ 0x2920b,
+ 0x2c049,
+ 0x2ff8b,
+ 0x31ccd,
+ 0x329cb,
+ 0x62b4d,
+ 0x62ecd,
+ 0xfa44a,
+ 0x1836cb,
+ 0x3b64b,
+ 0x47085,
+ 0x1802cc10,
+ 0x12d40f,
+ 0x12db4f,
+ 0x37a4d,
+ 0xbf490,
+ 0xc182,
+ 0x18623a08,
+ 0x8ca48,
+ 0x18af52c5,
+ 0x52a0b,
+ 0x11f3d0,
+ 0x5ad08,
+ 0x6b0a,
+ 0x27d89,
+ 0x6b307,
+ 0x6b647,
+ 0x6b807,
+ 0x6bb87,
+ 0x6ca87,
+ 0x6d487,
+ 0x6ddc7,
+ 0x6e187,
+ 0x6f187,
+ 0x6f487,
+ 0x70147,
+ 0x70307,
+ 0x704c7,
+ 0x70687,
+ 0x70987,
+ 0x70e47,
+ 0x71707,
0x72007,
- 0x72387,
- 0x728c7,
- 0xdb42,
- 0xbbb0a,
- 0xffb87,
- 0x184cfa0b,
- 0x14cfa16,
- 0x17e91,
- 0x1082ca,
- 0xa24ca,
- 0x52e06,
- 0xd0f8b,
- 0x5e82,
- 0x2f711,
- 0x157789,
- 0x942c9,
- 0x67e42,
- 0x9f54a,
- 0xa4909,
- 0xa504f,
- 0xa5a8e,
- 0xa6388,
- 0x17f42,
- 0x18ef09,
- 0x17f08e,
- 0xf80cc,
- 0xdf20f,
- 0x198f4e,
- 0xc84c,
- 0x11809,
- 0x13491,
- 0x222c8,
- 0x24512,
- 0x281cd,
- 0x2e0cd,
- 0x8618b,
- 0xbadd5,
- 0xbb9c9,
- 0xe268a,
- 0x120689,
- 0x160310,
- 0x39a0b,
- 0x4480f,
- 0x5648b,
- 0x58a8c,
- 0x70f90,
- 0x7beca,
- 0x7d18d,
- 0x80d4e,
- 0x86cca,
- 0x8720c,
- 0x89714,
- 0x157411,
- 0x1a200b,
- 0x9004f,
- 0x9320d,
- 0x9a00e,
- 0x9fd8c,
- 0xa1acc,
- 0xaae8b,
- 0xab18e,
- 0xab990,
- 0x154c0b,
- 0x1160cd,
- 0x10e80f,
- 0x17e50c,
- 0xb090e,
- 0xb2391,
- 0xb3ecc,
- 0xc00c7,
- 0xc064d,
- 0xc0fcc,
- 0xc1dd0,
- 0x102c8d,
- 0x12bc87,
- 0xc7750,
- 0xd3748,
- 0xd51cb,
- 0x12aa8f,
- 0x17e248,
- 0x1084cd,
- 0x14d550,
- 0x18ba60c6,
- 0xaff43,
- 0xbe02,
- 0x11e309,
- 0x5394a,
- 0x104186,
- 0x18cd9009,
- 0x11d43,
- 0xd6191,
- 0xd65c9,
- 0xd7607,
- 0xaf6cb,
- 0xde6d0,
- 0xdeb8c,
- 0xdf6c5,
- 0x18f248,
- 0x19f94a,
- 0x111947,
- 0x33c2,
- 0x124a4a,
- 0x127549,
- 0x35b4a,
- 0x8a3cf,
- 0x3edcb,
- 0x12814c,
- 0x169b92,
- 0xaea45,
- 0x166aca,
- 0x192ece45,
- 0x18020c,
- 0x122843,
- 0x185502,
- 0xf2bca,
- 0x14f3fcc,
- 0x1b1a48,
- 0xdfe48,
- 0x16fb87,
- 0x1c42,
- 0x3082,
- 0x3f590,
- 0x27c2,
- 0x1ad58f,
- 0x5d306,
- 0x77ece,
- 0xe598b,
- 0x86ec8,
- 0xd1a49,
- 0x17d152,
- 0x1abecd,
- 0x55b08,
- 0x56d49,
- 0x572cd,
- 0x57b89,
- 0x5c58b,
- 0x5d848,
- 0x61ac8,
- 0x628c8,
- 0x62b49,
- 0x62d4a,
- 0x6398c,
- 0xe3cca,
- 0xff947,
- 0x2270d,
- 0xf4b4b,
- 0x11a5cc,
- 0x18b050,
+ 0x72c87,
+ 0x731c7,
+ 0x73387,
+ 0x73707,
+ 0x74487,
+ 0x74687,
+ 0x750c7,
+ 0x75287,
+ 0x75447,
+ 0x75dc7,
+ 0x76087,
+ 0x77a47,
+ 0x78187,
+ 0x78447,
+ 0x78bc7,
+ 0x78d87,
+ 0x79187,
+ 0x79687,
+ 0x79907,
+ 0x79d07,
+ 0x79ec7,
+ 0x7a087,
+ 0x7ae07,
+ 0x7c447,
+ 0x7c987,
+ 0x7cc87,
+ 0x7ce47,
+ 0x7d1c7,
+ 0x7d787,
+ 0x13c42,
+ 0x64c8a,
+ 0xe90c7,
+ 0x287c5,
+ 0x806d1,
+ 0x157c6,
+ 0x11318a,
+ 0xaa8ca,
+ 0x5d3c6,
+ 0xb880b,
+ 0x17202,
+ 0x3a1d1,
+ 0x1bbc89,
+ 0x9c0c9,
+ 0x351c2,
+ 0xa808a,
+ 0xac7c9,
+ 0xacf0f,
+ 0xada4e,
+ 0xae208,
+ 0x206c2,
+ 0xb649,
+ 0x1025ce,
+ 0xe8b4c,
+ 0xf328f,
+ 0x1a5b4e,
+ 0x1684c,
+ 0x18009,
+ 0x1c291,
+ 0x1f108,
+ 0x2ac92,
+ 0x2bb4d,
+ 0x33c4d,
+ 0x15208b,
+ 0x41cd5,
+ 0x164ec9,
+ 0xfcf8a,
+ 0x40809,
+ 0x4d650,
+ 0x4e70b,
+ 0x5898f,
+ 0x6390b,
+ 0x7298c,
+ 0x77650,
+ 0x8430a,
+ 0x853cd,
+ 0x894ce,
+ 0x8ef4a,
+ 0xede0c,
+ 0x176a54,
+ 0x1bb911,
+ 0x95a8b,
+ 0x97fcf,
+ 0xa290d,
+ 0xa76ce,
+ 0xb2bcc,
+ 0xb330c,
+ 0x160b0b,
+ 0x160e0e,
+ 0xd6750,
+ 0x11868b,
+ 0x1876cd,
+ 0x1bce4f,
+ 0xba0cc,
+ 0xbb0ce,
+ 0xbc011,
+ 0xc7c4c,
+ 0xc9307,
+ 0xc9c0d,
+ 0x130d4c,
+ 0x1605d0,
+ 0x174c0d,
+ 0xd1b47,
+ 0xd7c10,
+ 0xdd6c8,
+ 0xf178b,
+ 0x134c4f,
+ 0x3ef48,
+ 0x11338d,
+ 0x15c750,
+ 0x172e49,
+ 0x18e086c6,
+ 0xb8243,
+ 0xbc445,
+ 0x9a02,
+ 0x143889,
+ 0x5e04a,
+ 0x10fb06,
+ 0x2594a,
+ 0x1900c949,
+ 0x1c003,
+ 0xdebd1,
+ 0xdf009,
+ 0xe0407,
+ 0x35c4b,
+ 0xe67d0,
+ 0xe6c8c,
+ 0xe8e48,
+ 0xe9805,
+ 0xb988,
+ 0x1ad4ca,
+ 0x1c0c7,
+ 0x16bac7,
+ 0x982,
+ 0x12bcca,
+ 0x12e7c9,
+ 0x79545,
+ 0x402ca,
+ 0x9260f,
+ 0x4b8cb,
+ 0x14bd4c,
+ 0x17a492,
+ 0x94e45,
+ 0xec1c8,
+ 0x17618a,
+ 0x196f3d05,
+ 0x190ecc,
+ 0x129ac3,
+ 0x1951c2,
+ 0xfb30a,
+ 0x14fb70c,
+ 0x14f508,
+ 0x62d08,
+ 0x36d47,
+ 0xb282,
+ 0x4242,
+ 0x47590,
+ 0xa02,
+ 0x3904f,
+ 0x86286,
+ 0x7c0e,
+ 0xebbcb,
+ 0x8f148,
+ 0xda049,
+ 0x18f052,
+ 0x95cd,
+ 0x586c8,
+ 0x58ec9,
+ 0x5d50d,
+ 0x5e4c9,
+ 0x5e88b,
+ 0x60648,
+ 0x65808,
+ 0x65b88,
+ 0x65e49,
+ 0x6604a,
+ 0x6a98c,
+ 0xeb04a,
+ 0x10bd07,
+ 0x1f54d,
+ 0xfde8b,
+ 0x12004c,
+ 0x404c8,
+ 0x4f049,
+ 0x1b01d0,
0xc2,
- 0x7a14d,
- 0x2dc2,
- 0x35482,
- 0xff88a,
- 0x1081ca,
- 0x10928b,
- 0x1ae28c,
- 0x108c8e,
- 0x100cd,
- 0x1b3908,
- 0x7b02,
- 0x11b5ec4e,
- 0x1227020e,
- 0x12a83a0a,
- 0x1336864e,
- 0x13b143ce,
- 0x1432ee0c,
- 0x1594ac7,
- 0x1594ac9,
- 0x1410843,
- 0x14b3054c,
- 0x15333209,
- 0x15b49dc9,
- 0x50642,
- 0x18fb51,
- 0x70151,
- 0x8394d,
- 0x17acd1,
- 0x114311,
- 0x12ed4f,
- 0x13048f,
- 0x13314c,
- 0x149d0c,
- 0x1a688d,
- 0x1bb815,
- 0x5064c,
- 0x11f0cc,
- 0xe9c50,
- 0x11d44c,
- 0x12a54c,
- 0x15e999,
- 0x168399,
- 0x16fd99,
- 0x175d54,
- 0x181ad4,
- 0x19b7d4,
- 0x19d714,
- 0x1ac314,
- 0x16250709,
- 0x1699ba89,
- 0x1731f189,
- 0x11e224c9,
- 0x50642,
- 0x126224c9,
- 0x50642,
- 0x15e98a,
- 0x50642,
- 0x12e224c9,
- 0x50642,
- 0x15e98a,
- 0x50642,
- 0x136224c9,
- 0x50642,
- 0x13e224c9,
- 0x50642,
- 0x146224c9,
- 0x50642,
- 0x15e98a,
- 0x50642,
- 0x14e224c9,
- 0x50642,
- 0x15e98a,
- 0x50642,
- 0x156224c9,
- 0x50642,
- 0x15e224c9,
- 0x50642,
- 0x15e98a,
- 0x50642,
- 0x166224c9,
- 0x50642,
- 0x16e224c9,
- 0x50642,
- 0x176224c9,
- 0x50642,
- 0x15e98a,
- 0x50642,
- 0xaf545,
- 0x1a5b04,
- 0x2bb84,
- 0x1aa404,
- 0x1a75c4,
- 0xc484,
- 0x13fc4,
- 0x58f44,
- 0xff384,
- 0x14ab3c3,
- 0x143e603,
- 0xfb244,
- 0x1547c03,
- 0x2bb82,
- 0x100c3,
- 0x205702,
- 0x2099c2,
- 0x2006c2,
- 0x218342,
- 0x20d882,
+ 0x2d3cd,
+ 0x2642,
+ 0x2cc2,
+ 0x10bc4a,
+ 0x11308a,
+ 0x11438b,
+ 0x3b80c,
+ 0x113b0a,
+ 0x113d8e,
+ 0xf2cd,
+ 0x11d708,
+ 0x4542,
+ 0x11f46c0e,
+ 0x1260ee4e,
+ 0x12f43f8a,
+ 0x1373a14e,
+ 0x13f9d38e,
+ 0x1460138c,
+ 0x1438547,
+ 0x1438549,
+ 0x1416dc3,
+ 0x14e3700c,
+ 0x15707789,
+ 0x15f3b509,
+ 0x12c2,
+ 0x146b51,
+ 0xed91,
+ 0x143ecd,
+ 0x13a091,
+ 0x19d2d1,
+ 0x12cf,
+ 0x36f4f,
+ 0x1076cc,
+ 0x13b44c,
+ 0x18954d,
+ 0x1b5295,
+ 0x10ed8c,
+ 0xea88c,
+ 0x122ed0,
+ 0x158fcc,
+ 0x16d9cc,
+ 0x191819,
+ 0x1a83d9,
+ 0x1aa459,
+ 0x1b3e94,
+ 0x1b8ad4,
+ 0x1c0d14,
+ 0x2394,
+ 0x3754,
+ 0x1670ee49,
+ 0x16dc0fc9,
+ 0x176ea949,
+ 0x1221f309,
+ 0x12c2,
+ 0x12a1f309,
+ 0x12c2,
+ 0x238a,
+ 0x12c2,
+ 0x1321f309,
+ 0x12c2,
+ 0x238a,
+ 0x12c2,
+ 0x13a1f309,
+ 0x12c2,
+ 0x1421f309,
+ 0x12c2,
+ 0x14a1f309,
+ 0x12c2,
+ 0x238a,
+ 0x12c2,
+ 0x1521f309,
+ 0x12c2,
+ 0x238a,
+ 0x12c2,
+ 0x15a1f309,
+ 0x12c2,
+ 0x1621f309,
+ 0x12c2,
+ 0x238a,
+ 0x12c2,
+ 0x16a1f309,
+ 0x12c2,
+ 0x1721f309,
+ 0x12c2,
+ 0x17a1f309,
+ 0x12c2,
+ 0x238a,
+ 0x12c2,
+ 0x35ac5,
+ 0x1b3204,
+ 0x146c0e,
+ 0xee4e,
+ 0x143f8a,
+ 0x13a14e,
+ 0x19d38e,
+ 0x138c,
+ 0x3700c,
+ 0x107789,
+ 0x13b509,
+ 0x10ee49,
+ 0x1c0fc9,
+ 0xea949,
+ 0x122f8d,
+ 0x2649,
+ 0x3a09,
+ 0x5bf04,
+ 0x11d8c4,
+ 0x126144,
+ 0x15f784,
+ 0x8de84,
+ 0x4b744,
+ 0x6e44,
+ 0x67344,
+ 0x8cf44,
+ 0x157e2c3,
+ 0xc182,
+ 0xf2c3,
+ 0x4c82,
+ 0x207102,
+ 0x20f882,
+ 0x201742,
+ 0x207602,
+ 0x207b02,
0x200442,
- 0x203082,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x24a5c3,
- 0x205503,
- 0x200983,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x205503,
- 0x200983,
- 0x3fc3,
- 0x2e9dc3,
- 0x205702,
- 0x38d2c3,
- 0x1aea84c3,
- 0x3b8e47,
- 0x2e9dc3,
- 0x206343,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x255cca,
- 0x264a85,
- 0x201303,
- 0x20b0c2,
- 0x16d208,
- 0x16d208,
- 0x99c2,
- 0x11fd02,
- 0x6c845,
- 0x129845,
- 0x16d208,
- 0x1b887,
- 0xa84c3,
- 0x1ba38e47,
- 0x13ee06,
- 0x1bd49c05,
- 0x11de07,
- 0x66ca,
- 0x3748,
- 0x65c7,
- 0x56948,
- 0x28d87,
- 0x2c6cf,
- 0x30b87,
- 0x3b806,
- 0x117090,
- 0x12330f,
- 0x104204,
- 0x1c11dece,
- 0xa8b4c,
- 0x4f14a,
- 0x9a2c7,
- 0x112b8a,
- 0x18f409,
- 0xbf34a,
- 0x5414a,
- 0x104186,
- 0x9a38a,
- 0x8350a,
- 0xe47c9,
- 0xd5a48,
- 0xd5d46,
- 0xd9a8d,
- 0xb3c45,
- 0x1a78c7,
- 0x5d6c7,
- 0xd9394,
- 0xf938b,
- 0x68a0a,
- 0xa2d0d,
- 0x1cdc3,
- 0x1cdc3,
- 0x1cdc6,
- 0x1cdc3,
- 0x18d2c3,
- 0x16d208,
- 0x99c2,
- 0x49944,
- 0x887c3,
- 0x173605,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2030c3,
- 0x2a84c3,
- 0x232403,
- 0x2163c3,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x294483,
- 0x25ed03,
- 0x2030c3,
- 0x25ef44,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2082c3,
- 0x2a84c3,
- 0x232403,
- 0x218343,
- 0x2163c3,
- 0x2e9dc3,
- 0x3b1384,
- 0x353903,
- 0x227f83,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x201303,
- 0x311dc3,
- 0x1dea84c3,
- 0x232403,
- 0x246383,
- 0x2e9dc3,
- 0x20a203,
- 0x227f83,
- 0x200983,
- 0x2072c3,
- 0x33bac4,
- 0x16d208,
- 0x1e6a84c3,
- 0x232403,
- 0x2a6443,
- 0x2e9dc3,
- 0x209703,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x21db03,
- 0x16d208,
- 0x1eea84c3,
- 0x232403,
- 0x2163c3,
- 0x204e83,
- 0x200983,
- 0x16d208,
- 0x1594ac7,
- 0x38d2c3,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x129845,
- 0x16fc07,
- 0xd95cb,
- 0xd69c4,
- 0xb3c45,
- 0x1456108,
- 0xa6a8d,
- 0x20284a05,
- 0x18004,
- 0x169c3,
- 0x186345,
- 0x349a05,
- 0x16d208,
- 0x1cdc2,
- 0x336c3,
- 0xf1446,
- 0x319ec8,
- 0x313bc7,
- 0x25ef44,
- 0x3b2c86,
- 0x3bb6c6,
- 0x16d208,
- 0x30ce43,
- 0x33e589,
- 0x237295,
- 0x3729f,
- 0x2a84c3,
- 0x31d012,
- 0xefac6,
- 0x10a045,
- 0x26e8a,
- 0x56b49,
- 0x31cdcf,
- 0x2d5f04,
- 0x20b145,
- 0x2fa150,
- 0x3b0887,
- 0x204e83,
- 0x28b148,
- 0x125bc6,
- 0x2ae1ca,
- 0x256044,
- 0x2ec883,
- 0x264a86,
- 0x20b0c2,
- 0x22d54b,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x2f1743,
- 0x2099c2,
- 0x2cd83,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x206343,
- 0x221f03,
- 0x200983,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x205503,
- 0x200983,
- 0x205702,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x9885,
- 0x25ef44,
- 0x2a84c3,
- 0x232403,
- 0x210444,
- 0x205503,
- 0x200983,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2163c3,
- 0x2143c3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x391683,
- 0x63643,
- 0x6343,
- 0x205503,
- 0x200983,
- 0x30d44a,
- 0x32b0c9,
- 0x346b0b,
- 0x34708a,
- 0x34d94a,
- 0x35d74b,
- 0x371e0a,
- 0x37814a,
- 0x37fc4a,
- 0x37fecb,
- 0x39f689,
- 0x3a140a,
- 0x3a178b,
- 0x3acfcb,
- 0x3b9eca,
- 0x2a84c3,
- 0x232403,
- 0x2163c3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x4589,
- 0x16d208,
- 0x2a84c3,
- 0x25cb44,
- 0x207ac2,
- 0x211cc4,
- 0x26fc45,
- 0x2030c3,
- 0x25ef44,
- 0x2a84c3,
- 0x235ac4,
- 0x232403,
- 0x249944,
- 0x2d5f04,
- 0x3b1384,
- 0x227f83,
- 0x205503,
- 0x200983,
- 0x27a305,
- 0x2082c3,
- 0x201303,
- 0x22ed03,
- 0x250cc4,
- 0x390fc4,
- 0x34ae45,
- 0x16d208,
- 0x302044,
- 0x3510c6,
- 0x276384,
- 0x2099c2,
- 0x371007,
- 0x24c0c7,
- 0x247784,
- 0x2555c5,
- 0x302e85,
- 0x2a9305,
- 0x3b1384,
- 0x3b8ac8,
- 0x239486,
- 0x30c188,
- 0x24ed05,
- 0x2da905,
- 0x236b84,
- 0x200983,
- 0x2ed844,
- 0x35c946,
- 0x264b83,
- 0x250cc4,
- 0x256005,
- 0x32d104,
- 0x334944,
- 0x20b0c2,
- 0x2425c6,
- 0x3962c6,
- 0x2fdc05,
- 0x205702,
- 0x38d2c3,
- 0x262099c2,
- 0x2333c4,
- 0x20d882,
- 0x209703,
- 0x202c82,
- 0x205503,
+ 0x204242,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231603,
+ 0x208e83,
+ 0x201a03,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x160c3,
+ 0x323043,
+ 0x31604,
+ 0x207102,
+ 0x39c783,
+ 0x1b638543,
+ 0x2bf347,
+ 0x323043,
+ 0x211a83,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x243d0a,
+ 0x3a03c5,
+ 0x221483,
+ 0x205082,
+ 0x16fb88,
+ 0x16fb88,
+ 0xf882,
+ 0x127482,
+ 0x1bf51b0b,
+ 0x5ba45,
+ 0x35dc5,
+ 0x114b46,
+ 0x145944,
+ 0xf183,
+ 0x145c05,
+ 0x131645,
+ 0x16fb88,
+ 0x23087,
+ 0x38543,
+ 0x1c644d87,
+ 0x1432c6,
+ 0x1c93b345,
+ 0x143387,
+ 0x1b4d0a,
+ 0x1b4bc8,
+ 0x11887,
+ 0x6df88,
+ 0x99707,
+ 0x152cf,
+ 0x435c7,
+ 0x150d86,
+ 0x11f3d0,
+ 0x12a58f,
+ 0x20a89,
+ 0x10fb84,
+ 0x1cd4344e,
+ 0xb098c,
+ 0x5810a,
+ 0xa7987,
+ 0x3520a,
+ 0xbb49,
+ 0xb514c,
+ 0x4304a,
+ 0x5ec8a,
+ 0x145c49,
+ 0x10fb06,
+ 0xa7a4a,
+ 0xe8a,
+ 0xa4e49,
+ 0xde488,
+ 0xde786,
+ 0xe284d,
+ 0xbc8c5,
+ 0x126447,
+ 0x1019c9,
+ 0xf72c7,
+ 0xb5ed4,
+ 0x103acb,
+ 0xf8b4a,
+ 0xab10d,
+ 0xd3c3,
+ 0xd3c3,
+ 0x24386,
+ 0xd3c3,
+ 0x19c783,
+ 0x16fb88,
+ 0xf882,
+ 0x53384,
+ 0x5f843,
+ 0x155685,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x203ec3,
+ 0x238543,
+ 0x23cac3,
+ 0x21b583,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x29c283,
+ 0x202443,
+ 0x203ec3,
+ 0x286644,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x206683,
+ 0x238543,
+ 0x23cac3,
+ 0x207603,
+ 0x21b583,
+ 0x323043,
+ 0x231604,
+ 0x3797c3,
+ 0x229443,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x221483,
+ 0x36a883,
+ 0x1ea38543,
+ 0x23cac3,
+ 0x250ac3,
+ 0x323043,
+ 0x212143,
+ 0x229443,
+ 0x201a03,
+ 0x204103,
+ 0x35f584,
+ 0x16fb88,
+ 0x1f238543,
+ 0x23cac3,
+ 0x2ae2c3,
+ 0x323043,
+ 0x28cac3,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x20e943,
+ 0x16fb88,
+ 0x1fa38543,
+ 0x23cac3,
+ 0x21b583,
+ 0x200e03,
+ 0x201a03,
+ 0x16fb88,
+ 0x1438547,
+ 0x39c783,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x131645,
+ 0x36dc7,
+ 0xb610b,
+ 0xdf404,
+ 0xbc8c5,
+ 0x1480cc8,
+ 0xae90d,
+ 0x20e6c505,
+ 0x7bd44,
+ 0x10c3,
+ 0x172d45,
+ 0x33b145,
+ 0x16fb88,
+ 0xd3c2,
+ 0x2bc3,
+ 0xf9306,
+ 0x31f948,
+ 0x3347c7,
+ 0x286644,
+ 0x39c286,
+ 0x3b5146,
+ 0x16fb88,
+ 0x2ddac3,
+ 0x342a49,
+ 0x26d615,
+ 0x6d61f,
+ 0x238543,
+ 0x3b3a52,
+ 0xf6306,
+ 0x114dc5,
+ 0x6b0a,
+ 0x27d89,
+ 0x3b380f,
+ 0x2de944,
+ 0x3490c5,
+ 0x304b10,
+ 0x34e347,
+ 0x200e03,
+ 0x293408,
+ 0x12ce46,
+ 0x29630a,
+ 0x230f04,
+ 0x2f3743,
+ 0x3a03c6,
+ 0x205082,
+ 0x22facb,
+ 0xe03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x2f9a03,
+ 0x20f882,
+ 0x6ed43,
+ 0x208e83,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x211a83,
+ 0x228243,
+ 0x201a03,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
+ 0x207102,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x35dc5,
+ 0x286644,
+ 0x238543,
+ 0x23cac3,
+ 0x20f644,
+ 0x208e83,
+ 0x201a03,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x1a3443,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x21b583,
+ 0x204c03,
+ 0x28cac3,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x210543,
+ 0x707c3,
+ 0x11a83,
+ 0x208e83,
+ 0x201a03,
+ 0x3195ca,
+ 0x335289,
+ 0x35438b,
+ 0x35490a,
+ 0x35c50a,
+ 0x369bcb,
+ 0x38274a,
+ 0x38b38a,
+ 0x39090a,
+ 0x390b8b,
+ 0x3ad209,
+ 0x3af10a,
+ 0x3af7cb,
+ 0x3b978b,
+ 0x3bfb4a,
+ 0x238543,
+ 0x23cac3,
+ 0x21b583,
+ 0x28cac3,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
+ 0x35dcb,
+ 0x651c8,
+ 0x1174c9,
+ 0x16fb88,
+ 0x238543,
+ 0x26b304,
+ 0x20b342,
+ 0x21bf84,
+ 0x346145,
+ 0x203ec3,
+ 0x286644,
+ 0x238543,
+ 0x240244,
+ 0x23cac3,
+ 0x253384,
+ 0x2de944,
+ 0x231604,
+ 0x229443,
+ 0x208e83,
+ 0x201a03,
+ 0x22d585,
+ 0x206683,
+ 0x221483,
+ 0x20ec43,
+ 0x231944,
+ 0x20fe84,
+ 0x2cc105,
+ 0x16fb88,
+ 0x30dc84,
+ 0x36bdc6,
+ 0x281384,
+ 0x20f882,
+ 0x381107,
+ 0x254d87,
+ 0x251844,
+ 0x260105,
+ 0x374e05,
+ 0x2b13c5,
+ 0x231604,
+ 0x2cf6c8,
+ 0x23eb46,
+ 0x3bffc8,
+ 0x257cc5,
+ 0x2e4505,
+ 0x263544,
+ 0x201a03,
+ 0x2f4544,
+ 0x368dc6,
+ 0x3a04c3,
+ 0x231944,
+ 0x280bc5,
+ 0x2e4ac4,
+ 0x34da44,
+ 0x205082,
+ 0x2669c6,
+ 0x3a2906,
+ 0x30a185,
+ 0x207102,
+ 0x39c783,
+ 0x2760f882,
+ 0x223b84,
+ 0x207b02,
+ 0x28cac3,
+ 0x200e82,
+ 0x208e83,
0x200442,
- 0x214843,
- 0x25ed03,
- 0x16d208,
- 0x16d208,
- 0x2e9dc3,
- 0x205702,
- 0x26e099c2,
- 0x2e9dc3,
- 0x245b43,
- 0x353903,
- 0x327344,
- 0x205503,
- 0x200983,
- 0x16d208,
- 0x205702,
- 0x276099c2,
- 0x2a84c3,
- 0x205503,
- 0x200983,
+ 0x215443,
+ 0x202443,
+ 0x16fb88,
+ 0x16fb88,
+ 0x323043,
+ 0x207102,
+ 0x2820f882,
+ 0x323043,
+ 0x270443,
+ 0x3797c3,
+ 0x32e5c4,
+ 0x208e83,
+ 0x201a03,
+ 0x16fb88,
+ 0x207102,
+ 0x28a0f882,
+ 0x238543,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
0x482,
- 0x20a9c2,
- 0x212982,
- 0x206343,
- 0x2e87c3,
- 0x205702,
- 0x129845,
- 0x16d208,
- 0x16fc07,
- 0x2099c2,
- 0x232403,
- 0x249944,
- 0x2032c3,
- 0x2e9dc3,
- 0x2143c3,
- 0x209703,
- 0x205503,
- 0x216b03,
- 0x200983,
- 0x21da83,
- 0x118fd3,
- 0x11c954,
- 0x16fc07,
- 0x13b46,
- 0x53b4b,
- 0x1cdc6,
- 0x51b87,
- 0x11ab09,
- 0xe6d4a,
- 0x8850d,
- 0x1b240c,
- 0x1ada8a,
- 0x192345,
- 0x6708,
- 0x5d306,
- 0x125c86,
- 0x22bb82,
- 0xff14c,
- 0x1a5cc7,
- 0x22e51,
- 0x2a84c3,
- 0x568c5,
- 0x77848,
- 0x9e04,
- 0x288347c6,
- 0x17e86,
- 0x8cb46,
- 0x8da0a,
- 0xac543,
- 0x28e54b04,
- 0x11aac5,
- 0xde283,
- 0xdc105,
- 0xd104c,
- 0xf04c8,
- 0xb5708,
- 0x9e009,
- 0x134b08,
- 0x141e046,
- 0xda40a,
- 0x82b48,
- 0xf4648,
- 0xff384,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x205702,
- 0x2099c2,
- 0x2e9dc3,
- 0x202bc2,
- 0x205503,
- 0x200983,
- 0x214843,
- 0x3653cf,
- 0x36578e,
- 0x16d208,
- 0x2a84c3,
- 0x42f87,
- 0x232403,
- 0x2e9dc3,
- 0x244183,
- 0x205503,
- 0x200983,
- 0x201bc3,
- 0x201bc7,
+ 0x208882,
+ 0x21a902,
+ 0x211a83,
+ 0x2ef783,
+ 0x207102,
+ 0x131645,
+ 0x16fb88,
+ 0x36dc7,
+ 0x20f882,
+ 0x23cac3,
+ 0x253384,
+ 0x2020c3,
+ 0x323043,
+ 0x204c03,
+ 0x28cac3,
+ 0x208e83,
+ 0x21eb43,
+ 0x201a03,
+ 0x2252c3,
+ 0x122213,
+ 0x124cd4,
+ 0x36dc7,
+ 0x139986,
+ 0x5e24b,
+ 0x24386,
+ 0x5c0c7,
+ 0x120589,
+ 0xe838a,
+ 0x9058d,
+ 0x14fecc,
+ 0x3954a,
+ 0x11205,
+ 0x1b4d48,
+ 0x86286,
+ 0x31586,
+ 0x12cf06,
+ 0x20c182,
+ 0x10b14c,
+ 0x1b33c7,
+ 0x2a691,
+ 0x238543,
+ 0x6df05,
+ 0x7588,
+ 0x18ec4,
+ 0x29cbe1c6,
+ 0x806c6,
+ 0xb9a06,
+ 0x960ca,
+ 0xb4003,
+ 0x2a24c984,
+ 0xe8345,
+ 0x18e43,
+ 0x2a63dc47,
+ 0xe3bc5,
+ 0xb88cc,
+ 0xf7a88,
+ 0xbd248,
+ 0xa6589,
+ 0x14dc08,
+ 0x1425886,
+ 0x2ab71549,
+ 0x14978a,
+ 0x16308,
+ 0x114b48,
+ 0x8cf44,
+ 0xb5ac5,
+ 0x2ae42bc3,
+ 0x2b332106,
+ 0x2b6f4dc4,
+ 0x2bb39d87,
+ 0x114b44,
+ 0x114b44,
+ 0x114b44,
+ 0x114b44,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x207102,
+ 0x20f882,
+ 0x323043,
+ 0x205e82,
+ 0x208e83,
+ 0x201a03,
+ 0x215443,
+ 0x373ccf,
+ 0x37408e,
+ 0x16fb88,
+ 0x238543,
+ 0x4db87,
+ 0x23cac3,
+ 0x323043,
+ 0x255783,
+ 0x208e83,
+ 0x201a03,
+ 0x20d4c3,
+ 0x20d4c7,
0x200142,
- 0x32c249,
+ 0x2ce609,
0x200242,
- 0x23f88b,
- 0x297b8a,
- 0x2a2a49,
- 0x200882,
- 0x391206,
- 0x34ed15,
- 0x23f9d5,
- 0x246993,
- 0x23ff53,
- 0x202a82,
- 0x205ac5,
- 0x3b364c,
- 0x27160b,
- 0x2726c5,
- 0x201702,
- 0x284202,
- 0x386fc6,
- 0x200ec2,
- 0x3695c6,
- 0x2d4c4d,
- 0x27ef4c,
- 0x224dc4,
- 0x203dc2,
- 0x205942,
- 0x2248c8,
- 0x202a42,
- 0x312fc6,
- 0x2ba844,
- 0x34eed5,
- 0x246b13,
- 0x210783,
- 0x32fa0a,
- 0x3bb147,
- 0x3094c9,
- 0x37b887,
- 0x30f242,
+ 0x24788b,
+ 0x2c110a,
+ 0x2c67c9,
+ 0x201242,
+ 0x2100c6,
+ 0x26cd95,
+ 0x2479d5,
+ 0x275793,
+ 0x247f53,
+ 0x201d42,
+ 0x212c45,
+ 0x31d44c,
+ 0x27c6cb,
+ 0x29c705,
+ 0x20cac2,
+ 0x28e142,
+ 0x384c06,
+ 0x200bc2,
+ 0x3acc46,
+ 0x2dd20d,
+ 0x26540c,
+ 0x22cc84,
+ 0x200f82,
+ 0x203402,
+ 0x22b048,
+ 0x201d02,
+ 0x20a746,
+ 0x28bf04,
+ 0x26cf55,
+ 0x275913,
+ 0x216d03,
+ 0x33844a,
+ 0x205407,
+ 0x3145c9,
+ 0x38d4c7,
+ 0x20d342,
0x200002,
- 0x3aef06,
- 0x20cb42,
- 0x16d208,
- 0x2105c2,
- 0x20b382,
- 0x274e87,
- 0x20f687,
- 0x21b585,
- 0x201c02,
- 0x21da47,
- 0x21dc08,
- 0x242b42,
- 0x2bf3c2,
- 0x22e802,
- 0x201ec2,
- 0x237b88,
- 0x201ec3,
- 0x2b5308,
- 0x2cf1cd,
- 0x213c03,
- 0x327988,
- 0x239f8f,
- 0x23a34e,
- 0x25edca,
- 0x229751,
- 0x229bd0,
- 0x2bcdcd,
- 0x2bd10c,
- 0x311c47,
- 0x32fb87,
- 0x3b2d49,
- 0x224ec2,
- 0x206c02,
- 0x25340c,
- 0x25370b,
- 0x204142,
- 0x2ab046,
- 0x21a1c2,
- 0x209882,
- 0x21b102,
- 0x2099c2,
- 0x383a84,
- 0x238bc7,
- 0x204682,
- 0x23d147,
- 0x23e487,
- 0x20e142,
- 0x2301c2,
- 0x242e45,
- 0x205742,
- 0x362e0e,
- 0x2ebb8d,
- 0x232403,
- 0x2be90e,
- 0x2e064d,
- 0x37eac3,
- 0x200e02,
- 0x21fec4,
- 0x2454c2,
- 0x2175c2,
- 0x358e45,
- 0x364b47,
- 0x383382,
- 0x218342,
- 0x249547,
- 0x24d288,
- 0x248902,
- 0x2aeac6,
- 0x25328c,
- 0x2535cb,
- 0x20fc82,
- 0x25924f,
- 0x259610,
- 0x259a0f,
- 0x259dd5,
- 0x25a314,
- 0x25a80e,
- 0x25ab8e,
- 0x25af0f,
- 0x25b2ce,
- 0x25b654,
- 0x25bb53,
- 0x25c00d,
- 0x272a89,
- 0x2895c3,
- 0x200782,
- 0x22b0c5,
- 0x207f86,
- 0x20d882,
- 0x21f507,
- 0x2e9dc3,
- 0x205e82,
- 0x362a08,
- 0x229991,
- 0x229dd0,
- 0x206482,
- 0x288d87,
- 0x203942,
- 0x214607,
- 0x20be02,
- 0x319cc9,
- 0x386f87,
- 0x27aac8,
- 0x234606,
- 0x2e86c3,
- 0x32a105,
- 0x232682,
- 0x202082,
- 0x3af305,
- 0x380685,
- 0x2040c2,
- 0x24c543,
- 0x32d187,
- 0x223787,
+ 0x3ba886,
+ 0x212702,
+ 0x16fb88,
+ 0x216b42,
+ 0x201102,
+ 0x27f847,
+ 0x217387,
+ 0x222d85,
+ 0x20c702,
+ 0x225287,
+ 0x225448,
+ 0x2024c2,
+ 0x2430c2,
+ 0x237302,
+ 0x201382,
+ 0x242688,
+ 0x20a043,
+ 0x25fa08,
+ 0x2e9b0d,
+ 0x2322c3,
+ 0x32ec08,
+ 0x245f4f,
+ 0x24630e,
+ 0x339a4a,
+ 0x22e811,
+ 0x22ec90,
+ 0x2c34cd,
+ 0x2c380c,
+ 0x36a707,
+ 0x3385c7,
+ 0x39c349,
+ 0x20d302,
+ 0x201442,
+ 0x25db0c,
+ 0x25de0b,
+ 0x2008c2,
+ 0x360cc6,
+ 0x20e982,
+ 0x204882,
+ 0x222902,
+ 0x20f882,
+ 0x3b69c4,
+ 0x244387,
+ 0x229682,
+ 0x24a347,
+ 0x24b547,
+ 0x20d282,
+ 0x20c8c2,
+ 0x24da45,
+ 0x21a442,
+ 0x2f290e,
+ 0x2ab3cd,
+ 0x23cac3,
+ 0x28d58e,
+ 0x2c5c0d,
+ 0x25ac43,
+ 0x201482,
+ 0x2891c4,
+ 0x216582,
+ 0x20fac2,
+ 0x364145,
+ 0x373587,
+ 0x393202,
+ 0x207602,
+ 0x252f87,
+ 0x255ac8,
+ 0x2f6802,
+ 0x294ec6,
+ 0x25d98c,
+ 0x25dccb,
+ 0x206b02,
+ 0x26764f,
+ 0x267a10,
+ 0x267e0f,
+ 0x2681d5,
+ 0x268714,
+ 0x268c0e,
+ 0x268f8e,
+ 0x26930f,
+ 0x2696ce,
+ 0x269a54,
+ 0x269f53,
+ 0x26a40d,
+ 0x27d949,
+ 0x291ac3,
+ 0x201802,
+ 0x2b7505,
+ 0x206346,
+ 0x207b02,
+ 0x3a4ec7,
+ 0x323043,
+ 0x217202,
+ 0x37e548,
+ 0x22ea51,
+ 0x22ee90,
+ 0x2007c2,
+ 0x290e07,
+ 0x204182,
+ 0x332b07,
+ 0x209a02,
+ 0x342089,
+ 0x384bc7,
+ 0x27ac08,
+ 0x2be006,
+ 0x2ef683,
+ 0x339205,
+ 0x2022c2,
+ 0x207a82,
+ 0x3bac85,
+ 0x391345,
+ 0x204bc2,
+ 0x231043,
+ 0x2e4b47,
+ 0x205747,
0x200502,
- 0x254684,
- 0x223b83,
- 0x223b89,
- 0x22c548,
+ 0x25f1c4,
+ 0x211b83,
+ 0x211b89,
+ 0x215148,
0x200282,
- 0x204bc2,
- 0x3105c7,
- 0x31ff05,
- 0x2a5348,
- 0x219947,
- 0x200e83,
- 0x28c446,
- 0x2bcc4d,
- 0x2bcfcc,
- 0x2b45c6,
- 0x208d02,
- 0x2a8542,
- 0x202342,
- 0x239e0f,
- 0x23a20e,
- 0x302f07,
- 0x203d02,
- 0x2bf745,
- 0x2bf746,
- 0x20f242,
- 0x20ec42,
- 0x221f06,
- 0x214543,
- 0x214546,
- 0x2c6985,
- 0x2c698d,
- 0x2c6f55,
- 0x2c814c,
- 0x2c95cd,
- 0x2c9992,
- 0x20e602,
- 0x2675c2,
- 0x202d02,
- 0x240806,
- 0x2f7f86,
- 0x2033c2,
- 0x208006,
- 0x2023c2,
- 0x38b785,
+ 0x202942,
+ 0x242387,
+ 0x263285,
+ 0x2ad208,
+ 0x215c87,
+ 0x21a243,
+ 0x294c86,
+ 0x2c334d,
+ 0x2c36cc,
+ 0x2c8346,
+ 0x209b02,
+ 0x20c202,
+ 0x204a82,
+ 0x245dcf,
+ 0x2461ce,
+ 0x374e87,
+ 0x20b302,
+ 0x2c72c5,
+ 0x2c72c6,
+ 0x214702,
+ 0x200802,
+ 0x228246,
+ 0x2b57c3,
+ 0x332a46,
+ 0x2d0285,
+ 0x2d028d,
+ 0x2d0855,
+ 0x2d108c,
+ 0x2d1e4d,
+ 0x2d2212,
+ 0x214642,
+ 0x2745c2,
+ 0x202ec2,
+ 0x249386,
+ 0x302486,
+ 0x200982,
+ 0x2063c6,
+ 0x202c82,
+ 0x39b505,
0x200542,
- 0x2ebc89,
- 0x31554c,
- 0x31588b,
+ 0x2ab4c9,
+ 0x2e324c,
+ 0x2e358b,
0x200442,
- 0x24e748,
- 0x203b02,
- 0x2056c2,
- 0x26a346,
- 0x222445,
- 0x226747,
- 0x257d85,
- 0x29e405,
- 0x243002,
- 0x2067c2,
- 0x2013c2,
- 0x2df507,
- 0x380c0d,
- 0x380f8c,
- 0x22f087,
- 0x20f982,
- 0x2069c2,
- 0x241248,
- 0x31e488,
- 0x2e3988,
- 0x308484,
- 0x2ab407,
- 0x2e90c3,
- 0x228ec2,
- 0x2082c2,
- 0x2eb3c9,
- 0x3a40c7,
- 0x201302,
- 0x26a745,
- 0x22d4c2,
- 0x21aa02,
- 0x2f9f03,
- 0x2f9f06,
- 0x2f1742,
- 0x2f23c2,
+ 0x257708,
+ 0x2052c2,
+ 0x20cb42,
+ 0x278ec6,
+ 0x21f285,
+ 0x36c107,
+ 0x24bc85,
+ 0x28ea05,
+ 0x235d82,
+ 0x219a42,
+ 0x21cc82,
+ 0x2f3587,
+ 0x2613cd,
+ 0x26174c,
+ 0x317947,
+ 0x2235c2,
+ 0x225b82,
+ 0x23f688,
+ 0x343a08,
+ 0x34c008,
+ 0x313344,
+ 0x361087,
+ 0x2efc43,
+ 0x299842,
+ 0x206682,
+ 0x2f2149,
+ 0x3ab3c7,
+ 0x204102,
+ 0x2792c5,
+ 0x22fa42,
+ 0x236902,
+ 0x35dc83,
+ 0x35dc86,
+ 0x2f9a02,
+ 0x2fab42,
+ 0x200c02,
+ 0x281e06,
+ 0x345607,
+ 0x221282,
+ 0x206b42,
+ 0x25f84f,
+ 0x28d3cd,
+ 0x3029ce,
+ 0x2c5a8c,
0x201a42,
- 0x202f86,
- 0x21fe07,
- 0x213bc2,
- 0x205ec2,
- 0x2b514f,
- 0x2be74d,
- 0x3872ce,
- 0x2e04cc,
- 0x2009c2,
- 0x207302,
- 0x234445,
- 0x30ba46,
- 0x2018c2,
- 0x202482,
+ 0x204142,
+ 0x2bde45,
+ 0x317e46,
+ 0x209002,
+ 0x205842,
0x200482,
- 0x2198c4,
- 0x2cf044,
- 0x2d0e86,
- 0x203082,
- 0x36cac7,
- 0x203083,
- 0x285d48,
- 0x34e488,
- 0x239887,
- 0x240706,
- 0x203902,
- 0x234b03,
- 0x234b07,
- 0x273946,
- 0x2dee45,
- 0x308808,
- 0x200d02,
- 0x331207,
- 0x222702,
- 0x361782,
- 0x20cfc2,
- 0x2c6749,
- 0x230982,
- 0x200842,
- 0x22f303,
- 0x331c87,
+ 0x215c04,
+ 0x2e9984,
+ 0x2b8706,
+ 0x204242,
+ 0x37d6c7,
+ 0x233803,
+ 0x233808,
+ 0x33cb48,
+ 0x240687,
+ 0x249286,
+ 0x202502,
+ 0x242603,
+ 0x351107,
+ 0x26ffc6,
+ 0x2e2d05,
+ 0x3136c8,
+ 0x206182,
+ 0x337547,
+ 0x21f542,
+ 0x332182,
+ 0x207f02,
+ 0x2e95c9,
+ 0x23b442,
+ 0x2018c2,
+ 0x248383,
+ 0x377787,
0x2002c2,
- 0x3156cc,
- 0x3159cb,
- 0x2b4646,
- 0x2de1c5,
- 0x221c82,
- 0x203b42,
- 0x2b7bc6,
- 0x260dc3,
- 0x38c187,
- 0x236102,
- 0x201442,
- 0x34eb95,
- 0x23fb95,
- 0x246853,
- 0x2400d3,
- 0x2585c7,
- 0x271a48,
- 0x271a50,
- 0x28d2cf,
- 0x297953,
- 0x2a2812,
- 0x32be10,
- 0x2d544f,
- 0x35f7d2,
- 0x30c3d1,
- 0x2b7613,
- 0x2c6512,
- 0x2cff4f,
- 0x2d2e8e,
- 0x2d3f52,
- 0x2d71d1,
- 0x2d7c8f,
- 0x30440e,
- 0x2f0691,
- 0x2f17d0,
- 0x2f2752,
- 0x2fc711,
- 0x364586,
- 0x36d3c7,
- 0x372187,
- 0x203142,
- 0x27d8c5,
- 0x3933c7,
- 0x212982,
- 0x209942,
- 0x228a85,
- 0x21e743,
- 0x34b0c6,
- 0x380dcd,
- 0x38110c,
- 0x201682,
- 0x3b34cb,
- 0x2714ca,
- 0x20598a,
- 0x2b6449,
- 0x2ea64b,
- 0x219a8d,
- 0x2fa5cc,
- 0x25180a,
- 0x22090c,
- 0x26908b,
- 0x27250c,
- 0x29474b,
- 0x3154c3,
- 0x36cfc6,
- 0x3a98c2,
- 0x2f4542,
- 0x20a743,
- 0x208602,
- 0x21fe83,
- 0x2366c6,
- 0x259f87,
- 0x2c7fc6,
- 0x39e4c8,
- 0x31e188,
- 0x2ce146,
- 0x201f82,
- 0x2fd5cd,
- 0x2fd90c,
- 0x2d5fc7,
- 0x301f07,
- 0x213b82,
- 0x201502,
- 0x234a82,
- 0x24d642,
- 0x2099c2,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x214843,
- 0x205702,
- 0x2021c2,
- 0x2ae8fdc5,
- 0x2b247e45,
- 0x2b717806,
- 0x16d208,
- 0x2baaee05,
- 0x2099c2,
- 0x2006c2,
- 0x2bfb3ac5,
- 0x2c27bdc5,
- 0x2c67c9c7,
- 0x2ca86a09,
- 0x2ce3bc44,
- 0x20d882,
- 0x205e82,
- 0x2d24b5c5,
- 0x2d68f849,
- 0x2db1db88,
- 0x2deab805,
- 0x2e300187,
- 0x2e61ed48,
- 0x2eae5d85,
- 0x2ee00106,
- 0x2f337809,
- 0x2f6b5a48,
- 0x2fac0488,
- 0x2fe9704a,
- 0x302732c4,
- 0x306d13c5,
- 0x30abc9c8,
- 0x30e03a85,
- 0x20cec2,
- 0x31248a43,
- 0x316a1686,
- 0x31b60148,
- 0x31eb94c6,
- 0x32281f08,
- 0x32719606,
- 0x32adef04,
- 0x200c82,
- 0x32f2cb87,
- 0x332a75c4,
- 0x336756c7,
- 0x33ba2987,
+ 0x2e33cc,
+ 0x2e36cb,
+ 0x2c83c6,
+ 0x218d85,
+ 0x22a202,
+ 0x204782,
+ 0x2c1486,
+ 0x237e83,
+ 0x378407,
+ 0x243cc2,
+ 0x200d42,
+ 0x26cc15,
+ 0x247b95,
+ 0x275653,
+ 0x2480d3,
+ 0x2955c7,
+ 0x2c0ec8,
+ 0x379d90,
+ 0x3c020f,
+ 0x2c0ed3,
+ 0x2c6592,
+ 0x2ce1d0,
+ 0x2db58f,
+ 0x2dc512,
+ 0x2dffd1,
+ 0x2e0cd3,
+ 0x2e9392,
+ 0x2ea0cf,
+ 0x2f7c4e,
+ 0x2f9a92,
+ 0x2faed1,
+ 0x303e4f,
+ 0x347a4e,
+ 0x3559d1,
+ 0x2fee10,
+ 0x32f912,
+ 0x36fd51,
+ 0x3af4c6,
+ 0x30dd47,
+ 0x382ac7,
+ 0x203702,
+ 0x286d05,
+ 0x304887,
+ 0x21a902,
+ 0x218f42,
+ 0x230d85,
+ 0x226c43,
+ 0x244c06,
+ 0x26158d,
+ 0x2618cc,
+ 0x206442,
+ 0x31d2cb,
+ 0x27c58a,
+ 0x212b0a,
+ 0x2c04c9,
+ 0x2f0c0b,
+ 0x215dcd,
+ 0x304f8c,
+ 0x2f574a,
+ 0x277bcc,
+ 0x27d34b,
+ 0x29c54c,
+ 0x2b4c0b,
+ 0x2e31c3,
+ 0x36f946,
+ 0x3061c2,
+ 0x2fd502,
+ 0x256d03,
+ 0x203642,
+ 0x203643,
+ 0x260b86,
+ 0x268387,
+ 0x2c48c6,
+ 0x2e2448,
+ 0x343708,
+ 0x2cc7c6,
+ 0x20c402,
+ 0x309b4d,
+ 0x309e8c,
+ 0x2dea07,
+ 0x30db47,
+ 0x2302c2,
+ 0x221682,
+ 0x260982,
+ 0x255e82,
+ 0x20f882,
+ 0x208e83,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x215443,
+ 0x207102,
+ 0x207542,
+ 0x2da97d45,
+ 0x2de97685,
+ 0x2e320c86,
+ 0x16fb88,
+ 0x2e6b68c5,
+ 0x20f882,
+ 0x201742,
+ 0x2ea34cc5,
+ 0x2ee852c5,
+ 0x2f285e07,
+ 0x2f6f6e09,
+ 0x2fa74084,
+ 0x207b02,
+ 0x217202,
+ 0x2fe56a05,
+ 0x302977c9,
+ 0x30785908,
+ 0x30ab3185,
+ 0x30f3f5c7,
+ 0x31227248,
+ 0x316ec085,
+ 0x31a00106,
+ 0x31e41489,
+ 0x323311c8,
+ 0x326c8988,
+ 0x32a9ef0a,
+ 0x32e7e204,
+ 0x332d99c5,
+ 0x336c30c8,
+ 0x33b85d85,
+ 0x21a602,
+ 0x33e11103,
+ 0x342aa246,
+ 0x3475d1c8,
+ 0x34a8ab86,
+ 0x34e8a688,
+ 0x35348206,
+ 0x356e2dc4,
+ 0x204d42,
+ 0x35addc87,
+ 0x35eaf444,
+ 0x36280087,
+ 0x367b0c87,
0x200442,
- 0x33e9b0c5,
- 0x34334f84,
- 0x346cd907,
- 0x34a5f187,
- 0x34e80886,
- 0x3527c585,
- 0x356959c7,
- 0x35ad0b48,
- 0x35e2b447,
- 0x363164c9,
- 0x36793105,
- 0x36b31dc7,
- 0x36e8f546,
- 0x37391408,
- 0x2273cd,
- 0x279909,
- 0x28174b,
- 0x2a4b0b,
- 0x34058b,
- 0x2ffe8b,
- 0x30bc4b,
- 0x30bf0b,
- 0x30c809,
- 0x30d6cb,
- 0x30d98b,
- 0x30e48b,
- 0x30f5ca,
- 0x30fb0a,
- 0x31010c,
- 0x314d8b,
- 0x31670a,
- 0x32904a,
- 0x33404e,
- 0x33568e,
- 0x335a0a,
- 0x33808a,
- 0x338dcb,
- 0x33908b,
- 0x339e8b,
- 0x354ecb,
- 0x3554ca,
- 0x35618b,
- 0x35644a,
- 0x3566ca,
- 0x35694a,
- 0x372b0b,
- 0x37914b,
- 0x37c74e,
- 0x37cacb,
- 0x38454b,
- 0x385acb,
- 0x38900a,
- 0x389289,
- 0x3894ca,
- 0x38a94a,
- 0x3a00cb,
- 0x3a1a4b,
- 0x3a22ca,
- 0x3a48cb,
- 0x3a8c4b,
- 0x3b990b,
- 0x3767e648,
- 0x37a87c89,
- 0x37e9de89,
- 0x382dacc8,
- 0x342505,
- 0x217083,
- 0x21c6c4,
- 0x220005,
- 0x23b986,
- 0x25da05,
- 0x2864c4,
- 0x21f408,
- 0x308005,
- 0x291784,
- 0x203447,
- 0x29cf8a,
- 0x3712ca,
- 0x338547,
- 0x3af9c7,
- 0x2f8f07,
- 0x264e87,
- 0x2f60c5,
- 0x33bb86,
- 0x2bb847,
- 0x2b4904,
- 0x2e4646,
- 0x2e4546,
- 0x3b9585,
- 0x26d1c4,
- 0x3519c6,
- 0x29bf47,
- 0x285746,
- 0x2e3247,
- 0x25e443,
- 0x2b1c06,
- 0x2328c5,
- 0x27cac7,
- 0x2641ca,
- 0x260e44,
- 0x217c08,
- 0x2abd89,
- 0x2cd247,
- 0x336286,
- 0x24e9c8,
- 0x2b9c09,
- 0x309684,
- 0x366944,
- 0x244245,
- 0x2bb548,
- 0x2c4b07,
- 0x2a9709,
- 0x364688,
- 0x345e86,
- 0x3204c6,
- 0x298048,
- 0x359646,
- 0x247e45,
- 0x280946,
- 0x275ec8,
- 0x24da46,
- 0x2525cb,
- 0x298646,
- 0x29994d,
- 0x3a6005,
- 0x2a7486,
- 0x208b45,
- 0x2f9bc9,
- 0x2f9a87,
- 0x37a208,
- 0x266986,
- 0x298bc9,
- 0x3793c6,
- 0x264145,
- 0x268686,
- 0x2cae46,
- 0x2cb3c9,
- 0x3530c6,
- 0x339487,
- 0x26ad85,
- 0x202ac3,
- 0x252745,
- 0x299c07,
- 0x33c6c6,
- 0x3a5f09,
- 0x317806,
- 0x280b86,
- 0x210c49,
- 0x280349,
- 0x29fc07,
- 0x282f88,
- 0x28c989,
- 0x27d548,
- 0x378386,
- 0x2d5805,
- 0x2418ca,
- 0x280c06,
- 0x3b7986,
- 0x2c8985,
- 0x265808,
- 0x223307,
- 0x22f50a,
- 0x249e46,
- 0x279d45,
- 0x37aa46,
- 0x21ac47,
- 0x336147,
- 0x21bbc5,
- 0x264305,
- 0x357dc6,
- 0x2ac5c6,
- 0x34dc06,
- 0x2b3204,
- 0x27f689,
- 0x288b46,
- 0x2dd38a,
- 0x21b388,
- 0x3078c8,
- 0x3712ca,
- 0x20b445,
- 0x29be85,
- 0x350b88,
- 0x2b2c88,
- 0x27b5c7,
- 0x258946,
- 0x322388,
- 0x2fdec7,
- 0x27dc48,
- 0x2b3846,
- 0x281408,
- 0x294f06,
- 0x24ee87,
- 0x299ec6,
- 0x3519c6,
- 0x3778ca,
- 0x2bd8c6,
- 0x2d5809,
- 0x26dbc6,
- 0x2af14a,
- 0x2def09,
- 0x2fb486,
- 0x2b4b04,
- 0x22b18d,
- 0x287f07,
- 0x326cc6,
- 0x2c0345,
- 0x379445,
- 0x374246,
- 0x2cd749,
- 0x2b1647,
- 0x277306,
- 0x2cc246,
- 0x286549,
- 0x247d84,
- 0x3482c4,
- 0x352cc8,
- 0x236a86,
- 0x26a808,
- 0x2e41c8,
- 0x312747,
- 0x3b7549,
- 0x34de07,
- 0x2aecca,
- 0x2e1f8f,
- 0x23188a,
- 0x234245,
- 0x276105,
- 0x216e85,
- 0x2ba787,
- 0x21a803,
- 0x283188,
- 0x396786,
- 0x396889,
- 0x2b87c6,
- 0x3b5207,
- 0x298989,
- 0x37a108,
- 0x2c8a47,
- 0x30a343,
- 0x342585,
- 0x21a785,
- 0x2b304b,
- 0x203b44,
- 0x2c2084,
- 0x274646,
- 0x30abc7,
- 0x382bca,
- 0x248ac7,
- 0x311e87,
- 0x27bdc5,
- 0x200645,
- 0x2eef89,
- 0x3519c6,
- 0x24894d,
- 0x353305,
- 0x2b1383,
- 0x205043,
- 0x26f685,
- 0x345c45,
- 0x24e9c8,
- 0x2790c7,
- 0x348046,
- 0x29db06,
- 0x229105,
- 0x2326c7,
- 0x312247,
- 0x239347,
- 0x2d144a,
- 0x2b1cc8,
- 0x2b3204,
- 0x24d7c7,
- 0x27acc7,
- 0x339306,
- 0x262107,
- 0x2dc4c8,
- 0x2e6f08,
- 0x268506,
- 0x303008,
- 0x2c87c4,
- 0x2bb846,
- 0x2353c6,
- 0x33bfc6,
- 0x2ba986,
- 0x286004,
- 0x264f46,
- 0x2bf5c6,
- 0x297546,
- 0x247846,
- 0x204f06,
- 0x26e2c6,
- 0x347f48,
- 0x2b0748,
- 0x2d1c88,
- 0x25dc08,
- 0x350b06,
- 0x20dcc5,
- 0x315ec6,
- 0x2ab885,
- 0x388447,
- 0x215305,
- 0x2125c3,
- 0x211585,
- 0x344cc4,
- 0x205045,
- 0x203b03,
- 0x33a447,
- 0x354648,
- 0x2e3306,
- 0x2c218d,
- 0x2760c6,
- 0x296ac5,
- 0x2b7843,
- 0x2bc389,
- 0x247f06,
- 0x28e7c6,
- 0x29f4c4,
- 0x231807,
- 0x233606,
- 0x2b1905,
- 0x203cc3,
- 0x3abd84,
- 0x27ae86,
- 0x2354c4,
- 0x2da048,
- 0x38ba89,
- 0x215589,
- 0x29f2ca,
- 0x2a070d,
- 0x313447,
- 0x2b9186,
- 0x206804,
- 0x286a09,
- 0x284688,
- 0x287b06,
- 0x33f286,
- 0x262107,
- 0x2b6b46,
- 0x226346,
- 0x26d606,
- 0x3a2a0a,
- 0x21ed48,
- 0x2bacc5,
- 0x262549,
- 0x27e14a,
- 0x2f5d08,
- 0x29b908,
- 0x295f08,
- 0x2a7acc,
- 0x30e705,
- 0x29dd88,
- 0x2e6586,
- 0x37a386,
- 0x3b50c7,
- 0x2489c5,
- 0x280ac5,
- 0x215449,
- 0x20e247,
- 0x396845,
- 0x227887,
- 0x205043,
- 0x2c5045,
- 0x20ef48,
- 0x252ac7,
- 0x29b7c9,
- 0x2d7985,
- 0x2fa984,
- 0x2a03c8,
- 0x32ccc7,
- 0x2c8c08,
- 0x38d688,
- 0x354b05,
- 0x3a3946,
- 0x278cc6,
- 0x244609,
- 0x2b01c7,
- 0x2ac006,
- 0x313787,
- 0x210103,
- 0x23bc44,
- 0x2a1785,
- 0x232804,
- 0x3833c4,
- 0x27fdc7,
- 0x26c147,
- 0x22e704,
- 0x29b610,
- 0x3b3c47,
- 0x200645,
- 0x24c20c,
- 0x20a8c4,
- 0x2c1488,
- 0x24ed89,
- 0x35acc6,
- 0x334c48,
- 0x215244,
- 0x36c4c8,
- 0x22fb06,
- 0x2accc8,
- 0x29c506,
- 0x2bec0b,
- 0x202ac5,
- 0x2c8748,
- 0x215ac4,
- 0x38beca,
- 0x29b7c9,
- 0x245f06,
- 0x216f48,
- 0x256385,
- 0x2b0f44,
- 0x2c1386,
- 0x239208,
- 0x27e648,
- 0x322c06,
- 0x3a9ec4,
- 0x241846,
- 0x34de87,
- 0x2755c7,
- 0x26210f,
- 0x207347,
- 0x2fb547,
- 0x3709c5,
- 0x353e05,
- 0x29f8c9,
- 0x2dd046,
- 0x27cc05,
- 0x280647,
- 0x2e0bc8,
- 0x297645,
- 0x299ec6,
- 0x21b1c8,
- 0x2b94ca,
- 0x2db4c8,
- 0x28ac87,
- 0x2e23c6,
- 0x262506,
- 0x21a5c3,
- 0x216a43,
- 0x27e309,
- 0x28c809,
- 0x2c1286,
- 0x2d7985,
- 0x33bd48,
- 0x216f48,
- 0x3597c8,
- 0x26d68b,
- 0x2c23c7,
- 0x30a589,
- 0x262388,
- 0x343084,
- 0x3514c8,
- 0x28cd89,
- 0x2ac305,
- 0x2ba687,
- 0x23bcc5,
- 0x27e548,
- 0x28fc4b,
- 0x295710,
- 0x2a6dc5,
- 0x215a0c,
- 0x348205,
- 0x27be43,
- 0x2a8f86,
- 0x2be6c4,
- 0x335086,
- 0x29bf47,
- 0x21b244,
- 0x240b88,
- 0x28304d,
- 0x302945,
- 0x29b104,
- 0x2243c4,
- 0x276949,
- 0x2a11c8,
- 0x317687,
- 0x22fb88,
- 0x27f748,
- 0x277605,
- 0x209287,
- 0x277587,
- 0x33e347,
- 0x264309,
- 0x233489,
- 0x214c46,
- 0x2bd306,
- 0x262346,
- 0x37f785,
- 0x3a7184,
+ 0x36aa3885,
+ 0x36e8f904,
+ 0x372f1447,
+ 0x37632c47,
+ 0x37a89006,
+ 0x37e38385,
+ 0x3829d7c7,
+ 0x386d5dc8,
+ 0x38ab7887,
+ 0x38ea6c89,
+ 0x3939e345,
+ 0x397778c7,
+ 0x39a974c6,
+ 0x39e102c8,
+ 0x3279cd,
+ 0x27a209,
+ 0x28384b,
+ 0x289ecb,
+ 0x2ae3cb,
+ 0x2e62cb,
+ 0x31804b,
+ 0x31830b,
+ 0x318949,
+ 0x31984b,
+ 0x319b0b,
+ 0x31a08b,
+ 0x31b08a,
+ 0x31b5ca,
+ 0x31bbcc,
+ 0x31e00b,
+ 0x31ea4a,
+ 0x33064a,
+ 0x33c6ce,
+ 0x33d1ce,
+ 0x33d54a,
+ 0x33efca,
+ 0x33fa8b,
+ 0x33fd4b,
+ 0x340b0b,
+ 0x36124b,
+ 0x36184a,
+ 0x36250b,
+ 0x3627ca,
+ 0x362a4a,
+ 0x362cca,
+ 0x38424b,
+ 0x38c6cb,
+ 0x38e64e,
+ 0x38e9cb,
+ 0x39464b,
+ 0x395b0b,
+ 0x39900a,
+ 0x399289,
+ 0x3994ca,
+ 0x39a94a,
+ 0x3addcb,
+ 0x3afa8b,
+ 0x3b05ca,
+ 0x3b1fcb,
+ 0x3b674b,
+ 0x3bf58b,
+ 0x3a287a88,
+ 0x3a68fd09,
+ 0x3aaa6409,
+ 0x3aee4d48,
+ 0x34b945,
+ 0x202d43,
+ 0x21b744,
+ 0x345805,
+ 0x273dc6,
+ 0x274805,
+ 0x28f584,
+ 0x3a4dc8,
+ 0x312ec5,
+ 0x299a84,
+ 0x211587,
+ 0x2a550a,
+ 0x3813ca,
+ 0x308f07,
+ 0x202c47,
+ 0x303647,
+ 0x271907,
+ 0x2ff9c5,
+ 0x204906,
+ 0x22b9c7,
+ 0x2c8684,
+ 0x2db006,
+ 0x2daf06,
+ 0x208185,
+ 0x331c04,
+ 0x388bc6,
+ 0x2a4707,
+ 0x232646,
+ 0x2bfa07,
+ 0x232dc3,
+ 0x26c7c6,
+ 0x23cf85,
+ 0x285f07,
+ 0x27100a,
+ 0x284e04,
+ 0x220808,
+ 0x2a2009,
+ 0x2d0e47,
+ 0x31e8c6,
+ 0x257988,
+ 0x28b2c9,
+ 0x314784,
+ 0x376004,
+ 0x35d785,
+ 0x22b6c8,
+ 0x2ccc07,
+ 0x29a3c9,
+ 0x3af5c8,
+ 0x353706,
+ 0x24d486,
+ 0x29fd88,
+ 0x365bc6,
+ 0x297685,
+ 0x2890c6,
+ 0x280ec8,
+ 0x256286,
+ 0x25cb8b,
+ 0x2ac646,
+ 0x2a224d,
+ 0x208605,
+ 0x2af306,
+ 0x218a05,
+ 0x35d949,
+ 0x27a787,
+ 0x36d148,
+ 0x2969c6,
+ 0x2a1509,
+ 0x341046,
+ 0x270f85,
+ 0x2a7f06,
+ 0x2d3586,
+ 0x2d3b09,
+ 0x333f06,
+ 0x3529c7,
+ 0x248c85,
+ 0x201d83,
+ 0x25cd05,
+ 0x2a2507,
+ 0x338d06,
+ 0x208509,
+ 0x320c86,
+ 0x289306,
+ 0x219fc9,
+ 0x288ac9,
+ 0x2a8747,
+ 0x20cd08,
+ 0x280509,
+ 0x286988,
+ 0x38b5c6,
+ 0x2de245,
+ 0x23fa4a,
+ 0x289386,
+ 0x2bf1c6,
+ 0x2d7605,
+ 0x272408,
+ 0x2220c7,
+ 0x239fca,
+ 0x253b46,
+ 0x27a645,
+ 0x20a506,
+ 0x236b47,
+ 0x31e787,
+ 0x24fc45,
+ 0x271145,
+ 0x2e79c6,
+ 0x2fbfc6,
+ 0x2be306,
+ 0x2bb884,
+ 0x287e09,
+ 0x290bc6,
+ 0x2d430a,
+ 0x222b88,
+ 0x3059c8,
+ 0x3813ca,
+ 0x205b45,
+ 0x2a4645,
+ 0x3575c8,
+ 0x2b0fc8,
+ 0x2b43c7,
+ 0x295946,
+ 0x329608,
+ 0x30a447,
+ 0x287088,
+ 0x2bbec6,
+ 0x289b88,
+ 0x29cd06,
+ 0x257e47,
+ 0x2a27c6,
+ 0x388bc6,
+ 0x383d4a,
+ 0x345506,
+ 0x2de249,
+ 0x36b086,
+ 0x2b6c0a,
+ 0x2e2dc9,
+ 0x2fe406,
+ 0x2bccc4,
+ 0x2b75cd,
+ 0x28ff87,
+ 0x32df46,
+ 0x2c8845,
+ 0x3410c5,
+ 0x204dc6,
+ 0x2d4fc9,
+ 0x3879c7,
+ 0x2826c6,
+ 0x2bd406,
+ 0x28f609,
+ 0x33f784,
+ 0x3a1184,
+ 0x39c0c8,
+ 0x260f46,
+ 0x279388,
+ 0x30fec8,
+ 0x378187,
+ 0x3beb49,
+ 0x2be507,
+ 0x2b678a,
+ 0x2fc88f,
+ 0x25100a,
+ 0x2bdc45,
+ 0x281105,
+ 0x220085,
+ 0x28be47,
+ 0x236703,
+ 0x20cf08,
+ 0x201e46,
+ 0x201f49,
+ 0x2e4806,
+ 0x3a3607,
+ 0x2a12c9,
+ 0x36d048,
+ 0x2d76c7,
+ 0x315603,
+ 0x34b9c5,
+ 0x236685,
+ 0x2bb6cb,
+ 0x385e44,
+ 0x30ad44,
+ 0x27f006,
+ 0x315e87,
+ 0x392a4a,
+ 0x251a87,
+ 0x36a947,
+ 0x2852c5,
+ 0x2016c5,
+ 0x253689,
+ 0x388bc6,
+ 0x25190d,
+ 0x334145,
+ 0x2a10c3,
+ 0x200dc3,
+ 0x39cf05,
+ 0x3534c5,
+ 0x257988,
+ 0x283007,
+ 0x3a0f06,
+ 0x2a6086,
+ 0x232545,
+ 0x23cd87,
+ 0x377c87,
+ 0x23ea07,
+ 0x2d9a4a,
+ 0x26c888,
+ 0x2bb884,
+ 0x256007,
+ 0x284707,
+ 0x352846,
+ 0x26f5c7,
+ 0x2ece48,
+ 0x2e8548,
+ 0x276346,
+ 0x374f88,
+ 0x2d1704,
+ 0x22b9c6,
+ 0x239b86,
+ 0x333b86,
+ 0x2d0006,
+ 0x233ac4,
+ 0x2719c6,
+ 0x2c7146,
+ 0x29f406,
+ 0x2381c6,
+ 0x213ec6,
+ 0x223f06,
+ 0x3a0e08,
+ 0x3bcc88,
+ 0x2da288,
+ 0x274a08,
+ 0x357546,
+ 0x217e05,
+ 0x2dd4c6,
+ 0x2b3205,
+ 0x397f07,
+ 0x27df05,
+ 0x21ae83,
+ 0x2058c5,
+ 0x34cc44,
+ 0x214005,
+ 0x22dc83,
+ 0x33d807,
+ 0x374a48,
+ 0x2bfac6,
+ 0x2b0c4d,
+ 0x2810c6,
+ 0x29e985,
+ 0x227603,
+ 0x2c2a89,
+ 0x33f906,
+ 0x29dd86,
+ 0x2a8004,
+ 0x250f87,
+ 0x334546,
+ 0x387c85,
+ 0x20b2c3,
+ 0x209484,
+ 0x2848c6,
+ 0x204a04,
+ 0x239c88,
+ 0x2005c9,
+ 0x325f49,
+ 0x2a7e0a,
+ 0x2a918d,
+ 0x20abc7,
+ 0x2bf046,
+ 0x205ec4,
+ 0x2f6e09,
+ 0x28e688,
+ 0x28fb86,
+ 0x245246,
+ 0x26f5c7,
+ 0x2b9786,
+ 0x22c986,
+ 0x36aac6,
+ 0x3b0d0a,
+ 0x227248,
+ 0x364dc5,
+ 0x26fa09,
+ 0x28758a,
+ 0x2f1e88,
+ 0x2a40c8,
+ 0x29dd08,
+ 0x2ad74c,
+ 0x318585,
+ 0x2a6308,
+ 0x2e7546,
+ 0x36d2c6,
+ 0x3a34c7,
+ 0x251985,
+ 0x289245,
+ 0x325e09,
+ 0x219847,
+ 0x201f05,
+ 0x22d887,
+ 0x200dc3,
+ 0x2cd145,
+ 0x214308,
+ 0x25d087,
+ 0x2a3f89,
+ 0x2dac05,
+ 0x395a04,
+ 0x2a8e48,
+ 0x2dddc7,
+ 0x2d7888,
+ 0x2508c8,
+ 0x2d6645,
+ 0x281906,
+ 0x2a6186,
+ 0x277449,
+ 0x2b26c7,
+ 0x2b3ac6,
+ 0x2236c7,
+ 0x20e743,
+ 0x274084,
+ 0x2d1805,
+ 0x23cec4,
+ 0x393244,
+ 0x288547,
+ 0x25b347,
+ 0x234284,
+ 0x2a3dd0,
+ 0x234e47,
+ 0x2016c5,
+ 0x37178c,
+ 0x250684,
+ 0x2a9e48,
+ 0x257d49,
+ 0x36e646,
+ 0x34dd48,
+ 0x223384,
+ 0x37d0c8,
+ 0x23a5c6,
+ 0x238048,
+ 0x2a4cc6,
+ 0x2cc8cb,
+ 0x201d85,
+ 0x2d1688,
+ 0x200a04,
+ 0x200a0a,
+ 0x2a3f89,
+ 0x357f06,
+ 0x220148,
+ 0x263805,
+ 0x2b9044,
+ 0x2a9d46,
+ 0x23e8c8,
+ 0x287a88,
+ 0x329e86,
+ 0x358b04,
+ 0x23f9c6,
+ 0x2be587,
+ 0x27ff87,
+ 0x26f5cf,
+ 0x204187,
+ 0x2fe4c7,
+ 0x23d2c5,
+ 0x35fcc5,
+ 0x2a8409,
+ 0x2ed806,
+ 0x286045,
+ 0x288dc7,
+ 0x2c6188,
+ 0x29f505,
+ 0x2a27c6,
+ 0x2229c8,
+ 0x28ab8a,
+ 0x39c888,
+ 0x292f47,
+ 0x2fccc6,
+ 0x26f9c6,
+ 0x20ca43,
+ 0x2052c3,
+ 0x287749,
+ 0x280389,
+ 0x2a6b86,
+ 0x2dac05,
+ 0x304588,
+ 0x220148,
+ 0x365d48,
+ 0x36ab4b,
+ 0x2b0e87,
+ 0x315849,
+ 0x26f848,
+ 0x356284,
+ 0x3886c8,
+ 0x295089,
+ 0x2b3dc5,
+ 0x28bd47,
+ 0x274105,
+ 0x287988,
+ 0x297bcb,
+ 0x29d510,
+ 0x2aec45,
+ 0x21e20c,
+ 0x3a10c5,
+ 0x285343,
+ 0x296706,
+ 0x2c5a04,
+ 0x28fa06,
+ 0x2a4707,
+ 0x222a44,
+ 0x24c3c8,
+ 0x20cdcd,
+ 0x330a05,
+ 0x20ac04,
+ 0x241b84,
+ 0x27bd89,
+ 0x292bc8,
+ 0x320b07,
+ 0x23a648,
+ 0x287ec8,
+ 0x2829c5,
+ 0x28c647,
+ 0x282947,
+ 0x342807,
+ 0x271149,
+ 0x223c49,
+ 0x36c986,
+ 0x2c3a06,
+ 0x26f806,
+ 0x33e9c5,
+ 0x3b4944,
0x200006,
0x200386,
- 0x277648,
- 0x21a90b,
- 0x260d07,
- 0x206804,
- 0x353646,
- 0x2fe447,
- 0x26dec5,
- 0x391d05,
- 0x219644,
- 0x233406,
+ 0x282a08,
+ 0x23680b,
+ 0x284cc7,
+ 0x205ec4,
+ 0x334486,
+ 0x2ed187,
+ 0x388f45,
+ 0x210bc5,
+ 0x21b484,
+ 0x223bc6,
0x200088,
- 0x286a09,
- 0x2510c6,
- 0x284048,
- 0x2b19c6,
- 0x345248,
- 0x306dcc,
- 0x2774c6,
- 0x29678d,
- 0x296c0b,
- 0x339545,
- 0x312387,
- 0x3531c6,
- 0x336008,
- 0x214cc9,
- 0x2d0588,
- 0x200645,
- 0x277987,
- 0x27d648,
- 0x349649,
- 0x28e946,
- 0x250fca,
- 0x335d88,
- 0x2d03cb,
- 0x39818c,
- 0x36c5c8,
- 0x27a7c6,
- 0x208c88,
- 0x3b77c7,
- 0x32cf49,
- 0x28f74d,
- 0x299dc6,
- 0x27b808,
- 0x2b0609,
- 0x2bda48,
- 0x281508,
- 0x2bfe0c,
- 0x2c0b47,
- 0x2c1887,
- 0x264145,
- 0x2ad587,
- 0x2e0a88,
- 0x2c1406,
- 0x2556cc,
- 0x2ef888,
- 0x2ccb88,
- 0x25dec6,
- 0x21a507,
- 0x214e44,
- 0x25dc08,
- 0x22200c,
- 0x2ce24c,
- 0x2342c5,
- 0x2d0d47,
- 0x3a9e46,
- 0x21a486,
- 0x2f9d88,
- 0x3af904,
- 0x28574b,
- 0x36cc0b,
- 0x2e23c6,
- 0x282ec7,
- 0x37a805,
- 0x269a05,
- 0x285886,
- 0x256345,
- 0x203b05,
- 0x2cc9c7,
- 0x274c49,
- 0x2ac784,
- 0x2fbb45,
- 0x2e4bc5,
- 0x2d9dc8,
- 0x329d05,
- 0x2b72c9,
- 0x2ae5c7,
- 0x2ae5cb,
- 0x381306,
- 0x347c89,
- 0x26d108,
- 0x276545,
- 0x33e448,
- 0x2334c8,
- 0x245747,
- 0x3776c7,
- 0x27fe49,
- 0x2acc07,
- 0x28a989,
- 0x2aa70c,
- 0x3163c8,
- 0x2b2ac9,
- 0x2b3d47,
- 0x27f809,
- 0x26c287,
- 0x398288,
- 0x3b7705,
- 0x2bb7c6,
- 0x2c0388,
- 0x308a88,
- 0x27e009,
- 0x203b47,
- 0x269ac5,
- 0x222b09,
- 0x2bd6c6,
- 0x28f544,
- 0x30e1c6,
- 0x35ffc8,
- 0x232ac7,
- 0x21ab08,
- 0x3030c9,
- 0x3a3707,
- 0x29d146,
- 0x312444,
- 0x211609,
- 0x209108,
- 0x25dd87,
- 0x27eb46,
- 0x21a846,
- 0x3b7904,
- 0x2241c6,
- 0x204fc3,
- 0x3b1649,
- 0x202a86,
- 0x303345,
- 0x29db06,
- 0x26cac5,
- 0x27dac8,
- 0x36c307,
- 0x381646,
- 0x3b3b06,
- 0x3078c8,
- 0x29fa47,
- 0x299e05,
- 0x29b408,
- 0x3a1e48,
- 0x335d88,
- 0x3480c5,
- 0x2bb846,
- 0x215349,
- 0x244484,
- 0x26c94b,
- 0x22604b,
- 0x2babc9,
- 0x205043,
- 0x254485,
- 0x2214c6,
- 0x385208,
- 0x2e1f04,
- 0x2e3306,
- 0x2d1589,
- 0x2ca445,
- 0x2cc906,
- 0x32ccc6,
- 0x216f44,
- 0x2a764a,
- 0x303288,
- 0x308a86,
- 0x3b8645,
- 0x37a687,
- 0x2e0fc7,
- 0x3a3944,
- 0x226287,
- 0x2aecc4,
- 0x33bf46,
- 0x2096c3,
- 0x264305,
- 0x32ad45,
- 0x207588,
- 0x24d985,
- 0x277209,
- 0x25da47,
- 0x25da4b,
- 0x2a148c,
- 0x2a224a,
- 0x300187,
- 0x203503,
- 0x3afc08,
- 0x348285,
- 0x2976c5,
- 0x205104,
- 0x398186,
- 0x24ed86,
- 0x224207,
- 0x33448b,
- 0x286004,
- 0x2e6684,
- 0x21f044,
- 0x2cafc6,
- 0x21b244,
- 0x2bb648,
- 0x342445,
- 0x21ba45,
- 0x359707,
- 0x312489,
- 0x345c45,
- 0x37424a,
- 0x26ac89,
- 0x2996ca,
- 0x3a2b49,
- 0x33fec4,
- 0x2cc305,
- 0x2b6c48,
- 0x2cd9cb,
- 0x244245,
- 0x2f2fc6,
- 0x213e84,
- 0x277746,
- 0x3a3589,
- 0x353707,
- 0x3179c8,
- 0x2a0a86,
- 0x34de07,
- 0x27e648,
- 0x3747c6,
- 0x375604,
- 0x365ac7,
- 0x357305,
- 0x367287,
+ 0x2f6e09,
+ 0x259706,
+ 0x28df88,
+ 0x387d46,
+ 0x355088,
+ 0x2d6c8c,
+ 0x282886,
+ 0x29e64d,
+ 0x29eacb,
+ 0x352a85,
+ 0x377dc7,
+ 0x334006,
+ 0x31e648,
+ 0x36ca09,
+ 0x276608,
+ 0x2016c5,
+ 0x2076c7,
+ 0x286a88,
+ 0x332489,
+ 0x2a0986,
+ 0x25960a,
+ 0x31e3c8,
+ 0x27644b,
+ 0x2d964c,
+ 0x37d1c8,
+ 0x283e46,
+ 0x28c048,
+ 0x28a807,
+ 0x2e4909,
+ 0x2976cd,
+ 0x2a26c6,
+ 0x365308,
+ 0x3bcb49,
+ 0x2c4a48,
+ 0x289c88,
+ 0x2c798c,
+ 0x2c8e87,
+ 0x2c96c7,
+ 0x270f85,
+ 0x31a807,
+ 0x2c6048,
+ 0x2a9dc6,
+ 0x26020c,
+ 0x2f60c8,
+ 0x2d5708,
+ 0x262246,
+ 0x236407,
+ 0x36cb84,
+ 0x274a08,
+ 0x28d88c,
+ 0x22834c,
+ 0x2bdcc5,
+ 0x2b85c7,
+ 0x358a86,
+ 0x236386,
+ 0x35db08,
+ 0x202b84,
+ 0x23264b,
+ 0x37d80b,
+ 0x2fccc6,
+ 0x20cc47,
+ 0x339305,
+ 0x278585,
+ 0x232786,
+ 0x2637c5,
+ 0x385e05,
+ 0x2e40c7,
+ 0x27f609,
+ 0x2fc184,
+ 0x2feac5,
+ 0x2ead45,
+ 0x2b5448,
+ 0x235685,
+ 0x2c0b89,
+ 0x2b16c7,
+ 0x2b16cb,
+ 0x261ac6,
+ 0x3a0b49,
+ 0x331b48,
+ 0x272885,
+ 0x342908,
+ 0x223c88,
+ 0x249b07,
+ 0x383b47,
+ 0x2885c9,
+ 0x237f87,
+ 0x27de09,
+ 0x29b88c,
+ 0x2a6b88,
+ 0x331009,
+ 0x360987,
+ 0x287f89,
+ 0x25b487,
+ 0x2d9748,
+ 0x3bed05,
+ 0x22b946,
+ 0x2c8888,
+ 0x30cf08,
+ 0x287449,
+ 0x385e47,
+ 0x278645,
+ 0x21f949,
+ 0x345306,
+ 0x2440c4,
+ 0x2440c6,
+ 0x35d048,
+ 0x254547,
+ 0x236a08,
+ 0x375049,
+ 0x3b1a07,
+ 0x2a56c6,
+ 0x377e84,
+ 0x205949,
+ 0x28c4c8,
+ 0x262107,
+ 0x2b56c6,
+ 0x236746,
+ 0x2bf144,
+ 0x241986,
+ 0x202003,
+ 0x34f109,
+ 0x201d46,
+ 0x3752c5,
+ 0x2a6086,
+ 0x2d79c5,
+ 0x286f08,
+ 0x37cf07,
+ 0x261e06,
+ 0x234d06,
+ 0x3059c8,
+ 0x2a8587,
+ 0x2a2705,
+ 0x2a3bc8,
+ 0x3bb748,
+ 0x31e3c8,
+ 0x3a0f85,
+ 0x22b9c6,
+ 0x325d09,
+ 0x2772c4,
+ 0x351d8b,
+ 0x22c68b,
+ 0x364cc9,
+ 0x200dc3,
+ 0x25efc5,
+ 0x21d306,
+ 0x3ba188,
+ 0x2fc804,
+ 0x2bfac6,
+ 0x2d9b89,
+ 0x2bc9c5,
+ 0x2e4006,
+ 0x2dddc6,
+ 0x220144,
+ 0x2af4ca,
+ 0x375208,
+ 0x30cf06,
+ 0x2cf245,
+ 0x3b8247,
+ 0x23d187,
+ 0x281904,
+ 0x22c8c7,
+ 0x2b6784,
+ 0x333b06,
+ 0x20cf43,
+ 0x271145,
+ 0x334f05,
+ 0x3beec8,
+ 0x2561c5,
+ 0x2825c9,
+ 0x274847,
+ 0x27484b,
+ 0x2aa04c,
+ 0x2aa64a,
+ 0x33f5c7,
+ 0x202e83,
+ 0x202e88,
+ 0x3a1145,
+ 0x29f585,
+ 0x2140c4,
+ 0x2d9646,
+ 0x257d46,
+ 0x2419c7,
+ 0x34d58b,
+ 0x233ac4,
+ 0x2e7644,
+ 0x2cbd04,
+ 0x2d3706,
+ 0x222a44,
+ 0x22b7c8,
+ 0x34b885,
+ 0x24fac5,
+ 0x365c87,
+ 0x377ec9,
+ 0x3534c5,
+ 0x38dcca,
+ 0x248b89,
+ 0x2911ca,
+ 0x3b0e49,
+ 0x310444,
+ 0x2bd4c5,
+ 0x2b9888,
+ 0x2f150b,
+ 0x35d785,
+ 0x33be86,
+ 0x236304,
+ 0x282b06,
+ 0x3b1889,
+ 0x2ed287,
+ 0x320e48,
+ 0x2a9506,
+ 0x2be507,
+ 0x287a88,
+ 0x3870c6,
+ 0x39b804,
+ 0x3743c7,
+ 0x376945,
+ 0x389b87,
0x200104,
- 0x353146,
- 0x2f4308,
- 0x296dc8,
- 0x2e6047,
- 0x274fc8,
- 0x294fc5,
- 0x204e84,
- 0x3711c8,
- 0x2750c4,
- 0x216e05,
- 0x2f5fc4,
- 0x2fdfc7,
- 0x288c07,
- 0x27f948,
- 0x2c8d86,
- 0x24d905,
- 0x277008,
- 0x2db6c8,
- 0x29f209,
- 0x226346,
- 0x22f588,
- 0x38bd4a,
- 0x26df48,
- 0x2e5d85,
- 0x20b306,
- 0x26ab48,
- 0x277a4a,
- 0x210f87,
- 0x284c45,
- 0x292708,
- 0x2ade04,
- 0x265886,
- 0x2c1c08,
- 0x204f06,
- 0x38e7c8,
- 0x28f187,
- 0x203346,
- 0x2b4b04,
- 0x284fc7,
- 0x2b0d84,
- 0x3a3547,
- 0x28e60d,
- 0x27b645,
- 0x2cd54b,
- 0x29c606,
- 0x24e848,
- 0x240b44,
- 0x350d06,
- 0x27ae86,
- 0x208fc7,
- 0x29644d,
- 0x243cc7,
- 0x2b12c8,
- 0x269b85,
- 0x278648,
- 0x2c4a86,
- 0x295048,
- 0x228086,
- 0x33d987,
- 0x300449,
- 0x343ac7,
- 0x287dc8,
- 0x2706c5,
- 0x21b608,
- 0x21a3c5,
- 0x3a4245,
- 0x3a2dc5,
- 0x234543,
- 0x2809c4,
- 0x262545,
- 0x337809,
- 0x27ea46,
- 0x2dc5c8,
- 0x377485,
- 0x2b2e87,
- 0x2a78ca,
- 0x2cc849,
- 0x2cad4a,
- 0x2d1d08,
- 0x2276cc,
- 0x2806cd,
- 0x2fc003,
- 0x38e6c8,
- 0x3abd45,
- 0x2b9286,
- 0x379f86,
- 0x2e58c5,
- 0x313889,
- 0x33cc45,
- 0x277008,
- 0x2552c6,
- 0x347806,
- 0x2a0289,
- 0x393947,
- 0x28ff06,
- 0x2a7848,
- 0x33bec8,
- 0x2daec7,
- 0x2ace4e,
- 0x2c4cc5,
- 0x349545,
- 0x204e08,
- 0x21fcc7,
- 0x21a882,
- 0x2bf984,
- 0x334f8a,
- 0x25de48,
- 0x2fe546,
- 0x298ac8,
- 0x278cc6,
- 0x332608,
- 0x2ac008,
- 0x3a4204,
- 0x2b33c5,
- 0x676384,
- 0x676384,
- 0x676384,
- 0x202b43,
- 0x21a6c6,
- 0x2774c6,
- 0x29cb0c,
- 0x203383,
- 0x27e146,
- 0x2151c4,
- 0x247e88,
- 0x2d13c5,
- 0x335086,
- 0x2bcac8,
- 0x2d2bc6,
- 0x3815c6,
- 0x245d08,
- 0x2a1807,
- 0x2ac9c9,
- 0x2f214a,
- 0x22b484,
- 0x215305,
- 0x2a96c5,
- 0x247c06,
- 0x313486,
- 0x29d546,
- 0x2f5546,
- 0x2acb04,
- 0x2acb0b,
- 0x231804,
- 0x29ccc5,
- 0x2aad85,
- 0x312806,
- 0x3a6308,
- 0x280587,
- 0x317784,
- 0x236203,
- 0x2ad905,
- 0x306047,
- 0x28048b,
- 0x207487,
- 0x2bc9c8,
- 0x2e62c7,
- 0x370b06,
- 0x279bc8,
- 0x2a820b,
- 0x21ff46,
- 0x212309,
- 0x2a8385,
- 0x30a343,
- 0x2cc906,
- 0x28f088,
- 0x213403,
- 0x24f403,
- 0x27e646,
- 0x278cc6,
- 0x35d10a,
- 0x27a805,
- 0x27accb,
- 0x29da4b,
- 0x23ef83,
- 0x202843,
- 0x2aec44,
- 0x278a87,
- 0x28f104,
- 0x244504,
- 0x2e6404,
- 0x26e248,
- 0x3b8588,
- 0x3baf89,
- 0x393188,
- 0x2b9dc7,
- 0x247846,
- 0x2dc20f,
- 0x2c4e06,
- 0x2d1344,
- 0x3b83ca,
- 0x305f47,
- 0x3b9606,
- 0x28f589,
- 0x3baf05,
- 0x2076c5,
- 0x3bb046,
- 0x21b743,
- 0x2ade49,
+ 0x333f86,
+ 0x2d5f48,
+ 0x29ec88,
+ 0x2e7007,
+ 0x27f988,
+ 0x29cdc5,
+ 0x213e44,
+ 0x3812c8,
+ 0x27fa84,
+ 0x220005,
+ 0x2ffbc4,
+ 0x30a547,
+ 0x290c87,
+ 0x2880c8,
+ 0x2d7a06,
+ 0x256145,
+ 0x2823c8,
+ 0x39ca88,
+ 0x2a7d49,
+ 0x22c986,
+ 0x23a048,
+ 0x20088a,
+ 0x388fc8,
+ 0x2ec085,
+ 0x349286,
+ 0x248a48,
+ 0x20778a,
+ 0x226047,
+ 0x28ee45,
+ 0x29ad48,
+ 0x2c2404,
+ 0x272486,
+ 0x2c9a48,
+ 0x213ec6,
+ 0x20b308,
+ 0x296e87,
+ 0x211486,
+ 0x2bccc4,
+ 0x364707,
+ 0x2b8e84,
+ 0x3b1847,
+ 0x2a064d,
+ 0x288805,
+ 0x2d4dcb,
+ 0x2285c6,
+ 0x257808,
+ 0x24c384,
+ 0x357746,
+ 0x2848c6,
+ 0x28c387,
+ 0x29e30d,
+ 0x24e587,
+ 0x2b93c8,
+ 0x278705,
+ 0x276e08,
+ 0x2ccb86,
+ 0x29ce48,
+ 0x22ab46,
+ 0x25a707,
+ 0x39ae89,
+ 0x36ebc7,
+ 0x28fe48,
+ 0x27af45,
+ 0x222e08,
+ 0x219405,
+ 0x3ab545,
+ 0x3b10c5,
+ 0x23ef43,
+ 0x289144,
+ 0x26fa05,
+ 0x241489,
+ 0x3043c6,
+ 0x2ecf48,
+ 0x383905,
+ 0x2bb507,
+ 0x2ad54a,
+ 0x2e3f49,
+ 0x2d348a,
+ 0x2da308,
+ 0x22d6cc,
+ 0x288e4d,
+ 0x301bc3,
+ 0x20b208,
+ 0x209445,
+ 0x28a946,
+ 0x36cec6,
+ 0x2ebb05,
+ 0x2237c9,
+ 0x20e1c5,
+ 0x2823c8,
+ 0x25fe06,
+ 0x35e006,
+ 0x2a8d09,
+ 0x39ed87,
+ 0x297e86,
+ 0x2ad4c8,
+ 0x333a88,
+ 0x2e4f47,
+ 0x2381ce,
+ 0x2ccdc5,
+ 0x332385,
+ 0x213dc8,
+ 0x20a247,
+ 0x200842,
+ 0x2c7504,
+ 0x28f90a,
+ 0x2621c8,
+ 0x389206,
+ 0x2a1408,
+ 0x2a6186,
+ 0x3337c8,
+ 0x2b3ac8,
+ 0x3ab504,
+ 0x2bba45,
+ 0x681384,
+ 0x681384,
+ 0x681384,
+ 0x201e03,
+ 0x2365c6,
+ 0x282886,
+ 0x2a508c,
+ 0x200943,
+ 0x223286,
+ 0x20cf04,
+ 0x33f888,
+ 0x2d99c5,
+ 0x28fa06,
+ 0x2c31c8,
+ 0x2db2c6,
+ 0x261d86,
+ 0x357d08,
+ 0x2d1887,
+ 0x237d49,
+ 0x2fa8ca,
+ 0x20a944,
+ 0x27df05,
+ 0x29a385,
+ 0x2f6c06,
+ 0x20ac06,
+ 0x2a5ac6,
+ 0x2ff206,
+ 0x237e84,
+ 0x237e8b,
+ 0x23c584,
+ 0x2a5245,
+ 0x2b2ac5,
+ 0x378246,
+ 0x2090c8,
+ 0x288d07,
+ 0x320c04,
+ 0x232fc3,
+ 0x2c1f05,
+ 0x311847,
+ 0x288c0b,
+ 0x3bedc7,
+ 0x2c30c8,
+ 0x2e7287,
+ 0x23d406,
+ 0x27a4c8,
+ 0x2b004b,
+ 0x345746,
+ 0x21d449,
+ 0x2b01c5,
+ 0x315603,
+ 0x2e4006,
+ 0x296d88,
+ 0x21f083,
+ 0x271e03,
+ 0x287a86,
+ 0x2a6186,
+ 0x36958a,
+ 0x283e85,
+ 0x28470b,
+ 0x2a5fcb,
+ 0x210a83,
+ 0x20b943,
+ 0x2b6704,
+ 0x2af6c7,
+ 0x296e04,
+ 0x277344,
+ 0x2e73c4,
+ 0x223e88,
+ 0x2cf188,
+ 0x205249,
+ 0x39e3c8,
+ 0x28b487,
+ 0x2381c6,
+ 0x2ecb8f,
+ 0x2ccf06,
+ 0x2d9944,
+ 0x2cefca,
+ 0x311747,
+ 0x208206,
+ 0x297509,
+ 0x2051c5,
+ 0x3bf005,
+ 0x205306,
+ 0x222f43,
+ 0x2c2449,
+ 0x2273c6,
+ 0x202d09,
+ 0x392a46,
+ 0x271145,
+ 0x2be0c5,
+ 0x204183,
+ 0x2af808,
+ 0x213887,
+ 0x201e44,
+ 0x33f708,
+ 0x2ffe04,
+ 0x2f0486,
+ 0x296706,
+ 0x248fc6,
+ 0x2d1549,
+ 0x29f505,
+ 0x388bc6,
+ 0x2666c9,
+ 0x2cb906,
+ 0x223f06,
+ 0x397346,
+ 0x21ce85,
+ 0x2ffbc6,
+ 0x25a704,
+ 0x3bed05,
+ 0x2c8884,
+ 0x2b9f86,
+ 0x334104,
+ 0x2136c3,
+ 0x28e745,
+ 0x23dac8,
+ 0x262987,
+ 0x2c1ac9,
+ 0x28ed48,
+ 0x29fb51,
+ 0x2dde4a,
+ 0x2fcc07,
+ 0x25a986,
+ 0x20cf04,
+ 0x2c8988,
+ 0x233fc8,
+ 0x29fd0a,
+ 0x2c094d,
+ 0x2a7f06,
+ 0x357e06,
+ 0x3647c6,
+ 0x24fac7,
+ 0x2b9485,
+ 0x210187,
+ 0x20cdc5,
+ 0x2b1804,
+ 0x2ae086,
+ 0x241807,
+ 0x2c214d,
+ 0x248987,
+ 0x3a4cc8,
+ 0x2826c9,
+ 0x349186,
+ 0x2a0905,
+ 0x22dcc4,
+ 0x35d146,
+ 0x281806,
+ 0x262346,
+ 0x2a1c88,
+ 0x21cd43,
+ 0x20aa83,
+ 0x338e45,
+ 0x207b06,
+ 0x2b3a85,
+ 0x2a9708,
+ 0x2a48ca,
+ 0x3a2dc4,
+ 0x33f888,
+ 0x29dd08,
+ 0x378087,
+ 0x3839c9,
+ 0x2c2dc8,
+ 0x2a6d07,
+ 0x2957c6,
+ 0x213eca,
+ 0x35d1c8,
+ 0x2f8589,
+ 0x292c88,
+ 0x229b89,
+ 0x2e8747,
+ 0x33bdc5,
+ 0x36ad46,
+ 0x2a9c48,
+ 0x287c08,
+ 0x29de88,
+ 0x2fcdc8,
+ 0x2a5245,
+ 0x218944,
+ 0x213588,
+ 0x24b384,
+ 0x3b0c44,
+ 0x271145,
+ 0x299ac7,
+ 0x377c89,
+ 0x28c187,
+ 0x2008c5,
+ 0x27f206,
+ 0x363686,
+ 0x200b84,
+ 0x2a9046,
+ 0x255f84,
+ 0x276d06,
+ 0x377a46,
0x21eec6,
- 0x3afa89,
- 0x382bc6,
- 0x264305,
- 0x2346c5,
- 0x207343,
- 0x278bc8,
- 0x20d787,
- 0x396784,
- 0x247d08,
- 0x2e1244,
- 0x2f1006,
- 0x2a8f86,
- 0x23c346,
- 0x2c8609,
- 0x297645,
- 0x3519c6,
- 0x2582c9,
- 0x2c41c6,
- 0x26e2c6,
- 0x387886,
- 0x2160c5,
- 0x2f5fc6,
- 0x33d984,
- 0x3b7705,
- 0x2c0384,
- 0x2b2246,
- 0x3532c4,
- 0x203c43,
- 0x284745,
- 0x2331c8,
- 0x25e607,
- 0x2b8209,
- 0x284b48,
- 0x297e11,
- 0x32cd4a,
- 0x2e2307,
- 0x2e7246,
- 0x2151c4,
- 0x2c0488,
- 0x22e448,
- 0x297fca,
- 0x2b708d,
- 0x268686,
- 0x245e06,
- 0x285086,
- 0x21ba47,
- 0x2b1385,
- 0x3912c7,
- 0x247dc5,
- 0x2ae704,
- 0x2a6206,
- 0x224047,
- 0x2adb4d,
- 0x26aa87,
- 0x21f308,
- 0x277309,
- 0x20b206,
- 0x28e8c5,
- 0x22cb04,
- 0x3600c6,
- 0x3a3846,
- 0x25dfc6,
- 0x299348,
- 0x215f83,
- 0x208fc3,
- 0x352105,
- 0x277dc6,
- 0x2abfc5,
- 0x2a0c88,
- 0x29c10a,
- 0x282084,
- 0x247e88,
- 0x295f08,
- 0x312647,
- 0x377549,
- 0x2bc6c8,
- 0x286a87,
- 0x2587c6,
- 0x204f0a,
- 0x360148,
- 0x2f98c9,
- 0x2a1288,
- 0x221609,
- 0x2e7107,
- 0x2f2f05,
- 0x26d886,
- 0x2c1288,
- 0x27e7c8,
- 0x296088,
- 0x2e24c8,
- 0x29ccc5,
- 0x208a84,
- 0x20d488,
- 0x23e2c4,
- 0x3a2944,
- 0x264305,
- 0x2917c7,
- 0x312249,
- 0x208dc7,
- 0x210cc5,
- 0x274846,
- 0x34f606,
- 0x212444,
- 0x2a05c6,
- 0x24d744,
- 0x278546,
- 0x312006,
- 0x213246,
- 0x200645,
- 0x2a0b47,
- 0x203503,
- 0x2079c9,
- 0x3076c8,
- 0x247d04,
- 0x28690d,
- 0x296ec8,
- 0x2e3788,
- 0x2f9846,
- 0x300549,
- 0x2cc849,
- 0x3a3285,
- 0x29c20a,
- 0x27cf4a,
- 0x29d74c,
- 0x29d8c6,
- 0x275446,
- 0x2c4f86,
- 0x2b4749,
+ 0x2016c5,
+ 0x2a95c7,
+ 0x202e83,
+ 0x21dd89,
+ 0x3057c8,
+ 0x2f6d04,
+ 0x2f6d0d,
+ 0x29ed88,
+ 0x2d7248,
+ 0x2f8506,
+ 0x39af89,
+ 0x2e3f49,
+ 0x3b1585,
+ 0x2a49ca,
+ 0x2edbca,
+ 0x2a5ccc,
+ 0x2a5e46,
+ 0x27fe06,
+ 0x2cd086,
+ 0x2c84c9,
+ 0x28ab86,
+ 0x2101c6,
+ 0x20e286,
+ 0x274a08,
+ 0x27f986,
+ 0x2d92cb,
+ 0x299c45,
+ 0x24fac5,
+ 0x280085,
+ 0x39be46,
+ 0x213e83,
+ 0x248f46,
+ 0x248907,
+ 0x2c8845,
+ 0x24d545,
+ 0x3410c5,
+ 0x313846,
+ 0x204dc4,
+ 0x385806,
+ 0x284049,
+ 0x39bccc,
+ 0x2b1548,
+ 0x23e844,
+ 0x2ff8c6,
+ 0x2286c6,
+ 0x296d88,
+ 0x220148,
+ 0x39bbc9,
+ 0x3b8247,
+ 0x260c89,
+ 0x255806,
+ 0x237404,
+ 0x214944,
+ 0x20a584,
+ 0x287a88,
+ 0x377aca,
+ 0x353446,
+ 0x35fb87,
+ 0x37e787,
+ 0x3a0c45,
+ 0x29a344,
+ 0x295046,
0x2b94c6,
- 0x29fa86,
- 0x33cd06,
- 0x25dc08,
- 0x274fc6,
- 0x2ce80b,
- 0x291945,
- 0x21ba45,
- 0x2756c5,
- 0x352a46,
- 0x204ec3,
- 0x23c2c6,
- 0x26aa07,
- 0x2c0345,
- 0x320585,
- 0x379445,
- 0x318446,
- 0x31da84,
- 0x31da86,
- 0x292f49,
- 0x3528cc,
- 0x2ae448,
- 0x239184,
- 0x2f5c06,
- 0x29c706,
- 0x28f088,
- 0x216f48,
- 0x3527c9,
- 0x37a687,
- 0x2367c9,
- 0x24cfc6,
- 0x22e904,
- 0x20ea44,
- 0x280144,
- 0x27e648,
- 0x31208a,
- 0x345bc6,
- 0x353cc7,
- 0x362c47,
- 0x347d85,
- 0x2a9684,
- 0x28cd46,
- 0x2b13c6,
- 0x2336c3,
- 0x307507,
- 0x38d588,
- 0x3a33ca,
- 0x2cbb88,
- 0x281f08,
- 0x353305,
- 0x339645,
- 0x260e05,
- 0x348146,
- 0x3ad906,
- 0x26c085,
- 0x3b1889,
- 0x2a948c,
- 0x260ec7,
- 0x298048,
- 0x2e5c05,
- 0x676384,
- 0x320944,
- 0x252c04,
- 0x22df86,
- 0x29eb0e,
- 0x207747,
- 0x21bc45,
- 0x24440c,
- 0x2e1107,
- 0x223fc7,
- 0x225109,
- 0x217cc9,
- 0x284c45,
- 0x3076c8,
- 0x215349,
- 0x335c45,
- 0x2c0288,
- 0x2c2586,
- 0x371446,
- 0x2def04,
- 0x2553c8,
- 0x20b3c3,
- 0x2af8c4,
- 0x2ad985,
- 0x3bab07,
- 0x21c245,
- 0x38bc09,
- 0x28b30d,
- 0x2a33c6,
- 0x225fc4,
- 0x2588c8,
- 0x274a8a,
- 0x2611c7,
- 0x235d45,
- 0x23b403,
- 0x29dc0e,
- 0x278ccc,
- 0x2f5e07,
- 0x29ecc7,
+ 0x202bc3,
+ 0x305607,
+ 0x2507c8,
+ 0x3b16ca,
+ 0x2d4708,
+ 0x28a688,
+ 0x334145,
+ 0x352b85,
+ 0x284dc5,
+ 0x3a1006,
+ 0x2393c6,
+ 0x25b285,
+ 0x34f349,
+ 0x29a14c,
+ 0x284e87,
+ 0x29fd88,
+ 0x24ee05,
+ 0x681384,
+ 0x240ac4,
+ 0x25d1c4,
+ 0x217946,
+ 0x2a728e,
+ 0x3bf087,
+ 0x24fcc5,
+ 0x27724c,
+ 0x2ffcc7,
+ 0x241787,
+ 0x274e89,
+ 0x2208c9,
+ 0x28ee45,
+ 0x3057c8,
+ 0x325d09,
+ 0x31e285,
+ 0x2c8788,
+ 0x227546,
+ 0x381546,
+ 0x2e2dc4,
+ 0x25ff08,
+ 0x248743,
+ 0x235e44,
+ 0x2c1f85,
+ 0x204dc7,
+ 0x21b4c5,
+ 0x200749,
+ 0x27e64d,
+ 0x2935c6,
+ 0x229b04,
+ 0x2958c8,
+ 0x27f44a,
+ 0x21da87,
+ 0x243905,
+ 0x235e83,
+ 0x2a618e,
+ 0x2af90c,
+ 0x2f1f87,
+ 0x2a7447,
0x200143,
- 0x2b9505,
- 0x252c05,
- 0x298e88,
- 0x295d49,
- 0x239086,
- 0x28f104,
- 0x2e2246,
- 0x27b5cb,
- 0x2cc5cc,
- 0x366d87,
- 0x2d0305,
- 0x3a1d48,
- 0x2dac85,
- 0x3b83c7,
- 0x32cb87,
- 0x247585,
- 0x204ec3,
- 0x26e584,
- 0x21c685,
- 0x2ac685,
- 0x2ac686,
- 0x292008,
- 0x224047,
- 0x37a286,
- 0x26c486,
- 0x3a2d06,
- 0x268789,
- 0x209387,
- 0x25e286,
- 0x2cc746,
- 0x2731c6,
- 0x2a7585,
- 0x3b2b46,
- 0x380145,
- 0x329d88,
- 0x29114b,
- 0x28c346,
- 0x362c84,
- 0x2b4389,
- 0x25da44,
- 0x2c2508,
- 0x30e2c7,
- 0x281404,
- 0x2bbd88,
- 0x2c1684,
- 0x2a75c4,
- 0x286845,
- 0x302986,
- 0x26e187,
- 0x203043,
- 0x29d205,
- 0x323284,
- 0x349586,
- 0x3a3308,
- 0x38d2c5,
- 0x290e09,
- 0x222d05,
- 0x2dbf88,
- 0x215087,
- 0x388588,
- 0x2b8047,
- 0x2fb609,
- 0x264dc6,
- 0x32bb46,
- 0x28cac4,
- 0x258705,
- 0x2fce4c,
- 0x2756c7,
- 0x275fc7,
- 0x362b08,
- 0x2a33c6,
- 0x26a944,
- 0x328004,
- 0x27fcc9,
- 0x2c5086,
- 0x298a07,
- 0x208c04,
- 0x23da46,
- 0x33b785,
- 0x2c88c7,
- 0x2ce786,
- 0x250e89,
- 0x27cd87,
- 0x262107,
- 0x2a0106,
- 0x23d985,
- 0x27c548,
- 0x21ed48,
- 0x247a46,
- 0x38d305,
- 0x390586,
- 0x2034c3,
- 0x298d09,
- 0x29d2ce,
- 0x2b7d48,
- 0x2e1348,
- 0x24784b,
- 0x291046,
- 0x313104,
- 0x2802c4,
- 0x29d3ca,
- 0x215907,
- 0x25e345,
- 0x212309,
- 0x2bf685,
- 0x3a2987,
- 0x245c84,
- 0x287087,
- 0x2e40c8,
- 0x2cd306,
- 0x27b989,
- 0x2bc7ca,
- 0x215886,
- 0x296a06,
- 0x2aad05,
- 0x37d085,
- 0x282d07,
- 0x244e48,
- 0x33b6c8,
- 0x3a4206,
- 0x234745,
- 0x31320e,
- 0x2b3204,
- 0x2479c5,
- 0x2741c9,
- 0x2dce48,
- 0x28abc6,
- 0x29af0c,
- 0x29bd10,
- 0x29e74f,
- 0x29f7c8,
- 0x300187,
- 0x200645,
- 0x262545,
- 0x26e009,
- 0x292909,
- 0x241946,
- 0x2442c7,
- 0x2d0cc5,
- 0x337b09,
- 0x339386,
- 0x2b930d,
- 0x280009,
- 0x244504,
- 0x2b7ac8,
- 0x20d549,
- 0x345d86,
- 0x274945,
- 0x32bb46,
- 0x317889,
- 0x2f3c48,
- 0x20dcc5,
- 0x2553c4,
- 0x29b0cb,
- 0x345c45,
- 0x29b206,
- 0x280a06,
- 0x265e46,
- 0x276d4b,
- 0x290f09,
- 0x26c3c5,
- 0x388347,
- 0x32ccc6,
- 0x334dc6,
- 0x252988,
- 0x302a89,
- 0x21f0cc,
- 0x305e48,
- 0x309e46,
- 0x322c03,
- 0x2ba886,
- 0x276b85,
- 0x27b008,
- 0x234146,
- 0x2c8b08,
- 0x248b45,
- 0x279305,
- 0x32eb08,
- 0x332787,
- 0x379ec7,
- 0x224207,
- 0x334c48,
- 0x3002c8,
- 0x2ad486,
- 0x2b2087,
- 0x23bb07,
- 0x276a4a,
- 0x201e03,
- 0x352a46,
- 0x2392c5,
- 0x334f84,
- 0x277309,
- 0x2fb584,
- 0x25e684,
- 0x29c584,
- 0x29eccb,
- 0x20d6c7,
- 0x313445,
- 0x294cc8,
- 0x274846,
- 0x274848,
- 0x27a746,
- 0x28b085,
- 0x28b645,
- 0x28d886,
- 0x28ee48,
- 0x28f4c8,
- 0x2774c6,
- 0x294b0f,
- 0x2987d0,
- 0x3a6005,
- 0x203503,
- 0x22e9c5,
- 0x30a4c8,
- 0x292809,
- 0x335d88,
- 0x268608,
- 0x2b8d48,
- 0x20d787,
- 0x274509,
- 0x2c8d08,
- 0x265304,
- 0x29c408,
- 0x2d9e89,
- 0x2b27c7,
- 0x299d44,
- 0x208e88,
- 0x2a090a,
- 0x2e77c6,
- 0x268686,
- 0x226209,
- 0x29bf47,
- 0x2cba08,
- 0x204848,
- 0x2ddd88,
- 0x35cc45,
- 0x37e005,
- 0x21ba45,
- 0x252bc5,
- 0x3b5987,
- 0x204ec5,
- 0x2c0345,
- 0x313686,
- 0x335cc7,
- 0x2cd907,
- 0x2a0c06,
- 0x2d2245,
- 0x29b206,
- 0x27ba85,
- 0x2b58c8,
- 0x2f4284,
- 0x2c4246,
- 0x33b5c4,
- 0x2b0f48,
- 0x2c434a,
- 0x2790cc,
- 0x334685,
- 0x21bb06,
- 0x21f286,
- 0x351fc6,
- 0x309ec4,
- 0x33ba45,
- 0x27a587,
- 0x29bfc9,
- 0x2cb4c7,
- 0x676384,
- 0x676384,
- 0x317605,
- 0x37b944,
- 0x29a8ca,
- 0x2746c6,
- 0x279e04,
- 0x3b9585,
- 0x37e405,
- 0x2b12c4,
- 0x280647,
- 0x222c87,
- 0x2cafc8,
- 0x33de88,
- 0x20dcc9,
- 0x29cd88,
- 0x29aa8b,
- 0x2318c4,
- 0x366885,
- 0x27cc85,
- 0x224189,
- 0x302a89,
- 0x2b4288,
- 0x30e048,
- 0x2d6604,
- 0x29c745,
- 0x217083,
- 0x247bc5,
- 0x351a46,
- 0x295b8c,
- 0x208b06,
- 0x36c3c6,
- 0x28ae45,
- 0x3184c8,
- 0x2b7ec6,
- 0x2e73c6,
- 0x268686,
- 0x22920c,
- 0x25e184,
- 0x3a2e4a,
- 0x28ad88,
- 0x2959c7,
- 0x323186,
- 0x239147,
- 0x2ec145,
- 0x27eb46,
- 0x34d406,
- 0x35b847,
- 0x25e6c4,
- 0x2fe0c5,
- 0x2741c4,
- 0x2ae787,
- 0x274408,
- 0x2752ca,
- 0x27d4c7,
- 0x303407,
- 0x300107,
- 0x2dadc9,
- 0x295b8a,
- 0x21f083,
- 0x25e5c5,
- 0x213283,
- 0x2e6449,
- 0x33dc08,
- 0x3709c7,
- 0x335e89,
- 0x21ee46,
- 0x2b88c8,
- 0x33a3c5,
- 0x2db7ca,
- 0x2d3549,
- 0x2683c9,
- 0x3b50c7,
- 0x22e549,
- 0x213148,
- 0x35ba06,
- 0x21bcc8,
- 0x2160c7,
- 0x2acc07,
- 0x26ac87,
- 0x2d0b48,
- 0x2f5a86,
- 0x2a06c5,
- 0x27a587,
- 0x296508,
- 0x33b544,
- 0x2dd244,
- 0x28fe07,
- 0x2ac387,
- 0x2151ca,
- 0x35b986,
- 0x38c74a,
- 0x2bf8c7,
- 0x2b2fc7,
- 0x246004,
- 0x28aa44,
- 0x2ce686,
- 0x202d04,
- 0x202d0c,
- 0x3aff05,
- 0x216d89,
- 0x2d4f04,
- 0x2b1385,
+ 0x28abc5,
+ 0x25d1c5,
+ 0x2a17c8,
+ 0x29db49,
+ 0x23e746,
+ 0x296e04,
+ 0x2fcb46,
+ 0x3650cb,
+ 0x2e3ccc,
+ 0x376447,
+ 0x2d9585,
+ 0x3bb648,
+ 0x2e4d05,
+ 0x2cefc7,
+ 0x2ddc87,
+ 0x248745,
+ 0x213e83,
+ 0x3b36c4,
+ 0x21b705,
+ 0x2fc085,
+ 0x2fc086,
+ 0x2821c8,
+ 0x241807,
+ 0x36d1c6,
+ 0x25b686,
+ 0x3b1006,
+ 0x2f88c9,
+ 0x28c747,
+ 0x262606,
+ 0x2e3e46,
+ 0x27e106,
+ 0x2af405,
+ 0x21e8c6,
+ 0x390e05,
+ 0x235708,
+ 0x2990cb,
+ 0x294b86,
+ 0x37e7c4,
+ 0x2c8109,
+ 0x274844,
+ 0x2274c8,
+ 0x2441c7,
+ 0x289b84,
+ 0x2c2688,
+ 0x2c94c4,
+ 0x2af444,
+ 0x39ac45,
+ 0x330a46,
+ 0x223dc7,
+ 0x20b3c3,
+ 0x2a5785,
+ 0x32a504,
+ 0x3323c6,
+ 0x3b1608,
+ 0x39c785,
+ 0x298d89,
+ 0x21fb45,
+ 0x223288,
+ 0x22cfc7,
+ 0x398048,
+ 0x2c1907,
+ 0x2fe589,
+ 0x271846,
+ 0x360486,
+ 0x20e284,
+ 0x295705,
+ 0x3093cc,
+ 0x280087,
+ 0x280fc7,
+ 0x37e648,
+ 0x2935c6,
+ 0x2794c4,
+ 0x34bc04,
+ 0x288449,
+ 0x2cd186,
+ 0x253707,
+ 0x2cff84,
+ 0x24ab06,
+ 0x35f245,
+ 0x2d7547,
+ 0x2d9246,
+ 0x2594c9,
+ 0x2eda07,
+ 0x26f5c7,
+ 0x2a8b86,
+ 0x24aa45,
+ 0x285988,
+ 0x227248,
+ 0x2f6a46,
+ 0x39c7c5,
+ 0x344806,
+ 0x202c03,
+ 0x2a1649,
+ 0x2a584e,
+ 0x2c1608,
+ 0x2fff08,
+ 0x2f684b,
+ 0x298fc6,
+ 0x20a884,
+ 0x261d84,
+ 0x2a594a,
+ 0x21e107,
+ 0x2626c5,
+ 0x21d449,
+ 0x2c7205,
+ 0x3b0c87,
+ 0x250584,
+ 0x27b907,
+ 0x30fdc8,
+ 0x2d0f06,
+ 0x365489,
+ 0x2c2eca,
+ 0x21e086,
+ 0x29e8c6,
+ 0x2b2a45,
+ 0x38ef85,
+ 0x325647,
+ 0x24ec48,
+ 0x35f188,
+ 0x3ab506,
+ 0x2be145,
+ 0x20a98e,
+ 0x2bb884,
+ 0x2a1745,
+ 0x27eb89,
+ 0x2ed608,
+ 0x292e86,
+ 0x2a36cc,
+ 0x2a44d0,
+ 0x2a6ecf,
+ 0x2a8308,
+ 0x33f5c7,
+ 0x2016c5,
+ 0x26fa05,
+ 0x389089,
+ 0x29af49,
+ 0x23fac6,
+ 0x35d807,
+ 0x2b8545,
+ 0x2b43c9,
+ 0x3528c6,
+ 0x28a9cd,
+ 0x288789,
+ 0x277344,
+ 0x2c1388,
+ 0x213649,
+ 0x353606,
+ 0x27f305,
+ 0x360486,
+ 0x320d09,
+ 0x281688,
+ 0x217e05,
+ 0x200984,
+ 0x2a388b,
+ 0x3534c5,
+ 0x2a39c6,
+ 0x289186,
+ 0x26e646,
+ 0x27c18b,
+ 0x298e89,
+ 0x25b5c5,
+ 0x397e07,
+ 0x2dddc6,
+ 0x34dec6,
+ 0x25cf48,
+ 0x330b49,
+ 0x3a4a8c,
+ 0x311648,
+ 0x23c586,
+ 0x329e83,
+ 0x28bf46,
+ 0x27bfc5,
+ 0x284a48,
+ 0x2bdb46,
+ 0x2d7788,
+ 0x251b05,
+ 0x283245,
+ 0x27a8c8,
+ 0x333947,
+ 0x36ce07,
+ 0x2419c7,
+ 0x34dd48,
+ 0x39ad08,
+ 0x31a706,
+ 0x2b9dc7,
+ 0x273f47,
+ 0x27be8a,
+ 0x20d703,
+ 0x39be46,
+ 0x23e985,
+ 0x28f904,
+ 0x2826c9,
+ 0x2fe504,
+ 0x262a04,
+ 0x2a4d44,
+ 0x2a744b,
+ 0x2137c7,
+ 0x20abc5,
+ 0x29cac8,
+ 0x27f206,
+ 0x27f208,
+ 0x283dc6,
+ 0x293345,
+ 0x293e85,
+ 0x295f46,
+ 0x296b48,
+ 0x297448,
+ 0x282886,
+ 0x29c90f,
+ 0x2a1110,
+ 0x208605,
+ 0x202e83,
+ 0x2374c5,
+ 0x315788,
+ 0x29ae49,
+ 0x31e3c8,
+ 0x2f8748,
+ 0x2bec08,
+ 0x213887,
+ 0x27eec9,
+ 0x2d7988,
+ 0x2730c4,
+ 0x2a4bc8,
+ 0x2b5509,
+ 0x2babc7,
+ 0x2a2644,
+ 0x28c248,
+ 0x2a938a,
+ 0x3085c6,
+ 0x2a7f06,
+ 0x22c849,
+ 0x2a4707,
+ 0x2d4588,
+ 0x2fdbc8,
+ 0x2cfe08,
+ 0x3690c5,
+ 0x38ff05,
+ 0x24fac5,
+ 0x25d185,
+ 0x38cb87,
+ 0x213e85,
+ 0x2c8845,
+ 0x20ae06,
+ 0x31e307,
+ 0x2f1447,
+ 0x2a9686,
+ 0x2da845,
+ 0x2a39c6,
+ 0x202f45,
+ 0x2b83c8,
+ 0x2f1e04,
+ 0x2cb986,
+ 0x348084,
+ 0x2b9048,
+ 0x2cba8a,
+ 0x28300c,
+ 0x34d785,
+ 0x24fb86,
+ 0x3a4c46,
+ 0x234b86,
+ 0x23c604,
+ 0x35f505,
+ 0x283c07,
+ 0x2a4789,
+ 0x2d3c07,
+ 0x681384,
+ 0x681384,
+ 0x320a85,
+ 0x38d584,
+ 0x2a308a,
+ 0x27f086,
+ 0x27a704,
+ 0x208185,
+ 0x3875c5,
+ 0x2b93c4,
+ 0x288dc7,
+ 0x21fac7,
+ 0x2d3708,
+ 0x342348,
+ 0x217e09,
+ 0x2a5308,
+ 0x2a324b,
+ 0x251044,
+ 0x375f45,
+ 0x2860c5,
+ 0x241949,
+ 0x330b49,
+ 0x2c8008,
+ 0x243f48,
+ 0x2df044,
+ 0x228705,
+ 0x202d43,
+ 0x2f6bc5,
+ 0x388c46,
+ 0x29d98c,
+ 0x2189c6,
+ 0x37cfc6,
+ 0x293105,
+ 0x3138c8,
+ 0x2c1786,
+ 0x25ab06,
+ 0x2a7f06,
+ 0x22e2cc,
+ 0x262504,
+ 0x3b114a,
+ 0x293048,
+ 0x29d7c7,
+ 0x32a406,
+ 0x23e807,
+ 0x2f2ec5,
+ 0x2b56c6,
+ 0x35c286,
+ 0x367cc7,
+ 0x262a44,
+ 0x30a645,
+ 0x27eb84,
+ 0x2b1887,
+ 0x27edc8,
+ 0x27fc8a,
+ 0x286907,
+ 0x375387,
+ 0x33f547,
+ 0x2e4e49,
+ 0x29d98a,
+ 0x2373c3,
+ 0x262945,
+ 0x20b343,
+ 0x2e7409,
+ 0x254ec8,
+ 0x23d2c7,
+ 0x31e4c9,
+ 0x227346,
+ 0x2042c8,
+ 0x33d785,
+ 0x39cb8a,
+ 0x2dbc89,
+ 0x276209,
+ 0x3a34c7,
+ 0x2340c9,
+ 0x21edc8,
+ 0x367e86,
+ 0x24fd48,
+ 0x21ce87,
+ 0x237f87,
+ 0x248b87,
+ 0x2d5dc8,
+ 0x2ff746,
+ 0x2a9145,
+ 0x283c07,
+ 0x29e3c8,
+ 0x348004,
+ 0x2d41c4,
+ 0x297d87,
+ 0x2b3e47,
+ 0x325b8a,
+ 0x367e06,
+ 0x35854a,
+ 0x2c7447,
+ 0x2bb647,
+ 0x358004,
+ 0x27dec4,
+ 0x2d7446,
+ 0x281b84,
+ 0x281b8c,
+ 0x203185,
+ 0x21ff89,
+ 0x265684,
+ 0x2b9485,
+ 0x27f3c8,
+ 0x22d245,
+ 0x204dc6,
+ 0x225f44,
+ 0x28f30a,
+ 0x2b25c6,
+ 0x2a424a,
+ 0x2b7887,
+ 0x236b45,
+ 0x222f45,
+ 0x3a0c8a,
+ 0x296cc5,
+ 0x2a7e06,
+ 0x24b384,
+ 0x2b6886,
+ 0x325705,
+ 0x2bdc06,
+ 0x2e700c,
+ 0x2d388a,
+ 0x2957c4,
+ 0x2381c6,
+ 0x2a4707,
+ 0x2d91c4,
0x274a08,
- 0x279fc5,
- 0x374246,
- 0x223ec4,
- 0x293c4a,
- 0x2b00c6,
- 0x29ba8a,
- 0x22b447,
- 0x21ac45,
- 0x21b745,
- 0x347dca,
- 0x28efc5,
- 0x26dfc6,
- 0x23e2c4,
- 0x2aedc6,
- 0x282dc5,
- 0x234206,
- 0x2e604c,
- 0x2cb14a,
- 0x2587c4,
- 0x247846,
- 0x29bf47,
- 0x2cf984,
- 0x25dc08,
- 0x393006,
- 0x313089,
- 0x2c7549,
- 0x3164c9,
- 0x26cb06,
- 0x2161c6,
- 0x21be07,
- 0x3b17c8,
- 0x215fc9,
- 0x20d6c7,
- 0x294e46,
- 0x34de87,
- 0x284f45,
- 0x2b3204,
- 0x21b9c7,
- 0x23bcc5,
- 0x286785,
- 0x226987,
- 0x247448,
- 0x3a1cc6,
- 0x29738d,
- 0x29908f,
- 0x29da4d,
- 0x210d04,
- 0x2332c6,
- 0x2d3c08,
- 0x33ccc5,
- 0x276c08,
- 0x24560a,
- 0x244504,
- 0x27bb46,
- 0x26f3c7,
- 0x286007,
- 0x2a18c9,
- 0x21bc85,
- 0x2b12c4,
- 0x2b330a,
- 0x2bc289,
- 0x22e647,
- 0x265706,
- 0x345d86,
- 0x29c686,
- 0x365b86,
- 0x2d320f,
- 0x2d3ac9,
- 0x274fc6,
- 0x22e346,
- 0x31a809,
- 0x2b2187,
- 0x217443,
- 0x229386,
- 0x216a43,
- 0x2e5788,
- 0x34dcc7,
- 0x29f9c9,
- 0x2a8e08,
- 0x37a008,
- 0x203c86,
- 0x208a49,
- 0x242785,
- 0x2b2244,
- 0x2a99c7,
- 0x2b47c5,
- 0x210d04,
- 0x313508,
- 0x215bc4,
- 0x2b1ec7,
- 0x3545c6,
- 0x357e85,
- 0x2a1288,
- 0x345c4b,
- 0x331dc7,
- 0x348046,
- 0x2c4e84,
- 0x319586,
- 0x264305,
- 0x23bcc5,
- 0x27c2c9,
- 0x280249,
- 0x2acc44,
- 0x2acc85,
- 0x247885,
- 0x2db646,
- 0x3077c8,
- 0x2bf046,
- 0x38d3cb,
- 0x35ab4a,
- 0x2b0e85,
- 0x28b6c6,
- 0x396485,
- 0x2cf485,
- 0x2a54c7,
- 0x352cc8,
- 0x2367c4,
- 0x25f806,
- 0x28f546,
- 0x213307,
- 0x30a304,
- 0x27ae86,
- 0x237cc5,
- 0x237cc9,
- 0x2163c4,
- 0x2a9809,
- 0x2774c6,
- 0x2c0c08,
- 0x247885,
- 0x362d45,
- 0x234206,
- 0x21efc9,
- 0x217cc9,
- 0x36c446,
- 0x2dcf48,
- 0x244508,
- 0x396444,
- 0x2b3644,
- 0x2b3648,
- 0x326dc8,
- 0x2368c9,
- 0x3519c6,
- 0x268686,
- 0x32224d,
- 0x2e3306,
- 0x306c89,
- 0x315fc5,
- 0x3bb046,
- 0x391408,
- 0x31d9c5,
- 0x23bb44,
- 0x264305,
- 0x27fb48,
- 0x29a689,
- 0x274284,
- 0x353146,
- 0x279e8a,
- 0x2f5d08,
- 0x215349,
- 0x38174a,
- 0x335e06,
- 0x299248,
- 0x3b8185,
- 0x2e0908,
- 0x2b8145,
- 0x21ed09,
- 0x36a349,
- 0x20d8c2,
- 0x2a8385,
- 0x269746,
- 0x277407,
- 0x3b05c5,
- 0x308986,
- 0x301448,
- 0x2a33c6,
- 0x2b6b09,
- 0x2760c6,
- 0x252808,
- 0x2a89c5,
- 0x23ebc6,
- 0x33da88,
- 0x27e648,
- 0x2e7008,
- 0x345f08,
- 0x3b2b44,
- 0x22a183,
- 0x2b6d44,
- 0x27d6c6,
- 0x284f84,
- 0x2e1287,
- 0x2e72c9,
- 0x2c45c5,
- 0x204846,
- 0x229386,
- 0x291e4b,
- 0x2b0dc6,
- 0x3b8cc6,
- 0x2c8488,
- 0x3204c6,
- 0x21aa43,
- 0x3af743,
- 0x2b3204,
- 0x22f485,
- 0x2b1807,
- 0x274408,
- 0x27440f,
- 0x27a48b,
- 0x3075c8,
- 0x3531c6,
- 0x3078ce,
- 0x2319c3,
- 0x2b1784,
- 0x2b0d45,
- 0x2b1146,
- 0x28ce4b,
- 0x291886,
- 0x21b249,
- 0x357e85,
- 0x3899c8,
- 0x20c688,
- 0x217b8c,
- 0x29ed06,
- 0x247c06,
- 0x2d7985,
- 0x287b88,
- 0x2790c5,
- 0x343088,
- 0x29b28a,
- 0x29de89,
- 0x676384,
- 0x38a099c2,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x38d2c3,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x205503,
- 0x200983,
- 0x20cf83,
- 0x25ef44,
- 0x2a84c3,
- 0x235ac4,
- 0x232403,
- 0x2d5f04,
- 0x2e9dc3,
- 0x3b0887,
- 0x209703,
- 0x204e83,
- 0x28b148,
- 0x200983,
- 0x2ae1cb,
- 0x2ec883,
- 0x264a86,
- 0x20b0c2,
- 0x22d54b,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x200983,
- 0x26be43,
- 0x204783,
- 0x205702,
- 0x16d208,
- 0x325f45,
- 0x23bd48,
- 0x2df7c8,
- 0x2099c2,
- 0x37ab45,
- 0x38c347,
- 0x2007c2,
- 0x240d87,
- 0x20d882,
- 0x248707,
- 0x32c589,
- 0x3b7d48,
- 0x2ddc09,
- 0x23e202,
- 0x263647,
- 0x36c1c4,
- 0x38c407,
- 0x35aa47,
- 0x2bbbc2,
- 0x209703,
- 0x20e602,
- 0x200c82,
+ 0x39e246,
+ 0x20a809,
+ 0x2baec9,
+ 0x2a6c89,
+ 0x351f46,
+ 0x21cf86,
+ 0x24fe87,
+ 0x34f288,
+ 0x21cd89,
+ 0x2137c7,
+ 0x29cc46,
+ 0x2be587,
+ 0x364685,
+ 0x2bb884,
+ 0x24fa47,
+ 0x274105,
+ 0x28f845,
+ 0x36c347,
+ 0x248608,
+ 0x3bb5c6,
+ 0x29f24d,
+ 0x2a19cf,
+ 0x2a5fcd,
+ 0x200904,
+ 0x23dbc6,
+ 0x2dc1c8,
+ 0x20e245,
+ 0x27c048,
+ 0x2499ca,
+ 0x277344,
+ 0x365646,
+ 0x33ae07,
+ 0x233ac7,
+ 0x2d1949,
+ 0x24fd05,
+ 0x2b93c4,
+ 0x2bb98a,
+ 0x2c2989,
+ 0x2341c7,
+ 0x272306,
+ 0x353606,
+ 0x228646,
+ 0x374486,
+ 0x2db94f,
+ 0x2dc089,
+ 0x27f986,
+ 0x233ec6,
+ 0x320289,
+ 0x2b9ec7,
+ 0x229403,
+ 0x22e446,
+ 0x2052c3,
+ 0x2eb9c8,
+ 0x2be3c7,
+ 0x2a8509,
+ 0x296588,
+ 0x36cf48,
+ 0x385f86,
+ 0x218909,
+ 0x398845,
+ 0x2b9f84,
+ 0x29a687,
+ 0x2c8545,
+ 0x200904,
+ 0x20ac88,
+ 0x202044,
+ 0x2b9c07,
+ 0x3749c6,
+ 0x2e7a85,
+ 0x292c88,
+ 0x3534cb,
+ 0x3778c7,
+ 0x3a0f06,
+ 0x2ccf84,
+ 0x348186,
+ 0x271145,
+ 0x274105,
+ 0x285709,
+ 0x2889c9,
+ 0x237fc4,
+ 0x238005,
+ 0x238205,
+ 0x39ca06,
+ 0x3058c8,
+ 0x2c6b86,
+ 0x25060b,
+ 0x36e4ca,
+ 0x2b8f85,
+ 0x293f06,
+ 0x3a2ac5,
+ 0x2e9dc5,
+ 0x2ad387,
+ 0x39c0c8,
+ 0x260c84,
+ 0x26be86,
+ 0x2974c6,
+ 0x21ef87,
+ 0x3155c4,
+ 0x2848c6,
+ 0x2427c5,
+ 0x2427c9,
+ 0x21b584,
+ 0x29a4c9,
+ 0x282886,
+ 0x2c8f48,
+ 0x238205,
+ 0x37e885,
+ 0x2bdc06,
+ 0x3a4989,
+ 0x2208c9,
+ 0x37d046,
+ 0x2ed708,
+ 0x277348,
+ 0x3a2a84,
+ 0x2bbcc4,
+ 0x2bbcc8,
+ 0x32e048,
+ 0x260d89,
+ 0x388bc6,
+ 0x2a7f06,
+ 0x3294cd,
+ 0x2bfac6,
+ 0x2d6b49,
+ 0x2dd5c5,
+ 0x205306,
+ 0x2102c8,
+ 0x326885,
+ 0x273f84,
+ 0x271145,
+ 0x2882c8,
+ 0x2a2e49,
+ 0x27ec44,
+ 0x333f86,
+ 0x22d10a,
+ 0x2f1e88,
+ 0x325d09,
+ 0x261f0a,
+ 0x31e446,
+ 0x2a1b88,
+ 0x2ced85,
+ 0x2c5ec8,
+ 0x2c1a05,
+ 0x227209,
+ 0x37ac49,
+ 0x203282,
+ 0x2b01c5,
+ 0x2782c6,
+ 0x2827c7,
+ 0x34e085,
+ 0x30ce06,
+ 0x326948,
+ 0x2935c6,
+ 0x2b9749,
+ 0x2810c6,
+ 0x25cdc8,
+ 0x2b0805,
+ 0x264906,
+ 0x25a808,
+ 0x287a88,
+ 0x2e8648,
+ 0x353788,
+ 0x21e8c4,
+ 0x281943,
+ 0x2b9984,
+ 0x286b06,
+ 0x3646c4,
+ 0x2ffe47,
+ 0x25aa09,
+ 0x2cbd05,
+ 0x2fdbc6,
+ 0x22e446,
+ 0x28200b,
+ 0x2b8ec6,
+ 0x2cf8c6,
+ 0x2d13c8,
+ 0x24d486,
+ 0x236943,
+ 0x2164c3,
+ 0x2bb884,
+ 0x239f45,
+ 0x387b87,
+ 0x27edc8,
+ 0x27edcf,
+ 0x283b0b,
+ 0x3056c8,
+ 0x334006,
+ 0x3059ce,
+ 0x251143,
+ 0x387b04,
+ 0x2b8e45,
+ 0x2b9246,
+ 0x29514b,
+ 0x299b86,
+ 0x222a49,
+ 0x2e7a85,
+ 0x3999c8,
+ 0x216688,
+ 0x22078c,
+ 0x2a7486,
+ 0x2f6c06,
+ 0x2dac05,
+ 0x28fc08,
+ 0x25a805,
+ 0x356288,
+ 0x2a3a4a,
+ 0x2a6409,
+ 0x681384,
+ 0x3b60f882,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x39c783,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x208e83,
+ 0x201a03,
+ 0x213083,
+ 0x286644,
+ 0x238543,
+ 0x240244,
+ 0x23cac3,
+ 0x2de944,
+ 0x323043,
+ 0x34e347,
+ 0x28cac3,
+ 0x200e03,
+ 0x293408,
+ 0x201a03,
+ 0x29630b,
+ 0x2f3743,
+ 0x3a03c6,
+ 0x205082,
+ 0x22facb,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x201a03,
+ 0x220b83,
+ 0x201503,
+ 0x207102,
+ 0x16fb88,
+ 0x32d1c5,
+ 0x274188,
+ 0x2f9f88,
+ 0x20f882,
+ 0x20a605,
+ 0x3785c7,
+ 0x201842,
+ 0x24c5c7,
+ 0x207b02,
+ 0x2f6607,
+ 0x2cc409,
+ 0x2ce948,
+ 0x2cfc89,
+ 0x24b2c2,
+ 0x2707c7,
+ 0x37cdc4,
+ 0x378687,
+ 0x36e3c7,
+ 0x264d42,
+ 0x28cac3,
+ 0x214642,
+ 0x204d42,
0x200442,
- 0x2013c2,
- 0x205ec2,
- 0x209842,
- 0x2a80c5,
- 0x320885,
- 0x99c2,
- 0x32403,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x12083,
- 0x1ec1,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x244183,
- 0x205503,
- 0x200983,
- 0x219503,
- 0x3b819d06,
- 0x13f443,
- 0x7df85,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x4a82,
- 0x16d208,
- 0x44e04,
- 0xdb085,
- 0x205702,
- 0x26f544,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x2358c3,
- 0x2a9305,
- 0x244183,
- 0x206343,
- 0x205503,
- 0x21c2c3,
- 0x200983,
- 0x214843,
- 0x2387c3,
- 0x25ed03,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2099c2,
- 0x200983,
- 0x16d208,
- 0x2e9dc3,
- 0x16d208,
- 0x200c03,
- 0x2a84c3,
- 0x22fd84,
- 0x232403,
- 0x2e9dc3,
- 0x202bc2,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x202bc2,
- 0x227f83,
- 0x205503,
- 0x200983,
- 0x2e87c3,
- 0x214843,
- 0x205702,
- 0x2099c2,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x264a85,
- 0xe4886,
- 0x25ef44,
- 0x20b0c2,
- 0x16d208,
- 0x205702,
- 0x1d848,
- 0x1b4183,
- 0x2099c2,
- 0x3fc91386,
- 0x1320c4,
- 0xd95cb,
- 0x13eec6,
- 0x9807,
- 0x232403,
- 0x47208,
- 0x2e9dc3,
- 0xb9b45,
- 0x13fb84,
- 0x260f83,
- 0x4ce87,
- 0xd78c4,
- 0x205503,
- 0x7f1c4,
- 0x200983,
- 0x2ed844,
- 0xd9388,
- 0x125c86,
- 0x82b48,
- 0x6cf05,
- 0x1fa49,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x204e83,
- 0x200983,
- 0x2ec883,
- 0x20b0c2,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x24a5c3,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2d5f04,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x264a86,
- 0x232403,
- 0x2e9dc3,
- 0x176e43,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x9807,
- 0x16d208,
- 0x2e9dc3,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x426a84c3,
- 0x232403,
- 0x205503,
- 0x200983,
- 0x16d208,
- 0x205702,
- 0x2099c2,
- 0x2a84c3,
- 0x2e9dc3,
- 0x205503,
+ 0x21cc82,
+ 0x206b42,
+ 0x20d2c2,
+ 0x2aff05,
+ 0x240a05,
+ 0xf882,
+ 0x3cac3,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x1a3443,
+ 0x201a03,
+ 0x170c3,
+ 0x8c1,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x255783,
+ 0x208e83,
+ 0x1a3443,
+ 0x201a03,
+ 0x221f43,
+ 0x3e4f5906,
+ 0x42bc3,
+ 0x873c5,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x84c2,
+ 0x16fb88,
+ 0xe03,
+ 0x1a3443,
+ 0x4ec04,
+ 0xe5105,
+ 0x207102,
+ 0x39cdc4,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x38acc3,
+ 0x2b13c5,
+ 0x255783,
+ 0x211a83,
+ 0x208e83,
+ 0x21b543,
+ 0x201a03,
+ 0x215443,
+ 0x20e383,
+ 0x202443,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x20f882,
+ 0x201a03,
+ 0x16fb88,
+ 0x323043,
+ 0x1a3443,
+ 0x16fb88,
+ 0x1a3443,
+ 0x2bcc43,
+ 0x238543,
+ 0x23a844,
+ 0x23cac3,
+ 0x323043,
+ 0x205e82,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x205e82,
+ 0x229443,
+ 0x208e83,
+ 0x201a03,
+ 0x2ef783,
+ 0x215443,
+ 0x207102,
+ 0x20f882,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x3a03c5,
+ 0xa4f06,
+ 0x286644,
+ 0x205082,
+ 0x16fb88,
+ 0x207102,
+ 0x25088,
+ 0x134943,
+ 0x20f882,
+ 0x42899306,
+ 0x6a04,
+ 0xb610b,
+ 0x44e86,
+ 0x8cbc7,
+ 0x23cac3,
+ 0x51648,
+ 0x323043,
+ 0x8b205,
+ 0x1493c4,
+ 0x227583,
+ 0x556c7,
+ 0xe06c4,
+ 0x208e83,
+ 0x1a3284,
+ 0x1a3443,
+ 0x201a03,
+ 0x2f4544,
+ 0xb5ec8,
+ 0x12cf06,
+ 0x16308,
+ 0x1252c5,
+ 0x9fc9,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x200e03,
+ 0x201a03,
+ 0x2f3743,
+ 0x205082,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231603,
+ 0x21bf84,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x2de944,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x3a03c6,
+ 0x23cac3,
+ 0x323043,
+ 0x18a783,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x8cbc7,
+ 0x16fb88,
+ 0x323043,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x45238543,
+ 0x23cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x16fb88,
+ 0x207102,
+ 0x20f882,
+ 0x238543,
+ 0x323043,
+ 0x208e83,
0x200442,
- 0x200983,
- 0x316e87,
- 0x33e6cb,
- 0x22d703,
- 0x241608,
- 0x3b1547,
- 0x20a7c6,
- 0x2c2c45,
- 0x372349,
- 0x209488,
- 0x360d49,
- 0x38f790,
- 0x360d4b,
- 0x39e189,
- 0x201b03,
- 0x20fb89,
- 0x230f06,
- 0x230f0c,
- 0x326008,
- 0x3b4f08,
- 0x34af09,
- 0x2905ce,
- 0x2dd9cb,
- 0x2f364c,
- 0x2030c3,
- 0x263d0c,
- 0x207089,
- 0x2fee47,
- 0x23234c,
- 0x3a89ca,
- 0x2030c4,
- 0x2d084d,
- 0x263bc8,
- 0x20cf8d,
- 0x273846,
- 0x28decb,
- 0x283349,
- 0x3b8b87,
- 0x32fd06,
- 0x330f89,
- 0x351b8a,
- 0x30b148,
- 0x2ec484,
- 0x2fba07,
- 0x34f707,
- 0x2bab04,
- 0x37b5c4,
- 0x22a749,
- 0x281d49,
- 0x22ae48,
- 0x210785,
- 0x3b4005,
- 0x20db86,
- 0x2d0709,
- 0x24588d,
- 0x2f30c8,
- 0x20da87,
- 0x2c2cc8,
- 0x2e1886,
- 0x38b6c4,
- 0x3523c5,
- 0x202986,
- 0x204b04,
- 0x206f87,
- 0x20b8ca,
- 0x212244,
- 0x2157c6,
- 0x216a09,
- 0x216a0f,
- 0x21788d,
- 0x2184c6,
- 0x21d450,
- 0x21d846,
- 0x21df87,
- 0x21e4c7,
- 0x21e4cf,
- 0x21f6c9,
- 0x224c46,
- 0x225347,
- 0x225348,
- 0x225809,
- 0x246088,
- 0x2e52c7,
- 0x20cc83,
- 0x372986,
- 0x3ba948,
- 0x29088a,
- 0x213c09,
- 0x2095c3,
- 0x38c246,
- 0x25f64a,
- 0x29e587,
- 0x2fec8a,
- 0x313d4e,
- 0x21f806,
- 0x2a8587,
- 0x20e006,
- 0x207146,
- 0x37de0b,
- 0x20414a,
- 0x317f0d,
- 0x216287,
- 0x33ce88,
- 0x33ce89,
- 0x33ce8f,
- 0x2b838c,
- 0x27b289,
- 0x2e6a0e,
- 0x3b098a,
- 0x2ba246,
- 0x2f4586,
- 0x30b58c,
- 0x30ce8c,
- 0x30dc08,
- 0x3439c7,
- 0x2b8c45,
- 0x351e04,
- 0x33c90e,
- 0x228d04,
- 0x351747,
- 0x26030a,
- 0x362554,
- 0x36dd8f,
- 0x21e688,
- 0x372848,
- 0x35040d,
- 0x35040e,
- 0x376ec9,
- 0x3a8ec8,
- 0x3a8ecf,
- 0x23204c,
- 0x23204f,
- 0x233007,
- 0x236dca,
- 0x2435cb,
- 0x238508,
- 0x239cc7,
- 0x3690cd,
- 0x250406,
- 0x2d0a06,
- 0x23c149,
- 0x394648,
- 0x242088,
- 0x24208e,
- 0x2b5007,
- 0x243885,
- 0x244bc5,
- 0x2063c4,
- 0x20aa86,
- 0x22ad48,
- 0x202203,
- 0x2ca10e,
- 0x369488,
- 0x2a2fcb,
- 0x200dc7,
- 0x3a4045,
- 0x22e206,
- 0x2aa0c7,
- 0x333d08,
- 0x26cd09,
- 0x292e45,
- 0x284788,
- 0x212c06,
- 0x38ad4a,
- 0x33c809,
- 0x232409,
- 0x23240b,
- 0x38dc48,
- 0x2ba9c9,
- 0x210846,
- 0x22eb8a,
- 0x2dc80a,
- 0x236fcc,
- 0x3a6687,
- 0x32c38a,
- 0x26ea8b,
- 0x26ea99,
- 0x3b6a88,
- 0x264b05,
- 0x2c6086,
- 0x211e49,
- 0x390746,
- 0x28550a,
- 0x209686,
- 0x202644,
- 0x2c620d,
- 0x202647,
- 0x211149,
- 0x246385,
- 0x2464c8,
- 0x246fc9,
- 0x247784,
- 0x248387,
- 0x248388,
- 0x248c87,
- 0x261908,
- 0x24d487,
- 0x26c645,
- 0x25488c,
- 0x2550c9,
- 0x2bc00a,
- 0x3937c9,
- 0x20fc89,
- 0x275a0c,
- 0x25774b,
- 0x257ec8,
- 0x259048,
- 0x25c404,
- 0x2810c8,
- 0x283c89,
- 0x3a8a87,
- 0x216c46,
- 0x2835c7,
- 0x2dcac9,
- 0x26e6cb,
- 0x319407,
- 0x200a07,
- 0x22b587,
- 0x20cf04,
- 0x20cf05,
- 0x29a545,
- 0x341c0b,
- 0x39c644,
- 0x3b2988,
- 0x26614a,
- 0x212cc7,
- 0x2f6707,
- 0x28bed2,
- 0x278446,
- 0x22f706,
- 0x33c24e,
- 0x27aa06,
- 0x292588,
- 0x29374f,
- 0x20d348,
- 0x37f308,
- 0x30eaca,
- 0x30ead1,
- 0x2a0e8e,
- 0x24dd0a,
- 0x24dd0c,
- 0x21e307,
- 0x3a90d0,
+ 0x201a03,
+ 0x31f1c7,
+ 0x342b8b,
+ 0x22fc83,
+ 0x244708,
+ 0x34f007,
+ 0x348746,
+ 0x382d45,
+ 0x232309,
+ 0x28c848,
+ 0x346789,
+ 0x346790,
+ 0x36f64b,
+ 0x2e2109,
+ 0x205dc3,
+ 0x20af09,
+ 0x23bd86,
+ 0x23bd8c,
+ 0x32d288,
+ 0x3bc208,
+ 0x244a49,
+ 0x29854e,
+ 0x2cc1cb,
+ 0x2e5c0c,
+ 0x203ec3,
+ 0x26ad0c,
+ 0x203ec9,
+ 0x30ae47,
+ 0x23ca0c,
+ 0x2b478a,
+ 0x252044,
+ 0x2768cd,
+ 0x26abc8,
+ 0x21308d,
+ 0x26fec6,
+ 0x28664b,
+ 0x200cc9,
+ 0x2cf787,
+ 0x332c86,
+ 0x3372c9,
+ 0x34834a,
+ 0x319108,
+ 0x2f3204,
+ 0x2fe987,
+ 0x363787,
+ 0x2d0184,
+ 0x38d204,
+ 0x2345c9,
+ 0x28a4c9,
+ 0x2b7288,
+ 0x216d05,
+ 0x339645,
+ 0x213c86,
+ 0x276789,
+ 0x249c4d,
+ 0x33bf88,
+ 0x213b87,
+ 0x382dc8,
+ 0x2fa686,
+ 0x39b444,
+ 0x2501c5,
+ 0x201c46,
+ 0x202884,
+ 0x203dc7,
+ 0x206f4a,
+ 0x219784,
+ 0x21dfc6,
+ 0x21ea49,
+ 0x21ea4f,
+ 0x21fc8d,
+ 0x220f06,
+ 0x224c90,
+ 0x225086,
+ 0x2257c7,
+ 0x2269c7,
+ 0x2269cf,
+ 0x2276c9,
+ 0x22cb06,
+ 0x22da47,
+ 0x22da48,
+ 0x22f289,
+ 0x358088,
+ 0x2eb507,
+ 0x212843,
+ 0x394f46,
+ 0x3c0b48,
+ 0x29880a,
+ 0x236089,
+ 0x205d83,
+ 0x3784c6,
+ 0x26bcca,
+ 0x28eb87,
+ 0x30ac8a,
+ 0x25a18e,
+ 0x227806,
+ 0x2b03c7,
+ 0x217bc6,
+ 0x203f86,
+ 0x38fd0b,
+ 0x31708a,
+ 0x32138d,
+ 0x21d047,
+ 0x20e408,
+ 0x20e409,
+ 0x20e40f,
+ 0x2c1c4c,
+ 0x2b4089,
+ 0x2d890e,
+ 0x34e44a,
+ 0x28b906,
+ 0x314a86,
+ 0x319d8c,
+ 0x31be8c,
+ 0x327508,
+ 0x36eac7,
+ 0x274d85,
+ 0x3485c4,
+ 0x20f88e,
+ 0x299684,
+ 0x388947,
+ 0x39140a,
+ 0x38a814,
+ 0x39390f,
+ 0x226b88,
+ 0x394e08,
+ 0x35eccd,
+ 0x35ecce,
+ 0x3a0849,
+ 0x238788,
+ 0x23878f,
+ 0x23c70c,
+ 0x23c70f,
+ 0x23d907,
+ 0x240c0a,
+ 0x2459cb,
+ 0x243788,
+ 0x245c87,
+ 0x3ac74d,
+ 0x322b46,
+ 0x276a86,
+ 0x248dc9,
+ 0x364b08,
+ 0x24cf48,
+ 0x24cf4e,
+ 0x2f4087,
+ 0x24e145,
+ 0x24e9c5,
+ 0x204b44,
+ 0x348a06,
+ 0x2b7188,
+ 0x20db03,
+ 0x2f948e,
+ 0x3acb08,
+ 0x2b588b,
+ 0x378bc7,
+ 0x3ab345,
+ 0x233d86,
+ 0x2b1f87,
+ 0x32f2c8,
+ 0x325449,
+ 0x322dc5,
+ 0x28e788,
+ 0x21c946,
+ 0x3afeca,
+ 0x20f789,
+ 0x23cac9,
+ 0x23cacb,
+ 0x346448,
+ 0x2d0049,
+ 0x216dc6,
+ 0x23768a,
+ 0x293c0a,
+ 0x240e0c,
+ 0x28e4c7,
+ 0x2ce74a,
+ 0x36b38b,
+ 0x36b399,
+ 0x312408,
+ 0x3a0445,
+ 0x2cdd46,
+ 0x25c489,
+ 0x3449c6,
+ 0x2df8ca,
+ 0x28ca46,
+ 0x20df44,
+ 0x2cdecd,
+ 0x20df47,
+ 0x218209,
+ 0x250ac5,
+ 0x250c08,
+ 0x251409,
+ 0x251844,
+ 0x251f47,
+ 0x251f48,
+ 0x2526c7,
+ 0x26e2c8,
+ 0x255cc7,
+ 0x25b845,
+ 0x25f3cc,
+ 0x25fc09,
+ 0x2c8c0a,
+ 0x39ec09,
+ 0x20b009,
+ 0x37ee4c,
+ 0x264f0b,
+ 0x2662c8,
+ 0x267448,
+ 0x26a804,
+ 0x289848,
+ 0x28d209,
+ 0x2b4847,
+ 0x20e646,
+ 0x200f47,
+ 0x2c4289,
+ 0x32264b,
+ 0x325147,
+ 0x201a87,
+ 0x2b79c7,
+ 0x213004,
+ 0x213005,
+ 0x2a7c05,
+ 0x34b1cb,
+ 0x3a9384,
+ 0x350448,
+ 0x26e94a,
+ 0x21ca07,
+ 0x300687,
+ 0x294712,
+ 0x276c06,
+ 0x23a1c6,
+ 0x33888e,
+ 0x27ab46,
+ 0x29abc8,
+ 0x29b38f,
+ 0x213448,
+ 0x302848,
+ 0x3bd10a,
+ 0x3bd111,
+ 0x2a990e,
+ 0x25654a,
+ 0x25654c,
+ 0x20bf07,
+ 0x238990,
0x200408,
- 0x2a1085,
- 0x2aa4ca,
- 0x204b4c,
- 0x29518d,
- 0x2f7e46,
- 0x2f7e47,
- 0x2f7e4c,
- 0x300e4c,
- 0x3292cc,
- 0x2873cb,
- 0x284184,
- 0x226384,
- 0x346d89,
- 0x3050c7,
- 0x225e49,
- 0x37e909,
- 0x39f1c7,
- 0x3a8846,
- 0x3a8849,
- 0x2ad1c3,
- 0x21c74a,
- 0x31a287,
- 0x33eb8b,
- 0x317d8a,
- 0x248844,
- 0x22ba46,
- 0x27d749,
- 0x202b84,
- 0x3affca,
- 0x348345,
- 0x2bdd45,
- 0x2bdd4d,
- 0x2be08e,
- 0x28cc05,
- 0x323906,
- 0x264687,
- 0x3870ca,
- 0x39b686,
- 0x3616c4,
- 0x36d747,
- 0x2c3f0b,
- 0x2e1947,
- 0x33fa84,
- 0x24bb86,
- 0x24bb8d,
- 0x21e1cc,
- 0x2053c6,
- 0x2f32ca,
- 0x2e03c6,
- 0x2ed0c8,
- 0x377c47,
- 0x23568a,
- 0x23d6c6,
- 0x216183,
- 0x391586,
- 0x3ba7c8,
- 0x29ac8a,
- 0x275807,
- 0x275808,
- 0x281684,
- 0x24b687,
- 0x279348,
- 0x2bd748,
- 0x27c0c8,
- 0x38c94a,
- 0x2da905,
- 0x2cf0c7,
- 0x24db53,
- 0x31e806,
- 0x266348,
- 0x221a09,
- 0x240c48,
- 0x203d0b,
- 0x2cb608,
- 0x2a5f44,
- 0x32ec06,
- 0x30bac6,
- 0x3027c9,
- 0x2c3dc7,
- 0x254988,
- 0x28af06,
- 0x226884,
- 0x2cb8c5,
- 0x2c55c8,
- 0x2c5bca,
- 0x2c5e88,
- 0x2cbf86,
- 0x29944a,
- 0x2ac808,
- 0x2cf788,
- 0x2d18c8,
- 0x2d1f06,
- 0x2d3e06,
- 0x38e18c,
- 0x2d43d0,
- 0x27d2c5,
- 0x20d148,
- 0x301950,
- 0x20d150,
- 0x38f60e,
- 0x38de0e,
- 0x38de14,
- 0x32fe8f,
- 0x330246,
- 0x332d51,
- 0x33d213,
- 0x33d688,
- 0x3b3445,
- 0x241b48,
- 0x386245,
- 0x329a8c,
- 0x291549,
- 0x228b49,
- 0x3201c7,
- 0x236b89,
- 0x380887,
- 0x2f6146,
- 0x3521c7,
- 0x269c45,
- 0x2120c3,
- 0x2023c9,
- 0x221cc9,
- 0x376e43,
- 0x27f384,
- 0x32a20d,
- 0x206bcf,
- 0x2268c5,
- 0x329986,
- 0x211407,
- 0x325d87,
- 0x288786,
- 0x28878b,
- 0x2a2405,
- 0x256786,
- 0x2f6c07,
- 0x24e489,
- 0x3a7486,
- 0x21d305,
- 0x22854b,
- 0x235946,
- 0x249245,
- 0x357988,
- 0x306a88,
- 0x2c8f0c,
- 0x2c8f10,
- 0x2d2409,
- 0x2ffd07,
- 0x32840b,
- 0x2e3b86,
- 0x2e518a,
- 0x2e754b,
- 0x2e794a,
- 0x2e7bc6,
- 0x2e8685,
- 0x319fc6,
- 0x36c808,
- 0x32028a,
- 0x35009c,
- 0x2ec94c,
- 0x2ecc48,
- 0x264a85,
- 0x34ea07,
- 0x26bec6,
- 0x274e05,
- 0x21afc6,
- 0x288948,
- 0x2bc507,
- 0x2904c8,
- 0x2a868a,
- 0x33130c,
- 0x331589,
- 0x38b847,
- 0x2198c4,
- 0x244c86,
- 0x37ee8a,
- 0x37ea05,
- 0x209f8c,
- 0x20e648,
- 0x367388,
- 0x21a00c,
- 0x22550c,
- 0x225a09,
- 0x225c47,
- 0x231d4c,
- 0x23aa84,
- 0x23c60a,
- 0x35e6cc,
- 0x26b28b,
- 0x242b8b,
- 0x2efec6,
- 0x24a107,
- 0x24c687,
- 0x3a930f,
- 0x2f8a51,
- 0x2d8592,
- 0x24c68d,
- 0x24c68e,
- 0x24c9ce,
- 0x330048,
- 0x330052,
- 0x24fbc8,
- 0x3b1187,
- 0x24aeca,
- 0x3681c8,
- 0x27a9c5,
- 0x3b57ca,
- 0x21dd87,
- 0x2e36c4,
- 0x201543,
- 0x2a57c5,
- 0x30ed47,
- 0x2f5007,
- 0x29538e,
- 0x3382cd,
- 0x33af89,
- 0x222705,
- 0x35c3c3,
- 0x3a78c6,
- 0x36e745,
- 0x2a3208,
- 0x205b49,
- 0x2983c5,
- 0x3692cf,
- 0x2d96c7,
- 0x372285,
- 0x20178a,
- 0x2a36c6,
- 0x2ed249,
- 0x396ccc,
- 0x2f51c9,
- 0x3abdc6,
- 0x265f4c,
- 0x322d06,
- 0x2f7588,
- 0x2f7786,
- 0x3b6c06,
- 0x3b96c4,
- 0x258243,
- 0x2a1fca,
- 0x327191,
- 0x3a9c0a,
- 0x27ee85,
- 0x265047,
- 0x252207,
- 0x279444,
- 0x27944b,
- 0x3b7bc8,
- 0x2b7bc6,
- 0x362b85,
- 0x38b044,
- 0x255f09,
- 0x31ad84,
- 0x254f07,
- 0x32f345,
- 0x32f347,
- 0x33c485,
- 0x2a8183,
- 0x3b1048,
- 0x33b80a,
- 0x203043,
- 0x325f8a,
- 0x203046,
- 0x36904f,
- 0x2b4f89,
- 0x2ca090,
- 0x2f1548,
- 0x2ccc89,
- 0x2971c7,
- 0x24bb0f,
- 0x336244,
- 0x2d5f84,
- 0x21d6c6,
- 0x22f246,
- 0x25708a,
- 0x23cc46,
- 0x2f58c7,
- 0x300788,
- 0x300987,
- 0x301207,
- 0x30370a,
- 0x30534b,
- 0x2f3dc5,
- 0x2d81c8,
- 0x21bb03,
- 0x23800c,
- 0x36f78f,
- 0x2b8a4d,
- 0x2a7147,
- 0x33b0c9,
- 0x22bcc7,
- 0x24a2c8,
- 0x36274c,
- 0x2a5e48,
- 0x250bc8,
- 0x318ace,
- 0x32d354,
- 0x32d864,
- 0x3475ca,
- 0x36148b,
- 0x380944,
- 0x380949,
- 0x27bbc8,
- 0x245345,
- 0x201d0a,
- 0x3696c7,
- 0x26f744,
- 0x38d2c3,
- 0x2a84c3,
- 0x235ac4,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x244183,
- 0x209703,
- 0x2d43c6,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x201303,
- 0x205702,
- 0x38d2c3,
- 0x2099c2,
- 0x2a84c3,
- 0x235ac4,
- 0x232403,
- 0x2e9dc3,
- 0x244183,
- 0x2d43c6,
- 0x205503,
- 0x200983,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2163c3,
- 0x205503,
- 0x200983,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x205702,
- 0x2bb143,
- 0x2099c2,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x201ec2,
- 0x219f02,
- 0x2099c2,
- 0x2a84c3,
- 0x202242,
- 0x201fc2,
- 0x3b1384,
- 0x210444,
- 0x227382,
- 0x211cc4,
+ 0x2a9b05,
+ 0x2b238a,
+ 0x2028cc,
+ 0x29cf8d,
+ 0x302346,
+ 0x302347,
+ 0x30234c,
+ 0x30c80c,
+ 0x335d4c,
+ 0x2edfcb,
+ 0x28e0c4,
+ 0x22c9c4,
+ 0x354609,
+ 0x39e807,
+ 0x229989,
+ 0x293a49,
+ 0x3b6587,
+ 0x2b4606,
+ 0x2b4609,
+ 0x2b4a03,
+ 0x21b7ca,
+ 0x31fd07,
+ 0x34304b,
+ 0x32120a,
+ 0x2f6744,
+ 0x35f646,
+ 0x286b89,
+ 0x281a04,
+ 0x20324a,
+ 0x3a1205,
+ 0x2c4d45,
+ 0x2c4d4d,
+ 0x2c508e,
+ 0x2b9ac5,
+ 0x32ab86,
+ 0x39ffc7,
+ 0x25f64a,
+ 0x3a8286,
+ 0x2eefc4,
+ 0x2f9847,
+ 0x3bc50b,
+ 0x2fa747,
+ 0x30b444,
+ 0x256fc6,
+ 0x256fcd,
+ 0x2c3f4c,
+ 0x208d46,
+ 0x33c18a,
+ 0x230206,
+ 0x22ddc8,
+ 0x285107,
+ 0x34c98a,
+ 0x3840c6,
+ 0x210443,
+ 0x210446,
+ 0x3c09c8,
+ 0x2a344a,
+ 0x2801c7,
+ 0x2801c8,
+ 0x289e04,
+ 0x256ac7,
+ 0x283288,
+ 0x345388,
+ 0x284508,
+ 0x35874a,
+ 0x2e4505,
+ 0x2e9a07,
+ 0x256393,
+ 0x343d86,
+ 0x2e0908,
+ 0x229f89,
+ 0x24c488,
+ 0x38600b,
+ 0x2d3d48,
+ 0x2bc644,
+ 0x27a9c6,
+ 0x317ec6,
+ 0x330889,
+ 0x3bc3c7,
+ 0x25f4c8,
+ 0x2931c6,
+ 0x36c244,
+ 0x30aa05,
+ 0x2d4008,
+ 0x2cd88a,
+ 0x2cdb48,
+ 0x2d4b06,
+ 0x2a1d8a,
+ 0x2fc208,
+ 0x2d8fc8,
+ 0x2d9ec8,
+ 0x2da506,
+ 0x2dc3c6,
+ 0x20c0cc,
+ 0x2dc990,
+ 0x285505,
+ 0x213248,
+ 0x30d410,
+ 0x213250,
+ 0x34660e,
+ 0x20bd4e,
+ 0x20bd54,
+ 0x20e78f,
+ 0x20eb46,
+ 0x3072d1,
+ 0x332e13,
+ 0x333288,
+ 0x31d245,
+ 0x2a0bc8,
+ 0x395705,
+ 0x23540c,
+ 0x2309c9,
+ 0x2994c9,
+ 0x230e47,
+ 0x263549,
+ 0x261047,
+ 0x2ffa46,
+ 0x24ffc7,
+ 0x20ef05,
+ 0x217103,
+ 0x20dcc9,
+ 0x22a249,
+ 0x38a783,
+ 0x3b35c4,
+ 0x358c8d,
+ 0x3b83cf,
+ 0x36c285,
+ 0x331786,
+ 0x21ac47,
+ 0x32d007,
+ 0x290806,
+ 0x29080b,
+ 0x2aa805,
+ 0x263c06,
+ 0x300b87,
+ 0x257449,
+ 0x345a06,
+ 0x20cb45,
+ 0x2248cb,
+ 0x230786,
+ 0x38ad45,
+ 0x273988,
+ 0x2a6988,
+ 0x2ba50c,
+ 0x2ba510,
+ 0x2b64c9,
+ 0x2c5607,
+ 0x2e520b,
+ 0x30be86,
+ 0x2eb3ca,
+ 0x2ec90b,
+ 0x2ee70a,
+ 0x2ee986,
+ 0x2ef645,
+ 0x31fa46,
+ 0x37d408,
+ 0x230f0a,
+ 0x35e95c,
+ 0x2f380c,
+ 0x2f3b08,
+ 0x3a03c5,
+ 0x35cec7,
+ 0x25b0c6,
+ 0x27f7c5,
+ 0x2227c6,
+ 0x2909c8,
+ 0x2c2c07,
+ 0x298448,
+ 0x2b04ca,
+ 0x33764c,
+ 0x3378c9,
+ 0x39b5c7,
+ 0x215c04,
+ 0x24ea86,
+ 0x2d518a,
+ 0x293b45,
+ 0x211ecc,
+ 0x212e48,
+ 0x389c88,
+ 0x21904c,
+ 0x2266cc,
+ 0x229549,
+ 0x229787,
+ 0x23ff4c,
+ 0x2454c4,
+ 0x24718a,
+ 0x23354c,
+ 0x279a4b,
+ 0x24bfcb,
+ 0x3821c6,
+ 0x2f7447,
+ 0x20e947,
+ 0x238bcf,
+ 0x303191,
+ 0x2e16d2,
+ 0x314ecd,
+ 0x314ece,
+ 0x31520e,
+ 0x20e948,
+ 0x20e952,
+ 0x253e08,
+ 0x34ec47,
+ 0x25430a,
+ 0x208b08,
+ 0x27ab05,
+ 0x38c9ca,
+ 0x2255c7,
+ 0x2e6f44,
+ 0x227103,
+ 0x297185,
+ 0x3bd387,
+ 0x2fb547,
+ 0x29d18e,
+ 0x308c8d,
+ 0x30d7c9,
+ 0x21f545,
+ 0x31c443,
+ 0x326446,
+ 0x264085,
+ 0x27dc48,
+ 0x2c0649,
+ 0x2a0105,
+ 0x3ac94f,
+ 0x2b6207,
+ 0x382bc5,
+ 0x37958a,
+ 0x358946,
+ 0x2522c9,
+ 0x37db4c,
+ 0x2fec09,
+ 0x2094c6,
+ 0x26e74c,
+ 0x329f86,
+ 0x3017c8,
+ 0x301c86,
+ 0x312586,
+ 0x2082c4,
+ 0x266643,
+ 0x2b380a,
+ 0x32e411,
+ 0x30650a,
+ 0x265345,
+ 0x271ac7,
+ 0x25c7c7,
+ 0x283384,
+ 0x28338b,
+ 0x2cfb08,
+ 0x2c1486,
+ 0x37e6c5,
+ 0x3b01c4,
+ 0x280ac9,
+ 0x320804,
+ 0x24cd87,
+ 0x359f05,
+ 0x359f07,
+ 0x338ac5,
+ 0x2affc3,
+ 0x34eb08,
+ 0x35f2ca,
+ 0x20b3c3,
+ 0x32d20a,
+ 0x281ec6,
+ 0x3ac6cf,
+ 0x2f4009,
+ 0x2f9410,
+ 0x2ebe48,
+ 0x2d5809,
+ 0x29f087,
+ 0x256f4f,
+ 0x31e884,
+ 0x2de9c4,
+ 0x224f06,
+ 0x317b06,
+ 0x2e2aca,
+ 0x381c46,
+ 0x2ff587,
+ 0x30c148,
+ 0x30c347,
+ 0x30cbc7,
+ 0x30f08a,
+ 0x310b4b,
+ 0x3b1b45,
+ 0x2e1308,
+ 0x204443,
+ 0x2045cc,
+ 0x38000f,
+ 0x274b8d,
+ 0x2aefc7,
+ 0x30d909,
+ 0x2e8207,
+ 0x24f2c8,
+ 0x38aa0c,
+ 0x2bc548,
+ 0x231848,
+ 0x321d0e,
+ 0x336054,
+ 0x336564,
+ 0x354e4a,
+ 0x37018b,
+ 0x261104,
+ 0x261109,
+ 0x3656c8,
+ 0x24ef85,
+ 0x20d60a,
+ 0x3acd47,
+ 0x31f944,
+ 0x39c783,
+ 0x238543,
+ 0x240244,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x255783,
+ 0x28cac3,
+ 0x20c0c6,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x221483,
+ 0x207102,
+ 0x39c783,
+ 0x20f882,
+ 0x238543,
+ 0x240244,
+ 0x23cac3,
+ 0x323043,
+ 0x255783,
+ 0x20c0c6,
+ 0x208e83,
+ 0x201a03,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x21b583,
+ 0x208e83,
+ 0x1a3443,
+ 0x201a03,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x207102,
+ 0x242043,
+ 0x20f882,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x201382,
+ 0x235f42,
+ 0x20f882,
+ 0x238543,
+ 0x206902,
+ 0x200942,
+ 0x231604,
+ 0x20f644,
+ 0x22a482,
+ 0x21bf84,
0x200442,
- 0x200983,
- 0x201303,
- 0x2efec6,
- 0x212982,
- 0x202dc2,
- 0x222f02,
- 0x44e0d343,
- 0x4521e303,
- 0x52d46,
- 0x52d46,
- 0x25ef44,
- 0x204e83,
- 0x142abca,
- 0x12778c,
- 0x102cc,
- 0x7dd8d,
- 0x129845,
- 0x21347,
- 0x18648,
- 0x1b887,
- 0x20348,
- 0x19d4ca,
- 0x45ed6a45,
- 0x12b809,
- 0xaf848,
- 0x4a70a,
- 0x8a64e,
- 0x1440a4b,
- 0x1320c4,
- 0x77848,
- 0x68bc8,
- 0x38f47,
- 0x12807,
- 0x4efc9,
- 0x2c07,
- 0xd4ac8,
- 0x1318c9,
- 0x3adc5,
- 0x124d4e,
- 0xa8a0d,
- 0x9688,
- 0x4622a586,
- 0x46c2a588,
- 0x70cc8,
- 0x117090,
- 0x5f347,
- 0x601c7,
- 0x64547,
- 0x69447,
- 0xdb42,
- 0x190bc7,
- 0x430c,
- 0x35fc7,
- 0xa4246,
- 0xa4909,
- 0xa6388,
- 0x17f42,
- 0x1fc2,
- 0xb8fcb,
- 0x7f247,
- 0x11809,
- 0xbb9c9,
- 0x17e248,
- 0xafd42,
- 0x113a49,
- 0xcdf8a,
- 0xc9e09,
- 0xd6fc9,
- 0xd7ac8,
- 0xd8a47,
- 0xda889,
- 0xde345,
- 0xde6d0,
- 0x175b86,
- 0x192345,
- 0x5e98d,
- 0xf986,
- 0xe9187,
- 0xed858,
- 0x1b1a48,
- 0xb4c8a,
- 0x1c42,
- 0x52f4d,
- 0x27c2,
+ 0x201a03,
+ 0x221483,
+ 0x3821c6,
+ 0x21a902,
+ 0x202642,
+ 0x20c4c2,
+ 0x47a13443,
+ 0x47e0bf03,
+ 0x5d306,
0x5d306,
- 0x8d108,
- 0x86ec8,
- 0x16d0c9,
- 0x55b08,
- 0x5fb4e,
- 0x1a78c7,
- 0x19d0d,
- 0xf2d05,
- 0x190948,
- 0x194448,
- 0xfacc6,
+ 0x286644,
+ 0x200e03,
+ 0x14b700a,
+ 0x12ea0c,
+ 0xf4cc,
+ 0x871cd,
+ 0x131645,
+ 0x26547,
+ 0x1b1c6,
+ 0x21088,
+ 0x23087,
+ 0x28b08,
+ 0x1aa20a,
+ 0x1397c7,
+ 0x48adf485,
+ 0x1359c9,
+ 0x3e34b,
+ 0x35dcb,
+ 0x42e48,
+ 0x172f4a,
+ 0x9288e,
+ 0x144c28b,
+ 0x6a04,
+ 0x63d46,
+ 0x7588,
+ 0xf8d08,
+ 0x3e607,
+ 0x1a787,
+ 0x57f89,
+ 0x81a87,
+ 0xdd088,
+ 0x12f5c9,
+ 0x49804,
+ 0x49f45,
+ 0x12bfce,
+ 0xb084d,
+ 0x8ca48,
+ 0x48e34406,
+ 0x49834408,
+ 0x7b548,
+ 0x11f3d0,
+ 0x5998c,
+ 0x6b9c7,
+ 0x6c647,
+ 0x71387,
+ 0x77fc7,
+ 0x13c42,
+ 0x144ec7,
+ 0x11724c,
+ 0x43b87,
+ 0xac206,
+ 0xac7c9,
+ 0xae208,
+ 0x206c2,
+ 0x942,
+ 0xbee8b,
+ 0x1a3307,
+ 0x18009,
+ 0x164ec9,
+ 0x3ef48,
+ 0xb8042,
+ 0x134649,
+ 0xcc60a,
+ 0xd2689,
+ 0xdfdc9,
+ 0xe0b08,
+ 0xe1b87,
+ 0xe4489,
+ 0xe61c5,
+ 0xe67d0,
+ 0x191646,
+ 0x11205,
+ 0x31e8d,
+ 0x235c6,
+ 0xefd07,
+ 0xf4558,
+ 0x14f508,
+ 0xc74a,
+ 0xb282,
+ 0x5524d,
+ 0xa02,
+ 0x86286,
+ 0x95408,
+ 0x8f148,
+ 0x16fa49,
+ 0x586c8,
+ 0x6420e,
+ 0x126447,
+ 0x1051cd,
+ 0xfb445,
+ 0x144c48,
+ 0x19fc08,
+ 0x106046,
0xc2,
- 0x125c86,
- 0x7b02,
+ 0x12cf06,
+ 0x4542,
0x341,
- 0x57a07,
- 0xc8e83,
- 0x466ee0c4,
- 0x46a94443,
+ 0x65a07,
+ 0xf6fc3,
+ 0x492f4dc4,
+ 0x4969c243,
0x141,
- 0x10986,
+ 0x19d06,
0x141,
0x1,
- 0x10986,
- 0xc8e83,
- 0x1596bc5,
- 0x2030c4,
- 0x2a84c3,
- 0x249944,
- 0x3b1384,
- 0x205503,
- 0x2218c5,
- 0x219503,
- 0x23e743,
- 0x373605,
- 0x25ed03,
- 0x47ea84c3,
- 0x232403,
- 0x2e9dc3,
+ 0x19d06,
+ 0xf6fc3,
+ 0x1402285,
+ 0x252044,
+ 0x238543,
+ 0x253384,
+ 0x231604,
+ 0x208e83,
+ 0x229e45,
+ 0x221f43,
+ 0x20c843,
+ 0x355685,
+ 0x202443,
+ 0x4aa38543,
+ 0x23cac3,
+ 0x323043,
0x200041,
- 0x209703,
- 0x210444,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x214843,
- 0x16d208,
- 0x205702,
- 0x38d2c3,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x2163c3,
- 0x201fc2,
- 0x3b1384,
- 0x244183,
- 0x209703,
- 0x205503,
- 0x204e83,
- 0x200983,
- 0x25ed03,
- 0x16d208,
- 0x36f502,
- 0x99c2,
- 0x1456108,
- 0x100b4e,
- 0x48e016c2,
- 0x31a448,
- 0x234386,
- 0x209cc6,
- 0x233d07,
- 0x4920c202,
- 0x49768ec8,
- 0x20884a,
- 0x25cc88,
+ 0x28cac3,
+ 0x20f644,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x215443,
+ 0x16fb88,
+ 0x207102,
+ 0x39c783,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x21b583,
+ 0x200942,
+ 0x231604,
+ 0x255783,
+ 0x28cac3,
+ 0x208e83,
+ 0x200e03,
+ 0x201a03,
+ 0x202443,
+ 0x16fb88,
+ 0x37fd82,
+ 0x18c1c7,
+ 0xf882,
+ 0x10a985,
+ 0x1480cc8,
+ 0x10c50e,
+ 0x4ba0ab02,
+ 0x31fec8,
+ 0x2bdd86,
+ 0x2ca186,
+ 0x2bd707,
+ 0x4be00b42,
+ 0x4c3ac548,
+ 0x21870a,
+ 0x26b448,
0x200242,
- 0x31a0c9,
- 0x2f3e07,
- 0x216bc6,
- 0x3b0d89,
- 0x2cf204,
- 0x20a6c6,
- 0x2dbcc4,
- 0x26ffc4,
- 0x2544c9,
- 0x326686,
- 0x320945,
- 0x22c445,
- 0x384e07,
- 0x2bfb47,
- 0x28fa44,
- 0x233f46,
- 0x2fb005,
- 0x2fde45,
- 0x3963c5,
- 0x3b3dc7,
- 0x200c05,
- 0x314b49,
- 0x312945,
- 0x333e44,
- 0x39b5c7,
- 0x31974e,
- 0x32e5c9,
- 0x33c109,
- 0x3a64c6,
- 0x23d408,
- 0x26d98b,
- 0x2aeecc,
- 0x37f806,
- 0x2dd887,
- 0x20a305,
- 0x37b5ca,
- 0x22af49,
- 0x20bf49,
- 0x24ff86,
- 0x2f69c5,
- 0x27ce45,
- 0x3490c9,
- 0x39654b,
- 0x273346,
- 0x33a786,
- 0x202504,
- 0x28bb86,
- 0x243908,
- 0x3ba646,
- 0x214386,
- 0x207c08,
- 0x20bb47,
- 0x20bd09,
- 0x20c585,
- 0x16d208,
- 0x212784,
- 0x3ada04,
- 0x283785,
- 0x399a49,
- 0x220f07,
- 0x220f0b,
- 0x22394a,
- 0x227a45,
- 0x49a08d42,
- 0x33ea47,
- 0x49e28908,
- 0x2afb87,
- 0x350e85,
- 0x20c1ca,
- 0x99c2,
- 0x34dfcb,
- 0x24d5ca,
- 0x221bc6,
- 0x282bc3,
- 0x28e34d,
- 0x3492cc,
- 0x35084d,
- 0x245c45,
- 0x32ae05,
- 0x202247,
- 0x3aba49,
- 0x208746,
- 0x23cac5,
- 0x2d29c8,
- 0x28ba83,
- 0x2dfac8,
- 0x28ba88,
- 0x2c3747,
- 0x309708,
- 0x3a7209,
- 0x2cc447,
- 0x33e247,
- 0x396a48,
- 0x251f44,
- 0x251f47,
- 0x273748,
- 0x3a3ac6,
- 0x205f4f,
- 0x211a07,
- 0x2e5446,
- 0x225d85,
- 0x223083,
- 0x371847,
- 0x36c043,
- 0x248e46,
- 0x24aa86,
- 0x24b286,
- 0x290c05,
- 0x261903,
- 0x388208,
- 0x36f009,
- 0x38224b,
- 0x24b408,
- 0x24d145,
- 0x24f605,
- 0x4a248902,
- 0x352289,
- 0x3b1407,
- 0x256805,
- 0x2543c7,
- 0x2559c6,
- 0x365a45,
- 0x36e58b,
- 0x257ec4,
- 0x25c845,
- 0x25c987,
- 0x272cc6,
- 0x273105,
- 0x2812c7,
- 0x281a07,
- 0x2cd884,
- 0x289c0a,
- 0x28a0c8,
- 0x3b8209,
- 0x241e85,
- 0x207886,
- 0x243aca,
- 0x22c346,
- 0x261e07,
- 0x3b7ecd,
- 0x29c809,
- 0x38d185,
- 0x314187,
- 0x332288,
- 0x33d848,
- 0x3b3107,
- 0x379d86,
- 0x215dc7,
- 0x249f43,
- 0x341c04,
- 0x363485,
- 0x392707,
- 0x395dc9,
- 0x22be48,
- 0x344c45,
- 0x23cd84,
- 0x246245,
- 0x24b80d,
- 0x200f82,
- 0x373746,
- 0x25d246,
- 0x2c578a,
- 0x376546,
- 0x37edc5,
- 0x33df85,
- 0x33df87,
- 0x38ab8c,
- 0x270b4a,
- 0x28b846,
- 0x2b9645,
- 0x28b9c6,
- 0x28bd07,
- 0x28e186,
- 0x290b0c,
- 0x3b0ec9,
- 0x4a610e07,
- 0x293b05,
- 0x293b06,
- 0x293ec8,
- 0x23b705,
- 0x2a2c85,
- 0x2a3848,
- 0x2a3a4a,
- 0x4aa4ecc2,
- 0x4ae0ee02,
- 0x2e6705,
- 0x284f83,
- 0x3adf08,
- 0x204043,
- 0x2a3cc4,
- 0x2ed38b,
- 0x26dd48,
- 0x2e4d48,
- 0x4b349909,
- 0x2a7dc9,
- 0x2a8906,
- 0x2a9d48,
- 0x2a9f49,
- 0x2aab46,
- 0x2aacc5,
- 0x3843c6,
- 0x2ab5c9,
- 0x331f47,
- 0x23ea86,
- 0x233747,
- 0x2085c7,
- 0x32c8c4,
- 0x4b7b1d49,
- 0x2cab88,
- 0x368dc8,
- 0x383447,
- 0x2c5246,
- 0x226ac9,
- 0x209c87,
- 0x32e90a,
- 0x38c588,
- 0x3af5c7,
- 0x3b9786,
- 0x24f38a,
- 0x262708,
- 0x2dccc5,
- 0x226645,
- 0x2ee487,
- 0x2f7349,
- 0x36510b,
- 0x315008,
- 0x3129c9,
- 0x24bfc7,
- 0x2b550c,
- 0x2b5c4c,
- 0x2b5f4a,
- 0x2b61cc,
- 0x2c2708,
- 0x2c2908,
- 0x2c2b04,
- 0x2c2ec9,
- 0x2c3109,
- 0x2c334a,
- 0x2c35c9,
- 0x2c3907,
- 0x3af00c,
- 0x241146,
- 0x34acc8,
- 0x22c406,
- 0x32e7c6,
- 0x38d087,
- 0x3b3288,
- 0x39034b,
- 0x2afa47,
- 0x352489,
- 0x3445c9,
- 0x249ac7,
- 0x278a04,
- 0x265187,
- 0x2db346,
- 0x214a06,
- 0x2f3485,
- 0x2a5888,
- 0x291444,
- 0x291446,
- 0x270a0b,
- 0x21ca49,
- 0x214b46,
- 0x21c489,
- 0x3b3f46,
- 0x254688,
- 0x223b83,
- 0x2f6b45,
- 0x22edc9,
- 0x261145,
- 0x2f9684,
- 0x272206,
- 0x231545,
- 0x228f86,
- 0x3056c7,
- 0x26e986,
- 0x3a304b,
- 0x22ea87,
- 0x3379c6,
- 0x346f06,
- 0x384ec6,
- 0x28fa09,
- 0x2ef14a,
- 0x2b3505,
- 0x2170cd,
- 0x2a3b46,
- 0x235546,
- 0x2b4e86,
- 0x2ed045,
- 0x2de9c7,
- 0x2e14c7,
- 0x3581ce,
- 0x209703,
- 0x2c5209,
- 0x391dc9,
- 0x37b9c7,
- 0x358f07,
- 0x29d645,
- 0x27ec45,
- 0x4ba2a88f,
- 0x2ccec7,
- 0x2cd088,
- 0x2cd484,
- 0x2cde46,
- 0x4be44c42,
- 0x2d2186,
- 0x2d43c6,
- 0x391f8e,
- 0x2df90a,
- 0x357b06,
- 0x285eca,
- 0x203549,
- 0x324105,
- 0x398008,
- 0x3b5606,
- 0x38cec8,
- 0x26f088,
- 0x28eb8b,
- 0x233e05,
- 0x200c88,
- 0x207d4c,
- 0x2bd507,
- 0x24ae06,
- 0x2e28c8,
- 0x20a948,
- 0x4c208442,
- 0x20a48b,
- 0x282549,
- 0x329f09,
- 0x3bb287,
- 0x20f7c8,
- 0x4c61bf48,
- 0x3511cb,
- 0x37e0c9,
- 0x234fcd,
- 0x2750c8,
- 0x224a48,
- 0x4ca03ec2,
- 0x20e3c4,
- 0x4ce1a2c2,
- 0x2f4ec6,
- 0x4d2004c2,
- 0x3813ca,
- 0x21c346,
- 0x285908,
- 0x284488,
- 0x2af446,
- 0x22d8c6,
- 0x2f12c6,
- 0x2a3185,
- 0x238c04,
- 0x4d61e144,
- 0x205146,
- 0x272707,
- 0x4dae8bc7,
- 0x35490b,
- 0x319b09,
- 0x32ae4a,
- 0x391804,
- 0x33e0c8,
- 0x23e84d,
- 0x2eb709,
- 0x2eb948,
- 0x2ebfc9,
- 0x2ed844,
- 0x243484,
- 0x27c885,
- 0x317b4b,
- 0x26dcc6,
- 0x3424c5,
- 0x250149,
- 0x234008,
- 0x2047c4,
- 0x37b749,
- 0x208105,
- 0x2bfb88,
- 0x33e907,
- 0x33c508,
- 0x27d946,
- 0x35e387,
- 0x292349,
- 0x2286c9,
- 0x2492c5,
- 0x334ec5,
- 0x4de2d902,
- 0x333c04,
- 0x2049c5,
- 0x32c146,
- 0x318385,
- 0x2b1ac7,
- 0x205245,
- 0x272d04,
- 0x3a6586,
- 0x23cb47,
- 0x232986,
- 0x2dca05,
- 0x203188,
- 0x234585,
- 0x2062c7,
- 0x20f1c9,
- 0x21cb8a,
- 0x2e1b87,
- 0x2e1b8c,
- 0x320906,
- 0x343cc9,
- 0x23b385,
- 0x23b648,
- 0x210803,
- 0x210805,
- 0x2e8a05,
- 0x261607,
- 0x4e20c002,
- 0x22d0c7,
- 0x2e4f06,
- 0x342786,
- 0x2e7d06,
- 0x20a886,
- 0x208388,
- 0x241c85,
- 0x2e5507,
- 0x2e550d,
- 0x201543,
- 0x21ec05,
- 0x201547,
- 0x22d408,
+ 0x31fb49,
+ 0x3b1b87,
+ 0x21ec06,
+ 0x34e849,
+ 0x2e9b44,
+ 0x348646,
+ 0x2ca584,
+ 0x27f584,
+ 0x25f009,
+ 0x32d906,
+ 0x240ac5,
+ 0x297a85,
+ 0x3b9d87,
+ 0x2c76c7,
+ 0x2979c4,
+ 0x2bd946,
+ 0x307b85,
+ 0x30a3c5,
+ 0x3a2a05,
+ 0x339407,
+ 0x378a05,
+ 0x31ddc9,
+ 0x234fc5,
+ 0x32f404,
+ 0x3a81c7,
+ 0x341b0e,
+ 0x306bc9,
+ 0x338749,
+ 0x388d86,
+ 0x24a608,
+ 0x36ae4b,
+ 0x2b698c,
+ 0x33ea46,
+ 0x2e5ac7,
+ 0x212245,
+ 0x38d20a,
+ 0x2b7389,
+ 0x209b49,
+ 0x259f06,
+ 0x300945,
+ 0x2edac5,
+ 0x3570c9,
+ 0x3a2b8b,
+ 0x27e286,
+ 0x3471c6,
+ 0x20de04,
+ 0x2943c6,
+ 0x24e1c8,
+ 0x3c0846,
+ 0x215006,
+ 0x205fc8,
+ 0x2092c7,
+ 0x209909,
+ 0x211385,
+ 0x16fb88,
+ 0x21a704,
+ 0x2394c4,
0x201105,
- 0x218c88,
- 0x36c0c6,
- 0x32b9c7,
- 0x2c4785,
- 0x233e86,
- 0x26f5c5,
- 0x21390a,
- 0x2f2e06,
- 0x377ac7,
- 0x2ca505,
- 0x3612c7,
- 0x36d6c4,
- 0x2f9606,
- 0x2fb3c5,
- 0x32648b,
- 0x2db1c9,
- 0x2bb24a,
- 0x249348,
- 0x301d08,
- 0x304a4c,
- 0x306287,
- 0x3073c8,
- 0x310a48,
- 0x31e945,
- 0x34020a,
- 0x35c3c9,
- 0x4e600802,
- 0x200806,
- 0x219d04,
- 0x2ea849,
- 0x220b49,
- 0x269287,
- 0x294947,
- 0x37e789,
- 0x38cb48,
- 0x38cb4f,
- 0x315d06,
- 0x2d670b,
- 0x36e8c5,
- 0x36e8c7,
- 0x385889,
- 0x212ac6,
- 0x37b6c7,
- 0x2d8905,
- 0x2303c4,
- 0x261006,
- 0x211ac4,
- 0x2ce4c7,
- 0x307048,
- 0x4eaf68c8,
- 0x2f7085,
- 0x2f71c7,
- 0x236549,
- 0x23e284,
- 0x23e288,
- 0x4ee2b888,
- 0x279444,
- 0x231388,
- 0x32fdc4,
- 0x3ab849,
- 0x2173c5,
- 0x4f20b0c2,
- 0x315d45,
- 0x2e4345,
- 0x251288,
- 0x232e47,
- 0x4f601442,
- 0x204785,
- 0x2cf606,
- 0x24b106,
- 0x333bc8,
- 0x302108,
- 0x318346,
- 0x327f06,
- 0x2e2e49,
- 0x3426c6,
- 0x21298b,
- 0x296305,
- 0x368106,
- 0x377088,
- 0x250506,
- 0x292cc6,
- 0x21914a,
- 0x23084a,
- 0x245005,
- 0x241d47,
- 0x308786,
- 0x4fa01682,
- 0x201687,
- 0x238705,
- 0x243a44,
- 0x243a45,
- 0x391706,
- 0x26a447,
- 0x219a85,
- 0x220c04,
- 0x2c7e88,
- 0x292d85,
- 0x333a47,
- 0x3a1645,
- 0x213845,
- 0x256e04,
- 0x287609,
- 0x2fae48,
- 0x2e0286,
- 0x2d9d06,
- 0x2b6e46,
- 0x4fefbc88,
- 0x2fbe87,
- 0x2fc0cd,
- 0x2fcb4c,
- 0x2fd149,
- 0x2fd389,
- 0x5035b2c2,
- 0x3a8603,
- 0x207943,
- 0x2db405,
- 0x39280a,
- 0x327dc6,
- 0x302385,
- 0x305884,
- 0x30588b,
- 0x31b70c,
- 0x31c14c,
- 0x31c455,
- 0x31d74d,
- 0x320a8f,
- 0x320e52,
- 0x3212cf,
- 0x321692,
- 0x321b13,
- 0x321fcd,
- 0x32258d,
- 0x32290e,
- 0x322e8e,
- 0x3236cc,
+ 0x3a6649,
+ 0x228f87,
+ 0x228f8b,
+ 0x22b3ca,
+ 0x230905,
+ 0x4c612842,
+ 0x342f07,
+ 0x4ca30c08,
+ 0x3578c7,
+ 0x2c3d45,
+ 0x209dca,
+ 0xf882,
+ 0x2be6cb,
+ 0x255e0a,
+ 0x22a146,
+ 0x216383,
+ 0x2a038d,
+ 0x3572cc,
+ 0x357a4d,
+ 0x250545,
+ 0x334fc5,
+ 0x20db47,
+ 0x36c689,
+ 0x218606,
+ 0x381ac5,
+ 0x2d2b88,
+ 0x2942c3,
+ 0x2fa288,
+ 0x2942c8,
+ 0x2cb287,
+ 0x314808,
+ 0x3b49c9,
+ 0x374847,
+ 0x342707,
+ 0x202108,
+ 0x2d1c84,
+ 0x2d1c87,
+ 0x26fdc8,
+ 0x355546,
+ 0x3b874f,
+ 0x226207,
+ 0x2eb686,
+ 0x2298c5,
+ 0x22a8c3,
+ 0x381947,
+ 0x37cc43,
+ 0x252886,
+ 0x254006,
+ 0x254706,
+ 0x298b85,
+ 0x26e2c3,
+ 0x397cc8,
+ 0x37f889,
+ 0x3920cb,
+ 0x254888,
+ 0x255985,
+ 0x2584c5,
+ 0x4cef6802,
+ 0x250089,
+ 0x34eec7,
+ 0x263c85,
+ 0x25ef07,
+ 0x260506,
+ 0x374345,
+ 0x263ecb,
+ 0x2662c4,
+ 0x26b005,
+ 0x26b147,
+ 0x27db86,
+ 0x27e045,
+ 0x289a47,
+ 0x28a187,
+ 0x2d5104,
+ 0x291b8a,
+ 0x292048,
+ 0x2cee09,
+ 0x2a0f05,
+ 0x3bf1c6,
+ 0x24e38a,
+ 0x2be906,
+ 0x26f2c7,
+ 0x2ceacd,
+ 0x2aa349,
+ 0x396fc5,
+ 0x339f07,
+ 0x333448,
+ 0x25a5c8,
+ 0x332847,
+ 0x358246,
+ 0x21cb87,
+ 0x253c43,
+ 0x34b1c4,
+ 0x371cc5,
+ 0x39d947,
+ 0x3a2409,
+ 0x231b08,
+ 0x34cbc5,
+ 0x23bac4,
+ 0x254a45,
+ 0x256c4d,
+ 0x2006c2,
+ 0x230386,
+ 0x2861c6,
+ 0x2e654a,
+ 0x3904c6,
+ 0x39ab85,
+ 0x342445,
+ 0x342447,
+ 0x3afd0c,
+ 0x27b3ca,
+ 0x294086,
+ 0x28ad05,
+ 0x294206,
+ 0x294547,
+ 0x296886,
+ 0x298a8c,
+ 0x34e989,
+ 0x4d21a187,
+ 0x29b745,
+ 0x29b746,
+ 0x29bcc8,
+ 0x246f85,
+ 0x2ab085,
+ 0x2ab808,
+ 0x2aba0a,
+ 0x4d6335c2,
+ 0x4da14d02,
+ 0x2e76c5,
+ 0x2eb603,
+ 0x243408,
+ 0x252403,
+ 0x2abc84,
+ 0x25240b,
+ 0x36b208,
+ 0x2daa48,
+ 0x4df3b049,
+ 0x2afc09,
+ 0x2b0746,
+ 0x2b1c08,
+ 0x2b1e09,
+ 0x2b2886,
+ 0x2b2a05,
+ 0x3944c6,
+ 0x2b2f49,
+ 0x389347,
+ 0x2647c6,
+ 0x2de087,
+ 0x218487,
+ 0x2dd9c4,
+ 0x4e34f809,
+ 0x2d32c8,
+ 0x3ac448,
+ 0x3932c7,
+ 0x2cd346,
+ 0x36c489,
+ 0x2ca847,
+ 0x32598a,
+ 0x358388,
+ 0x208387,
+ 0x208f86,
+ 0x271d8a,
+ 0x26fbc8,
+ 0x2ed485,
+ 0x230685,
+ 0x2ef1c7,
+ 0x311cc9,
+ 0x30150b,
+ 0x31a308,
+ 0x235049,
+ 0x254c87,
+ 0x2bd04c,
+ 0x2bfccc,
+ 0x2bffca,
+ 0x2c024c,
+ 0x2ca108,
+ 0x2ca308,
+ 0x2ca504,
+ 0x2caa09,
+ 0x2cac49,
+ 0x2cae8a,
+ 0x2cb109,
+ 0x2cb447,
+ 0x3ba98c,
+ 0x23f586,
+ 0x2cbf88,
+ 0x2be9c6,
+ 0x387486,
+ 0x396ec7,
+ 0x306dc8,
+ 0x3445cb,
+ 0x28e307,
+ 0x250289,
+ 0x350b89,
+ 0x253507,
+ 0x2771c4,
+ 0x271c07,
+ 0x2fda46,
+ 0x21d8c6,
+ 0x33c345,
+ 0x297248,
+ 0x2993c4,
+ 0x2993c6,
+ 0x27b28b,
+ 0x21bac9,
+ 0x36c886,
+ 0x204bc9,
+ 0x339586,
+ 0x25f1c8,
+ 0x211b83,
+ 0x300ac5,
+ 0x219b09,
+ 0x21da05,
+ 0x2fba44,
+ 0x27d046,
+ 0x2fd385,
+ 0x299906,
+ 0x310ec7,
+ 0x33a986,
+ 0x3b134b,
+ 0x237587,
+ 0x241646,
+ 0x354786,
+ 0x3b9e46,
+ 0x297989,
+ 0x25384a,
+ 0x2bbb85,
+ 0x2202cd,
+ 0x2abb06,
+ 0x204a86,
+ 0x2f3f06,
+ 0x22dd45,
+ 0x2e6ac7,
+ 0x300087,
+ 0x2e7dce,
+ 0x28cac3,
+ 0x2cd309,
+ 0x210c89,
+ 0x38d607,
+ 0x364207,
+ 0x2a5bc5,
+ 0x2b57c5,
+ 0x4e63470f,
+ 0x2d5a47,
+ 0x2d5c08,
+ 0x2d6144,
+ 0x2d7106,
+ 0x4ea4ea42,
+ 0x2da786,
+ 0x20c0c6,
+ 0x210e4e,
+ 0x2fa0ca,
+ 0x273b06,
+ 0x23398a,
+ 0x211689,
+ 0x32b385,
+ 0x3a4808,
+ 0x3bca06,
+ 0x306748,
+ 0x33aac8,
+ 0x2194cb,
+ 0x2bd805,
+ 0x378a88,
+ 0x20610c,
+ 0x2c3c07,
+ 0x254246,
+ 0x2fd1c8,
+ 0x3488c8,
+ 0x4ee06802,
+ 0x23588b,
+ 0x2123c9,
+ 0x205549,
+ 0x2174c7,
+ 0x223408,
+ 0x4f36bec8,
+ 0x38ffcb,
+ 0x23edc9,
+ 0x338f0d,
+ 0x27fa88,
+ 0x22b1c8,
+ 0x4f6014c2,
+ 0x203cc4,
+ 0x4fa19302,
+ 0x2fe206,
+ 0x4fe004c2,
+ 0x261b8a,
+ 0x2199c6,
+ 0x232808,
+ 0x2c6f48,
+ 0x2b6f06,
+ 0x22fe46,
+ 0x2f9186,
+ 0x2b5a45,
+ 0x2443c4,
+ 0x50206d04,
+ 0x214106,
+ 0x29c747,
+ 0x50620c47,
+ 0x2d644b,
+ 0x341ec9,
+ 0x33500a,
+ 0x2106c4,
+ 0x342588,
+ 0x26458d,
+ 0x2f2489,
+ 0x2f26c8,
+ 0x2f2d49,
+ 0x2f4544,
+ 0x245884,
+ 0x285cc5,
+ 0x320fcb,
+ 0x36b186,
+ 0x34b905,
+ 0x2279c9,
+ 0x2bda08,
+ 0x210dc4,
+ 0x38d389,
+ 0x2064c5,
+ 0x2c7708,
+ 0x342dc7,
+ 0x338b48,
+ 0x286d86,
+ 0x233207,
+ 0x29a989,
+ 0x224a49,
+ 0x38adc5,
+ 0x34dfc5,
+ 0x50a08402,
+ 0x32f1c4,
+ 0x2fdd45,
+ 0x2ce506,
+ 0x33bd05,
+ 0x387e47,
+ 0x214205,
+ 0x27dbc4,
+ 0x388e46,
+ 0x381b47,
+ 0x23d046,
+ 0x2c41c5,
+ 0x207f48,
+ 0x2bdf85,
+ 0x211a07,
+ 0x214689,
+ 0x21bc0a,
+ 0x2fc487,
+ 0x2fc48c,
+ 0x240a86,
+ 0x37e349,
+ 0x246a45,
+ 0x246ec8,
+ 0x207c03,
+ 0x216d85,
+ 0x2fd705,
+ 0x282d47,
+ 0x50e06ac2,
+ 0x22f647,
+ 0x2e56c6,
+ 0x373b46,
+ 0x30bfc6,
+ 0x348806,
+ 0x206748,
+ 0x2a0d05,
+ 0x2eb747,
+ 0x2eb74d,
+ 0x227103,
+ 0x227105,
+ 0x379347,
+ 0x22f988,
+ 0x378f05,
+ 0x2216c8,
+ 0x37ccc6,
+ 0x335b87,
+ 0x2cbec5,
+ 0x2bd886,
+ 0x39ce45,
+ 0x21c70a,
+ 0x2f1346,
+ 0x383f47,
+ 0x2bca85,
+ 0x2f5047,
+ 0x2f97c4,
+ 0x2fb9c6,
+ 0x2fe345,
+ 0x32d70b,
+ 0x2fd8c9,
+ 0x24214a,
+ 0x38ae48,
+ 0x30e048,
+ 0x380a8c,
+ 0x3964c7,
+ 0x3054c8,
+ 0x307f48,
+ 0x3084c5,
+ 0x311a8a,
+ 0x31c449,
+ 0x51200d02,
+ 0x201886,
+ 0x216044,
+ 0x216049,
+ 0x27d549,
+ 0x27e9c7,
+ 0x2b4e07,
+ 0x2938c9,
+ 0x22df48,
+ 0x22df4f,
+ 0x2e3a06,
+ 0x2df14b,
+ 0x34b445,
+ 0x34b447,
+ 0x368849,
+ 0x21aa46,
+ 0x38d307,
+ 0x2e1a45,
+ 0x23ae84,
+ 0x284fc6,
+ 0x2262c4,
+ 0x2db107,
+ 0x2d6f08,
+ 0x51700848,
+ 0x301245,
+ 0x301387,
+ 0x260a09,
+ 0x205304,
+ 0x24b348,
+ 0x51ab7cc8,
+ 0x283384,
+ 0x23c208,
+ 0x332d44,
+ 0x22be49,
+ 0x351a45,
+ 0x51e05082,
+ 0x2e3a45,
+ 0x310045,
+ 0x20fc48,
+ 0x23d747,
+ 0x52200d42,
+ 0x3322c5,
+ 0x2d8e46,
+ 0x27cb06,
+ 0x32f188,
+ 0x337d48,
+ 0x33bcc6,
+ 0x34bb06,
+ 0x38c289,
+ 0x373a86,
+ 0x21a90b,
+ 0x2e5f85,
+ 0x208a46,
+ 0x29e108,
+ 0x3a0a06,
+ 0x322c46,
+ 0x221b8a,
+ 0x23b30a,
+ 0x2498c5,
+ 0x2a0dc7,
+ 0x313646,
+ 0x52606442,
+ 0x379487,
+ 0x266cc5,
+ 0x24e304,
+ 0x24e305,
+ 0x2105c6,
+ 0x278fc7,
+ 0x215dc5,
+ 0x23b484,
+ 0x2c4788,
+ 0x322d05,
+ 0x3af347,
+ 0x3b6dc5,
+ 0x21c645,
+ 0x258f84,
+ 0x2ee209,
+ 0x3079c8,
+ 0x263146,
+ 0x2b5386,
+ 0x345186,
+ 0x52b08148,
+ 0x308347,
+ 0x30874d,
+ 0x3090cc,
+ 0x3096c9,
+ 0x309909,
+ 0x52f67742,
+ 0x3b6343,
+ 0x215ac3,
+ 0x2fdb05,
+ 0x39da4a,
+ 0x32f046,
+ 0x30e2c5,
+ 0x311084,
+ 0x31108b,
0x323a8c,
- 0x323ecb,
- 0x32424e,
- 0x325392,
- 0x327b8c,
- 0x328790,
- 0x335212,
- 0x33640c,
- 0x336acd,
- 0x336e0c,
- 0x339a51,
- 0x33a90d,
- 0x34084d,
- 0x340e4a,
- 0x3410cc,
- 0x3419cc,
- 0x3421cc,
- 0x34290c,
- 0x344dd3,
- 0x345450,
- 0x345850,
- 0x34610d,
- 0x34670c,
- 0x347309,
- 0x34890d,
- 0x348c53,
- 0x34a311,
- 0x34a753,
- 0x34b24f,
+ 0x3244cc,
+ 0x3247d5,
+ 0x32660d,
+ 0x327d0f,
+ 0x3280d2,
+ 0x32854f,
+ 0x328912,
+ 0x328d93,
+ 0x32924d,
+ 0x32980d,
+ 0x329b8e,
+ 0x32a10e,
+ 0x32a94c,
+ 0x32ad0c,
+ 0x32b14b,
+ 0x32b4ce,
+ 0x32c612,
+ 0x32ee0c,
+ 0x32fd90,
+ 0x33cd52,
+ 0x33d9cc,
+ 0x33e08d,
+ 0x33e3cc,
+ 0x3406d1,
+ 0x34734d,
+ 0x349e0d,
+ 0x34a40a,
+ 0x34a68c,
+ 0x34af8c,
0x34b60c,
- 0x34b90f,
- 0x34bccd,
- 0x34c2cf,
- 0x34c690,
- 0x34d10e,
- 0x3539ce,
- 0x353f50,
- 0x35518d,
- 0x355b0e,
- 0x355e8c,
- 0x356e93,
- 0x35934e,
- 0x3599d0,
- 0x359dd1,
- 0x35a20f,
- 0x35a5d3,
- 0x35ae4d,
- 0x35b18f,
- 0x35b54e,
- 0x35bc10,
- 0x35c009,
- 0x35cd90,
- 0x35d38f,
- 0x35da0f,
- 0x35ddd2,
- 0x35efce,
- 0x35fc4d,
- 0x36070d,
- 0x360a4d,
- 0x36184d,
- 0x361b8d,
- 0x361ed0,
- 0x3622cb,
- 0x36324c,
- 0x3635cc,
- 0x363bcc,
- 0x363ece,
- 0x371a10,
- 0x372dd2,
- 0x37324b,
- 0x3738ce,
- 0x373c4e,
- 0x3744ce,
- 0x37494b,
- 0x50774f56,
- 0x37624d,
- 0x3766d4,
- 0x377e0d,
- 0x37b115,
- 0x37c40d,
- 0x37cd8f,
- 0x37d5cf,
- 0x38250f,
- 0x3828ce,
- 0x382e4d,
- 0x383f91,
- 0x38674c,
- 0x386a4c,
- 0x386d4b,
- 0x38764c,
- 0x387a0f,
- 0x387dd2,
- 0x38878d,
- 0x38974c,
- 0x389bcc,
- 0x389ecd,
- 0x38a20f,
- 0x38a5ce,
- 0x3924cc,
- 0x392a8d,
- 0x392dcb,
- 0x39358c,
- 0x393b0d,
- 0x393e4e,
- 0x3941c9,
- 0x394d13,
- 0x39524d,
- 0x39558d,
- 0x395b8c,
- 0x39600e,
- 0x396fcf,
- 0x39738c,
- 0x39768d,
- 0x3979cf,
- 0x397d8c,
- 0x39848c,
- 0x39890c,
- 0x398c0c,
- 0x3992cd,
- 0x399612,
- 0x399c8c,
- 0x399f8c,
- 0x39a291,
- 0x39a6cf,
- 0x39aa8f,
- 0x39ae53,
- 0x39bcce,
- 0x39c04f,
- 0x39c40c,
- 0x50b9c74e,
- 0x39cacf,
- 0x39ce96,
- 0x39dc12,
- 0x39f38c,
- 0x39fd0f,
- 0x3a038d,
- 0x3a06cf,
- 0x3a0a8c,
- 0x3a0d8d,
- 0x3a10cd,
- 0x3a254e,
- 0x3a4b8c,
- 0x3a4e8c,
- 0x3a5190,
- 0x3a7a91,
- 0x3a7ecb,
- 0x3a820c,
- 0x3a850e,
- 0x3aa811,
- 0x3aac4e,
- 0x3aafcd,
- 0x3b53cb,
- 0x3b5e8f,
- 0x3b6d94,
- 0x228782,
- 0x228782,
- 0x200c83,
- 0x228782,
- 0x200c83,
- 0x228782,
- 0x205142,
- 0x384405,
- 0x3aa50c,
- 0x228782,
- 0x228782,
- 0x205142,
- 0x228782,
- 0x294545,
- 0x21cb85,
- 0x228782,
- 0x228782,
- 0x20b382,
- 0x294545,
- 0x31f3c9,
- 0x34a00c,
- 0x228782,
- 0x228782,
- 0x228782,
- 0x228782,
- 0x384405,
- 0x228782,
- 0x228782,
- 0x228782,
- 0x228782,
- 0x20b382,
- 0x31f3c9,
- 0x228782,
- 0x228782,
- 0x228782,
- 0x21cb85,
- 0x228782,
- 0x21cb85,
- 0x34a00c,
- 0x3aa50c,
- 0x38d2c3,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x205503,
- 0x200983,
- 0x2708,
- 0x5fc84,
- 0xe0e08,
- 0x205702,
- 0x51a099c2,
- 0x23dbc3,
- 0x24f2c4,
- 0x2032c3,
- 0x393304,
- 0x22f706,
- 0x20e883,
- 0x3328c4,
- 0x286bc5,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x255cca,
- 0x2efec6,
- 0x373fcc,
- 0x16d208,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x227f83,
- 0x2d43c6,
- 0x205503,
- 0x200983,
- 0x201303,
- 0xa4508,
- 0x129845,
- 0x14902,
- 0x52f86185,
- 0x21347,
- 0xc93c8,
- 0xec0e,
- 0x88192,
- 0xfe20b,
- 0x532d6a45,
- 0x536d6a4c,
- 0xb007,
- 0x16fc07,
- 0x1b254a,
- 0x3a6d0,
- 0x149c05,
- 0xd95cb,
- 0x68bc8,
- 0x38f47,
- 0x304cb,
- 0x4efc9,
- 0x11dd07,
- 0x2c07,
- 0x73587,
- 0x1c106,
- 0xd4ac8,
- 0x53c1cdc6,
- 0xa8a0d,
- 0x1b1f10,
- 0x5402bb82,
- 0x9688,
- 0x4a450,
- 0x14434c,
- 0x5474e88d,
- 0x655c7,
- 0x78749,
- 0x52e06,
- 0x940c8,
- 0x67e42,
- 0x9f54a,
- 0x27f07,
- 0x35fc7,
- 0xa4909,
- 0xa6388,
- 0xb9b45,
- 0xec50e,
- 0xb54e,
- 0xdecf,
- 0x11809,
- 0xbb9c9,
- 0x43e4b,
- 0x7664f,
- 0x8780c,
- 0x9ef4b,
- 0xbbf48,
- 0x154807,
- 0xcdc48,
- 0xfb80b,
- 0xf568c,
- 0xf640c,
- 0xf908c,
- 0xfe68d,
- 0x17e248,
- 0xeab02,
- 0x113a49,
- 0x185d4b,
- 0xc5446,
- 0x116fcb,
- 0xd804a,
- 0xd8c05,
- 0xde6d0,
- 0x111806,
- 0x192345,
- 0xe3f48,
- 0xe9187,
- 0xe9447,
- 0xff487,
- 0xf4d0a,
- 0xc924a,
- 0x5d306,
- 0x91a0d,
- 0x86ec8,
- 0x55b08,
- 0x56d49,
- 0xb3c45,
- 0xf484c,
- 0xfe88b,
- 0x165044,
- 0xfaa89,
- 0xfacc6,
- 0x1af7c6,
- 0x2dc2,
- 0x125c86,
- 0x107247,
+ 0x34c20c,
+ 0x3523d3,
+ 0x352cd0,
+ 0x3530d0,
+ 0x35398d,
+ 0x353f8c,
+ 0x354b89,
+ 0x35690d,
+ 0x356c53,
+ 0x3595d1,
+ 0x359a13,
+ 0x35a0cf,
+ 0x35a48c,
+ 0x35a78f,
+ 0x35ab4d,
+ 0x35b14f,
+ 0x35b510,
+ 0x35bf8e,
+ 0x35f88e,
+ 0x35fe10,
+ 0x36150d,
+ 0x361e8e,
+ 0x36220c,
+ 0x363213,
+ 0x3658ce,
+ 0x365f50,
+ 0x366351,
+ 0x36678f,
+ 0x366b53,
+ 0x3672cd,
+ 0x36760f,
+ 0x3679ce,
+ 0x368090,
+ 0x368489,
+ 0x369210,
+ 0x36980f,
+ 0x369e8f,
+ 0x36a252,
+ 0x36dcce,
+ 0x36e7cd,
+ 0x36f00d,
+ 0x36f34d,
+ 0x37078d,
+ 0x370acd,
+ 0x370e10,
+ 0x37120b,
+ 0x371a8c,
+ 0x371e0c,
+ 0x37240c,
+ 0x37270e,
+ 0x382350,
+ 0x384512,
+ 0x38498b,
+ 0x384e8e,
+ 0x38520e,
+ 0x386dce,
+ 0x38724b,
+ 0x53388016,
+ 0x38988d,
+ 0x38a014,
+ 0x38b04d,
+ 0x38cd55,
+ 0x38e30d,
+ 0x38ec8f,
+ 0x38f4cf,
+ 0x39238f,
+ 0x39274e,
+ 0x392ccd,
+ 0x394091,
+ 0x39668c,
+ 0x39698c,
+ 0x396c8b,
+ 0x39710c,
+ 0x3974cf,
+ 0x397892,
+ 0x39824d,
+ 0x39974c,
+ 0x399bcc,
+ 0x399ecd,
+ 0x39a20f,
+ 0x39a5ce,
+ 0x39d70c,
+ 0x39dccd,
+ 0x39e00b,
+ 0x39e9cc,
+ 0x39f2cd,
+ 0x39f60e,
+ 0x39f989,
+ 0x3a1353,
+ 0x3a188d,
+ 0x3a1bcd,
+ 0x3a21cc,
+ 0x3a264e,
+ 0x3a37cf,
+ 0x3a3b8c,
+ 0x3a3e8d,
+ 0x3a41cf,
+ 0x3a458c,
+ 0x3a508c,
+ 0x3a550c,
+ 0x3a580c,
+ 0x3a5ecd,
+ 0x3a6212,
+ 0x3a688c,
+ 0x3a6b8c,
+ 0x3a6e91,
+ 0x3a72cf,
+ 0x3a768f,
+ 0x3a7a53,
+ 0x3a8a0e,
+ 0x3a8d8f,
+ 0x3a914c,
+ 0x537a948e,
+ 0x3a980f,
+ 0x3a9bd6,
+ 0x3aaa92,
+ 0x3acf0c,
+ 0x3ada0f,
+ 0x3ae08d,
+ 0x3ae3cf,
+ 0x3ae78c,
+ 0x3aea8d,
+ 0x3aedcd,
+ 0x3b084e,
+ 0x3b228c,
+ 0x3b258c,
+ 0x3b2890,
+ 0x3b57d1,
+ 0x3b5c0b,
+ 0x3b5f4c,
+ 0x3b624e,
+ 0x3b7211,
+ 0x3b764e,
+ 0x3b79cd,
+ 0x3bc7cb,
+ 0x3bd88f,
+ 0x3be394,
+ 0x210642,
+ 0x210642,
+ 0x204d43,
+ 0x210642,
+ 0x204d43,
+ 0x210642,
+ 0x2009c2,
+ 0x394505,
+ 0x3b6f0c,
+ 0x210642,
+ 0x210642,
+ 0x2009c2,
+ 0x210642,
+ 0x29c345,
+ 0x21bc05,
+ 0x210642,
+ 0x210642,
+ 0x201102,
+ 0x29c345,
+ 0x326b49,
+ 0x3592cc,
+ 0x210642,
+ 0x210642,
+ 0x210642,
+ 0x210642,
+ 0x394505,
+ 0x210642,
+ 0x210642,
+ 0x210642,
+ 0x210642,
+ 0x201102,
+ 0x326b49,
+ 0x210642,
+ 0x210642,
+ 0x210642,
+ 0x21bc05,
+ 0x210642,
+ 0x21bc05,
+ 0x3592cc,
+ 0x3b6f0c,
+ 0x39c783,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x208e83,
+ 0x201a03,
+ 0xe008,
+ 0x64344,
+ 0xe03,
+ 0xc63c8,
+ 0x207102,
+ 0x5460f882,
+ 0x24ac83,
+ 0x23f044,
+ 0x2020c3,
+ 0x39e544,
+ 0x23a1c6,
+ 0x216f83,
+ 0x304704,
+ 0x2d7b05,
+ 0x28cac3,
+ 0x208e83,
+ 0x1a3443,
+ 0x201a03,
+ 0x243d0a,
+ 0x3821c6,
+ 0x38558c,
+ 0x16fb88,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x229443,
+ 0x20c0c6,
+ 0x208e83,
+ 0x201a03,
+ 0x221483,
+ 0xac408,
+ 0x131645,
+ 0x35f09,
+ 0x35c2,
+ 0x55b95645,
+ 0x26547,
+ 0xba9c8,
+ 0x14b0e,
+ 0x90212,
+ 0x10a78b,
+ 0x1398c6,
+ 0x55edf485,
+ 0x562df48c,
+ 0x148f87,
+ 0x36dc7,
+ 0x15000a,
+ 0x46690,
+ 0x13b345,
+ 0xb610b,
+ 0xf8d08,
+ 0x3e607,
+ 0x3af8b,
+ 0x57f89,
+ 0x185a87,
+ 0x81a87,
+ 0x7e4c7,
+ 0x3e546,
+ 0xdd088,
+ 0x56824386,
+ 0xb084d,
+ 0x14f9d0,
+ 0x56c0c182,
+ 0x8ca48,
+ 0x4f450,
+ 0x15090c,
+ 0x5735cd4d,
+ 0x64a88,
+ 0x721c7,
+ 0x76f09,
+ 0x5d3c6,
+ 0x9bec8,
+ 0x351c2,
+ 0xa808a,
+ 0x293c7,
+ 0x43b87,
+ 0xac7c9,
+ 0xae208,
+ 0x8b205,
+ 0xd538e,
+ 0x5c4e,
+ 0x17a8f,
+ 0x18009,
+ 0x164ec9,
+ 0x15d38b,
+ 0x7ba8f,
+ 0xee40c,
+ 0xa88cb,
+ 0xc8b48,
+ 0xd6347,
+ 0xdbe88,
+ 0xfe78b,
+ 0xff34c,
+ 0x10038c,
+ 0x1037cc,
+ 0x10b54d,
+ 0x3ef48,
+ 0xd2942,
+ 0x134649,
+ 0x195d8b,
+ 0xcd546,
+ 0x11f30b,
+ 0xe118a,
+ 0xe1d45,
+ 0xe67d0,
+ 0xe9f06,
+ 0x16b986,
+ 0x11205,
+ 0x10fc48,
+ 0xefd07,
+ 0xeffc7,
+ 0x8d047,
+ 0xfe04a,
+ 0xba84a,
+ 0x86286,
+ 0x99d0d,
+ 0x8f148,
+ 0x586c8,
+ 0x58ec9,
+ 0xbc8c5,
+ 0x1ad70c,
+ 0x10b74b,
+ 0x19e604,
+ 0x105e09,
+ 0x106046,
+ 0x16546,
+ 0x2642,
+ 0x12cf06,
+ 0xc68b,
+ 0x112707,
+ 0x4542,
+ 0xd1305,
+ 0x2e604,
+ 0x8c1,
+ 0x52d03,
+ 0x56764886,
+ 0x9c243,
0x7b02,
- 0xc83c5,
- 0x29544,
- 0x1ec1,
- 0x4c983,
- 0x53a85146,
- 0x94443,
- 0xd882,
- 0x27f04,
+ 0x293c4,
0x242,
- 0x5ef44,
- 0x3dc2,
- 0x8142,
- 0x2502,
- 0x10f242,
- 0x1ec2,
- 0xd6a42,
- 0x4142,
- 0x1b102,
- 0x2cd82,
- 0x5742,
- 0xdc2,
- 0xf882,
- 0x32403,
- 0x5f02,
- 0x7c2,
- 0x18342,
- 0xfc82,
- 0x5e82,
- 0x1ae02,
- 0x17f42,
- 0x15c2,
- 0x29c2,
- 0x1fc2,
- 0x44183,
- 0x3942,
+ 0x86644,
+ 0xf82,
0x6502,
- 0xafd42,
- 0xbe02,
- 0x282,
- 0x4bc2,
- 0x1f42,
- 0xa8542,
- 0x2342,
- 0x152bc2,
- 0x675c2,
- 0x2c82,
- 0x5503,
+ 0x3302,
+ 0xd342,
+ 0x1382,
+ 0xdf482,
0x8c2,
- 0x8442,
- 0x33c2,
- 0xb482,
- 0x49245,
- 0xba02,
- 0x2d4c2,
- 0x3c083,
+ 0x22902,
+ 0x40e82,
+ 0x1a442,
+ 0x4c82,
+ 0x234c2,
+ 0x3cac3,
+ 0x6b82,
+ 0x1842,
+ 0x7602,
+ 0x6b02,
+ 0x17202,
+ 0x36d02,
+ 0x206c2,
+ 0xc442,
+ 0x1c82,
+ 0x942,
+ 0x55783,
+ 0x4182,
+ 0x2542,
+ 0xb8042,
+ 0x9a02,
+ 0x282,
+ 0x2942,
+ 0xd842,
+ 0xc202,
+ 0x4a82,
+ 0x182842,
+ 0x745c2,
+ 0xe82,
+ 0x8e83,
+ 0x1942,
+ 0x6802,
+ 0x982,
+ 0x5b82,
+ 0x18ad45,
+ 0x7082,
+ 0x2fa42,
+ 0x13ebc3,
0x482,
- 0x1c42,
- 0x27c2,
- 0x3902,
- 0x1102,
- 0x1442,
+ 0xb282,
+ 0xa02,
+ 0x2502,
+ 0x6742,
+ 0xd42,
0xc2,
- 0x2dc2,
- 0x9885,
- 0x75c47,
- 0x212503,
- 0x205702,
- 0x2a84c3,
- 0x232403,
- 0x2163c3,
- 0x20ad83,
- 0x227f83,
- 0x205503,
- 0x204e83,
- 0x200983,
- 0x294483,
- 0x169c3,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2163c3,
- 0x209703,
- 0x205503,
- 0x204e83,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
+ 0x2642,
+ 0x35dc5,
+ 0x17f087,
+ 0x20d0c3,
+ 0x207102,
+ 0x238543,
+ 0x23cac3,
+ 0x21b583,
+ 0x2046c3,
+ 0x229443,
+ 0x208e83,
+ 0x200e03,
+ 0x201a03,
+ 0x29c283,
+ 0x10c3,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x21b583,
+ 0x28cac3,
+ 0x208e83,
+ 0x200e03,
+ 0x1a3443,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
0x200041,
- 0x209703,
- 0x205503,
- 0x21c2c3,
- 0x200983,
- 0x38d2c3,
- 0x2a84c3,
- 0x232403,
- 0x209683,
- 0x2163c3,
- 0x277dc3,
- 0x280b83,
- 0x21c303,
- 0x252c03,
- 0x2e9dc3,
- 0x3b1384,
- 0x205503,
- 0x200983,
- 0x25ed03,
- 0x352e84,
- 0x231a03,
- 0x30c3,
- 0x228483,
- 0x37a908,
- 0x24f3c4,
- 0x3b870a,
- 0x2b8ec6,
- 0x1b6a04,
- 0x39b2c7,
- 0x21e7ca,
- 0x315bc9,
- 0x3ab587,
- 0x3b724a,
- 0x38d2c3,
- 0x2e678b,
- 0x2b9fc9,
- 0x2bd645,
- 0x2d1fc7,
- 0x99c2,
- 0x2a84c3,
- 0x205747,
- 0x2e2b85,
- 0x2dbdc9,
- 0x232403,
- 0x233c06,
- 0x2c1a43,
- 0xdb283,
- 0x104e46,
- 0x18ec46,
- 0xe807,
- 0x212e46,
- 0x21b185,
- 0x282407,
- 0x2d5b87,
- 0x56ae9dc3,
- 0x336647,
- 0x365e03,
- 0x206a05,
- 0x3b1384,
- 0x220688,
- 0x38644c,
- 0x2ad745,
- 0x29c986,
- 0x205607,
- 0x38b907,
- 0x238347,
- 0x245108,
- 0x303b8f,
- 0x315e05,
- 0x23dcc7,
- 0x26f287,
- 0x2a3e0a,
- 0x2d2809,
- 0x304f85,
- 0x30664a,
- 0x82a06,
- 0x2c1ac5,
- 0x374b84,
- 0x2843c6,
- 0x2f1d47,
- 0x2eaa07,
- 0x3bb408,
- 0x22dc85,
- 0x2e2a86,
- 0x214305,
- 0x3adcc5,
- 0x21c984,
- 0x2af347,
- 0x2081ca,
- 0x334808,
- 0x35ba86,
- 0x27f83,
- 0x2da905,
- 0x25f906,
- 0x3af246,
- 0x392246,
- 0x209703,
- 0x388a07,
- 0x26f205,
- 0x205503,
- 0x2d830d,
- 0x204e83,
- 0x3bb508,
- 0x27f404,
- 0x272fc5,
- 0x2a3d06,
- 0x234d46,
- 0x368007,
- 0x2a6ec7,
- 0x267345,
- 0x200983,
- 0x21fbc7,
- 0x2788c9,
- 0x311a49,
- 0x22708a,
- 0x243002,
- 0x2069c4,
- 0x2e5084,
- 0x390207,
- 0x22cf88,
- 0x2ea2c9,
- 0x21eac9,
- 0x2eaf47,
- 0x2ba486,
- 0xec286,
- 0x2ed844,
- 0x2ede4a,
- 0x2f0d48,
- 0x2f1189,
- 0x2bdbc6,
- 0x2b1445,
- 0x3346c8,
- 0x2c5f8a,
- 0x22ed03,
- 0x353006,
- 0x2eb047,
- 0x223ec5,
- 0x3a5e05,
- 0x264b83,
- 0x250cc4,
- 0x226605,
- 0x281b07,
- 0x2faf85,
- 0x2ee346,
- 0xfc605,
- 0x247d83,
- 0x357bc9,
- 0x272d8c,
- 0x29344c,
- 0x2ced08,
- 0x293087,
- 0x2f7908,
- 0x2f7c4a,
- 0x2f888b,
- 0x2ba108,
- 0x234e48,
- 0x239586,
- 0x390d45,
- 0x38da4a,
- 0x3a6205,
- 0x20b0c2,
- 0x2c4647,
- 0x25fe86,
- 0x35c8c5,
- 0x370809,
- 0x2f39c5,
- 0x27e985,
- 0x2ddf09,
- 0x351846,
- 0x237e88,
- 0x33f383,
- 0x20f486,
- 0x272146,
- 0x306445,
- 0x306449,
- 0x2b6789,
- 0x279ac7,
- 0x109104,
- 0x309107,
- 0x21e9c9,
- 0x238d05,
- 0x413c8,
- 0x3b2e85,
- 0x330e85,
- 0x380509,
- 0x201702,
- 0x25e544,
- 0x201e82,
- 0x203942,
- 0x31ecc5,
- 0x3b6788,
- 0x2b3b85,
- 0x2c3ac3,
- 0x2c3ac5,
- 0x2d2383,
- 0x20f442,
- 0x377804,
- 0x2ac783,
- 0x2056c2,
- 0x379884,
- 0x2e5d43,
- 0x2082c2,
- 0x2b3c03,
- 0x28d084,
- 0x2e4c83,
- 0x248684,
- 0x203082,
- 0x218943,
- 0x22ef03,
- 0x200d02,
- 0x361782,
- 0x2b65c9,
- 0x207842,
- 0x288d04,
- 0x203cc2,
- 0x334544,
- 0x2ba444,
- 0x2b74c4,
- 0x202dc2,
- 0x2391c2,
- 0x225bc3,
- 0x2f8403,
- 0x23d904,
- 0x281c84,
- 0x2eb1c4,
- 0x2f0f04,
- 0x30a483,
- 0x26e543,
- 0x282984,
- 0x30a2c4,
- 0x30aac6,
- 0x22a282,
- 0x2099c2,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x205702,
- 0x38d2c3,
- 0x2a84c3,
- 0x232403,
- 0x2007c3,
- 0x2e9dc3,
- 0x3b1384,
- 0x2b6884,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x201303,
- 0x2ee644,
- 0x31a403,
- 0x2bd0c3,
- 0x34ab84,
- 0x3b2c86,
- 0x202f03,
- 0x16fc07,
- 0x222403,
- 0x2459c3,
- 0x2b0543,
- 0x206a43,
- 0x227f83,
- 0x2d6cc5,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x282c43,
- 0x2a5143,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x244183,
- 0x205503,
- 0x23a504,
- 0x200983,
- 0x26bec4,
- 0x2bf145,
- 0x16fc07,
- 0x2099c2,
- 0x2006c2,
- 0x20d882,
- 0x200c82,
+ 0x28cac3,
+ 0x208e83,
+ 0x21b543,
+ 0x201a03,
+ 0x146f44,
+ 0x39c783,
+ 0x238543,
+ 0x23cac3,
+ 0x26eac3,
+ 0x21b583,
+ 0x207b03,
+ 0x289303,
+ 0x219983,
+ 0x241503,
+ 0x323043,
+ 0x231604,
+ 0x208e83,
+ 0x201a03,
+ 0x202443,
+ 0x333cc4,
+ 0x251183,
+ 0x3ec3,
+ 0x3c0943,
+ 0x20a3c8,
+ 0x271dc4,
+ 0x2cf30a,
+ 0x2bed86,
+ 0x112384,
+ 0x3a7ec7,
+ 0x226cca,
+ 0x2e38c9,
+ 0x3b7f87,
+ 0x3be84a,
+ 0x39c783,
+ 0x2e774b,
+ 0x28b689,
+ 0x345285,
+ 0x2da5c7,
+ 0xf882,
+ 0x238543,
+ 0x21a447,
+ 0x2379c5,
+ 0x2ca689,
+ 0x23cac3,
+ 0x2bd606,
+ 0x2c9883,
+ 0xe5743,
+ 0x110646,
+ 0xd386,
+ 0x16f07,
+ 0x21af86,
+ 0x222985,
+ 0x3a3147,
+ 0x2de5c7,
+ 0x59b23043,
+ 0x33dc07,
+ 0x374703,
+ 0x3b5045,
+ 0x231604,
+ 0x231308,
+ 0x366fcc,
+ 0x2b4fc5,
+ 0x2aa4c6,
+ 0x21a307,
+ 0x39b687,
+ 0x23dfc7,
+ 0x23f108,
+ 0x30f50f,
+ 0x2e3b05,
+ 0x24ad87,
+ 0x33acc7,
+ 0x2abdca,
+ 0x2d29c9,
+ 0x39e6c5,
+ 0x31078a,
+ 0xc546,
+ 0x2c9905,
+ 0x3703c4,
+ 0x2c6e86,
+ 0x300e07,
+ 0x2d2847,
+ 0x306908,
+ 0x217645,
+ 0x2378c6,
+ 0x214f85,
+ 0x2e8105,
+ 0x21ba04,
+ 0x2b6e07,
+ 0x20658a,
+ 0x34d908,
+ 0x367f06,
+ 0x29443,
+ 0x2e4505,
+ 0x26bf86,
+ 0x3babc6,
+ 0x211106,
+ 0x28cac3,
+ 0x3984c7,
+ 0x33ac45,
+ 0x208e83,
+ 0x2e144d,
+ 0x200e03,
+ 0x306a08,
+ 0x3b3644,
+ 0x310945,
+ 0x2abcc6,
+ 0x23f386,
+ 0x208947,
+ 0x2aed47,
+ 0x26f045,
+ 0x201a03,
+ 0x20a147,
+ 0x277089,
+ 0x36bbc9,
+ 0x227f4a,
+ 0x235d82,
+ 0x3b5004,
+ 0x2eb2c4,
+ 0x344487,
+ 0x22f508,
+ 0x2f0889,
+ 0x226fc9,
+ 0x2f1ac7,
+ 0x28bb46,
+ 0xf3006,
+ 0x2f4544,
+ 0x2f4b4a,
+ 0x2f8248,
+ 0x2f9049,
+ 0x2c4bc6,
+ 0x2b9545,
+ 0x34d7c8,
+ 0x2cdc4a,
+ 0x20ec43,
+ 0x333e46,
+ 0x2f1bc7,
+ 0x225f45,
+ 0x3b3505,
+ 0x3a04c3,
+ 0x231944,
+ 0x230645,
+ 0x28a287,
+ 0x307b05,
+ 0x2ef086,
+ 0x103d45,
+ 0x273bc3,
+ 0x273bc9,
+ 0x26c04c,
+ 0x2a2b4c,
+ 0x2d8648,
+ 0x284187,
+ 0x301e08,
+ 0x30214a,
+ 0x302fcb,
+ 0x28b7c8,
+ 0x23ec48,
+ 0x23f486,
+ 0x345045,
+ 0x34624a,
+ 0x228cc5,
+ 0x205082,
+ 0x2cbd87,
+ 0x29f806,
+ 0x368d45,
+ 0x304209,
+ 0x281405,
+ 0x3716c5,
+ 0x218ac9,
+ 0x388a46,
+ 0x204448,
+ 0x332643,
+ 0x217186,
+ 0x27cf86,
+ 0x311f05,
+ 0x311f09,
+ 0x2f0fc9,
+ 0x27a3c7,
+ 0x114204,
+ 0x314207,
+ 0x226ec9,
+ 0x23f805,
+ 0x444c8,
+ 0x39c485,
+ 0x341a05,
+ 0x3911c9,
+ 0x20cac2,
+ 0x2628c4,
+ 0x200882,
+ 0x204182,
+ 0x30e985,
+ 0x312108,
+ 0x2bc805,
+ 0x2cb603,
+ 0x2cb605,
+ 0x2da983,
+ 0x2162c2,
+ 0x383c84,
+ 0x2fc183,
+ 0x20cb42,
+ 0x341504,
+ 0x2ec043,
+ 0x206682,
+ 0x28cfc3,
+ 0x295384,
+ 0x2eae03,
+ 0x2f6584,
+ 0x204242,
+ 0x221383,
+ 0x219c43,
+ 0x206182,
+ 0x332182,
+ 0x2f0e09,
+ 0x204382,
+ 0x290d84,
+ 0x201f82,
+ 0x34d644,
+ 0x28bb04,
+ 0x2c0d84,
+ 0x202642,
+ 0x23e882,
+ 0x229703,
+ 0x302d83,
+ 0x24a9c4,
+ 0x28a404,
+ 0x2f1d44,
+ 0x2f8404,
+ 0x315743,
+ 0x224183,
+ 0x20c4c4,
+ 0x315584,
+ 0x315d86,
+ 0x232ec2,
+ 0x20f882,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x207102,
+ 0x39c783,
+ 0x238543,
+ 0x23cac3,
+ 0x201843,
+ 0x323043,
+ 0x231604,
+ 0x2f10c4,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x221483,
+ 0x2f5204,
+ 0x31fe83,
+ 0x2c37c3,
+ 0x359e44,
+ 0x39c286,
+ 0x211c43,
+ 0x36dc7,
+ 0x21f243,
+ 0x202103,
+ 0x2b8d83,
+ 0x263a43,
+ 0x229443,
+ 0x3321c5,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x216403,
+ 0x239043,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x255783,
+ 0x208e83,
+ 0x2464c4,
+ 0x1a3443,
+ 0x201a03,
+ 0x25b0c4,
+ 0x2c6c85,
+ 0x36dc7,
+ 0x20f882,
+ 0x201742,
+ 0x207b02,
+ 0x204d42,
+ 0xe03,
0x200442,
- 0x2a84c3,
- 0x235ac4,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x214843,
- 0x25ef44,
- 0x16d208,
- 0x2a84c3,
- 0x204e83,
- 0x169c3,
- 0x2030c4,
- 0x16d208,
- 0x2a84c3,
- 0x249944,
- 0x3b1384,
- 0x204e83,
- 0x203ec2,
- 0x200983,
- 0x23e743,
- 0x50cc4,
- 0x373605,
- 0x20b0c2,
- 0x30a403,
- 0x205702,
- 0x16d208,
- 0x2099c2,
- 0x232403,
- 0x2e9dc3,
- 0x201fc2,
- 0x200983,
- 0x205702,
- 0x1b7407,
- 0x12e3c9,
- 0x6f83,
- 0x16d208,
- 0x18ebc3,
- 0x5a31fd87,
- 0xa84c3,
- 0x708,
- 0x232403,
- 0x2e9dc3,
- 0x1ae886,
- 0x244183,
- 0x8f2c8,
- 0xc0e08,
- 0x41a46,
- 0x209703,
- 0xca988,
- 0xb1b43,
- 0xdf145,
- 0x32607,
- 0x8003,
- 0x174c0a,
- 0x11ed83,
- 0x308d44,
- 0x10398b,
- 0x103f48,
- 0x8d742,
- 0x205702,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x2d5f04,
- 0x2e9dc3,
- 0x244183,
- 0x209703,
- 0x205503,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x227f83,
- 0x205503,
- 0x200983,
- 0x21aa03,
- 0x214843,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x169c3,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x227f83,
- 0x205503,
- 0x200983,
- 0x212982,
+ 0x238543,
+ 0x240244,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x21bf84,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
+ 0x215443,
+ 0x286644,
+ 0x16fb88,
+ 0x238543,
+ 0x200e03,
+ 0x10c3,
+ 0x13e8c4,
+ 0x252044,
+ 0x16fb88,
+ 0x238543,
+ 0x253384,
+ 0x231604,
+ 0x200e03,
+ 0x2014c2,
+ 0x201a03,
+ 0x20c843,
+ 0x31944,
+ 0x355685,
+ 0x205082,
+ 0x3156c3,
+ 0x145c49,
+ 0xdfb46,
+ 0x19c588,
+ 0x207102,
+ 0x16fb88,
+ 0x20f882,
+ 0x23cac3,
+ 0x323043,
+ 0x200942,
+ 0xe03,
+ 0x201a03,
+ 0x207102,
+ 0x1bea07,
+ 0x1370c9,
+ 0x3dc3,
+ 0x16fb88,
+ 0xd303,
+ 0x5db4c807,
+ 0x38543,
+ 0x1788,
+ 0x23cac3,
+ 0x323043,
+ 0x186c46,
+ 0x255783,
+ 0xe8888,
+ 0xc9148,
+ 0x3fbc6,
+ 0x28cac3,
+ 0xd30c8,
+ 0x187ec3,
+ 0xe8a85,
+ 0x3ccc7,
+ 0x8e83,
+ 0x63c3,
+ 0x1a03,
+ 0xcb02,
+ 0x17044a,
+ 0x10ea43,
+ 0x313e44,
+ 0x10f30b,
+ 0x10f8c8,
+ 0x95e02,
+ 0x207102,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x2de944,
+ 0x323043,
+ 0x255783,
+ 0x28cac3,
+ 0x208e83,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x229443,
+ 0x208e83,
+ 0x201a03,
+ 0x236903,
+ 0x215443,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x10c3,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x229443,
+ 0x208e83,
+ 0x201a03,
+ 0x21a902,
0x200141,
- 0x205702,
+ 0x207102,
0x200001,
- 0x320b82,
- 0x16d208,
- 0x21d445,
- 0x201ec1,
- 0xa84c3,
- 0x200701,
+ 0x327e02,
+ 0x16fb88,
+ 0x224c85,
+ 0x2008c1,
+ 0x38543,
+ 0x201781,
0x200301,
0x200081,
- 0x298602,
- 0x36c044,
- 0x384383,
+ 0x2ac602,
+ 0x37cc44,
+ 0x394483,
0x200181,
0x200401,
0x200041,
0x200101,
- 0x2e9907,
- 0x2eab8f,
- 0x340446,
+ 0x2ea547,
+ 0x2ec54f,
+ 0x2fbc06,
0x200281,
- 0x37f6c6,
- 0x200e81,
- 0x2008c1,
- 0x332a0e,
+ 0x33e906,
+ 0x200801,
+ 0x200981,
+ 0x306f8e,
0x200441,
- 0x200983,
- 0x201301,
- 0x270e85,
- 0x20f942,
- 0x264a85,
+ 0x201a03,
+ 0x204101,
+ 0x258885,
+ 0x20cb02,
+ 0x3a03c5,
0x200341,
- 0x200801,
+ 0x200741,
0x2002c1,
- 0x20b0c2,
+ 0x205082,
0x2000c1,
0x200201,
- 0x200bc1,
+ 0x200c81,
0x2005c1,
- 0x201cc1,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x219503,
- 0x2a84c3,
- 0x2e9dc3,
- 0x8d688,
- 0x209703,
- 0x205503,
- 0x20803,
- 0x200983,
- 0x14e7e88,
- 0x16d208,
- 0x44e04,
- 0x14e7e8a,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x205503,
- 0x200983,
- 0x2030c3,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2d5f04,
- 0x200983,
- 0x27a305,
- 0x33b804,
- 0x2a84c3,
- 0x205503,
- 0x200983,
- 0x225ca,
- 0xd5284,
- 0x10c9c6,
- 0x2099c2,
- 0x2a84c3,
- 0x230309,
- 0x232403,
- 0x3034c9,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x2ed648,
- 0x22ca47,
- 0x373605,
- 0x18ed88,
- 0x1b7407,
- 0x2d20a,
- 0xecb,
- 0x4ab87,
- 0x3d2c8,
- 0x1b1b8a,
- 0x10a48,
- 0x12e3c9,
- 0x264c7,
- 0x3be87,
- 0x152b08,
- 0x708,
- 0x3df8f,
- 0x11d85,
- 0xa07,
- 0x1ae886,
- 0x137607,
- 0x3d586,
- 0x8f2c8,
- 0xa5606,
- 0x151647,
- 0x19c9,
- 0x1aa1c7,
- 0xa46c9,
- 0xb4a09,
- 0xbeec6,
- 0xc0e08,
- 0xbfcc5,
- 0x4eb4a,
- 0xca988,
- 0xb1b43,
- 0xd2648,
- 0x32607,
- 0x6d505,
- 0x69c50,
- 0x8003,
- 0x1aa047,
- 0x15ec5,
- 0xe9748,
- 0x13ce05,
- 0x11ed83,
- 0x6fd48,
- 0xcd46,
- 0x42849,
- 0xaa147,
- 0x6fa0b,
- 0x14ac44,
- 0xfa544,
- 0x10398b,
- 0x103f48,
- 0x104d47,
- 0x129845,
- 0x2a84c3,
- 0x232403,
- 0x2163c3,
- 0x200983,
- 0x22a403,
- 0x2e9dc3,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x43f8b,
- 0x205702,
- 0x2099c2,
- 0x200983,
- 0x16d208,
- 0x205702,
- 0x2099c2,
- 0x20d882,
- 0x201fc2,
- 0x203d02,
- 0x205503,
+ 0x204541,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x221f43,
+ 0x238543,
+ 0x323043,
+ 0x95d48,
+ 0x28cac3,
+ 0x208e83,
+ 0x31483,
+ 0x201a03,
+ 0x14eec08,
+ 0x16308,
+ 0x16fb88,
+ 0xe03,
+ 0x8e444,
+ 0x4ec04,
+ 0x14eec0a,
+ 0x16fb88,
+ 0x1a3443,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x208e83,
+ 0x201a03,
+ 0x203ec3,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x2de944,
+ 0x201a03,
+ 0x22d585,
+ 0x35f2c4,
+ 0x238543,
+ 0x208e83,
+ 0x201a03,
+ 0x1f40a,
+ 0xf1844,
+ 0x118b06,
+ 0x20f882,
+ 0x238543,
+ 0x23adc9,
+ 0x23cac3,
+ 0x375449,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x2f4348,
+ 0x22dc07,
+ 0x355685,
+ 0xb4c8,
+ 0x1bea07,
+ 0x2f78a,
+ 0x178ccb,
+ 0x13c507,
+ 0x4a4c8,
+ 0x14f64a,
+ 0x19dc8,
+ 0x1370c9,
+ 0x30507,
+ 0x742c7,
+ 0x19bf08,
+ 0x1788,
+ 0x4b04f,
+ 0x1c045,
+ 0x1a87,
+ 0x186c46,
+ 0x41287,
+ 0x4a786,
+ 0xe8888,
+ 0x96fc6,
+ 0x188847,
+ 0x178809,
+ 0x1bf307,
+ 0xd81c9,
+ 0xbcbc9,
+ 0xc6a06,
+ 0xc9148,
+ 0xc7845,
+ 0x57b0a,
+ 0xd30c8,
+ 0x187ec3,
+ 0xdad48,
+ 0x3ccc7,
+ 0x131f45,
+ 0x787d0,
+ 0x63c3,
+ 0x1a3443,
+ 0x125807,
+ 0x1cc85,
+ 0xf02c8,
+ 0xe385,
+ 0x10ea43,
+ 0x16d5c8,
+ 0x12906,
+ 0x198909,
+ 0xb2007,
+ 0x145f0b,
+ 0x180884,
+ 0x104f04,
+ 0x10f30b,
+ 0x10f8c8,
+ 0x110547,
+ 0x131645,
+ 0x238543,
+ 0x23cac3,
+ 0x21b583,
+ 0x201a03,
+ 0x20c743,
+ 0x323043,
+ 0x1a3443,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x15d4cb,
+ 0x207102,
+ 0x20f882,
+ 0x201a03,
+ 0x16fb88,
+ 0x207102,
+ 0x20f882,
+ 0x207b02,
+ 0x200942,
+ 0x20b302,
+ 0x208e83,
0x200442,
- 0x205702,
- 0x38d2c3,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x20d882,
- 0x2e9dc3,
- 0x244183,
- 0x209703,
- 0x211cc4,
- 0x205503,
- 0x216b03,
- 0x200983,
- 0x308d44,
- 0x25ed03,
- 0x2e9dc3,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x204e83,
- 0x200983,
- 0x39f847,
- 0x2a84c3,
- 0x2614c7,
- 0x2c7ac6,
- 0x219203,
- 0x218343,
- 0x2e9dc3,
- 0x2143c3,
- 0x3b1384,
- 0x37ef04,
- 0x31ea46,
- 0x20d143,
- 0x205503,
- 0x200983,
- 0x27a305,
- 0x318284,
- 0x3b2a43,
- 0x38b743,
- 0x2c4647,
- 0x33e885,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x28e87,
- 0x205942,
- 0x287003,
- 0x2bf143,
- 0x38d2c3,
- 0x626a84c3,
- 0x202242,
- 0x232403,
- 0x2032c3,
- 0x2e9dc3,
- 0x3b1384,
- 0x353903,
- 0x315e03,
- 0x209703,
- 0x211cc4,
- 0x62a04642,
- 0x205503,
- 0x200983,
- 0x2082c3,
- 0x229543,
- 0x212982,
- 0x25ed03,
- 0x16d208,
- 0x2e9dc3,
- 0x169c3,
- 0x26f744,
- 0x38d2c3,
- 0x2099c2,
- 0x2a84c3,
- 0x235ac4,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x244183,
- 0x282104,
- 0x210444,
- 0x2d43c6,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x201303,
- 0x25fe86,
- 0x13f08b,
- 0x1cdc6,
- 0x5eb4a,
- 0x107e4a,
- 0x16d208,
- 0x2142c4,
- 0x63ea84c3,
- 0x38d284,
- 0x232403,
- 0x256e84,
- 0x2e9dc3,
- 0x391683,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x56243,
- 0x32f78b,
- 0x3a140a,
- 0x3b9bcc,
- 0xda688,
- 0x205702,
- 0x2099c2,
- 0x20d882,
- 0x2a9305,
- 0x3b1384,
- 0x202342,
- 0x209703,
- 0x210444,
- 0x200c82,
+ 0x207102,
+ 0x39c783,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x207b02,
+ 0x323043,
+ 0x255783,
+ 0x28cac3,
+ 0x21bf84,
+ 0x208e83,
+ 0x21eb43,
+ 0x201a03,
+ 0x313e44,
+ 0x202443,
+ 0x323043,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x200e03,
+ 0x201a03,
+ 0x3ad3c7,
+ 0x238543,
+ 0x282c07,
+ 0x2d7f86,
+ 0x20e583,
+ 0x207603,
+ 0x323043,
+ 0x204c03,
+ 0x231604,
+ 0x2d5204,
+ 0x30e706,
+ 0x20bd43,
+ 0x208e83,
+ 0x201a03,
+ 0x22d585,
+ 0x321704,
+ 0x350503,
+ 0x39b4c3,
+ 0x2cbd87,
+ 0x342d45,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x99807,
+ 0x203402,
+ 0x28f283,
+ 0x205403,
+ 0x39c783,
+ 0x65e38543,
+ 0x206902,
+ 0x23cac3,
+ 0x2020c3,
+ 0x323043,
+ 0x231604,
+ 0x3797c3,
+ 0x2e3b03,
+ 0x28cac3,
+ 0x21bf84,
+ 0x6620ea42,
+ 0x208e83,
+ 0x201a03,
+ 0x206683,
+ 0x22e603,
+ 0x21a902,
+ 0x202443,
+ 0x16fb88,
+ 0x323043,
+ 0x10c3,
+ 0x31f944,
+ 0x39c783,
+ 0x20f882,
+ 0x238543,
+ 0x240244,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x255783,
+ 0x3a2e44,
+ 0x20f644,
+ 0x20c0c6,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x221483,
+ 0x29f806,
+ 0x4504b,
+ 0x24386,
+ 0x3204a,
+ 0x112d0a,
+ 0x16fb88,
+ 0x214f44,
+ 0x67638543,
+ 0x39c744,
+ 0x23cac3,
+ 0x259004,
+ 0x323043,
+ 0x210543,
+ 0x28cac3,
+ 0x208e83,
+ 0x1a3443,
+ 0x201a03,
+ 0xbac3,
+ 0x3381cb,
+ 0x3af10a,
+ 0x3bf84c,
+ 0xe4288,
+ 0x207102,
+ 0x20f882,
+ 0x207b02,
+ 0x2b13c5,
+ 0x231604,
+ 0x204a82,
+ 0x28cac3,
+ 0x20f644,
+ 0x204d42,
0x200442,
- 0x209842,
- 0x212982,
- 0x18d2c3,
- 0x19f02,
- 0x2a1cc9,
- 0x25d548,
- 0x309a89,
- 0x337449,
- 0x23490a,
- 0x23634a,
- 0x20cc02,
- 0x21b102,
- 0x99c2,
- 0x2a84c3,
- 0x204682,
- 0x23de86,
- 0x35d882,
- 0x201242,
- 0x20124e,
- 0x21898e,
- 0x27b107,
- 0x205487,
- 0x275d02,
- 0x232403,
- 0x2e9dc3,
+ 0x20d2c2,
+ 0x21a902,
+ 0x19c783,
+ 0x35f42,
+ 0x2b3509,
+ 0x2f7148,
+ 0x351689,
+ 0x2410c9,
+ 0x350f0a,
+ 0x26080a,
+ 0x2127c2,
+ 0x222902,
+ 0xf882,
+ 0x238543,
+ 0x229682,
+ 0x24af46,
+ 0x369d02,
+ 0x206a42,
+ 0x37904e,
+ 0x2213ce,
+ 0x284b47,
+ 0x208e07,
+ 0x2ec8c2,
+ 0x23cac3,
+ 0x323043,
0x200042,
- 0x201fc2,
- 0x4a5c3,
- 0x2eec0f,
- 0x200f42,
- 0x32c787,
- 0x2c7d07,
- 0x2d3907,
- 0x2ad24c,
- 0x3151cc,
- 0x3a3a44,
- 0x27c6ca,
- 0x2188c2,
- 0x20be02,
- 0x2b6fc4,
- 0x2226c2,
- 0x2c2702,
- 0x315404,
- 0x20cec2,
+ 0x200942,
+ 0x31603,
+ 0x23980f,
+ 0x20b542,
+ 0x2dd887,
+ 0x2b4a87,
+ 0x2b7e87,
+ 0x31a4cc,
+ 0x2c448c,
+ 0x223984,
+ 0x285b0a,
+ 0x221302,
+ 0x209a02,
+ 0x2c0884,
+ 0x21f502,
+ 0x2ca102,
+ 0x2c46c4,
+ 0x21a602,
0x200282,
- 0x6343,
- 0x2a5687,
- 0x2352c5,
- 0x201f42,
- 0x2eeb84,
- 0x352bc2,
- 0x2da248,
- 0x205503,
- 0x3b0208,
- 0x200d42,
- 0x233385,
- 0x3b04c6,
- 0x200983,
- 0x20ba02,
- 0x2ea507,
- 0xf942,
- 0x26b005,
- 0x3a9f45,
- 0x201642,
- 0x242b02,
- 0x3b7a8a,
- 0x2671ca,
- 0x202c42,
- 0x2e4744,
+ 0x11a83,
+ 0x297047,
+ 0x2beb05,
+ 0x20d842,
+ 0x239784,
+ 0x382842,
+ 0x2e3008,
+ 0x208e83,
+ 0x203488,
+ 0x203cc2,
+ 0x223b45,
+ 0x38dbc6,
+ 0x201a03,
+ 0x207082,
+ 0x2f0ac7,
+ 0xcb02,
+ 0x2797c5,
+ 0x358b85,
+ 0x209642,
+ 0x20fd02,
+ 0x2cf9ca,
+ 0x26eeca,
+ 0x21b9c2,
+ 0x2a4dc4,
0x2002c2,
- 0x206888,
- 0x201c82,
- 0x30a848,
- 0x2feb47,
- 0x2ff649,
- 0x26b082,
- 0x305645,
- 0x33bc85,
- 0x22dd4b,
- 0x2c6c4c,
- 0x22e848,
- 0x3188c8,
- 0x22a282,
- 0x35f782,
- 0x205702,
- 0x16d208,
- 0x2099c2,
- 0x2a84c3,
- 0x20d882,
- 0x200c82,
+ 0x3b4ec8,
+ 0x20d582,
+ 0x315b08,
+ 0x30ab47,
+ 0x30ba09,
+ 0x203442,
+ 0x310e45,
+ 0x3044c5,
+ 0x21770b,
+ 0x2d054c,
+ 0x237348,
+ 0x321b08,
+ 0x232ec2,
+ 0x208a02,
+ 0x207102,
+ 0x16fb88,
+ 0x20f882,
+ 0x238543,
+ 0x207b02,
+ 0x204d42,
+ 0xe03,
0x200442,
- 0x200983,
- 0x209842,
- 0x205702,
- 0x652099c2,
- 0x656e9dc3,
- 0x206343,
- 0x202342,
- 0x205503,
- 0x375cc3,
- 0x200983,
- 0x2e87c3,
- 0x275d46,
- 0x1614843,
- 0x16d208,
- 0x192345,
- 0xa6a8d,
- 0xa4dca,
- 0x65c87,
- 0x65e011c2,
- 0x66200242,
- 0x66600ec2,
- 0x66a00c02,
- 0x66e0de02,
- 0x67201ec2,
- 0x16fc07,
- 0x676099c2,
- 0x67a301c2,
- 0x67e09982,
- 0x68200dc2,
- 0x218983,
- 0x9e04,
- 0x225d83,
- 0x686149c2,
- 0x68a00182,
- 0x49f47,
- 0x68e03002,
- 0x69202e42,
- 0x69600b42,
- 0x69a02bc2,
- 0x69e029c2,
- 0x6a201fc2,
- 0xb3985,
- 0x234543,
- 0x202b84,
- 0x6a6226c2,
- 0x6aa03a82,
- 0x6ae03202,
- 0x16c90b,
- 0x6b200e82,
- 0x6ba49a02,
- 0x6be02342,
- 0x6c203d02,
- 0x6c60f242,
- 0x6ca0ec42,
- 0x6ce0e602,
- 0x6d2675c2,
- 0x6d604642,
- 0x6da01b42,
- 0x6de00c82,
- 0x6e2042c2,
- 0x6e61c702,
- 0x6ea00e42,
- 0x7f1c4,
- 0x350703,
- 0x6ee33082,
- 0x6f216982,
- 0x6f603402,
- 0x6fa089c2,
- 0x6fe00442,
- 0x702056c2,
- 0x44107,
- 0x70601302,
- 0x70a07302,
- 0x70e09842,
- 0x71218942,
- 0xf484c,
- 0x71621c82,
- 0x71a3ab02,
- 0x71e11602,
- 0x72201682,
- 0x72601f82,
- 0x72a34a82,
- 0x72e00202,
- 0x7320e8c2,
- 0x736724c2,
- 0x73a56642,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0xa203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x6b753903,
- 0x20a203,
- 0x2d6d44,
- 0x25d446,
- 0x2f1743,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x219f02,
- 0x219f02,
- 0x353903,
- 0x20a203,
- 0x742a84c3,
- 0x232403,
- 0x37ac03,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x16d208,
- 0x2099c2,
- 0x2a84c3,
- 0x205503,
- 0x200983,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x2030c4,
- 0x2099c2,
- 0x2a84c3,
- 0x2028c3,
- 0x232403,
- 0x249944,
- 0x2163c3,
- 0x2e9dc3,
- 0x3b1384,
- 0x244183,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x23e743,
- 0x373605,
- 0x2a1fc3,
- 0x25ed03,
- 0x2099c2,
- 0x2a84c3,
- 0x353903,
- 0x205503,
- 0x200983,
- 0x205702,
- 0x38d2c3,
- 0x16d208,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x22f706,
- 0x3b1384,
- 0x244183,
- 0x211cc4,
- 0x205503,
- 0x200983,
- 0x201303,
- 0x2a84c3,
- 0x232403,
- 0x205503,
- 0x200983,
- 0x14bb147,
- 0x2a84c3,
- 0x1cdc6,
- 0x232403,
- 0x2e9dc3,
- 0xdba46,
- 0x205503,
- 0x200983,
- 0x3149c8,
- 0x318709,
- 0x328b89,
- 0x333808,
- 0x37dc48,
- 0x37dc49,
- 0x24318d,
- 0x2ee80f,
- 0x251490,
- 0x34848d,
- 0x3638cc,
- 0x37f98b,
- 0x98605,
- 0x205702,
- 0x33e6c5,
+ 0x201a03,
+ 0x20d2c2,
+ 0x207102,
+ 0x68a0f882,
+ 0x68f23043,
+ 0x211a83,
+ 0x204a82,
+ 0x208e83,
+ 0x391783,
+ 0x201a03,
+ 0x2ef783,
+ 0x37f186,
+ 0x1615443,
+ 0x16fb88,
+ 0x11205,
+ 0xae90d,
+ 0xacc8a,
+ 0x6e487,
+ 0x69601e02,
+ 0x69a00242,
+ 0x69e00bc2,
+ 0x6a200702,
+ 0x6a60b5c2,
+ 0x6aa01382,
+ 0x36dc7,
+ 0x6ae0f882,
+ 0x6b20c8c2,
+ 0x6b604842,
+ 0x6ba04c82,
+ 0x2213c3,
+ 0x18ec4,
+ 0x2298c3,
+ 0x6be1d882,
+ 0x6c200182,
+ 0x53c47,
+ 0x6c60a442,
+ 0x6ca00782,
+ 0x6ce01bc2,
+ 0x6d205e82,
+ 0x6d601c82,
+ 0x6da00942,
+ 0xc2845,
+ 0x23ef43,
+ 0x281a04,
+ 0x6de1f502,
+ 0x6e205242,
+ 0x6e603582,
+ 0x17d50b,
+ 0x6ea01fc2,
+ 0x6f253442,
+ 0x6f604a82,
+ 0x6fa0b302,
+ 0x6fe14702,
+ 0x70200802,
+ 0x70614642,
+ 0x70a745c2,
+ 0x70e0ea42,
+ 0x71204802,
+ 0x71604d42,
+ 0x71a03382,
+ 0x71e08682,
+ 0x7224d382,
+ 0x1a3284,
+ 0x35efc3,
+ 0x72604f82,
+ 0x72a10902,
+ 0x72e11542,
+ 0x73201f02,
+ 0x73600442,
+ 0x73a0cb42,
+ 0x15d647,
+ 0x73e04102,
+ 0x74204142,
+ 0x7460d2c2,
+ 0x74a21382,
+ 0x1ad70c,
+ 0x74e2a202,
+ 0x75245542,
+ 0x75605942,
+ 0x75a06442,
+ 0x75e0c402,
+ 0x76260982,
+ 0x76600202,
+ 0x76a16fc2,
+ 0x76e7d302,
+ 0x772610c2,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x12143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x6ef797c3,
+ 0x212143,
+ 0x332244,
+ 0x2f7046,
+ 0x2f9a03,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x244949,
+ 0x235f42,
+ 0x26c783,
+ 0x2bcec3,
+ 0x20fbc5,
+ 0x2020c3,
+ 0x3797c3,
+ 0x212143,
+ 0x20c0c3,
+ 0x248d43,
+ 0x242989,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x235f42,
+ 0x235f42,
+ 0x3797c3,
+ 0x212143,
+ 0x77a38543,
+ 0x23cac3,
+ 0x20a6c3,
+ 0x28cac3,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
+ 0x16fb88,
+ 0x20f882,
+ 0x238543,
+ 0x208e83,
+ 0x201a03,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x28cac3,
+ 0x208e83,
+ 0xe03,
+ 0x201a03,
+ 0x252044,
+ 0x20f882,
+ 0x238543,
+ 0x345903,
+ 0x23cac3,
+ 0x253384,
+ 0x21b583,
+ 0x323043,
+ 0x231604,
+ 0x255783,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x20c843,
+ 0x355685,
+ 0x248d43,
+ 0x202443,
+ 0xe03,
+ 0x20f882,
+ 0x238543,
+ 0x3797c3,
+ 0x208e83,
+ 0x201a03,
+ 0x207102,
+ 0x39c783,
+ 0x16fb88,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x23a1c6,
+ 0x231604,
+ 0x255783,
+ 0x21bf84,
+ 0x208e83,
+ 0x201a03,
+ 0x221483,
+ 0x238543,
+ 0x23cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x1442047,
+ 0x238543,
+ 0x24386,
+ 0x23cac3,
+ 0x323043,
+ 0xe5586,
+ 0x208e83,
+ 0x201a03,
+ 0x31dc48,
+ 0x321949,
+ 0x330189,
+ 0x33bb08,
+ 0x38fb48,
+ 0x38fb49,
+ 0x24558d,
+ 0x24dd8f,
+ 0x2f53d0,
+ 0x35648d,
+ 0x37210c,
+ 0x39064b,
+ 0xba9c8,
+ 0xac605,
+ 0x207102,
+ 0x342b85,
0x200243,
- 0x772099c2,
- 0x232403,
- 0x2e9dc3,
- 0x343ec7,
- 0x206a43,
- 0x209703,
- 0x205503,
- 0x21c2c3,
- 0x20dcc3,
- 0x204e83,
- 0x200983,
- 0x2efec6,
- 0x20b0c2,
- 0x25ed03,
- 0x16d208,
- 0x205702,
- 0x38d2c3,
- 0x2099c2,
- 0x2a84c3,
- 0x232403,
- 0x2e9dc3,
- 0x3b1384,
- 0x209703,
- 0x205503,
- 0x200983,
- 0x214843,
- 0x14f53c6,
- 0x205702,
- 0x2099c2,
- 0x2e9dc3,
- 0x209703,
- 0x200983,
+ 0x7ae0f882,
+ 0x23cac3,
+ 0x323043,
+ 0x2d8c47,
+ 0x263a43,
+ 0x28cac3,
+ 0x208e83,
+ 0x21b543,
+ 0x217e03,
+ 0x200e03,
+ 0x201a03,
+ 0x3821c6,
+ 0x205082,
+ 0x202443,
+ 0x16fb88,
+ 0x207102,
+ 0x39c783,
+ 0x20f882,
+ 0x238543,
+ 0x23cac3,
+ 0x323043,
+ 0x231604,
+ 0x28cac3,
+ 0x208e83,
+ 0x201a03,
+ 0x215443,
+ 0x106904,
+ 0x15217c6,
+ 0x207102,
+ 0x20f882,
+ 0x323043,
+ 0x28cac3,
+ 0x201a03,
}
// children is the list of nodes' children, the parent's wildcard bit and the
@@ -8770,453 +8921,422 @@ var children = [...]uint32{
0x40000000,
0x50000000,
0x60000000,
- 0x184c60d,
- 0x1850613,
- 0x1870614,
- 0x19cc61c,
- 0x19e0673,
- 0x19f4678,
- 0x1a0467d,
- 0x1a20681,
- 0x1a24688,
- 0x1a3c689,
- 0x1a6468f,
- 0x1a68699,
- 0x1a8069a,
- 0x1a846a0,
- 0x1a886a1,
- 0x1ab06a2,
+ 0x186c615,
+ 0x187061b,
+ 0x189461c,
+ 0x19f0625,
+ 0x1a0467c,
+ 0x1a18681,
+ 0x1a2c686,
+ 0x1a4c68b,
+ 0x1a50693,
+ 0x1a68694,
+ 0x1a9069a,
+ 0x1a946a4,
+ 0x1aac6a5,
+ 0x1ab06ab,
0x1ab46ac,
- 0x21abc6ad,
- 0x1b046af,
- 0x1b086c1,
- 0x1b286c2,
- 0x1b3c6ca,
- 0x1b406cf,
- 0x1b706d0,
- 0x1b8c6dc,
- 0x1bb46e3,
- 0x1bc06ed,
- 0x1bc46f0,
- 0x1c5c6f1,
- 0x1c70717,
- 0x1c8471c,
- 0x1cb4721,
- 0x1cc472d,
- 0x1cd8731,
- 0x1cfc736,
- 0x1e3473f,
- 0x1e3878d,
- 0x1ea478e,
- 0x1f107a9,
- 0x1f247c4,
- 0x1f387c9,
- 0x1f407ce,
- 0x1f507d0,
- 0x1f547d4,
- 0x1f6c7d5,
- 0x1fb87db,
- 0x1fd47ee,
- 0x1fd87f5,
- 0x1fdc7f6,
- 0x1fe87f7,
- 0x20247fa,
- 0x62028809,
- 0x203c80a,
- 0x205080f,
- 0x2054814,
- 0x2064815,
- 0x2114819,
- 0x2118845,
- 0x22124846,
- 0x2212c849,
- 0x216484b,
- 0x2168859,
- 0x25b885a,
- 0x2265896e,
- 0x2265c996,
- 0x22660997,
- 0x2266c998,
- 0x2267099b,
- 0x2267c99c,
- 0x2268099f,
- 0x226849a0,
- 0x226889a1,
- 0x2268c9a2,
- 0x226909a3,
- 0x2269c9a4,
- 0x226a09a7,
- 0x226ac9a8,
- 0x226b09ab,
- 0x226b49ac,
- 0x226b89ad,
- 0x226c49ae,
- 0x226c89b1,
- 0x226cc9b2,
- 0x226d09b3,
- 0x26d49b4,
- 0x226d89b5,
- 0x226e49b6,
- 0x226e89b9,
- 0x26f09ba,
- 0x227089bc,
- 0x2270c9c2,
- 0x27189c3,
- 0x2271c9c6,
- 0x27209c7,
+ 0x1af06ad,
+ 0x1af46bc,
+ 0x21afc6bd,
+ 0x1b446bf,
+ 0x1b486d1,
+ 0x1b686d2,
+ 0x1b7c6da,
+ 0x1b806df,
+ 0x1bb06e0,
+ 0x1bcc6ec,
+ 0x1bf46f3,
+ 0x1c006fd,
+ 0x1c04700,
+ 0x1c9c701,
+ 0x1cb0727,
+ 0x1cc472c,
+ 0x1cf4731,
+ 0x1d0473d,
+ 0x1d18741,
+ 0x1d3c746,
+ 0x1e7474f,
+ 0x1e7879d,
+ 0x1ee479e,
+ 0x1f507b9,
+ 0x1f687d4,
+ 0x1f7c7da,
+ 0x1f847df,
+ 0x1f987e1,
+ 0x1f9c7e6,
+ 0x1fb87e7,
+ 0x20047ee,
+ 0x2020801,
+ 0x2024808,
+ 0x2028809,
+ 0x204480a,
+ 0x2080811,
+ 0x62084820,
+ 0x209c821,
+ 0x20b4827,
+ 0x20b882d,
+ 0x20c882e,
+ 0x2178832,
+ 0x217c85e,
+ 0x2218c85f,
+ 0x22190863,
+ 0x22194864,
+ 0x21cc865,
+ 0x21d0873,
+ 0x2658874,
+ 0x226f8996,
+ 0x226fc9be,
+ 0x227009bf,
+ 0x2270c9c0,
+ 0x227109c3,
+ 0x2271c9c4,
+ 0x227209c7,
0x227249c8,
- 0x27409c9,
- 0x27589d0,
- 0x275c9d6,
- 0x276c9d7,
- 0x27749db,
- 0x27a89dd,
- 0x27ac9ea,
- 0x27bc9eb,
- 0x28609ef,
- 0x22864a18,
- 0x286ca19,
- 0x2870a1b,
- 0x2888a1c,
- 0x289ca22,
- 0x28c4a27,
- 0x28e4a31,
- 0x2914a39,
- 0x293ca45,
- 0x2940a4f,
- 0x2964a50,
- 0x2968a59,
- 0x297ca5a,
- 0x2980a5f,
- 0x2984a60,
- 0x29a4a61,
- 0x29c0a69,
- 0x29c4a70,
- 0x229c8a71,
- 0x29cca72,
- 0x29d0a73,
- 0x29e0a74,
- 0x29e4a78,
- 0x2a5ca79,
- 0x2a78a97,
- 0x2a88a9e,
- 0x2a9caa2,
- 0x2ab4aa7,
- 0x2ac8aad,
- 0x2ae0ab2,
- 0x2ae4ab8,
- 0x2afcab9,
- 0x2b14abf,
- 0x2b30ac5,
- 0x2b48acc,
- 0x2ba8ad2,
+ 0x227289c9,
+ 0x2272c9ca,
+ 0x227309cb,
+ 0x2273c9cc,
+ 0x227409cf,
+ 0x2274c9d0,
+ 0x227509d3,
+ 0x227549d4,
+ 0x227589d5,
+ 0x227649d6,
+ 0x227689d9,
+ 0x2276c9da,
+ 0x227709db,
+ 0x27749dc,
+ 0x227789dd,
+ 0x227849de,
+ 0x227889e1,
+ 0x27909e2,
+ 0x27cc9e4,
+ 0x227ec9f3,
+ 0x227f09fb,
+ 0x227f49fc,
+ 0x27f89fd,
+ 0x227fc9fe,
+ 0x28009ff,
+ 0x281ca00,
+ 0x2834a07,
+ 0x2838a0d,
+ 0x2848a0e,
+ 0x2854a12,
+ 0x2888a15,
+ 0x288ca22,
+ 0x28a0a23,
+ 0x228a8a28,
+ 0x2968a2a,
+ 0x2296ca5a,
+ 0x2974a5b,
+ 0x2978a5d,
+ 0x2990a5e,
+ 0x29a4a64,
+ 0x29cca69,
+ 0x29eca73,
+ 0x2a1ca7b,
+ 0x2a44a87,
+ 0x2a48a91,
+ 0x2a6ca92,
+ 0x2a70a9b,
+ 0x2a84a9c,
+ 0x2a88aa1,
+ 0x2a8caa2,
+ 0x2aacaa3,
+ 0x2ac8aab,
+ 0x2accab2,
+ 0x22ad0ab3,
+ 0x2ad4ab4,
+ 0x2ad8ab5,
+ 0x2ae8ab6,
+ 0x2aecaba,
+ 0x2b64abb,
+ 0x2b68ad9,
+ 0x2b84ada,
+ 0x2b94ae1,
+ 0x2ba8ae5,
0x2bc0aea,
- 0x2bc4af0,
- 0x2bd8af1,
- 0x2c1caf6,
- 0x2c9cb07,
- 0x2cc8b27,
- 0x2cccb32,
- 0x2cd4b33,
- 0x2cf4b35,
- 0x2cf8b3d,
- 0x2d18b3e,
- 0x2d20b46,
- 0x2d5cb48,
- 0x2d9cb57,
- 0x2da0b67,
- 0x2e00b68,
- 0x2e04b80,
- 0x22e08b81,
- 0x2e20b82,
- 0x2e44b88,
- 0x2e64b91,
- 0x3428b99,
- 0x3434d0a,
- 0x3454d0d,
- 0x3610d15,
- 0x36e0d84,
- 0x3750db8,
- 0x37a8dd4,
- 0x3890dea,
- 0x38e8e24,
- 0x3924e3a,
- 0x3a20e49,
- 0x3aece88,
- 0x3b84ebb,
- 0x3c14ee1,
- 0x3c78f05,
- 0x3eb0f1e,
- 0x3f68fac,
- 0x4034fda,
- 0x408100d,
- 0x4109020,
- 0x4145042,
- 0x4195051,
- 0x420d065,
- 0x64211083,
- 0x64215084,
- 0x64219085,
- 0x4295086,
- 0x42f10a5,
- 0x436d0bc,
- 0x43e50db,
- 0x44650f9,
- 0x44d1119,
- 0x45fd134,
- 0x465517f,
- 0x64659195,
- 0x46f1196,
- 0x47791bc,
- 0x47c51de,
- 0x482d1f1,
- 0x48d520b,
- 0x499d235,
- 0x4a05267,
- 0x4b19281,
- 0x64b1d2c6,
- 0x64b212c7,
- 0x4b7d2c8,
- 0x4bd92df,
- 0x4c692f6,
- 0x4ce531a,
- 0x4d29339,
- 0x4e0d34a,
- 0x4e41383,
- 0x4ea1390,
- 0x4f153a8,
- 0x4f9d3c5,
- 0x4fdd3e7,
- 0x504d3f7,
- 0x65051413,
- 0x65055414,
- 0x25059415,
- 0x5071416,
- 0x508d41c,
- 0x50d1423,
- 0x50e1434,
- 0x50f9438,
- 0x517143e,
- 0x517945c,
- 0x518d45e,
- 0x51a5463,
- 0x51cd469,
- 0x51d1473,
- 0x51d9474,
- 0x51ed476,
- 0x520947b,
- 0x520d482,
- 0x5215483,
- 0x5251485,
- 0x5265494,
- 0x526d499,
- 0x527549b,
- 0x527949d,
- 0x529d49e,
- 0x52c14a7,
- 0x52d94b0,
- 0x52dd4b6,
- 0x52e54b7,
- 0x52e94b9,
- 0x534d4ba,
- 0x53514d3,
- 0x53754d4,
- 0x53954dd,
- 0x53b14e5,
- 0x53c14ec,
- 0x53d54f0,
- 0x53d94f5,
- 0x53e14f6,
- 0x53f54f8,
- 0x54054fd,
- 0x5409501,
- 0x5425502,
- 0x5cb5509,
- 0x5ced72d,
- 0x5d1973b,
- 0x5d31746,
- 0x5d5174c,
- 0x5d71754,
- 0x5db575c,
- 0x5dbd76d,
- 0x25dc176f,
- 0x25dc5770,
- 0x5dcd771,
- 0x5f29773,
- 0x25f2d7ca,
- 0x25f3d7cb,
- 0x25f457cf,
- 0x25f517d1,
- 0x5f557d4,
- 0x5f597d5,
- 0x5f817d6,
- 0x5fa97e0,
- 0x5fad7ea,
- 0x5fe57eb,
- 0x5ff97f9,
- 0x6b517fe,
- 0x6b55ad4,
- 0x6b59ad5,
- 0x26b5dad6,
- 0x6b61ad7,
- 0x26b65ad8,
- 0x6b69ad9,
- 0x26b75ada,
- 0x6b79add,
- 0x6b7dade,
- 0x26b81adf,
- 0x6b85ae0,
- 0x26b8dae1,
- 0x6b91ae3,
- 0x6b95ae4,
- 0x26ba5ae5,
- 0x6ba9ae9,
- 0x6badaea,
- 0x6bb1aeb,
- 0x6bb5aec,
- 0x26bb9aed,
- 0x6bbdaee,
- 0x6bc1aef,
- 0x6bc5af0,
- 0x6bc9af1,
- 0x26bd1af2,
- 0x6bd5af4,
- 0x6bd9af5,
- 0x6bddaf6,
- 0x26be1af7,
- 0x6be5af8,
- 0x26bedaf9,
- 0x26bf1afb,
- 0x6c0dafc,
- 0x6c19b03,
- 0x6c59b06,
- 0x6c5db16,
- 0x6c81b17,
- 0x6c85b20,
- 0x6c89b21,
- 0x6e01b22,
- 0x26e05b80,
- 0x26e0db81,
- 0x26e11b83,
- 0x26e15b84,
- 0x6e1db85,
- 0x6ef9b87,
- 0x26efdbbe,
- 0x6f01bbf,
- 0x6f2dbc0,
- 0x6f31bcb,
- 0x6f51bcc,
- 0x6f5dbd4,
- 0x6f7dbd7,
- 0x6fb5bdf,
- 0x724dbed,
- 0x7309c93,
- 0x731dcc2,
- 0x7351cc7,
- 0x7381cd4,
- 0x739dce0,
- 0x73c1ce7,
- 0x73ddcf0,
- 0x73f9cf7,
- 0x741dcfe,
- 0x742dd07,
- 0x7431d0b,
- 0x7465d0c,
- 0x7481d19,
- 0x74edd20,
- 0x274f1d3b,
- 0x7515d3c,
- 0x7535d45,
- 0x7549d4d,
- 0x755dd52,
- 0x7561d57,
- 0x7581d58,
- 0x7625d60,
- 0x7641d89,
- 0x7661d90,
- 0x7665d98,
- 0x766dd99,
- 0x7671d9b,
- 0x7685d9c,
- 0x76a5da1,
- 0x76b1da9,
- 0x76bddac,
- 0x76eddaf,
- 0x77bddbb,
- 0x77c1def,
- 0x77d5df0,
- 0x77d9df5,
- 0x77f1df6,
- 0x77f5dfc,
- 0x7801dfd,
- 0x7805e00,
- 0x7821e01,
- 0x785de08,
- 0x7861e17,
- 0x7881e18,
- 0x78d1e20,
- 0x78ede34,
- 0x7941e3b,
- 0x7945e50,
- 0x7949e51,
- 0x794de52,
- 0x7991e53,
- 0x79a1e64,
- 0x79dde68,
- 0x79e1e77,
- 0x7a11e78,
- 0x7b59e84,
- 0x7b7ded6,
- 0x7ba9edf,
- 0x7bb5eea,
- 0x7bbdeed,
- 0x7ccdeef,
- 0x7cd9f33,
- 0x7ce5f36,
- 0x7cf1f39,
- 0x7cfdf3c,
- 0x7d09f3f,
- 0x7d15f42,
- 0x7d21f45,
- 0x7d2df48,
- 0x7d39f4b,
- 0x7d45f4e,
- 0x7d51f51,
- 0x7d5df54,
- 0x7d69f57,
- 0x7d71f5a,
- 0x7d7df5c,
- 0x7d89f5f,
- 0x7d95f62,
- 0x7da1f65,
- 0x7dadf68,
- 0x7db9f6b,
+ 0x2bd8af0,
+ 0x2bf0af6,
+ 0x2bf4afc,
+ 0x2c0cafd,
+ 0x2c28b03,
+ 0x2c48b0a,
+ 0x2c60b12,
+ 0x2cc0b18,
+ 0x2cdcb30,
+ 0x2ce4b37,
+ 0x2ce8b39,
+ 0x2cfcb3a,
+ 0x2d40b3f,
+ 0x2dc0b50,
+ 0x2decb70,
+ 0x2df0b7b,
+ 0x2df8b7c,
+ 0x2e18b7e,
+ 0x2e1cb86,
+ 0x2e40b87,
+ 0x2e48b90,
+ 0x2e84b92,
+ 0x2ec8ba1,
+ 0x2eccbb2,
+ 0x2f34bb3,
+ 0x2f38bcd,
+ 0x22f3cbce,
+ 0x22f40bcf,
+ 0x22f50bd0,
+ 0x22f54bd4,
+ 0x22f58bd5,
+ 0x22f5cbd6,
+ 0x22f60bd7,
+ 0x2f78bd8,
+ 0x2f9cbde,
+ 0x2fbcbe7,
+ 0x3580bef,
+ 0x358cd60,
+ 0x35acd63,
+ 0x3768d6b,
+ 0x3838dda,
+ 0x38a8e0e,
+ 0x3900e2a,
+ 0x39e8e40,
+ 0x3a40e7a,
+ 0x3a7ce90,
+ 0x3b78e9f,
+ 0x3c44ede,
+ 0x3cdcf11,
+ 0x3d6cf37,
+ 0x3dd0f5b,
+ 0x4008f74,
+ 0x40c1002,
+ 0x418d030,
+ 0x41d9063,
+ 0x4261076,
+ 0x429d098,
+ 0x42ed0a7,
+ 0x43650bb,
+ 0x643690d9,
+ 0x6436d0da,
+ 0x643710db,
+ 0x43ed0dc,
+ 0x44490fb,
+ 0x44c5112,
+ 0x453d131,
+ 0x45bd14f,
+ 0x462916f,
+ 0x475518a,
+ 0x47ad1d5,
+ 0x647b11eb,
+ 0x48491ec,
+ 0x48d1212,
+ 0x491d234,
+ 0x4985247,
+ 0x4a2d261,
+ 0x4af528b,
+ 0x4b5d2bd,
+ 0x4c712d7,
+ 0x64c7531c,
+ 0x64c7931d,
+ 0x4cd531e,
+ 0x4d31335,
+ 0x4dc134c,
+ 0x4e3d370,
+ 0x4e8138f,
+ 0x4f653a0,
+ 0x4f993d9,
+ 0x4ff93e6,
+ 0x506d3fe,
+ 0x50f541b,
+ 0x513543d,
+ 0x51a544d,
+ 0x651a9469,
+ 0x651ad46a,
+ 0x251b146b,
+ 0x51c946c,
+ 0x51e5472,
+ 0x5229479,
+ 0x523948a,
+ 0x525148e,
+ 0x52c9494,
+ 0x52d14b2,
+ 0x52e54b4,
+ 0x53014b9,
+ 0x532d4c0,
+ 0x53314cb,
+ 0x53394cc,
+ 0x534d4ce,
+ 0x53694d3,
+ 0x53754da,
+ 0x537d4dd,
+ 0x53b94df,
+ 0x53cd4ee,
+ 0x53d54f3,
+ 0x53e14f5,
+ 0x53e94f8,
+ 0x540d4fa,
+ 0x5431503,
+ 0x544950c,
+ 0x544d512,
+ 0x5455513,
+ 0x5459515,
+ 0x54c1516,
+ 0x54c5530,
+ 0x54e9531,
+ 0x550d53a,
+ 0x5529543,
+ 0x553954a,
+ 0x554d54e,
+ 0x5551553,
+ 0x5559554,
+ 0x556d556,
+ 0x557d55b,
+ 0x558155f,
+ 0x559d560,
+ 0x5e2d567,
+ 0x5e6578b,
+ 0x5e91799,
+ 0x5ead7a4,
+ 0x5ecd7ab,
+ 0x5eed7b3,
+ 0x5f317bb,
+ 0x5f397cc,
+ 0x25f3d7ce,
+ 0x25f417cf,
+ 0x5f497d0,
+ 0x60c17d2,
+ 0x260c5830,
+ 0x260d5831,
+ 0x260dd835,
+ 0x260e9837,
+ 0x60ed83a,
+ 0x60f183b,
+ 0x611983c,
+ 0x6141846,
+ 0x6145850,
+ 0x617d851,
+ 0x619985f,
+ 0x6cf1866,
+ 0x6cf5b3c,
+ 0x6cf9b3d,
+ 0x26cfdb3e,
+ 0x6d01b3f,
+ 0x26d05b40,
+ 0x6d09b41,
+ 0x26d15b42,
+ 0x6d19b45,
+ 0x6d1db46,
+ 0x26d21b47,
+ 0x6d25b48,
+ 0x26d2db49,
+ 0x6d31b4b,
+ 0x6d35b4c,
+ 0x26d45b4d,
+ 0x6d49b51,
+ 0x6d4db52,
+ 0x6d51b53,
+ 0x6d55b54,
+ 0x26d59b55,
+ 0x6d5db56,
+ 0x6d61b57,
+ 0x6d65b58,
+ 0x6d69b59,
+ 0x26d71b5a,
+ 0x6d75b5c,
+ 0x6d79b5d,
+ 0x6d7db5e,
+ 0x26d81b5f,
+ 0x6d85b60,
+ 0x26d8db61,
+ 0x26d91b63,
+ 0x6dadb64,
+ 0x6dbdb6b,
+ 0x6e01b6f,
+ 0x6e05b80,
+ 0x6e29b81,
+ 0x6e2db8a,
+ 0x6e31b8b,
+ 0x6fbdb8c,
+ 0x26fc1bef,
+ 0x26fc9bf0,
+ 0x26fcdbf2,
+ 0x26fd1bf3,
+ 0x6fd9bf4,
+ 0x70b5bf6,
+ 0x270b9c2d,
+ 0x70bdc2e,
+ 0x70e9c2f,
+ 0x70edc3a,
+ 0x7111c3b,
+ 0x711dc44,
+ 0x713dc47,
+ 0x7141c4f,
+ 0x7179c50,
+ 0x7411c5e,
+ 0x74cdd04,
+ 0x74e1d33,
+ 0x7515d38,
+ 0x7545d45,
+ 0x7561d51,
+ 0x7589d58,
+ 0x75a9d62,
+ 0x75c5d6a,
+ 0x75edd71,
+ 0x75fdd7b,
+ 0x7601d7f,
+ 0x7605d80,
+ 0x7639d81,
+ 0x7645d8e,
+ 0x7665d91,
+ 0x76ddd99,
+ 0x276e1db7,
+ 0x7705db8,
+ 0x7725dc1,
+ 0x7739dc9,
+ 0x774ddce,
+ 0x7751dd3,
+ 0x7771dd4,
+ 0x7815ddc,
+ 0x7831e05,
+ 0x7855e0c,
+ 0x785de15,
+ 0x7869e17,
+ 0x7871e1a,
+ 0x7885e1c,
+ 0x78a5e21,
+ 0x78b1e29,
+ 0x78bde2c,
+ 0x78ede2f,
+ 0x79c1e3b,
+ 0x79c5e70,
+ 0x79d9e71,
+ 0x79e1e76,
+ 0x79f9e78,
+ 0x79fde7e,
+ 0x7a09e7f,
+ 0x7a0de82,
+ 0x7a29e83,
+ 0x7a65e8a,
+ 0x7a69e99,
+ 0x7a89e9a,
+ 0x7ad9ea2,
+ 0x7af5eb6,
+ 0x7b49ebd,
+ 0x7b4ded2,
+ 0x7b51ed3,
+ 0x7b55ed4,
+ 0x7b99ed5,
+ 0x7ba9ee6,
+ 0x7be9eea,
+ 0x7bedefa,
+ 0x7c1defb,
+ 0x7d65f07,
+ 0x7d8df59,
+ 0x7db9f63,
0x7dc5f6e,
- 0x7dd1f71,
- 0x7dddf74,
- 0x7de9f77,
- 0x7df5f7a,
- 0x7e01f7d,
- 0x7e0df80,
- 0x7e19f83,
- 0x7e25f86,
- 0x7e31f89,
- 0x7e3df8c,
- 0x7e45f8f,
- 0x7e51f91,
- 0x7e5df94,
- 0x7e69f97,
- 0x7e75f9a,
- 0x7e81f9d,
- 0x7e8dfa0,
- 0x7e99fa3,
- 0x7ea5fa6,
- 0x7eb1fa9,
- 0x7ebdfac,
- 0x7ec9faf,
- 0x7ed5fb2,
- 0x7ee1fb5,
- 0x7ee9fb8,
+ 0x7dcdf71,
+ 0x7eddf73,
+ 0x7ee9fb7,
0x7ef5fba,
0x7f01fbd,
0x7f0dfc0,
@@ -9225,29 +9345,75 @@ var children = [...]uint32{
0x7f31fc9,
0x7f3dfcc,
0x7f49fcf,
- 0x7f4dfd2,
- 0x7f59fd3,
- 0x7f71fd6,
- 0x7f75fdc,
- 0x7f85fdd,
- 0x7f9dfe1,
- 0x7fe1fe7,
- 0x7ff5ff8,
- 0x8029ffd,
- 0x803a00a,
- 0x805a00e,
- 0x8072016,
- 0x808a01c,
- 0x808e022,
- 0x280d2023,
- 0x80d6034,
- 0x8102035,
- 0x8106040,
- 0x811a041,
+ 0x7f55fd2,
+ 0x7f61fd5,
+ 0x7f6dfd8,
+ 0x7f79fdb,
+ 0x7f81fde,
+ 0x7f8dfe0,
+ 0x7f99fe3,
+ 0x7fa5fe6,
+ 0x7fb1fe9,
+ 0x7fbdfec,
+ 0x7fc9fef,
+ 0x7fd5ff2,
+ 0x7fe1ff5,
+ 0x7fedff8,
+ 0x7ff9ffb,
+ 0x8005ffe,
+ 0x8032001,
+ 0x803e00c,
+ 0x804a00f,
+ 0x8056012,
+ 0x8062015,
+ 0x806e018,
+ 0x807601b,
+ 0x808201d,
+ 0x808e020,
+ 0x809a023,
+ 0x80a6026,
+ 0x80b2029,
+ 0x80be02c,
+ 0x80ca02f,
+ 0x80d6032,
+ 0x80e2035,
+ 0x80ee038,
+ 0x80fa03b,
+ 0x810603e,
+ 0x8112041,
+ 0x811a044,
+ 0x8126046,
+ 0x8132049,
+ 0x813e04c,
+ 0x814a04f,
+ 0x8156052,
+ 0x8162055,
+ 0x816e058,
+ 0x817a05b,
+ 0x817e05e,
+ 0x818a05f,
+ 0x81a6062,
+ 0x81aa069,
+ 0x81ba06a,
+ 0x81d606e,
+ 0x821a075,
+ 0x821e086,
+ 0x8232087,
+ 0x826608c,
+ 0x8276099,
+ 0x829609d,
+ 0x82ae0a5,
+ 0x82c60ab,
+ 0x82ce0b1,
+ 0x283120b3,
+ 0x83160c4,
+ 0x83420c5,
+ 0x834a0d0,
+ 0x835e0d2,
}
-// max children 479 (capacity 511)
-// max text offset 28411 (capacity 32767)
+// max children 494 (capacity 1023)
+// max text offset 28750 (capacity 32767)
// max text length 36 (capacity 63)
-// max hi 8262 (capacity 16383)
-// max lo 8257 (capacity 16383)
+// max hi 8407 (capacity 16383)
+// max lo 8402 (capacity 16383)
diff --git a/vendor/golang.org/x/net/publicsuffix/table_test.go b/vendor/golang.org/x/net/publicsuffix/table_test.go
index 416512cb9..62610185b 100644
--- a/vendor/golang.org/x/net/publicsuffix/table_test.go
+++ b/vendor/golang.org/x/net/publicsuffix/table_test.go
@@ -5778,6 +5778,14 @@ var rules = [...]string{
"pvt.k12.ma.us",
"chtr.k12.ma.us",
"paroch.k12.ma.us",
+ "ann-arbor.mi.us",
+ "cog.mi.us",
+ "dst.mi.us",
+ "eaton.mi.us",
+ "gen.mi.us",
+ "mus.mi.us",
+ "tec.mi.us",
+ "washtenaw.mi.us",
"uy",
"com.uy",
"edu.uy",
@@ -5852,6 +5860,7 @@ var rules = [...]string{
"xn--mgbaam7a8h",
"xn--y9a3aq",
"xn--54b7fta0cc",
+ "xn--90ae",
"xn--90ais",
"xn--fiqs8s",
"xn--fiqz9s",
@@ -5861,6 +5870,13 @@ var rules = [...]string{
"xn--node",
"xn--qxam",
"xn--j6w193g",
+ "xn--2scrj9c",
+ "xn--3hcrj9c",
+ "xn--45br5cyl",
+ "xn--h2breg3eve",
+ "xn--h2brj9c8c",
+ "xn--mgbgu82a",
+ "xn--rvc1e0am3e",
"xn--h2brj9c",
"xn--mgbbh1a71e",
"xn--fpcrj9c3d",
@@ -7188,8 +7204,23 @@ var rules = [...]string{
"*.compute-1.amazonaws.com",
"*.compute.amazonaws.com.cn",
"us-east-1.amazonaws.com",
- "elasticbeanstalk.cn-north-1.amazonaws.com.cn",
- "*.elasticbeanstalk.com",
+ "cn-north-1.eb.amazonaws.com.cn",
+ "elasticbeanstalk.com",
+ "ap-northeast-1.elasticbeanstalk.com",
+ "ap-northeast-2.elasticbeanstalk.com",
+ "ap-south-1.elasticbeanstalk.com",
+ "ap-southeast-1.elasticbeanstalk.com",
+ "ap-southeast-2.elasticbeanstalk.com",
+ "ca-central-1.elasticbeanstalk.com",
+ "eu-central-1.elasticbeanstalk.com",
+ "eu-west-1.elasticbeanstalk.com",
+ "eu-west-2.elasticbeanstalk.com",
+ "sa-east-1.elasticbeanstalk.com",
+ "us-east-1.elasticbeanstalk.com",
+ "us-east-2.elasticbeanstalk.com",
+ "us-gov-west-1.elasticbeanstalk.com",
+ "us-west-1.elasticbeanstalk.com",
+ "us-west-2.elasticbeanstalk.com",
"*.elb.amazonaws.com",
"*.elb.amazonaws.com.cn",
"s3.amazonaws.com",
@@ -7257,6 +7288,7 @@ var rules = [...]string{
"backplaneapp.io",
"betainabox.com",
"bnr.la",
+ "boomla.net",
"boxfuse.io",
"square7.ch",
"bplaced.com",
@@ -7304,6 +7336,11 @@ var rules = [...]string{
"xenapponazure.com",
"virtueeldomein.nl",
"c66.me",
+ "jdevcloud.com",
+ "wpdevcloud.com",
+ "cloudaccess.host",
+ "freesite.host",
+ "cloudaccess.net",
"cloudcontrolled.com",
"cloudcontrolapp.com",
"co.ca",
@@ -7347,8 +7384,10 @@ var rules = [...]string{
"firm.dk",
"reg.dk",
"store.dk",
+ "debian.net",
"dedyn.io",
"dnshome.de",
+ "drayddns.com",
"dreamhosters.com",
"mydrobo.com",
"drud.io",
@@ -7646,8 +7685,26 @@ var rules = [...]string{
"ddnss.org",
"definima.net",
"definima.io",
+ "ddnsfree.com",
+ "ddnsgeek.com",
+ "giize.com",
+ "gleeze.com",
+ "kozow.com",
+ "loseyourip.com",
+ "ooguy.com",
+ "theworkpc.com",
+ "casacam.net",
+ "dynu.net",
+ "accesscam.org",
+ "camdvr.org",
+ "freeddns.org",
+ "mywire.org",
+ "webredirect.org",
+ "myddns.rocks",
+ "blogsite.xyz",
"dynv6.net",
"e4.cz",
+ "mytuleap.com",
"enonic.io",
"customer.enonic.io",
"eu.org",
@@ -7709,9 +7766,11 @@ var rules = [...]string{
"eu-1.evennode.com",
"eu-2.evennode.com",
"eu-3.evennode.com",
+ "eu-4.evennode.com",
"us-1.evennode.com",
"us-2.evennode.com",
"us-3.evennode.com",
+ "us-4.evennode.com",
"twmail.cc",
"twmail.net",
"twmail.org",
@@ -7790,6 +7849,7 @@ var rules = [...]string{
"vladikavkaz.su",
"vladimir.su",
"vologda.su",
+ "channelsdvr.net",
"fastlylb.net",
"map.fastlylb.net",
"freetls.fastly.net",
@@ -7806,6 +7866,7 @@ var rules = [...]string{
"filegear.me",
"firebaseapp.com",
"flynnhub.com",
+ "flynnhosting.net",
"freebox-os.com",
"freeboxos.com",
"fbx-os.fr",
@@ -7813,6 +7874,7 @@ var rules = [...]string{
"freebox-os.fr",
"freeboxos.fr",
"myfusion.cloud",
+ "*.futurecms.at",
"futurehosting.at",
"futuremailing.at",
"*.ex.ortsinfo.at",
@@ -7821,11 +7883,6 @@ var rules = [...]string{
"service.gov.uk",
"github.io",
"githubusercontent.com",
- "githubcloud.com",
- "*.api.githubcloud.com",
- "*.ext.githubcloud.com",
- "gist.githubcloud.com",
- "*.githubcloudusercontent.com",
"gitlab.io",
"homeoffice.gov.uk",
"ro.im",
@@ -7925,6 +7982,7 @@ var rules = [...]string{
"iki.fi",
"biz.at",
"info.at",
+ "info.cx",
"ac.leg.br",
"al.leg.br",
"am.leg.br",
@@ -7952,6 +8010,7 @@ var rules = [...]string{
"se.leg.br",
"sp.leg.br",
"to.leg.br",
+ "pixolino.com",
"ipifony.net",
"*.triton.zone",
"*.cns.joyent.com",
@@ -7960,6 +8019,10 @@ var rules = [...]string{
"knightpoint.systems",
"co.krd",
"edu.krd",
+ "git-repos.de",
+ "lcube-server.de",
+ "svn-repos.de",
+ "we.bs",
"barsy.bg",
"barsyonline.com",
"barsy.de",
@@ -7970,6 +8033,8 @@ var rules = [...]string{
"barsy.support",
"*.magentosite.cloud",
"hb.cldmail.ru",
+ "cloud.metacentrum.cz",
+ "custom.metacentrum.cz",
"meteorapp.com",
"eu.meteorapp.com",
"co.pl",
@@ -7977,6 +8042,11 @@ var rules = [...]string{
"azure-mobile.net",
"cloudapp.net",
"bmoattachments.org",
+ "net.ru",
+ "org.ru",
+ "pp.ru",
+ "bitballoon.com",
+ "netlify.com",
"4u.com",
"ngrok.io",
"nfshost.com",
@@ -8067,9 +8137,47 @@ var rules = [...]string{
"sytes.net",
"webhop.me",
"zapto.org",
+ "stage.nodeart.io",
"nodum.co",
"nodum.io",
"nyc.mn",
+ "nom.ae",
+ "nom.ai",
+ "nom.al",
+ "nym.by",
+ "nym.bz",
+ "nom.cl",
+ "nom.gd",
+ "nom.gl",
+ "nym.gr",
+ "nom.gt",
+ "nom.hn",
+ "nom.im",
+ "nym.kz",
+ "nym.la",
+ "nom.li",
+ "nym.li",
+ "nym.lt",
+ "nym.lu",
+ "nym.me",
+ "nom.mk",
+ "nym.mx",
+ "nom.nu",
+ "nym.nz",
+ "nym.pe",
+ "nym.pt",
+ "nom.pw",
+ "nom.qa",
+ "nom.rs",
+ "nom.si",
+ "nym.sk",
+ "nym.su",
+ "nym.sx",
+ "nym.tw",
+ "nom.ug",
+ "nom.uy",
+ "nom.vc",
+ "nom.vg",
"cya.gg",
"nid.io",
"opencraft.hosting",
@@ -8095,6 +8203,7 @@ var rules = [...]string{
"priv.at",
"protonet.io",
"chirurgiens-dentistes-en-france.fr",
+ "byen.site",
"qa2.com",
"dev-myqnapcloud.com",
"alpha-myqnapcloud.com",
@@ -8144,6 +8253,7 @@ var rules = [...]string{
"spacekit.io",
"stackspace.space",
"storj.farm",
+ "temp-dns.com",
"diskstation.me",
"dscloud.biz",
"dscloud.me",
@@ -8164,8 +8274,31 @@ var rules = [...]string{
"gdynia.pl",
"med.pl",
"sopot.pl",
+ "cust.dev.thingdust.io",
+ "cust.disrec.thingdust.io",
+ "cust.prod.thingdust.io",
+ "cust.testing.thingdust.io",
"bloxcms.com",
"townnews-staging.com",
+ "12hp.at",
+ "2ix.at",
+ "4lima.at",
+ "lima-city.at",
+ "12hp.ch",
+ "2ix.ch",
+ "4lima.ch",
+ "lima-city.ch",
+ "trafficplex.cloud",
+ "de.cool",
+ "12hp.de",
+ "2ix.de",
+ "4lima.de",
+ "lima-city.de",
+ "1337.pictures",
+ "clan.rip",
+ "lima-city.rocks",
+ "webspace.rocks",
+ "lima.zone",
"*.transurl.be",
"*.transurl.eu",
"*.transurl.nl",
@@ -8190,10 +8323,14 @@ var rules = [...]string{
"inc.hk",
"lib.de.us",
"router.management",
+ "v-info.info",
"wedeploy.io",
"wedeploy.me",
+ "wedeploy.sh",
"remotewd.com",
"wmflabs.org",
+ "cistron.nl",
+ "demon.nl",
"xs4all.space",
"yolasite.com",
"ybo.faith",
@@ -9586,13 +9723,16 @@ var nodeLabels = [...]string{
"xn--11b4c3d",
"xn--1ck2e1b",
"xn--1qqw23a",
+ "xn--2scrj9c",
"xn--30rr7y",
"xn--3bst00m",
"xn--3ds443g",
"xn--3e0b707e",
+ "xn--3hcrj9c",
"xn--3oq18vl8pn36a",
"xn--3pxu8k",
"xn--42c2d9a",
+ "xn--45br5cyl",
"xn--45brj9c",
"xn--45q11c",
"xn--4gbrim",
@@ -9610,6 +9750,7 @@ var nodeLabels = [...]string{
"xn--80aswg",
"xn--8y0a063a",
"xn--90a3ac",
+ "xn--90ae",
"xn--90ais",
"xn--9dbq2a",
"xn--9et52u",
@@ -9645,7 +9786,9 @@ var nodeLabels = [...]string{
"xn--gckr3f0f",
"xn--gecrj9c",
"xn--gk3at1e",
+ "xn--h2breg3eve",
"xn--h2brj9c",
+ "xn--h2brj9c8c",
"xn--hxt814e",
"xn--i1b6b1a6a2e",
"xn--imr513n",
@@ -9680,6 +9823,7 @@ var nodeLabels = [...]string{
"xn--mgbca7dzdo",
"xn--mgberp4a5d4a87g",
"xn--mgberp4a5d4ar",
+ "xn--mgbgu82a",
"xn--mgbi4ecexp",
"xn--mgbpl2fh",
"xn--mgbqly7c0a67fbc",
@@ -9712,6 +9856,7 @@ var nodeLabels = [...]string{
"xn--qxam",
"xn--rhqv96g",
"xn--rovu88b",
+ "xn--rvc1e0am3e",
"xn--s9brj9c",
"xn--ses554g",
"xn--t60b56a",
@@ -9771,6 +9916,7 @@ var nodeLabels = [...]string{
"gov",
"mil",
"net",
+ "nom",
"org",
"sch",
"accident-investigation",
@@ -9872,6 +10018,7 @@ var nodeLabels = [...]string{
"org",
"com",
"net",
+ "nom",
"off",
"org",
"blogspot",
@@ -9880,6 +10027,7 @@ var nodeLabels = [...]string{
"gov",
"mil",
"net",
+ "nom",
"org",
"blogspot",
"co",
@@ -9907,13 +10055,18 @@ var nodeLabels = [...]string{
"urn",
"gov",
"cloudns",
+ "12hp",
+ "2ix",
+ "4lima",
"ac",
"biz",
"co",
+ "futurecms",
"futurehosting",
"futuremailing",
"gv",
"info",
+ "lima-city",
"or",
"ortsinfo",
"priv",
@@ -10202,6 +10355,7 @@ var nodeLabels = [...]string{
"gov",
"net",
"org",
+ "we",
"com",
"edu",
"gov",
@@ -10212,12 +10366,14 @@ var nodeLabels = [...]string{
"com",
"gov",
"mil",
+ "nym",
"of",
"blogspot",
"com",
"edu",
"gov",
"net",
+ "nym",
"org",
"za",
"ab",
@@ -10248,8 +10404,12 @@ var nodeLabels = [...]string{
"twmail",
"gov",
"blogspot",
+ "12hp",
+ "2ix",
+ "4lima",
"blogspot",
"gotdns",
+ "lima-city",
"square7",
"ac",
"asso",
@@ -10272,10 +10432,12 @@ var nodeLabels = [...]string{
"gob",
"gov",
"mil",
+ "nom",
"magentosite",
"myfusion",
"sensiosite",
"statics",
+ "trafficplex",
"vapor",
"cloudns",
"co",
@@ -10329,9 +10491,10 @@ var nodeLabels = [...]string{
"amazonaws",
"cn-north-1",
"compute",
+ "eb",
"elb",
- "elasticbeanstalk",
"s3",
+ "cn-north-1",
"arts",
"com",
"edu",
@@ -10360,6 +10523,7 @@ var nodeLabels = [...]string{
"ar",
"barsyonline",
"betainabox",
+ "bitballoon",
"blogdns",
"blogspot",
"blogsyte",
@@ -10375,6 +10539,8 @@ var nodeLabels = [...]string{
"co",
"codespot",
"damnserver",
+ "ddnsfree",
+ "ddnsgeek",
"ddnsking",
"de",
"dev-myqnapcloud",
@@ -10385,6 +10551,7 @@ var nodeLabels = [...]string{
"doesntexist",
"dontexist",
"doomdns",
+ "drayddns",
"dreamhosters",
"dsmynas",
"dyn-o-saur",
@@ -10468,9 +10635,9 @@ var nodeLabels = [...]string{
"gb",
"geekgalaxy",
"getmyip",
- "githubcloud",
- "githubcloudusercontent",
+ "giize",
"githubusercontent",
+ "gleeze",
"googleapis",
"googlecode",
"gotdns",
@@ -10545,12 +10712,15 @@ var nodeLabels = [...]string{
"isa-geek",
"isa-hockeynut",
"issmarterthanyou",
+ "jdevcloud",
"joyent",
"jpn",
+ "kozow",
"kr",
"likes-pie",
"likescandy",
"logoip",
+ "loseyourip",
"meteorapp",
"mex",
"myactivedirectory",
@@ -10559,19 +10729,23 @@ var nodeLabels = [...]string{
"myqnapcloud",
"mysecuritycamera",
"myshopblocks",
+ "mytuleap",
"myvnc",
"neat-url",
"net-freaks",
+ "netlify",
"nfshost",
"no",
"on-aptible",
"onthewifi",
+ "ooguy",
"operaunite",
"outsystemscloud",
"ownprovider",
"pagefrontapp",
"pagespeedmobilizer",
"pgfog",
+ "pixolino",
"point2this",
"prgmr",
"publishproxy",
@@ -10610,6 +10784,8 @@ var nodeLabels = [...]string{
"space-to-rent",
"stufftoread",
"teaches-yoga",
+ "temp-dns",
+ "theworkpc",
"townnews-staging",
"uk",
"unusualperson",
@@ -10619,6 +10795,7 @@ var nodeLabels = [...]string{
"withgoogle",
"withyoutube",
"workisboring",
+ "wpdevcloud",
"writesthisblog",
"xenapponazure",
"yolasite",
@@ -10701,19 +10878,34 @@ var nodeLabels = [...]string{
"s3",
"alpha",
"beta",
+ "ap-northeast-1",
+ "ap-northeast-2",
+ "ap-south-1",
+ "ap-southeast-1",
+ "ap-southeast-2",
+ "ca-central-1",
+ "eu-central-1",
+ "eu-west-1",
+ "eu-west-2",
+ "sa-east-1",
+ "us-east-1",
+ "us-east-2",
+ "us-gov-west-1",
+ "us-west-1",
+ "us-west-2",
"eu-1",
"eu-2",
"eu-3",
+ "eu-4",
"us-1",
"us-2",
"us-3",
+ "us-4",
"apps",
- "api",
- "ext",
- "gist",
"cns",
"eu",
"xen",
+ "de",
"ac",
"co",
"ed",
@@ -10734,6 +10926,7 @@ var nodeLabels = [...]string{
"org",
"ath",
"gov",
+ "info",
"ac",
"biz",
"com",
@@ -10751,7 +10944,13 @@ var nodeLabels = [...]string{
"blogspot",
"co",
"e4",
+ "metacentrum",
"realm",
+ "cloud",
+ "custom",
+ "12hp",
+ "2ix",
+ "4lima",
"barsy",
"blogspot",
"bplaced",
@@ -10770,6 +10969,7 @@ var nodeLabels = [...]string{
"dynvpn",
"firewall-gateway",
"fuettertdasnetz",
+ "git-repos",
"goip",
"home-webserver",
"internet-dns",
@@ -10777,8 +10977,10 @@ var nodeLabels = [...]string{
"istmein",
"keymachine",
"l-o-g-i-n",
+ "lcube-server",
"lebtimnetz",
"leitungsen",
+ "lima-city",
"logoip",
"mein-vigor",
"my-gateway",
@@ -10788,6 +10990,7 @@ var nodeLabels = [...]string{
"myhome-server",
"spdns",
"square7",
+ "svn-repos",
"syno-ds",
"synology-diskstation",
"synology-ds",
@@ -10920,6 +11123,7 @@ var nodeLabels = [...]string{
"presse",
"tm",
"veterinaire",
+ "nom",
"com",
"edu",
"gov",
@@ -10946,6 +11150,7 @@ var nodeLabels = [...]string{
"com",
"edu",
"net",
+ "nom",
"org",
"ac",
"com",
@@ -10965,6 +11170,7 @@ var nodeLabels = [...]string{
"edu",
"gov",
"net",
+ "nym",
"org",
"com",
"edu",
@@ -10972,6 +11178,7 @@ var nodeLabels = [...]string{
"ind",
"mil",
"net",
+ "nom",
"org",
"co",
"com",
@@ -11008,7 +11215,10 @@ var nodeLabels = [...]string{
"gob",
"mil",
"net",
+ "nom",
"org",
+ "cloudaccess",
+ "freesite",
"opencraft",
"blogspot",
"com",
@@ -11091,6 +11301,7 @@ var nodeLabels = [...]string{
"co",
"com",
"net",
+ "nom",
"org",
"ro",
"tt",
@@ -11127,6 +11338,7 @@ var nodeLabels = [...]string{
"no-ip",
"nsupdate",
"selfip",
+ "v-info",
"webhop",
"eu",
"backplaneapp",
@@ -11144,6 +11356,7 @@ var nodeLabels = [...]string{
"lair",
"ngrok",
"nid",
+ "nodeart",
"nodum",
"pantheonsite",
"protonet",
@@ -11151,10 +11364,20 @@ var nodeLabels = [...]string{
"shiftedit",
"spacekit",
"stolos",
+ "thingdust",
"vaporcloud",
"wedeploy",
"customer",
"apps",
+ "stage",
+ "dev",
+ "disrec",
+ "prod",
+ "testing",
+ "cust",
+ "cust",
+ "cust",
+ "cust",
"com",
"edu",
"gov",
@@ -13433,6 +13656,7 @@ var nodeLabels = [...]string{
"gov",
"mil",
"net",
+ "nym",
"org",
"bnr",
"c",
@@ -13442,6 +13666,7 @@ var nodeLabels = [...]string{
"info",
"int",
"net",
+ "nym",
"org",
"per",
"static",
@@ -13460,6 +13685,8 @@ var nodeLabels = [...]string{
"org",
"oy",
"blogspot",
+ "nom",
+ "nym",
"cyon",
"mypep",
"ac",
@@ -13486,7 +13713,9 @@ var nodeLabels = [...]string{
"org",
"blogspot",
"gov",
+ "nym",
"blogspot",
+ "nym",
"asn",
"com",
"conf",
@@ -13534,6 +13763,7 @@ var nodeLabels = [...]string{
"myds",
"net",
"noip",
+ "nym",
"org",
"priv",
"synology",
@@ -13557,6 +13787,7 @@ var nodeLabels = [...]string{
"inf",
"name",
"net",
+ "nom",
"org",
"com",
"edu",
@@ -14172,6 +14403,7 @@ var nodeLabels = [...]string{
"edu",
"gob",
"net",
+ "nym",
"org",
"blogspot",
"com",
@@ -14218,17 +14450,22 @@ var nodeLabels = [...]string{
"azurewebsites",
"barsy",
"blogdns",
+ "boomla",
"bounceme",
"bplaced",
"broke-it",
"buyshouses",
+ "casacam",
"cdn77",
"cdn77-ssl",
+ "channelsdvr",
+ "cloudaccess",
"cloudapp",
"cloudfront",
"cloudfunctions",
"cryptonomic",
"ddns",
+ "debian",
"definima",
"dnsalias",
"dnsdojo",
@@ -14237,6 +14474,7 @@ var nodeLabels = [...]string{
"dsmynas",
"dynalias",
"dynathome",
+ "dynu",
"dynv6",
"eating-organic",
"endofinternet",
@@ -14245,6 +14483,7 @@ var nodeLabels = [...]string{
"fastlylb",
"feste-ip",
"firewall-gateway",
+ "flynnhosting",
"from-az",
"from-co",
"from-la",
@@ -14348,7 +14587,9 @@ var nodeLabels = [...]string{
"web",
"blogspot",
"bv",
+ "cistron",
"co",
+ "demon",
"transurl",
"virtueeldomein",
"aa",
@@ -15126,6 +15367,7 @@ var nodeLabels = [...]string{
"org",
"merseine",
"mine",
+ "nom",
"shacknet",
"ac",
"co",
@@ -15139,6 +15381,7 @@ var nodeLabels = [...]string{
"maori",
"mil",
"net",
+ "nym",
"org",
"parliament",
"school",
@@ -15155,6 +15398,7 @@ var nodeLabels = [...]string{
"pro",
"homelink",
"barsy",
+ "accesscam",
"ae",
"amune",
"blogdns",
@@ -15162,6 +15406,7 @@ var nodeLabels = [...]string{
"bmoattachments",
"boldlygoingnowhere",
"cable-modem",
+ "camdvr",
"cdn77",
"cdn77-secure",
"certmgr",
@@ -15187,6 +15432,7 @@ var nodeLabels = [...]string{
"fedorainfracloud",
"fedorapeople",
"fedoraproject",
+ "freeddns",
"from-me",
"game-host",
"gotdns",
@@ -15224,6 +15470,7 @@ var nodeLabels = [...]string{
"myfirewall",
"myftp",
"mysecuritycamera",
+ "mywire",
"nflfan",
"no-ip",
"pimienta",
@@ -15246,6 +15493,7 @@ var nodeLabels = [...]string{
"ufcfan",
"us",
"webhop",
+ "webredirect",
"wmflabs",
"za",
"zapto",
@@ -15332,6 +15580,7 @@ var nodeLabels = [...]string{
"mil",
"net",
"nom",
+ "nym",
"org",
"com",
"edu",
@@ -15344,6 +15593,7 @@ var nodeLabels = [...]string{
"net",
"ngo",
"org",
+ "1337",
"biz",
"com",
"edu",
@@ -15615,6 +15865,7 @@ var nodeLabels = [...]string{
"int",
"net",
"nome",
+ "nym",
"org",
"publ",
"belau",
@@ -15623,6 +15874,7 @@ var nodeLabels = [...]string{
"ed",
"go",
"ne",
+ "nom",
"or",
"com",
"coop",
@@ -15638,6 +15890,7 @@ var nodeLabels = [...]string{
"mil",
"name",
"net",
+ "nom",
"org",
"sch",
"asso",
@@ -15645,6 +15898,7 @@ var nodeLabels = [...]string{
"com",
"nom",
"ybo",
+ "clan",
"arts",
"blogspot",
"com",
@@ -15658,12 +15912,16 @@ var nodeLabels = [...]string{
"store",
"tm",
"www",
+ "lima-city",
+ "myddns",
+ "webspace",
"ac",
"blogspot",
"co",
"edu",
"gov",
"in",
+ "nom",
"org",
"ac",
"adygeya",
@@ -15686,7 +15944,10 @@ var nodeLabels = [...]string{
"msk",
"mytis",
"nalchik",
+ "net",
"nov",
+ "org",
+ "pp",
"pyatigorsk",
"spb",
"test",
@@ -15785,10 +16046,14 @@ var nodeLabels = [...]string{
"now",
"org",
"platform",
+ "wedeploy",
"blogspot",
+ "nom",
+ "byen",
"cyon",
"platformsh",
"blogspot",
+ "nym",
"com",
"edu",
"gov",
@@ -15857,6 +16122,7 @@ var nodeLabels = [...]string{
"navoi",
"north-kazakhstan",
"nov",
+ "nym",
"obninsk",
"penza",
"pokrovsk",
@@ -15879,6 +16145,7 @@ var nodeLabels = [...]string{
"org",
"red",
"gov",
+ "nym",
"com",
"edu",
"gov",
@@ -16003,6 +16270,7 @@ var nodeLabels = [...]string{
"idv",
"mil",
"net",
+ "nym",
"org",
"url",
"xn--czrw28b",
@@ -16109,6 +16377,7 @@ var nodeLabels = [...]string{
"com",
"go",
"ne",
+ "nom",
"or",
"org",
"sc",
@@ -16270,9 +16539,17 @@ var nodeLabels = [...]string{
"cc",
"k12",
"lib",
+ "ann-arbor",
"cc",
+ "cog",
+ "dst",
+ "eaton",
+ "gen",
"k12",
"lib",
+ "mus",
+ "tec",
+ "washtenaw",
"cc",
"k12",
"lib",
@@ -16364,6 +16641,7 @@ var nodeLabels = [...]string{
"gub",
"mil",
"net",
+ "nom",
"org",
"blogspot",
"co",
@@ -16375,6 +16653,7 @@ var nodeLabels = [...]string{
"gov",
"mil",
"net",
+ "nom",
"org",
"arts",
"co",
@@ -16393,6 +16672,7 @@ var nodeLabels = [...]string{
"store",
"tec",
"web",
+ "nom",
"co",
"com",
"k12",
@@ -16435,6 +16715,7 @@ var nodeLabels = [...]string{
"xn--h3cuzk1di",
"xn--m3ch0j3a",
"xn--o3cyx2a",
+ "blogsite",
"fhapp",
"ac",
"agric",
@@ -16465,6 +16746,7 @@ var nodeLabels = [...]string{
"net",
"org",
"sch",
+ "lima",
"triton",
"ac",
"co",
diff --git a/vendor/golang.org/x/net/webdav/lock_test.go b/vendor/golang.org/x/net/webdav/lock_test.go
index 116d6c0d7..5cf14cda4 100644
--- a/vendor/golang.org/x/net/webdav/lock_test.go
+++ b/vendor/golang.org/x/net/webdav/lock_test.go
@@ -69,7 +69,7 @@ var lockTestDurations = []time.Duration{
// lockTestNames are the names of a set of mutually compatible locks. For each
// name fragment:
// - _ means no explicit lock.
-// - i means a infinite-depth lock,
+// - i means an infinite-depth lock,
// - z means a zero-depth lock,
var lockTestNames = []string{
"/_/_/_/_/z",
diff --git a/vendor/golang.org/x/sys/README b/vendor/golang.org/x/sys/README
deleted file mode 100644
index bd422b40c..000000000
--- a/vendor/golang.org/x/sys/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This repository holds supplemental Go packages for low-level interactions with the operating system.
-
-To submit changes to this repository, see http://golang.org/doc/contribute.html.
diff --git a/vendor/golang.org/x/sys/README.md b/vendor/golang.org/x/sys/README.md
new file mode 100644
index 000000000..ef6c9e59c
--- /dev/null
+++ b/vendor/golang.org/x/sys/README.md
@@ -0,0 +1,18 @@
+# sys
+
+This repository holds supplemental Go packages for low-level interactions with
+the operating system.
+
+## Download/Install
+
+The easiest way to install is to run `go get -u golang.org/x/sys`. You can
+also manually git clone the repository to `$GOPATH/src/golang.org/x/sys`.
+
+## Report Issues / Send Patches
+
+This repository uses Gerrit for code changes. To learn how to submit changes to
+this repository, see https://golang.org/doc/contribute.html.
+
+The main issue tracker for the sys repository is located at
+https://github.com/golang/go/issues. Prefix your issue with "x/sys:" in the
+subject line, so it is easy to find.
diff --git a/vendor/golang.org/x/sys/unix/creds_test.go b/vendor/golang.org/x/sys/unix/creds_test.go
index eaae7c367..7ae330532 100644
--- a/vendor/golang.org/x/sys/unix/creds_test.go
+++ b/vendor/golang.org/x/sys/unix/creds_test.go
@@ -21,101 +21,116 @@ import (
// sockets. The SO_PASSCRED socket option is enabled on the sending
// socket for this to work.
func TestSCMCredentials(t *testing.T) {
- fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0)
- if err != nil {
- t.Fatalf("Socketpair: %v", err)
+ socketTypeTests := []struct {
+ socketType int
+ dataLen int
+ }{
+ {
+ unix.SOCK_STREAM,
+ 1,
+ }, {
+ unix.SOCK_DGRAM,
+ 0,
+ },
}
- defer unix.Close(fds[0])
- defer unix.Close(fds[1])
- err = unix.SetsockoptInt(fds[0], unix.SOL_SOCKET, unix.SO_PASSCRED, 1)
- if err != nil {
- t.Fatalf("SetsockoptInt: %v", err)
- }
+ for _, tt := range socketTypeTests {
+ fds, err := unix.Socketpair(unix.AF_LOCAL, tt.socketType, 0)
+ if err != nil {
+ t.Fatalf("Socketpair: %v", err)
+ }
+ defer unix.Close(fds[0])
+ defer unix.Close(fds[1])
- srvFile := os.NewFile(uintptr(fds[0]), "server")
- defer srvFile.Close()
- srv, err := net.FileConn(srvFile)
- if err != nil {
- t.Errorf("FileConn: %v", err)
- return
- }
- defer srv.Close()
+ err = unix.SetsockoptInt(fds[0], unix.SOL_SOCKET, unix.SO_PASSCRED, 1)
+ if err != nil {
+ t.Fatalf("SetsockoptInt: %v", err)
+ }
- cliFile := os.NewFile(uintptr(fds[1]), "client")
- defer cliFile.Close()
- cli, err := net.FileConn(cliFile)
- if err != nil {
- t.Errorf("FileConn: %v", err)
- return
- }
- defer cli.Close()
+ srvFile := os.NewFile(uintptr(fds[0]), "server")
+ defer srvFile.Close()
+ srv, err := net.FileConn(srvFile)
+ if err != nil {
+ t.Errorf("FileConn: %v", err)
+ return
+ }
+ defer srv.Close()
+
+ cliFile := os.NewFile(uintptr(fds[1]), "client")
+ defer cliFile.Close()
+ cli, err := net.FileConn(cliFile)
+ if err != nil {
+ t.Errorf("FileConn: %v", err)
+ return
+ }
+ defer cli.Close()
+
+ var ucred unix.Ucred
+ if os.Getuid() != 0 {
+ ucred.Pid = int32(os.Getpid())
+ ucred.Uid = 0
+ ucred.Gid = 0
+ oob := unix.UnixCredentials(&ucred)
+ _, _, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil)
+ if op, ok := err.(*net.OpError); ok {
+ err = op.Err
+ }
+ if sys, ok := err.(*os.SyscallError); ok {
+ err = sys.Err
+ }
+ if err != syscall.EPERM {
+ t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err)
+ }
+ }
- var ucred unix.Ucred
- if os.Getuid() != 0 {
ucred.Pid = int32(os.Getpid())
- ucred.Uid = 0
- ucred.Gid = 0
+ ucred.Uid = uint32(os.Getuid())
+ ucred.Gid = uint32(os.Getgid())
oob := unix.UnixCredentials(&ucred)
- _, _, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil)
- if op, ok := err.(*net.OpError); ok {
- err = op.Err
+
+ // On SOCK_STREAM, this is internally going to send a dummy byte
+ n, oobn, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil)
+ if err != nil {
+ t.Fatalf("WriteMsgUnix: %v", err)
}
- if sys, ok := err.(*os.SyscallError); ok {
- err = sys.Err
+ if n != 0 {
+ t.Fatalf("WriteMsgUnix n = %d, want 0", n)
}
- if err != syscall.EPERM {
- t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err)
+ if oobn != len(oob) {
+ t.Fatalf("WriteMsgUnix oobn = %d, want %d", oobn, len(oob))
}
- }
-
- ucred.Pid = int32(os.Getpid())
- ucred.Uid = uint32(os.Getuid())
- ucred.Gid = uint32(os.Getgid())
- oob := unix.UnixCredentials(&ucred)
-
- // this is going to send a dummy byte
- n, oobn, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil)
- if err != nil {
- t.Fatalf("WriteMsgUnix: %v", err)
- }
- if n != 0 {
- t.Fatalf("WriteMsgUnix n = %d, want 0", n)
- }
- if oobn != len(oob) {
- t.Fatalf("WriteMsgUnix oobn = %d, want %d", oobn, len(oob))
- }
- oob2 := make([]byte, 10*len(oob))
- n, oobn2, flags, _, err := srv.(*net.UnixConn).ReadMsgUnix(nil, oob2)
- if err != nil {
- t.Fatalf("ReadMsgUnix: %v", err)
- }
- if flags != 0 {
- t.Fatalf("ReadMsgUnix flags = 0x%x, want 0", flags)
- }
- if n != 1 {
- t.Fatalf("ReadMsgUnix n = %d, want 1 (dummy byte)", n)
- }
- if oobn2 != oobn {
- // without SO_PASSCRED set on the socket, ReadMsgUnix will
- // return zero oob bytes
- t.Fatalf("ReadMsgUnix oobn = %d, want %d", oobn2, oobn)
- }
- oob2 = oob2[:oobn2]
- if !bytes.Equal(oob, oob2) {
- t.Fatal("ReadMsgUnix oob bytes don't match")
- }
+ oob2 := make([]byte, 10*len(oob))
+ n, oobn2, flags, _, err := srv.(*net.UnixConn).ReadMsgUnix(nil, oob2)
+ if err != nil {
+ t.Fatalf("ReadMsgUnix: %v", err)
+ }
+ if flags != 0 {
+ t.Fatalf("ReadMsgUnix flags = 0x%x, want 0", flags)
+ }
+ if n != tt.dataLen {
+ t.Fatalf("ReadMsgUnix n = %d, want %d", n, tt.dataLen)
+ }
+ if oobn2 != oobn {
+ // without SO_PASSCRED set on the socket, ReadMsgUnix will
+ // return zero oob bytes
+ t.Fatalf("ReadMsgUnix oobn = %d, want %d", oobn2, oobn)
+ }
+ oob2 = oob2[:oobn2]
+ if !bytes.Equal(oob, oob2) {
+ t.Fatal("ReadMsgUnix oob bytes don't match")
+ }
- scm, err := unix.ParseSocketControlMessage(oob2)
- if err != nil {
- t.Fatalf("ParseSocketControlMessage: %v", err)
- }
- newUcred, err := unix.ParseUnixCredentials(&scm[0])
- if err != nil {
- t.Fatalf("ParseUnixCredentials: %v", err)
- }
- if *newUcred != ucred {
- t.Fatalf("ParseUnixCredentials = %+v, want %+v", newUcred, ucred)
+ scm, err := unix.ParseSocketControlMessage(oob2)
+ if err != nil {
+ t.Fatalf("ParseSocketControlMessage: %v", err)
+ }
+ newUcred, err := unix.ParseUnixCredentials(&scm[0])
+ if err != nil {
+ t.Fatalf("ParseUnixCredentials: %v", err)
+ }
+ if *newUcred != ucred {
+ t.Fatalf("ParseUnixCredentials = %+v, want %+v", newUcred, ucred)
+ }
}
}
diff --git a/vendor/golang.org/x/sys/unix/dev_darwin.go b/vendor/golang.org/x/sys/unix/dev_darwin.go
new file mode 100644
index 000000000..8d1dc0fa3
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_darwin.go
@@ -0,0 +1,24 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Functions to access/create device major and minor numbers matching the
+// encoding used in Darwin's sys/types.h header.
+
+package unix
+
+// Major returns the major component of a Darwin device number.
+func Major(dev uint64) uint32 {
+ return uint32((dev >> 24) & 0xff)
+}
+
+// Minor returns the minor component of a Darwin device number.
+func Minor(dev uint64) uint32 {
+ return uint32(dev & 0xffffff)
+}
+
+// Mkdev returns a Darwin device number generated from the given major and minor
+// components.
+func Mkdev(major, minor uint32) uint64 {
+ return (uint64(major) << 24) | uint64(minor)
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_darwin_test.go b/vendor/golang.org/x/sys/unix/dev_darwin_test.go
new file mode 100644
index 000000000..48d044860
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_darwin_test.go
@@ -0,0 +1,49 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package unix_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // Most of the device major/minor numbers on Darwin are
+ // dynamically generated by devfs. These are some well-known
+ // static numbers.
+ {"/dev/ttyp0", 4, 0},
+ {"/dev/ttys0", 4, 48},
+ {"/dev/ptyp0", 5, 0},
+ {"/dev/ptyr0", 5, 32},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_dragonfly.go b/vendor/golang.org/x/sys/unix/dev_dragonfly.go
new file mode 100644
index 000000000..8502f202c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_dragonfly.go
@@ -0,0 +1,30 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Functions to access/create device major and minor numbers matching the
+// encoding used in Dragonfly's sys/types.h header.
+//
+// The information below is extracted and adapted from sys/types.h:
+//
+// Minor gives a cookie instead of an index since in order to avoid changing the
+// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for
+// devices that don't use them.
+
+package unix
+
+// Major returns the major component of a DragonFlyBSD device number.
+func Major(dev uint64) uint32 {
+ return uint32((dev >> 8) & 0xff)
+}
+
+// Minor returns the minor component of a DragonFlyBSD device number.
+func Minor(dev uint64) uint32 {
+ return uint32(dev & 0xffff00ff)
+}
+
+// Mkdev returns a DragonFlyBSD device number generated from the given major and
+// minor components.
+func Mkdev(major, minor uint32) uint64 {
+ return (uint64(major) << 8) | uint64(minor)
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_dragonfly_test.go b/vendor/golang.org/x/sys/unix/dev_dragonfly_test.go
new file mode 100644
index 000000000..2caba08a8
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_dragonfly_test.go
@@ -0,0 +1,48 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package unix_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // Minor is a cookie instead of an index on DragonFlyBSD
+ {"/dev/null", 10, 0x00000002},
+ {"/dev/random", 10, 0x00000003},
+ {"/dev/urandom", 10, 0x00000004},
+ {"/dev/zero", 10, 0x0000000c},
+ {"/dev/bpf", 15, 0xffff00ff},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_freebsd.go b/vendor/golang.org/x/sys/unix/dev_freebsd.go
new file mode 100644
index 000000000..eba3b4bd3
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_freebsd.go
@@ -0,0 +1,30 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Functions to access/create device major and minor numbers matching the
+// encoding used in FreeBSD's sys/types.h header.
+//
+// The information below is extracted and adapted from sys/types.h:
+//
+// Minor gives a cookie instead of an index since in order to avoid changing the
+// meanings of bits 0-15 or wasting time and space shifting bits 16-31 for
+// devices that don't use them.
+
+package unix
+
+// Major returns the major component of a FreeBSD device number.
+func Major(dev uint64) uint32 {
+ return uint32((dev >> 8) & 0xff)
+}
+
+// Minor returns the minor component of a FreeBSD device number.
+func Minor(dev uint64) uint32 {
+ return uint32(dev & 0xffff00ff)
+}
+
+// Mkdev returns a FreeBSD device number generated from the given major and
+// minor components.
+func Mkdev(major, minor uint32) uint64 {
+ return (uint64(major) << 8) | uint64(minor)
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_linux.go b/vendor/golang.org/x/sys/unix/dev_linux.go
index c902c39e8..d165d6f30 100644
--- a/vendor/golang.org/x/sys/unix/dev_linux.go
+++ b/vendor/golang.org/x/sys/unix/dev_linux.go
@@ -34,9 +34,9 @@ func Minor(dev uint64) uint32 {
// Mkdev returns a Linux device number generated from the given major and minor
// components.
func Mkdev(major, minor uint32) uint64 {
- dev := uint64((major & 0x00000fff) << 8)
- dev |= uint64((major & 0xfffff000) << 32)
- dev |= uint64((minor & 0x000000ff) << 0)
- dev |= uint64((minor & 0xffffff00) << 12)
+ dev := (uint64(major) & 0x00000fff) << 8
+ dev |= (uint64(major) & 0xfffff000) << 32
+ dev |= (uint64(minor) & 0x000000ff) << 0
+ dev |= (uint64(minor) & 0xffffff00) << 12
return dev
}
diff --git a/vendor/golang.org/x/sys/unix/dev_netbsd.go b/vendor/golang.org/x/sys/unix/dev_netbsd.go
new file mode 100644
index 000000000..b4a203d0c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_netbsd.go
@@ -0,0 +1,29 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Functions to access/create device major and minor numbers matching the
+// encoding used in NetBSD's sys/types.h header.
+
+package unix
+
+// Major returns the major component of a NetBSD device number.
+func Major(dev uint64) uint32 {
+ return uint32((dev & 0x000fff00) >> 8)
+}
+
+// Minor returns the minor component of a NetBSD device number.
+func Minor(dev uint64) uint32 {
+ minor := uint32((dev & 0x000000ff) >> 0)
+ minor |= uint32((dev & 0xfff00000) >> 12)
+ return minor
+}
+
+// Mkdev returns a NetBSD device number generated from the given major and minor
+// components.
+func Mkdev(major, minor uint32) uint64 {
+ dev := (uint64(major) << 8) & 0x000fff00
+ dev |= (uint64(minor) << 12) & 0xfff00000
+ dev |= (uint64(minor) << 0) & 0x000000ff
+ return dev
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_netbsd_test.go b/vendor/golang.org/x/sys/unix/dev_netbsd_test.go
new file mode 100644
index 000000000..c39a80a48
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_netbsd_test.go
@@ -0,0 +1,50 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package unix_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // well known major/minor numbers according to /dev/MAKEDEV on
+ // NetBSD 7.0
+ {"/dev/null", 2, 2},
+ {"/dev/zero", 2, 12},
+ {"/dev/ttyp0", 5, 0},
+ {"/dev/ttyp1", 5, 1},
+ {"/dev/random", 46, 0},
+ {"/dev/urandom", 46, 1},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_openbsd.go b/vendor/golang.org/x/sys/unix/dev_openbsd.go
new file mode 100644
index 000000000..f3430c42f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_openbsd.go
@@ -0,0 +1,29 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Functions to access/create device major and minor numbers matching the
+// encoding used in OpenBSD's sys/types.h header.
+
+package unix
+
+// Major returns the major component of an OpenBSD device number.
+func Major(dev uint64) uint32 {
+ return uint32((dev & 0x0000ff00) >> 8)
+}
+
+// Minor returns the minor component of an OpenBSD device number.
+func Minor(dev uint64) uint32 {
+ minor := uint32((dev & 0x000000ff) >> 0)
+ minor |= uint32((dev & 0xffff0000) >> 8)
+ return minor
+}
+
+// Mkdev returns an OpenBSD device number generated from the given major and minor
+// components.
+func Mkdev(major, minor uint32) uint64 {
+ dev := (uint64(major) << 8) & 0x0000ff00
+ dev |= (uint64(minor) << 8) & 0xffff0000
+ dev |= (uint64(minor) << 0) & 0x000000ff
+ return dev
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_openbsd_test.go b/vendor/golang.org/x/sys/unix/dev_openbsd_test.go
new file mode 100644
index 000000000..5635d271f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_openbsd_test.go
@@ -0,0 +1,52 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package unix_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // well known major/minor numbers according to /dev/MAKEDEV on
+ // OpenBSD 6.0
+ {"/dev/null", 2, 2},
+ {"/dev/zero", 2, 12},
+ {"/dev/ttyp0", 5, 0},
+ {"/dev/ttyp1", 5, 1},
+ {"/dev/random", 45, 0},
+ {"/dev/srandom", 45, 1},
+ {"/dev/urandom", 45, 2},
+ {"/dev/arandom", 45, 3},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_solaris_test.go b/vendor/golang.org/x/sys/unix/dev_solaris_test.go
new file mode 100644
index 000000000..db58c0d05
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_solaris_test.go
@@ -0,0 +1,49 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package unix_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // Well-known major/minor numbers on OpenSolaris according to
+ // /etc/name_to_major
+ {"/dev/zero", 134, 12},
+ {"/dev/null", 134, 2},
+ {"/dev/ptyp0", 172, 0},
+ {"/dev/ttyp0", 175, 0},
+ {"/dev/ttyp1", 175, 1},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go
deleted file mode 100644
index 56332692c..000000000
--- a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build gccgo,linux,sparc64
-
-package unix
-
-import "syscall"
-
-//extern sysconf
-func realSysconf(name int) int64
-
-func sysconf(name int) (n int64, err syscall.Errno) {
- r := realSysconf(name)
- if r < 0 {
- return 0, syscall.GetErrno()
- }
- return r, 0
-}
diff --git a/vendor/golang.org/x/sys/unix/linux/Dockerfile b/vendor/golang.org/x/sys/unix/linux/Dockerfile
index 4397143c9..c448b9dde 100644
--- a/vendor/golang.org/x/sys/unix/linux/Dockerfile
+++ b/vendor/golang.org/x/sys/unix/linux/Dockerfile
@@ -1,5 +1,8 @@
FROM ubuntu:16.04
+# Use the most recent ubuntu sources
+RUN echo 'deb http://en.archive.ubuntu.com/ubuntu/ artful main universe' >> /etc/apt/sources.list
+
# Dependencies to get the git sources and go binaries
RUN apt-get update && apt-get install -y \
curl \
@@ -9,10 +12,10 @@ RUN apt-get update && apt-get install -y \
# Get the git sources. If not cached, this takes O(5 minutes).
WORKDIR /git
RUN git config --global advice.detachedHead false
-# Linux Kernel: Released 19 Feb 2017
-RUN git clone --branch v4.10 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
-# GNU C library: Released 05 Feb 2017 (we should try to get a secure way to clone this)
-RUN git clone --branch glibc-2.25 --depth 1 git://sourceware.org/git/glibc.git
+# Linux Kernel: Released 03 Sep 2017
+RUN git clone --branch v4.13 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
+# GNU C library: Released 02 Aug 2017 (we should try to get a secure way to clone this)
+RUN git clone --branch glibc-2.26 --depth 1 git://sourceware.org/git/glibc.git
# Get Go 1.8 (https://github.com/docker-library/golang/blob/master/1.8/Dockerfile)
ENV GOLANG_VERSION 1.8
diff --git a/vendor/golang.org/x/sys/unix/linux/types.go b/vendor/golang.org/x/sys/unix/linux/types.go
index e5769db57..426be5eb4 100644
--- a/vendor/golang.org/x/sys/unix/linux/types.go
+++ b/vendor/golang.org/x/sys/unix/linux/types.go
@@ -62,6 +62,8 @@ package unix
#include <linux/fs.h>
#include <linux/vm_sockets.h>
#include <linux/random.h>
+#include <linux/taskstats.h>
+#include <linux/genetlink.h>
// On mips64, the glibc stat and kernel stat do not agree
#if (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI64)
@@ -112,14 +114,6 @@ struct stat {
#endif
-// Certain constants and structs are missing from the fs/crypto UAPI
-#define FS_MAX_KEY_SIZE 64
-struct fscrypt_key {
- __u32 mode;
- __u8 raw[FS_MAX_KEY_SIZE];
- __u32 size;
-};
-
#ifdef TCSETS2
// On systems that have "struct termios2" use this as type Termios.
typedef struct termios2 termios_t;
@@ -541,12 +535,61 @@ const RNDGETENTCNT = C.RNDGETENTCNT
const PERF_IOC_FLAG_GROUP = C.PERF_IOC_FLAG_GROUP
-// sysconf information
-
-const _SC_PAGESIZE = C._SC_PAGESIZE
-
// Terminal handling
type Termios C.termios_t
type Winsize C.struct_winsize
+
+// Taskstats
+
+type Taskstats C.struct_taskstats
+
+const (
+ TASKSTATS_CMD_UNSPEC = C.TASKSTATS_CMD_UNSPEC
+ TASKSTATS_CMD_GET = C.TASKSTATS_CMD_GET
+ TASKSTATS_CMD_NEW = C.TASKSTATS_CMD_NEW
+ TASKSTATS_TYPE_UNSPEC = C.TASKSTATS_TYPE_UNSPEC
+ TASKSTATS_TYPE_PID = C.TASKSTATS_TYPE_PID
+ TASKSTATS_TYPE_TGID = C.TASKSTATS_TYPE_TGID
+ TASKSTATS_TYPE_STATS = C.TASKSTATS_TYPE_STATS
+ TASKSTATS_TYPE_AGGR_PID = C.TASKSTATS_TYPE_AGGR_PID
+ TASKSTATS_TYPE_AGGR_TGID = C.TASKSTATS_TYPE_AGGR_TGID
+ TASKSTATS_TYPE_NULL = C.TASKSTATS_TYPE_NULL
+ TASKSTATS_CMD_ATTR_UNSPEC = C.TASKSTATS_CMD_ATTR_UNSPEC
+ TASKSTATS_CMD_ATTR_PID = C.TASKSTATS_CMD_ATTR_PID
+ TASKSTATS_CMD_ATTR_TGID = C.TASKSTATS_CMD_ATTR_TGID
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_REGISTER_CPUMASK
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK
+)
+
+// Generic netlink
+
+type Genlmsghdr C.struct_genlmsghdr
+
+const (
+ CTRL_CMD_UNSPEC = C.CTRL_CMD_UNSPEC
+ CTRL_CMD_NEWFAMILY = C.CTRL_CMD_NEWFAMILY
+ CTRL_CMD_DELFAMILY = C.CTRL_CMD_DELFAMILY
+ CTRL_CMD_GETFAMILY = C.CTRL_CMD_GETFAMILY
+ CTRL_CMD_NEWOPS = C.CTRL_CMD_NEWOPS
+ CTRL_CMD_DELOPS = C.CTRL_CMD_DELOPS
+ CTRL_CMD_GETOPS = C.CTRL_CMD_GETOPS
+ CTRL_CMD_NEWMCAST_GRP = C.CTRL_CMD_NEWMCAST_GRP
+ CTRL_CMD_DELMCAST_GRP = C.CTRL_CMD_DELMCAST_GRP
+ CTRL_CMD_GETMCAST_GRP = C.CTRL_CMD_GETMCAST_GRP
+ CTRL_ATTR_UNSPEC = C.CTRL_ATTR_UNSPEC
+ CTRL_ATTR_FAMILY_ID = C.CTRL_ATTR_FAMILY_ID
+ CTRL_ATTR_FAMILY_NAME = C.CTRL_ATTR_FAMILY_NAME
+ CTRL_ATTR_VERSION = C.CTRL_ATTR_VERSION
+ CTRL_ATTR_HDRSIZE = C.CTRL_ATTR_HDRSIZE
+ CTRL_ATTR_MAXATTR = C.CTRL_ATTR_MAXATTR
+ CTRL_ATTR_OPS = C.CTRL_ATTR_OPS
+ CTRL_ATTR_MCAST_GROUPS = C.CTRL_ATTR_MCAST_GROUPS
+ CTRL_ATTR_OP_UNSPEC = C.CTRL_ATTR_OP_UNSPEC
+ CTRL_ATTR_OP_ID = C.CTRL_ATTR_OP_ID
+ CTRL_ATTR_OP_FLAGS = C.CTRL_ATTR_OP_FLAGS
+ CTRL_ATTR_MCAST_GRP_UNSPEC = C.CTRL_ATTR_MCAST_GRP_UNSPEC
+ CTRL_ATTR_MCAST_GRP_NAME = C.CTRL_ATTR_MCAST_GRP_NAME
+ CTRL_ATTR_MCAST_GRP_ID = C.CTRL_ATTR_MCAST_GRP_ID
+)
diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh
index 08dd77518..f9f5e5691 100755
--- a/vendor/golang.org/x/sys/unix/mkerrors.sh
+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -17,8 +17,8 @@ if test -z "$GOARCH" -o -z "$GOOS"; then
fi
# Check that we are using the new build system if we should
-if [[ "$GOOS" -eq "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then
- if [[ "$GOLANG_SYS_BUILD" -ne "docker" ]]; then
+if [[ "$GOOS" = "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then
+ if [[ "$GOLANG_SYS_BUILD" != "docker" ]]; then
echo 1>&2 "In the new build system, mkerrors should not be called directly."
echo 1>&2 "See README.md"
exit 1
@@ -27,7 +27,7 @@ fi
CC=${CC:-cc}
-if [[ "$GOOS" -eq "solaris" ]]; then
+if [[ "$GOOS" = "solaris" ]]; then
# Assumes GNU versions of utilities in PATH.
export PATH=/usr/gnu/bin:$PATH
fi
@@ -181,6 +181,8 @@ struct ltchars {
#include <linux/serial.h>
#include <linux/can.h>
#include <linux/vm_sockets.h>
+#include <linux/taskstats.h>
+#include <linux/genetlink.h>
#include <net/route.h>
#include <asm/termbits.h>
@@ -281,6 +283,7 @@ includes_SunOS='
#include <sys/mman.h>
#include <sys/wait.h>
#include <sys/ioctl.h>
+#include <sys/mkdev.h>
#include <net/bpf.h>
#include <net/if.h>
#include <net/if_arp.h>
@@ -345,6 +348,7 @@ ccflags="$@"
$2 !~ /^EXPR_/ &&
$2 ~ /^E[A-Z0-9_]+$/ ||
$2 ~ /^B[0-9_]+$/ ||
+ $2 ~ /^(OLD|NEW)DEV$/ ||
$2 == "BOTHER" ||
$2 ~ /^CI?BAUD(EX)?$/ ||
$2 == "IBSHIFT" ||
@@ -413,6 +417,8 @@ ccflags="$@"
$2 ~ /^SECCOMP_MODE_/ ||
$2 ~ /^SPLICE_/ ||
$2 ~ /^(VM|VMADDR)_/ ||
+ $2 ~ /^(TASKSTATS|TS)_/ ||
+ $2 ~ /^GENL_/ ||
$2 ~ /^XATTR_(CREATE|REPLACE)/ ||
$2 !~ "WMESGLEN" &&
$2 ~ /^W[A-Z0-9]+$/ ||
diff --git a/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
index d31f2c48f..85988b140 100755
--- a/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
+++ b/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
@@ -47,7 +47,7 @@ while(<>){
$name = "$7_$11" if $11 ne '';
$name =~ y/a-z/A-Z/;
- if($compat eq '' || $compat eq '30' || $compat eq '50') {
+ if($compat eq '' || $compat eq '13' || $compat eq '30' || $compat eq '50') {
print " $name = $num; // $proto\n";
}
}
diff --git a/vendor/golang.org/x/sys/unix/mmap_unix_test.go b/vendor/golang.org/x/sys/unix/mmap_unix_test.go
index 18ccec05f..3258ca328 100644
--- a/vendor/golang.org/x/sys/unix/mmap_unix_test.go
+++ b/vendor/golang.org/x/sys/unix/mmap_unix_test.go
@@ -17,6 +17,18 @@ func TestMmap(t *testing.T) {
if err != nil {
t.Fatalf("Mmap: %v", err)
}
+ if err := unix.Mprotect(b, unix.PROT_READ|unix.PROT_WRITE); err != nil {
+ t.Fatalf("Mprotect: %v", err)
+ }
+
+ b[0] = 42
+
+ if err := unix.Msync(b, unix.MS_SYNC); err != nil {
+ t.Fatalf("Msync: %v", err)
+ }
+ if err := unix.Madvise(b, unix.MADV_DONTNEED); err != nil {
+ t.Fatalf("Madvise: %v", err)
+ }
if err := unix.Munmap(b); err != nil {
t.Fatalf("Munmap: %v", err)
}
diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go
new file mode 100644
index 000000000..45afcf72d
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go
@@ -0,0 +1,15 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+
+// For Unix, get the pagesize from the runtime.
+
+package unix
+
+import "syscall"
+
+func Getpagesize() int {
+ return syscall.Getpagesize()
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go
index 71f0037d9..c2846b32d 100644
--- a/vendor/golang.org/x/sys/unix/syscall_bsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go
@@ -610,9 +610,6 @@ func Futimes(fd int, tv []Timeval) error {
// TODO: wrap
// Acct(name nil-string) (err error)
// Gethostuuid(uuid *byte, timeout *Timespec) (err error)
-// Madvise(addr *byte, len int, behav int) (err error)
-// Mprotect(addr *byte, len int, prot int) (err error)
-// Msync(addr *byte, len int, flags int) (err error)
// Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error)
var mapper = &mmapper{
@@ -628,3 +625,11 @@ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, e
func Munmap(b []byte) (err error) {
return mapper.Munmap(b)
}
+
+//sys Madvise(b []byte, behav int) (err error)
+//sys Mlock(b []byte) (err error)
+//sys Mlockall(flags int) (err error)
+//sys Mprotect(b []byte, prot int) (err error)
+//sys Msync(b []byte, flags int) (err error)
+//sys Munlock(b []byte) (err error)
+//sys Munlockall() (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go
index c9be499aa..ad74a11fb 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go
@@ -292,12 +292,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
//sys Mkfifo(path string, mode uint32) (err error)
//sys Mknod(path string, mode uint32, dev int) (err error)
-//sys Mlock(b []byte) (err error)
-//sys Mlockall(flags int) (err error)
-//sys Mprotect(b []byte, prot int) (err error)
-//sys Msync(b []byte, flags int) (err error)
-//sys Munlock(b []byte) (err error)
-//sys Munlockall() (err error)
//sys Open(path string, mode int, perm uint32) (fd int, err error)
//sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error)
//sys Pathconf(path string, name int) (val int, err error)
@@ -374,9 +368,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
// Add_profil
// Kdebug_trace
// Sigreturn
-// Mmap
-// Mlock
-// Munlock
// Atsocket
// Kqueue_from_portset_np
// Kqueue_portset
@@ -469,8 +460,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
// Lio_listio
// __pthread_cond_wait
// Iopolicysys
-// Mlockall
-// Munlockall
// __pthread_kill
// __pthread_sigmask
// __sigwait
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
index c172a3da5..76634f7ab 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
index c6c99c13a..7be02dab9 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
index d286cf408..26b66972f 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
@@ -9,8 +9,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
index c33905cdc..4d67a8742 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 16384 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
index bfaaed292..3a483373d 100644
--- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
@@ -174,11 +174,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
//sys Mkdir(path string, mode uint32) (err error)
//sys Mkfifo(path string, mode uint32) (err error)
//sys Mknod(path string, mode uint32, dev int) (err error)
-//sys Mlock(b []byte) (err error)
-//sys Mlockall(flags int) (err error)
-//sys Mprotect(b []byte, prot int) (err error)
-//sys Munlock(b []byte) (err error)
-//sys Munlockall() (err error)
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
//sys Open(path string, mode int, perm uint32) (fd int, err error)
//sys Pathconf(path string, name int) (val int, err error)
@@ -253,9 +248,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
// Add_profil
// Kdebug_trace
// Sigreturn
-// Mmap
-// Mlock
-// Munlock
// Atsocket
// Kqueue_from_portset_np
// Kqueue_portset
@@ -348,8 +340,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
// Lio_listio
// __pthread_cond_wait
// Iopolicysys
-// Mlockall
-// Munlockall
// __pthread_kill
// __pthread_sigmask
// __sigwait
@@ -402,7 +392,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
// Sendmsg_nocancel
// Recvfrom_nocancel
// Accept_nocancel
-// Msync_nocancel
// Fcntl_nocancel
// Select_nocancel
// Fsync_nocancel
diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
index da7cb7982..6d8952d5a 100644
--- a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
index e9847c429..d26e52eae 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
@@ -461,11 +461,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
//sys Mkdirat(dirfd int, path string, mode uint32) (err error)
//sys Mkfifo(path string, mode uint32) (err error)
//sys Mknod(path string, mode uint32, dev int) (err error)
-//sys Mlock(b []byte) (err error)
-//sys Mlockall(flags int) (err error)
-//sys Mprotect(b []byte, prot int) (err error)
-//sys Munlock(b []byte) (err error)
-//sys Munlockall() (err error)
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
//sys Open(path string, mode int, perm uint32) (fd int, err error)
//sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error)
@@ -546,9 +541,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
// Add_profil
// Kdebug_trace
// Sigreturn
-// Mmap
-// Mlock
-// Munlock
// Atsocket
// Kqueue_from_portset_np
// Kqueue_portset
@@ -641,8 +633,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
// Lio_listio
// __pthread_cond_wait
// Iopolicysys
-// Mlockall
-// Munlockall
// __pthread_kill
// __pthread_sigmask
// __sigwait
@@ -695,7 +685,6 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
// Sendmsg_nocancel
// Recvfrom_nocancel
// Accept_nocancel
-// Msync_nocancel
// Fcntl_nocancel
// Select_nocancel
// Fsync_nocancel
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
index 6a0cd804d..4cf5f453f 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
index e142540ef..b8036e726 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
index 5504cb125..5a3bb6a15 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return ts.Sec*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go
index bb9022571..1b7d59d89 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go
@@ -931,8 +931,13 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
}
var dummy byte
if len(oob) > 0 {
+ var sockType int
+ sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
+ if err != nil {
+ return
+ }
// receive at least one normal byte
- if len(p) == 0 {
+ if sockType != SOCK_DGRAM && len(p) == 0 {
iov.Base = &dummy
iov.SetLen(1)
}
@@ -978,8 +983,13 @@ func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error)
}
var dummy byte
if len(oob) > 0 {
+ var sockType int
+ sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE)
+ if err != nil {
+ return 0, err
+ }
// send at least one normal byte
- if len(p) == 0 {
+ if sockType != SOCK_DGRAM && len(p) == 0 {
iov.Base = &dummy
iov.SetLen(1)
}
@@ -1314,9 +1324,9 @@ func Munmap(b []byte) (err error) {
//sys Madvise(b []byte, advice int) (err error)
//sys Mprotect(b []byte, prot int) (err error)
//sys Mlock(b []byte) (err error)
-//sys Munlock(b []byte) (err error)
//sys Mlockall(flags int) (err error)
//sys Msync(b []byte, flags int) (err error)
+//sys Munlock(b []byte) (err error)
//sys Munlockall() (err error)
// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd,
@@ -1384,7 +1394,6 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) {
// ModifyLdt
// Mount
// MovePages
-// Mprotect
// MqGetsetattr
// MqNotify
// MqOpen
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
index 2b881b979..f4c826a45 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
@@ -14,8 +14,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
index 9516a3fd7..0715200dc 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
@@ -69,8 +69,6 @@ func Gettimeofday(tv *Timeval) (err error) {
return nil
}
-func Getpagesize() int { return 4096 }
-
func Time(t *Time_t) (tt Time_t, err error) {
var tv Timeval
errno := gettimeofday(&tv)
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
index 71d870228..2b79c84a6 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
index 4a136396c..68cc975db 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
@@ -66,8 +66,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
-func Getpagesize() int { return 65536 }
-
//sysnb Gettimeofday(tv *Timeval) (err error)
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
index 73318e5c6..977df441b 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
@@ -55,8 +55,6 @@ package unix
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
-func Getpagesize() int { return 65536 }
-
//sysnb Gettimeofday(tv *Timeval) (err error)
func Time(t *Time_t) (tt Time_t, err error) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
index b83d93fdf..25a5a0da5 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
@@ -235,5 +235,3 @@ func Poll(fds []PollFd, timeout int) (n int, err error) {
}
return poll(&fds[0], len(fds), timeout)
}
-
-func Getpagesize() int { return 4096 }
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
index 60770f627..a4a8e4ee1 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
@@ -28,7 +28,7 @@ package unix
//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
-//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys Setfsgid(gid int) (err error)
//sys Setfsuid(uid int) (err error)
@@ -61,8 +61,6 @@ package unix
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
-func Getpagesize() int { return 65536 }
-
//sysnb Gettimeofday(tv *Timeval) (err error)
//sysnb Time(t *Time_t) (tt Time_t, err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
index 1708a4bbf..3845fc9c4 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
@@ -46,8 +46,6 @@ import (
//sysnb getgroups(n int, list *_Gid_t) (nn int, err error)
//sysnb setgroups(n int, list *_Gid_t) (err error)
-func Getpagesize() int { return 4096 }
-
//sysnb Gettimeofday(tv *Timeval) (err error)
func Time(t *Time_t) (tt Time_t, err error) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
index 20b7454d7..bd9de3e9d 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
@@ -6,11 +6,6 @@
package unix
-import (
- "sync/atomic"
- "syscall"
-)
-
//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
//sys Dup2(oldfd int, newfd int) (err error)
//sys Fchown(fd int, uid int, gid int) (err error)
@@ -63,21 +58,6 @@ import (
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
-func sysconf(name int) (n int64, err syscall.Errno)
-
-// pageSize caches the value of Getpagesize, since it can't change
-// once the system is booted.
-var pageSize int64 // accessed atomically
-
-func Getpagesize() int {
- n := atomic.LoadInt64(&pageSize)
- if n == 0 {
- n, _ = sysconf(_SC_PAGESIZE)
- atomic.StoreInt64(&pageSize, n)
- }
- return int(n)
-}
-
func Ioperm(from int, num int, on int) (err error) {
return ENOSYS
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_test.go b/vendor/golang.org/x/sys/unix/syscall_linux_test.go
index 377023130..c0ab2db9e 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_test.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_test.go
@@ -192,6 +192,13 @@ func TestGetrlimit(t *testing.T) {
}
}
+func TestSelect(t *testing.T) {
+ _, err := unix.Select(0, nil, nil, nil, &unix.Timeval{0, 0})
+ if err != nil {
+ t.Fatalf("Select: %v", err)
+ }
+}
+
// utilities taken from os/os_test.go
func touch(t *testing.T, name string) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
index 75e604ed9..e12966845 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
@@ -170,11 +170,6 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
//sys Mkdir(path string, mode uint32) (err error)
//sys Mkfifo(path string, mode uint32) (err error)
//sys Mknod(path string, mode uint32, dev int) (err error)
-//sys Mlock(b []byte) (err error)
-//sys Mlockall(flags int) (err error)
-//sys Mprotect(b []byte, prot int) (err error)
-//sys Munlock(b []byte) (err error)
-//sys Munlockall() (err error)
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
//sys Open(path string, mode int, perm uint32) (fd int, err error)
//sys Pathconf(path string, name int) (val int, err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
index afaca0983..baefa411e 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
@@ -6,8 +6,6 @@
package unix
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
index a6ff04ce5..59c2ab7eb 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
@@ -6,8 +6,6 @@
package unix
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
index 68a6969b2..7208108a3 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
@@ -6,8 +6,6 @@
package unix
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
index b32f0eaf3..408e63081 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
@@ -149,11 +149,6 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
//sys Mkdir(path string, mode uint32) (err error)
//sys Mkfifo(path string, mode uint32) (err error)
//sys Mknod(path string, mode uint32, dev int) (err error)
-//sys Mlock(b []byte) (err error)
-//sys Mlockall(flags int) (err error)
-//sys Mprotect(b []byte, prot int) (err error)
-//sys Munlock(b []byte) (err error)
-//sys Munlockall() (err error)
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
//sys Open(path string, mode int, perm uint32) (fd int, err error)
//sys Pathconf(path string, name int) (val int, err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
index a66ddc59c..d3809b426 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
@@ -6,8 +6,6 @@
package unix
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
index 0776c1faf..9a9dfceff 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
@@ -6,8 +6,6 @@
package unix
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
index 14ddaf3f3..ba8649056 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
@@ -6,10 +6,6 @@
package unix
-import "syscall"
-
-func Getpagesize() int { return syscall.Getpagesize() }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go
index 0d4e5c4e6..35e5d72ba 100644
--- a/vendor/golang.org/x/sys/unix/syscall_solaris.go
+++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go
@@ -13,7 +13,6 @@
package unix
import (
- "sync/atomic"
"syscall"
"unsafe"
)
@@ -515,6 +514,24 @@ func Acct(path string) (err error) {
return acct(pathp)
}
+//sys __makedev(version int, major uint, minor uint) (val uint64)
+
+func Mkdev(major, minor uint32) uint64 {
+ return __makedev(NEWDEV, uint(major), uint(minor))
+}
+
+//sys __major(version int, dev uint64) (val uint)
+
+func Major(dev uint64) uint32 {
+ return uint32(__major(NEWDEV, dev))
+}
+
+//sys __minor(version int, dev uint64) (val uint)
+
+func Minor(dev uint64) uint32 {
+ return uint32(__minor(NEWDEV, dev))
+}
+
/*
* Expose the ioctl function
*/
@@ -613,6 +630,7 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) {
//sys Mlock(b []byte) (err error)
//sys Mlockall(flags int) (err error)
//sys Mprotect(b []byte, prot int) (err error)
+//sys Msync(b []byte, flags int) (err error)
//sys Munlock(b []byte) (err error)
//sys Munlockall() (err error)
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
@@ -699,18 +717,3 @@ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, e
func Munmap(b []byte) (err error) {
return mapper.Munmap(b)
}
-
-//sys sysconf(name int) (n int64, err error)
-
-// pageSize caches the value of Getpagesize, since it can't change
-// once the system is booted.
-var pageSize int64 // accessed atomically
-
-func Getpagesize() int {
- n := atomic.LoadInt64(&pageSize)
- if n == 0 {
- n, _ = sysconf(_SC_PAGESIZE)
- atomic.StoreInt64(&pageSize, n)
- }
- return int(n)
-}
diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go
index 393c7f04f..6d7461401 100644
--- a/vendor/golang.org/x/sys/unix/types_solaris.go
+++ b/vendor/golang.org/x/sys/unix/types_solaris.go
@@ -256,10 +256,6 @@ type BpfTimeval C.struct_bpf_timeval
type BpfHdr C.struct_bpf_hdr
-// sysconf information
-
-const _SC_PAGESIZE = C._SC_PAGESIZE
-
// Terminal handling
type Termios C.struct_termios
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
index a6b3b5f14..4066ad1e0 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x1008
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x8000
FFDLY = 0x8000
FLUSHO = 0x1000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x400
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -902,6 +930,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -916,6 +945,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -934,6 +964,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -954,8 +985,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1012,6 +1045,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1268,7 +1302,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1312,6 +1346,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1320,6 +1355,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1341,10 +1377,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1359,8 +1396,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1371,6 +1408,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1401,6 +1439,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1539,6 +1578,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1547,11 +1587,13 @@ const (
SO_ERROR = 0x4
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0xa
@@ -1559,6 +1601,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1f
SO_PRIORITY = 0xc
@@ -1626,6 +1669,12 @@ const (
TAB2 = 0x1000
TAB3 = 0x1800
TABDLY = 0x1800
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x540b
TCGETA = 0x5405
TCGETS = 0x5401
@@ -1649,6 +1698,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1708,6 +1758,7 @@ const (
TIOCGPKT = 0x80045438
TIOCGPTLCK = 0x80045439
TIOCGPTN = 0x80045430
+ TIOCGPTPEER = 0x5441
TIOCGRS485 = 0x542e
TIOCGSERIAL = 0x541e
TIOCGSID = 0x5429
@@ -1765,6 +1816,7 @@ const (
TIOCSWINSZ = 0x5414
TIOCVHANGUP = 0x5437
TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x400854d5
TUNDETACHFILTER = 0x400854d6
TUNGETFEATURES = 0x800454cf
@@ -1999,7 +2051,6 @@ const (
SIGTSTP = syscall.Signal(0x14)
SIGTTIN = syscall.Signal(0x15)
SIGTTOU = syscall.Signal(0x16)
- SIGUNUSED = syscall.Signal(0x1f)
SIGURG = syscall.Signal(0x17)
SIGUSR1 = syscall.Signal(0xa)
SIGUSR2 = syscall.Signal(0xc)
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
index 4ffc8d29c..c9f53b0b3 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x1008
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x8000
FFDLY = 0x8000
FLUSHO = 0x1000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x400
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -902,6 +930,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -916,6 +945,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -934,6 +964,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -954,8 +985,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1012,6 +1045,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1269,7 +1303,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1313,6 +1347,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1321,6 +1356,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1342,10 +1378,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1360,8 +1397,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1372,6 +1409,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1402,6 +1440,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1540,6 +1579,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1548,11 +1588,13 @@ const (
SO_ERROR = 0x4
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0xa
@@ -1560,6 +1602,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1f
SO_PRIORITY = 0xc
@@ -1627,6 +1670,12 @@ const (
TAB2 = 0x1000
TAB3 = 0x1800
TABDLY = 0x1800
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x540b
TCGETA = 0x5405
TCGETS = 0x5401
@@ -1650,6 +1699,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1709,6 +1759,7 @@ const (
TIOCGPKT = 0x80045438
TIOCGPTLCK = 0x80045439
TIOCGPTN = 0x80045430
+ TIOCGPTPEER = 0x5441
TIOCGRS485 = 0x542e
TIOCGSERIAL = 0x541e
TIOCGSID = 0x5429
@@ -1766,6 +1817,7 @@ const (
TIOCSWINSZ = 0x5414
TIOCVHANGUP = 0x5437
TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x401054d5
TUNDETACHFILTER = 0x401054d6
TUNGETFEATURES = 0x800454cf
@@ -2000,7 +2052,6 @@ const (
SIGTSTP = syscall.Signal(0x14)
SIGTTIN = syscall.Signal(0x15)
SIGTTOU = syscall.Signal(0x16)
- SIGUNUSED = syscall.Signal(0x1f)
SIGURG = syscall.Signal(0x17)
SIGUSR1 = syscall.Signal(0xa)
SIGUSR2 = syscall.Signal(0xc)
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
index f4b178ef1..3e8c2c7aa 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x1008
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x8000
FFDLY = 0x8000
FLUSHO = 0x1000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x400
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -901,6 +929,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -915,6 +944,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -933,6 +963,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -953,8 +984,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1011,6 +1044,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1273,7 +1307,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1317,6 +1351,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1325,6 +1360,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1346,10 +1382,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1364,8 +1401,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1376,6 +1413,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1406,6 +1444,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1544,6 +1583,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1552,11 +1592,13 @@ const (
SO_ERROR = 0x4
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0xa
@@ -1564,6 +1606,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1f
SO_PRIORITY = 0xc
@@ -1631,6 +1674,12 @@ const (
TAB2 = 0x1000
TAB3 = 0x1800
TABDLY = 0x1800
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x540b
TCGETA = 0x5405
TCGETS = 0x5401
@@ -1654,6 +1703,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1713,6 +1763,7 @@ const (
TIOCGPKT = 0x80045438
TIOCGPTLCK = 0x80045439
TIOCGPTN = 0x80045430
+ TIOCGPTPEER = 0x5441
TIOCGRS485 = 0x542e
TIOCGSERIAL = 0x541e
TIOCGSID = 0x5429
@@ -1770,6 +1821,7 @@ const (
TIOCSWINSZ = 0x5414
TIOCVHANGUP = 0x5437
TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x400854d5
TUNDETACHFILTER = 0x400854d6
TUNGETFEATURES = 0x800454cf
@@ -2004,7 +2056,6 @@ const (
SIGTSTP = syscall.Signal(0x14)
SIGTTIN = syscall.Signal(0x15)
SIGTTOU = syscall.Signal(0x16)
- SIGUNUSED = syscall.Signal(0x1f)
SIGURG = syscall.Signal(0x17)
SIGUSR1 = syscall.Signal(0xa)
SIGUSR2 = syscall.Signal(0xc)
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
index 495f13b61..383453349 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x1008
@@ -393,6 +395,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -441,6 +444,7 @@ const (
EXTA = 0xe
EXTB = 0xf
EXTPROC = 0x10000
+ EXTRA_MAGIC = 0x45585401
FALLOC_FL_COLLAPSE_RANGE = 0x8
FALLOC_FL_INSERT_RANGE = 0x20
FALLOC_FL_KEEP_SIZE = 0x1
@@ -454,6 +458,8 @@ const (
FF1 = 0x8000
FFDLY = 0x8000
FLUSHO = 0x1000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -508,6 +514,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x400
@@ -645,8 +664,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -659,12 +680,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -675,8 +698,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -690,7 +715,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -733,6 +760,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -770,6 +798,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -902,6 +931,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -916,6 +946,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -934,6 +965,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -954,8 +986,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1012,6 +1046,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1258,7 +1293,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1302,6 +1337,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1310,6 +1346,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1331,10 +1368,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1349,8 +1387,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1361,6 +1399,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1391,6 +1430,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1529,6 +1569,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1537,11 +1578,13 @@ const (
SO_ERROR = 0x4
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0xa
@@ -1549,6 +1592,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1f
SO_PRIORITY = 0xc
@@ -1616,6 +1660,12 @@ const (
TAB2 = 0x1000
TAB3 = 0x1800
TABDLY = 0x1800
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x540b
TCGETA = 0x5405
TCGETS = 0x5401
@@ -1639,6 +1689,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1698,6 +1749,7 @@ const (
TIOCGPKT = 0x80045438
TIOCGPTLCK = 0x80045439
TIOCGPTN = 0x80045430
+ TIOCGPTPEER = 0x5441
TIOCGRS485 = 0x542e
TIOCGSERIAL = 0x541e
TIOCGSID = 0x5429
@@ -1755,6 +1807,7 @@ const (
TIOCSWINSZ = 0x5414
TIOCVHANGUP = 0x5437
TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x401054d5
TUNDETACHFILTER = 0x401054d6
TUNGETFEATURES = 0x800454cf
@@ -1989,7 +2042,6 @@ const (
SIGTSTP = syscall.Signal(0x14)
SIGTTIN = syscall.Signal(0x15)
SIGTTOU = syscall.Signal(0x16)
- SIGUNUSED = syscall.Signal(0x1f)
SIGURG = syscall.Signal(0x17)
SIGUSR1 = syscall.Signal(0xa)
SIGUSR2 = syscall.Signal(0xc)
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
index 59651e415..bde8f7d02 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x1008
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x8000
FFDLY = 0x8000
FLUSHO = 0x2000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x400
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -902,6 +930,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -916,6 +945,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -934,6 +964,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -954,8 +985,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1012,6 +1045,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1270,7 +1304,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1314,6 +1348,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1322,6 +1357,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1343,10 +1379,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1361,8 +1398,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1373,6 +1410,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1403,6 +1441,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1541,6 +1580,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1549,11 +1589,13 @@ const (
SO_ERROR = 0x1007
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x8
SO_LINGER = 0x80
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0x100
@@ -1561,6 +1603,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x12
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1e
SO_PRIORITY = 0xc
@@ -1629,6 +1672,12 @@ const (
TAB2 = 0x1000
TAB3 = 0x1800
TABDLY = 0x1800
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x5407
TCGETA = 0x5401
TCGETS = 0x540d
@@ -1651,6 +1700,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1709,6 +1759,7 @@ const (
TIOCGPKT = 0x40045438
TIOCGPTLCK = 0x40045439
TIOCGPTN = 0x40045430
+ TIOCGPTPEER = 0x20005441
TIOCGRS485 = 0x4020542e
TIOCGSERIAL = 0x5484
TIOCGSID = 0x7416
@@ -1769,6 +1820,7 @@ const (
TIOCSWINSZ = 0x80087467
TIOCVHANGUP = 0x5437
TOSTOP = 0x8000
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x800854d5
TUNDETACHFILTER = 0x800854d6
TUNGETFEATURES = 0x400454cf
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
index a09bf9b18..42b6397d5 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x1008
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x8000
FFDLY = 0x8000
FLUSHO = 0x2000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x400
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -902,6 +930,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -916,6 +945,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -934,6 +964,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -954,8 +985,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1012,6 +1045,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1270,7 +1304,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1314,6 +1348,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1322,6 +1357,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1343,10 +1379,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1361,8 +1398,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1373,6 +1410,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1403,6 +1441,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1541,6 +1580,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1549,11 +1589,13 @@ const (
SO_ERROR = 0x1007
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x8
SO_LINGER = 0x80
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0x100
@@ -1561,6 +1603,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x12
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1e
SO_PRIORITY = 0xc
@@ -1629,6 +1672,12 @@ const (
TAB2 = 0x1000
TAB3 = 0x1800
TABDLY = 0x1800
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x5407
TCGETA = 0x5401
TCGETS = 0x540d
@@ -1651,6 +1700,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1709,6 +1759,7 @@ const (
TIOCGPKT = 0x40045438
TIOCGPTLCK = 0x40045439
TIOCGPTN = 0x40045430
+ TIOCGPTPEER = 0x20005441
TIOCGRS485 = 0x4020542e
TIOCGSERIAL = 0x5484
TIOCGSID = 0x7416
@@ -1769,6 +1820,7 @@ const (
TIOCSWINSZ = 0x80087467
TIOCVHANGUP = 0x5437
TOSTOP = 0x8000
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x801054d5
TUNDETACHFILTER = 0x801054d6
TUNGETFEATURES = 0x400454cf
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
index 72a0083c4..bd4ff8147 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x1008
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x8000
FFDLY = 0x8000
FLUSHO = 0x2000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x400
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -902,6 +930,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -916,6 +945,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -934,6 +964,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -954,8 +985,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1012,6 +1045,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1270,7 +1304,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1314,6 +1348,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1322,6 +1357,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1343,10 +1379,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1361,8 +1398,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1373,6 +1410,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1403,6 +1441,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1541,6 +1580,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1549,11 +1589,13 @@ const (
SO_ERROR = 0x1007
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x8
SO_LINGER = 0x80
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0x100
@@ -1561,6 +1603,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x12
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1e
SO_PRIORITY = 0xc
@@ -1629,6 +1672,12 @@ const (
TAB2 = 0x1000
TAB3 = 0x1800
TABDLY = 0x1800
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x5407
TCGETA = 0x5401
TCGETS = 0x540d
@@ -1651,6 +1700,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1709,6 +1759,7 @@ const (
TIOCGPKT = 0x40045438
TIOCGPTLCK = 0x40045439
TIOCGPTN = 0x40045430
+ TIOCGPTPEER = 0x20005441
TIOCGRS485 = 0x4020542e
TIOCGSERIAL = 0x5484
TIOCGSID = 0x7416
@@ -1769,6 +1820,7 @@ const (
TIOCSWINSZ = 0x80087467
TIOCVHANGUP = 0x5437
TOSTOP = 0x8000
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x801054d5
TUNDETACHFILTER = 0x801054d6
TUNGETFEATURES = 0x400454cf
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
index 84c0e3cc1..6dfc95c40 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x1008
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x8000
FFDLY = 0x8000
FLUSHO = 0x2000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x400
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -902,6 +930,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -916,6 +945,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -934,6 +964,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -954,8 +985,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1012,6 +1045,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1270,7 +1304,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1314,6 +1348,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1322,6 +1357,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1343,10 +1379,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1361,8 +1398,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1373,6 +1410,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1403,6 +1441,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1541,6 +1580,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1549,11 +1589,13 @@ const (
SO_ERROR = 0x1007
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x8
SO_LINGER = 0x80
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0x100
@@ -1561,6 +1603,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x12
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1e
SO_PRIORITY = 0xc
@@ -1629,6 +1672,12 @@ const (
TAB2 = 0x1000
TAB3 = 0x1800
TABDLY = 0x1800
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x5407
TCGETA = 0x5401
TCGETS = 0x540d
@@ -1651,6 +1700,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1709,6 +1759,7 @@ const (
TIOCGPKT = 0x40045438
TIOCGPTLCK = 0x40045439
TIOCGPTN = 0x40045430
+ TIOCGPTPEER = 0x20005441
TIOCGRS485 = 0x4020542e
TIOCGSERIAL = 0x5484
TIOCGSID = 0x7416
@@ -1769,6 +1820,7 @@ const (
TIOCSWINSZ = 0x80087467
TIOCVHANGUP = 0x5437
TOSTOP = 0x8000
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x800854d5
TUNDETACHFILTER = 0x800854d6
TUNGETFEATURES = 0x400454cf
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
index 8e4606e06..46b09d320 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x17
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x4000
FFDLY = 0x4000
FLUSHO = 0x800000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x4000
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -901,6 +929,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -915,6 +944,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -933,6 +963,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -955,8 +986,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1013,6 +1046,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1326,7 +1360,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1370,6 +1404,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1378,6 +1413,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1399,10 +1435,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1417,8 +1454,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1429,6 +1466,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1459,6 +1497,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1597,6 +1636,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1605,11 +1645,13 @@ const (
SO_ERROR = 0x4
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0xa
@@ -1617,6 +1659,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x15
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1f
SO_PRIORITY = 0xc
@@ -1684,6 +1727,12 @@ const (
TAB2 = 0x800
TAB3 = 0xc00
TABDLY = 0xc00
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x2000741f
TCGETA = 0x40147417
TCGETS = 0x402c7413
@@ -1705,6 +1754,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1761,6 +1811,7 @@ const (
TIOCGPKT = 0x40045438
TIOCGPTLCK = 0x40045439
TIOCGPTN = 0x40045430
+ TIOCGPTPEER = 0x20005441
TIOCGRS485 = 0x542e
TIOCGSERIAL = 0x541e
TIOCGSID = 0x5429
@@ -1827,6 +1878,7 @@ const (
TIOCSWINSZ = 0x80087467
TIOCVHANGUP = 0x5437
TOSTOP = 0x400000
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x801054d5
TUNDETACHFILTER = 0x801054d6
TUNGETFEATURES = 0x400454cf
@@ -2061,7 +2113,6 @@ const (
SIGTSTP = syscall.Signal(0x14)
SIGTTIN = syscall.Signal(0x15)
SIGTTOU = syscall.Signal(0x16)
- SIGUNUSED = syscall.Signal(0x1f)
SIGURG = syscall.Signal(0x17)
SIGUSR1 = syscall.Signal(0xa)
SIGUSR2 = syscall.Signal(0xc)
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
index 16ed19311..08adb1d8f 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x17
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x4000
FFDLY = 0x4000
FLUSHO = 0x800000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x4000
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -901,6 +929,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -915,6 +944,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -933,6 +963,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -955,8 +986,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1013,6 +1046,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1326,7 +1360,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1370,6 +1404,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1378,6 +1413,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1399,10 +1435,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1417,8 +1454,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1429,6 +1466,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1459,6 +1497,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1597,6 +1636,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1605,11 +1645,13 @@ const (
SO_ERROR = 0x4
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0xa
@@ -1617,6 +1659,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x15
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1f
SO_PRIORITY = 0xc
@@ -1684,6 +1727,12 @@ const (
TAB2 = 0x800
TAB3 = 0xc00
TABDLY = 0xc00
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x2000741f
TCGETA = 0x40147417
TCGETS = 0x402c7413
@@ -1705,6 +1754,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1761,6 +1811,7 @@ const (
TIOCGPKT = 0x40045438
TIOCGPTLCK = 0x40045439
TIOCGPTN = 0x40045430
+ TIOCGPTPEER = 0x20005441
TIOCGRS485 = 0x542e
TIOCGSERIAL = 0x541e
TIOCGSID = 0x5429
@@ -1827,6 +1878,7 @@ const (
TIOCSWINSZ = 0x80087467
TIOCVHANGUP = 0x5437
TOSTOP = 0x400000
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x801054d5
TUNDETACHFILTER = 0x801054d6
TUNGETFEATURES = 0x400454cf
@@ -2061,7 +2113,6 @@ const (
SIGTSTP = syscall.Signal(0x14)
SIGTTIN = syscall.Signal(0x15)
SIGTTOU = syscall.Signal(0x16)
- SIGUNUSED = syscall.Signal(0x1f)
SIGURG = syscall.Signal(0x17)
SIGUSR1 = syscall.Signal(0xa)
SIGUSR2 = syscall.Signal(0xc)
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
index bd385f809..70bc1a2fc 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
@@ -36,7 +36,7 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2b
+ AF_MAX = 0x2c
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -51,6 +51,7 @@ const (
AF_ROUTE = 0x10
AF_RXRPC = 0x21
AF_SECURITY = 0xe
+ AF_SMC = 0x2b
AF_SNA = 0x16
AF_TIPC = 0x1e
AF_UNIX = 0x1
@@ -129,6 +130,7 @@ const (
ARPHRD_TUNNEL = 0x300
ARPHRD_TUNNEL6 = 0x301
ARPHRD_VOID = 0xffff
+ ARPHRD_VSOCKMON = 0x33a
ARPHRD_X25 = 0x10f
B0 = 0x0
B1000000 = 0x1008
@@ -392,6 +394,7 @@ const (
ETH_P_FIP = 0x8914
ETH_P_HDLC = 0x19
ETH_P_HSR = 0x892f
+ ETH_P_IBOE = 0x8915
ETH_P_IEEE802154 = 0xf6
ETH_P_IEEEPUP = 0xa00
ETH_P_IEEEPUPAT = 0xa01
@@ -453,6 +456,8 @@ const (
FF1 = 0x8000
FFDLY = 0x8000
FLUSHO = 0x1000
+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5
+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6
FS_ENCRYPTION_MODE_AES_256_CBC = 0x3
FS_ENCRYPTION_MODE_AES_256_CTS = 0x4
FS_ENCRYPTION_MODE_AES_256_GCM = 0x2
@@ -507,6 +512,19 @@ const (
F_ULOCK = 0x0
F_UNLCK = 0x2
F_WRLCK = 0x1
+ GENL_ADMIN_PERM = 0x1
+ GENL_CMD_CAP_DO = 0x2
+ GENL_CMD_CAP_DUMP = 0x4
+ GENL_CMD_CAP_HASPOL = 0x8
+ GENL_HDRLEN = 0x4
+ GENL_ID_CTRL = 0x10
+ GENL_ID_PMCRAID = 0x12
+ GENL_ID_VFS_DQUOT = 0x11
+ GENL_MAX_ID = 0x3ff
+ GENL_MIN_ID = 0x10
+ GENL_NAMSIZ = 0x10
+ GENL_START_ALLOC = 0x13
+ GENL_UNS_ADMIN_PERM = 0x10
GRND_NONBLOCK = 0x1
GRND_RANDOM = 0x2
HUPCL = 0x400
@@ -644,8 +662,10 @@ const (
IPV6_2292PKTOPTIONS = 0x6
IPV6_2292RTHDR = 0x5
IPV6_ADDRFORM = 0x1
+ IPV6_ADDR_PREFERENCES = 0x48
IPV6_ADD_MEMBERSHIP = 0x14
IPV6_AUTHHDR = 0xa
+ IPV6_AUTOFLOWLABEL = 0x46
IPV6_CHECKSUM = 0x7
IPV6_DONTFRAG = 0x3e
IPV6_DROP_MEMBERSHIP = 0x15
@@ -658,12 +678,14 @@ const (
IPV6_JOIN_GROUP = 0x14
IPV6_LEAVE_ANYCAST = 0x1c
IPV6_LEAVE_GROUP = 0x15
+ IPV6_MINHOPCOUNT = 0x49
IPV6_MTU = 0x18
IPV6_MTU_DISCOVER = 0x17
IPV6_MULTICAST_HOPS = 0x12
IPV6_MULTICAST_IF = 0x11
IPV6_MULTICAST_LOOP = 0x13
IPV6_NEXTHOP = 0x9
+ IPV6_ORIGDSTADDR = 0x4a
IPV6_PATHMTU = 0x3d
IPV6_PKTINFO = 0x32
IPV6_PMTUDISC_DO = 0x2
@@ -674,8 +696,10 @@ const (
IPV6_PMTUDISC_WANT = 0x1
IPV6_RECVDSTOPTS = 0x3a
IPV6_RECVERR = 0x19
+ IPV6_RECVFRAGSIZE = 0x4d
IPV6_RECVHOPLIMIT = 0x33
IPV6_RECVHOPOPTS = 0x35
+ IPV6_RECVORIGDSTADDR = 0x4a
IPV6_RECVPATHMTU = 0x3c
IPV6_RECVPKTINFO = 0x31
IPV6_RECVRTHDR = 0x38
@@ -689,7 +713,9 @@ const (
IPV6_RXDSTOPTS = 0x3b
IPV6_RXHOPOPTS = 0x36
IPV6_TCLASS = 0x43
+ IPV6_TRANSPARENT = 0x4b
IPV6_UNICAST_HOPS = 0x10
+ IPV6_UNICAST_IF = 0x4c
IPV6_V6ONLY = 0x1a
IPV6_XFRM_POLICY = 0x23
IP_ADD_MEMBERSHIP = 0x23
@@ -732,6 +758,7 @@ const (
IP_PMTUDISC_PROBE = 0x3
IP_PMTUDISC_WANT = 0x1
IP_RECVERR = 0xb
+ IP_RECVFRAGSIZE = 0x19
IP_RECVOPTS = 0x6
IP_RECVORIGDSTADDR = 0x14
IP_RECVRETOPTS = 0x7
@@ -769,6 +796,7 @@ const (
KEYCTL_NEGATE = 0xd
KEYCTL_READ = 0xb
KEYCTL_REJECT = 0x13
+ KEYCTL_RESTRICT_KEYRING = 0x1d
KEYCTL_REVOKE = 0x3
KEYCTL_SEARCH = 0xa
KEYCTL_SESSION_TO_PARENT = 0x12
@@ -901,6 +929,7 @@ const (
MS_SILENT = 0x8000
MS_SLAVE = 0x80000
MS_STRICTATIME = 0x1000000
+ MS_SUBMOUNT = 0x4000000
MS_SYNC = 0x4
MS_SYNCHRONOUS = 0x10
MS_UNBINDABLE = 0x20000
@@ -915,6 +944,7 @@ const (
NETLINK_DNRTMSG = 0xe
NETLINK_DROP_MEMBERSHIP = 0x2
NETLINK_ECRYPTFS = 0x13
+ NETLINK_EXT_ACK = 0xb
NETLINK_FIB_LOOKUP = 0xa
NETLINK_FIREWALL = 0x3
NETLINK_GENERIC = 0x10
@@ -933,6 +963,7 @@ const (
NETLINK_RX_RING = 0x6
NETLINK_SCSITRANSPORT = 0x12
NETLINK_SELINUX = 0x7
+ NETLINK_SMC = 0x16
NETLINK_SOCK_DIAG = 0x4
NETLINK_TX_RING = 0x7
NETLINK_UNUSED = 0x1
@@ -953,8 +984,10 @@ const (
NLMSG_NOOP = 0x1
NLMSG_OVERRUN = 0x4
NLM_F_ACK = 0x4
+ NLM_F_ACK_TLVS = 0x200
NLM_F_APPEND = 0x800
NLM_F_ATOMIC = 0x400
+ NLM_F_CAPPED = 0x100
NLM_F_CREATE = 0x400
NLM_F_DUMP = 0x300
NLM_F_DUMP_FILTERED = 0x20
@@ -1011,6 +1044,7 @@ const (
PACKET_FANOUT_EBPF = 0x7
PACKET_FANOUT_FLAG_DEFRAG = 0x8000
PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000
PACKET_FANOUT_HASH = 0x0
PACKET_FANOUT_LB = 0x1
PACKET_FANOUT_QM = 0x5
@@ -1330,7 +1364,7 @@ const (
RTAX_UNSPEC = 0x0
RTAX_WINDOW = 0x3
RTA_ALIGNTO = 0x4
- RTA_MAX = 0x19
+ RTA_MAX = 0x1a
RTCF_DIRECTSRC = 0x4000000
RTCF_DOREDIRECT = 0x1000000
RTCF_LOG = 0x2000000
@@ -1374,6 +1408,7 @@ const (
RTM_DELLINK = 0x11
RTM_DELMDB = 0x55
RTM_DELNEIGH = 0x1d
+ RTM_DELNETCONF = 0x51
RTM_DELNSID = 0x59
RTM_DELQDISC = 0x25
RTM_DELROUTE = 0x19
@@ -1382,6 +1417,7 @@ const (
RTM_DELTFILTER = 0x2d
RTM_F_CLONED = 0x200
RTM_F_EQUALIZE = 0x400
+ RTM_F_FIB_MATCH = 0x2000
RTM_F_LOOKUP_TABLE = 0x1000
RTM_F_NOTIFY = 0x100
RTM_F_PREFIX = 0x800
@@ -1403,10 +1439,11 @@ const (
RTM_GETSTATS = 0x5e
RTM_GETTCLASS = 0x2a
RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x5f
+ RTM_MAX = 0x63
RTM_NEWACTION = 0x30
RTM_NEWADDR = 0x14
RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
RTM_NEWLINK = 0x10
RTM_NEWMDB = 0x54
RTM_NEWNDUSEROPT = 0x44
@@ -1421,8 +1458,8 @@ const (
RTM_NEWSTATS = 0x5c
RTM_NEWTCLASS = 0x28
RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x14
- RTM_NR_MSGTYPES = 0x50
+ RTM_NR_FAMILIES = 0x15
+ RTM_NR_MSGTYPES = 0x54
RTM_SETDCB = 0x4f
RTM_SETLINK = 0x13
RTM_SETNEIGHTBL = 0x43
@@ -1433,6 +1470,7 @@ const (
RTNH_F_OFFLOAD = 0x8
RTNH_F_ONLINK = 0x4
RTNH_F_PERVASIVE = 0x2
+ RTNH_F_UNRESOLVED = 0x20
RTN_MAX = 0xb
RTPROT_BABEL = 0x2a
RTPROT_BIRD = 0xc
@@ -1463,6 +1501,7 @@ const (
SCM_TIMESTAMP = 0x1d
SCM_TIMESTAMPING = 0x25
SCM_TIMESTAMPING_OPT_STATS = 0x36
+ SCM_TIMESTAMPING_PKTINFO = 0x3a
SCM_TIMESTAMPNS = 0x23
SCM_WIFI_STATUS = 0x29
SECCOMP_MODE_DISABLED = 0x0
@@ -1601,6 +1640,7 @@ const (
SO_BSDCOMPAT = 0xe
SO_BUSY_POLL = 0x2e
SO_CNX_ADVICE = 0x35
+ SO_COOKIE = 0x39
SO_DEBUG = 0x1
SO_DETACH_BPF = 0x1b
SO_DETACH_FILTER = 0x1b
@@ -1609,11 +1649,13 @@ const (
SO_ERROR = 0x4
SO_GET_FILTER = 0x1a
SO_INCOMING_CPU = 0x31
+ SO_INCOMING_NAPI_ID = 0x38
SO_KEEPALIVE = 0x9
SO_LINGER = 0xd
SO_LOCK_FILTER = 0x2c
SO_MARK = 0x24
SO_MAX_PACING_RATE = 0x2f
+ SO_MEMINFO = 0x37
SO_NOFCS = 0x2b
SO_NO_CHECK = 0xb
SO_OOBINLINE = 0xa
@@ -1621,6 +1663,7 @@ const (
SO_PASSSEC = 0x22
SO_PEEK_OFF = 0x2a
SO_PEERCRED = 0x11
+ SO_PEERGROUPS = 0x3b
SO_PEERNAME = 0x1c
SO_PEERSEC = 0x1f
SO_PRIORITY = 0xc
@@ -1688,6 +1731,12 @@ const (
TAB2 = 0x1000
TAB3 = 0x1800
TABDLY = 0x1800
+ TASKSTATS_CMD_ATTR_MAX = 0x4
+ TASKSTATS_CMD_MAX = 0x2
+ TASKSTATS_GENL_NAME = "TASKSTATS"
+ TASKSTATS_GENL_VERSION = 0x1
+ TASKSTATS_TYPE_MAX = 0x6
+ TASKSTATS_VERSION = 0x8
TCFLSH = 0x540b
TCGETA = 0x5405
TCGETS = 0x5401
@@ -1711,6 +1760,7 @@ const (
TCP_CORK = 0x3
TCP_DEFER_ACCEPT = 0x9
TCP_FASTOPEN = 0x17
+ TCP_FASTOPEN_CONNECT = 0x1e
TCP_INFO = 0xb
TCP_KEEPCNT = 0x6
TCP_KEEPIDLE = 0x4
@@ -1770,6 +1820,7 @@ const (
TIOCGPKT = 0x80045438
TIOCGPTLCK = 0x80045439
TIOCGPTN = 0x80045430
+ TIOCGPTPEER = 0x5441
TIOCGRS485 = 0x542e
TIOCGSERIAL = 0x541e
TIOCGSID = 0x5429
@@ -1827,6 +1878,7 @@ const (
TIOCSWINSZ = 0x5414
TIOCVHANGUP = 0x5437
TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
TUNATTACHFILTER = 0x401054d5
TUNDETACHFILTER = 0x401054d6
TUNGETFEATURES = 0x800454cf
@@ -2061,7 +2113,6 @@ const (
SIGTSTP = syscall.Signal(0x14)
SIGTTIN = syscall.Signal(0x15)
SIGTTOU = syscall.Signal(0x16)
- SIGUNUSED = syscall.Signal(0x1f)
SIGURG = syscall.Signal(0x17)
SIGUSR1 = syscall.Signal(0xa)
SIGUSR2 = syscall.Signal(0xc)
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
index ac85ca645..206c75f09 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
@@ -1006,6 +1006,9 @@ const (
MSG_TRUNC = 0x10
MSG_USERFLAGS = 0xffffff
MSG_WAITALL = 0x40
+ MS_ASYNC = 0x1
+ MS_INVALIDATE = 0x2
+ MS_SYNC = 0x4
NAME_MAX = 0x1ff
NET_RT_DUMP = 0x1
NET_RT_FLAGS = 0x2
diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
index 81e83d78f..09eedb009 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
@@ -664,6 +664,8 @@ const (
MS_OLDSYNC = 0x0
MS_SYNC = 0x4
M_FLUSH = 0x86
+ NAME_MAX = 0xff
+ NEWDEV = 0x1
NL0 = 0x0
NL1 = 0x100
NLDLY = 0x100
@@ -672,6 +674,9 @@ const (
OFDEL = 0x80
OFILL = 0x40
OLCUC = 0x2
+ OLDDEV = 0x0
+ ONBITSMAJOR = 0x7
+ ONBITSMINOR = 0x8
ONLCR = 0x4
ONLRET = 0x20
ONOCR = 0x10
@@ -1105,6 +1110,7 @@ const (
VEOL = 0x5
VEOL2 = 0x6
VERASE = 0x2
+ VERASE2 = 0x11
VINTR = 0x0
VKILL = 0x3
VLNEXT = 0xf
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
index 92708acc3..10491e9ed 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
if e1 != 0 {
@@ -905,90 +1005,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Msync(b []byte, flags int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Open(path string, mode int, perm uint32) (fd int, err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
index 44fc14f8a..5f1f6bfef 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
if e1 != 0 {
@@ -905,90 +1005,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Msync(b []byte, flags int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Open(path string, mode int, perm uint32) (fd int, err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
index 6e5bd7532..7a4097459 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
if e1 != 0 {
@@ -905,74 +1005,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Open(path string, mode int, perm uint32) (fd int, err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
index 7005b8dd4..07c6ebc9f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
_, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
if e1 != 0 {
@@ -905,74 +1005,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Open(path string, mode int, perm uint32) (fd int, err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
index 632263090..7fa205cd0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe() (r int, w int, err error) {
r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
r = int(r0)
@@ -829,74 +929,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
index 7c302d30a..1a0bb4cb0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe() (r int, w int, err error) {
r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
r = int(r0)
@@ -1139,74 +1239,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
index 7550811c2..ac1e8e013 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe() (r int, w int, err error) {
r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
r = int(r0)
@@ -1139,74 +1239,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
index 6ce6cc18c..2b4e6acf0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe() (r int, w int, err error) {
r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
r = int(r0)
@@ -1139,74 +1239,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
index 38c1bbdf9..000a46833 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
index dc8fe0a84..712dffde4 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
index 4d2804278..338796d90 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
index 20ad4b6c9..fc3006d97 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
index 9f194dc4a..4b0ef2076 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
index 4fde3ef08..31eb98c7d 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
index f6463423c..875ffa33f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
index 964591e5e..6863e81aa 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
index 204ab1ae3..2a32c6b41 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1734,7 +1734,7 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
- r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
index a8a2b0b0a..8172d3558 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1734,7 +1734,7 @@ func Seek(fd int, offset int64, whence int) (off int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
- r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0)
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
index b6ff9e392..49021966f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
@@ -1446,14 +1446,8 @@ func Mlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1462,8 +1456,14 @@ func Munlock(b []byte) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1472,14 +1472,14 @@ func Mlockall(flags int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Msync(b []byte, flags int) (err error) {
+func Munlock(b []byte) (err error) {
var _p0 unsafe.Pointer
if len(b) > 0 {
_p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
index 138e5a443..db99fd0c9 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe() (fd1 int, fd2 int, err error) {
r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
fd1 = int(r0)
@@ -777,74 +877,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
index 83ca58e1f..7b6c2c87e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe() (fd1 int, fd2 int, err error) {
r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
fd1 = int(r0)
@@ -777,74 +877,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
index ef30db134..0f4cc3b52 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe() (fd1 int, fd2 int, err error) {
r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
fd1 = int(r0)
@@ -777,74 +877,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
index 3426ad714..7baea87c7 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe(p *[2]_C_int) (err error) {
_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
if e1 != 0 {
@@ -785,74 +885,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
index 086c994cc..0d69ce6b5 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe(p *[2]_C_int) (err error) {
_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
if e1 != 0 {
@@ -785,74 +885,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
index ca2ed7d0e..41572c26e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
@@ -266,6 +266,106 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func Madvise(b []byte, behav int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mlockall(flags int) (err error) {
+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Mprotect(b []byte, prot int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Msync(b []byte, flags int) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlock(b []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Munlockall() (err error) {
+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func pipe(p *[2]_C_int) (err error) {
_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
if e1 != 0 {
@@ -785,74 +885,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mlockall(flags int) (err error) {
- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Mprotect(b []byte, prot int) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlock(b []byte) (err error) {
- var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
- } else {
- _p0 = unsafe.Pointer(&_zero)
- }
- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Munlockall() (err error) {
- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
_, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
index 4287133d0..98b266550 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
@@ -25,6 +25,9 @@ import (
//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so"
//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so"
//go:cgo_import_dynamic libc_acct acct "libc.so"
+//go:cgo_import_dynamic libc___makedev __makedev "libc.so"
+//go:cgo_import_dynamic libc___major __major "libc.so"
+//go:cgo_import_dynamic libc___minor __minor "libc.so"
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
//go:cgo_import_dynamic libc_access access "libc.so"
//go:cgo_import_dynamic libc_adjtime adjtime "libc.so"
@@ -75,6 +78,7 @@ import (
//go:cgo_import_dynamic libc_mlock mlock "libc.so"
//go:cgo_import_dynamic libc_mlockall mlockall "libc.so"
//go:cgo_import_dynamic libc_mprotect mprotect "libc.so"
+//go:cgo_import_dynamic libc_msync msync "libc.so"
//go:cgo_import_dynamic libc_munlock munlock "libc.so"
//go:cgo_import_dynamic libc_munlockall munlockall "libc.so"
//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so"
@@ -129,7 +133,6 @@ import (
//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so"
//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so"
//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so"
-//go:cgo_import_dynamic libc_sysconf sysconf "libc.so"
//go:linkname procpipe libc_pipe
//go:linkname procgetsockname libc_getsockname
@@ -146,6 +149,9 @@ import (
//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg
//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg
//go:linkname procacct libc_acct
+//go:linkname proc__makedev libc___makedev
+//go:linkname proc__major libc___major
+//go:linkname proc__minor libc___minor
//go:linkname procioctl libc_ioctl
//go:linkname procAccess libc_access
//go:linkname procAdjtime libc_adjtime
@@ -196,6 +202,7 @@ import (
//go:linkname procMlock libc_mlock
//go:linkname procMlockall libc_mlockall
//go:linkname procMprotect libc_mprotect
+//go:linkname procMsync libc_msync
//go:linkname procMunlock libc_munlock
//go:linkname procMunlockall libc_munlockall
//go:linkname procNanosleep libc_nanosleep
@@ -250,7 +257,6 @@ import (
//go:linkname procgetpeername libc_getpeername
//go:linkname procsetsockopt libc_setsockopt
//go:linkname procrecvfrom libc_recvfrom
-//go:linkname procsysconf libc_sysconf
var (
procpipe,
@@ -268,6 +274,9 @@ var (
proc__xnet_recvmsg,
proc__xnet_sendmsg,
procacct,
+ proc__makedev,
+ proc__major,
+ proc__minor,
procioctl,
procAccess,
procAdjtime,
@@ -318,6 +327,7 @@ var (
procMlock,
procMlockall,
procMprotect,
+ procMsync,
procMunlock,
procMunlockall,
procNanosleep,
@@ -371,8 +381,7 @@ var (
proc__xnet_getsockopt,
procgetpeername,
procsetsockopt,
- procrecvfrom,
- procsysconf syscallFunc
+ procrecvfrom syscallFunc
)
func pipe(p *[2]_C_int) (n int, err error) {
@@ -522,6 +531,24 @@ func acct(path *byte) (err error) {
return
}
+func __makedev(version int, major uint, minor uint) (val uint64) {
+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__makedev)), 3, uintptr(version), uintptr(major), uintptr(minor), 0, 0, 0)
+ val = uint64(r0)
+ return
+}
+
+func __major(version int, dev uint64) (val uint) {
+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__major)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)
+ val = uint(r0)
+ return
+}
+
+func __minor(version int, dev uint64) (val uint) {
+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&proc__minor)), 2, uintptr(version), uintptr(dev), 0, 0, 0, 0)
+ val = uint(r0)
+ return
+}
+
func ioctl(fd int, req uint, arg uintptr) (err error) {
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0)
if e1 != 0 {
@@ -1020,6 +1047,18 @@ func Mprotect(b []byte, prot int) (err error) {
return
}
+func Msync(b []byte, flags int) (err error) {
+ var _p0 *byte
+ if len(b) > 0 {
+ _p0 = &b[0]
+ }
+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMsync)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(flags), 0, 0, 0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
func Munlock(b []byte) (err error) {
var _p0 *byte
if len(b) > 0 {
@@ -1589,12 +1628,3 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl
}
return
}
-
-func sysconf(name int) (n int64, err error) {
- r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsysconf)), 1, uintptr(name), 0, 0, 0, 0, 0)
- n = int64(r0)
- if e1 != 0 {
- err = e1
- }
- return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
index cef4fed02..95ab12903 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
@@ -385,4 +385,6 @@ const (
SYS_PKEY_MPROTECT = 380
SYS_PKEY_ALLOC = 381
SYS_PKEY_FREE = 382
+ SYS_STATX = 383
+ SYS_ARCH_PRCTL = 384
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
index 49bfa1270..c5dabf2e4 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
@@ -338,4 +338,5 @@ const (
SYS_PKEY_MPROTECT = 329
SYS_PKEY_ALLOC = 330
SYS_PKEY_FREE = 331
+ SYS_STATX = 332
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
index 97b182ef5..ab7fa5fd3 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
@@ -358,4 +358,5 @@ const (
SYS_PKEY_MPROTECT = 394
SYS_PKEY_ALLOC = 395
SYS_PKEY_FREE = 396
+ SYS_STATX = 397
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
index 640784357..b1c6b4bd3 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
@@ -282,4 +282,5 @@ const (
SYS_PKEY_MPROTECT = 288
SYS_PKEY_ALLOC = 289
SYS_PKEY_FREE = 290
+ SYS_STATX = 291
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
index 939567c09..2e9aa7a3e 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
@@ -371,4 +371,5 @@ const (
SYS_PKEY_MPROTECT = 4363
SYS_PKEY_ALLOC = 4364
SYS_PKEY_FREE = 4365
+ SYS_STATX = 4366
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
index 09db95969..92827635a 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
@@ -331,4 +331,5 @@ const (
SYS_PKEY_MPROTECT = 5323
SYS_PKEY_ALLOC = 5324
SYS_PKEY_FREE = 5325
+ SYS_STATX = 5326
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
index d1b872a09..45bd3fd6c 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
@@ -331,4 +331,5 @@ const (
SYS_PKEY_MPROTECT = 5323
SYS_PKEY_ALLOC = 5324
SYS_PKEY_FREE = 5325
+ SYS_STATX = 5326
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
index 82ba20f28..62ccac4b7 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
@@ -371,4 +371,5 @@ const (
SYS_PKEY_MPROTECT = 4363
SYS_PKEY_ALLOC = 4364
SYS_PKEY_FREE = 4365
+ SYS_STATX = 4366
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
index 8944448ae..dfe5dab67 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
@@ -366,4 +366,5 @@ const (
SYS_PREADV2 = 380
SYS_PWRITEV2 = 381
SYS_KEXEC_FILE_LOAD = 382
+ SYS_STATX = 383
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
index 90a039be4..eca97f738 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
@@ -366,4 +366,5 @@ const (
SYS_PREADV2 = 380
SYS_PWRITEV2 = 381
SYS_KEXEC_FILE_LOAD = 382
+ SYS_STATX = 383
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
index aab0cdb18..8ea18e6c2 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
@@ -306,6 +306,8 @@ const (
SYS_COPY_FILE_RANGE = 375
SYS_PREADV2 = 376
SYS_PWRITEV2 = 377
+ SYS_S390_GUARDED_STORAGE = 378
+ SYS_STATX = 379
SYS_SELECT = 142
SYS_GETRLIMIT = 191
SYS_LCHOWN = 198
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
index f60d8f988..8afda9c45 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
@@ -134,6 +134,7 @@ const (
SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); }
SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); }
SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); }
+ SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); }
SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); }
SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); }
SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); }
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
index 48a91d464..aea8dbec4 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
@@ -134,6 +134,7 @@ const (
SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); }
SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); }
SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); }
+ SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); }
SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); }
SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); }
SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); }
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
index 612ba662c..c6158a7ef 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
@@ -134,6 +134,7 @@ const (
SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); }
SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); }
SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); }
+ SYS_MSYNC = 277 // { int|sys|13|msync(void *addr, size_t len, int flags); }
SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); }
SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); }
SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); }
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
index 0dcebb50b..8b30c6997 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
@@ -425,7 +425,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -673,8 +673,6 @@ const RNDGETENTCNT = 0x80045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -692,3 +690,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]int8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
index d70e54348..cf0358986 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
@@ -429,7 +429,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -691,8 +691,6 @@ const RNDGETENTCNT = 0x80045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -710,3 +708,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]int8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
index 497f56319..8ef7d85f1 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
@@ -429,7 +429,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -662,8 +662,6 @@ const RNDGETENTCNT = 0x80045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -681,3 +679,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]uint8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
index f0bdaede6..311026867 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
@@ -430,7 +430,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -670,8 +670,6 @@ const RNDGETENTCNT = 0x80045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -689,3 +687,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]int8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
index 850a68cb2..d2c1bc2c8 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
@@ -428,7 +428,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -667,8 +667,6 @@ const RNDGETENTCNT = 0x40045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -686,3 +684,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]int8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
index 92aac5d93..ec7a0cd27 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
@@ -430,7 +430,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -672,8 +672,6 @@ const RNDGETENTCNT = 0x40045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -691,3 +689,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]int8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
index 623f58127..bbe08d7db 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
@@ -430,7 +430,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -672,8 +672,6 @@ const RNDGETENTCNT = 0x40045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -691,3 +689,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]int8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
index 56598a1bf..75ee05ab4 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
@@ -428,7 +428,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -667,8 +667,6 @@ const RNDGETENTCNT = 0x40045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -686,3 +684,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]int8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
index acc7c819d..30a257f83 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
@@ -431,7 +431,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -680,8 +680,6 @@ const RNDGETENTCNT = 0x40045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -699,3 +697,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]uint8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
index b348885c8..bebed6f11 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
@@ -431,7 +431,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -680,8 +680,6 @@ const RNDGETENTCNT = 0x40045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -699,3 +697,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]uint8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
index a706e2f8c..286661b35 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
@@ -430,7 +430,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x2b
+ IFLA_MAX = 0x2c
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -697,8 +697,6 @@ const RNDGETENTCNT = 0x80045200
const PERF_IOC_FLAG_GROUP = 0x1
-const _SC_PAGESIZE = 0x1e
-
type Termios struct {
Iflag uint32
Oflag uint32
@@ -716,3 +714,104 @@ type Winsize struct {
Xpixel uint16
Ypixel uint16
}
+
+type Taskstats struct {
+ Version uint16
+ _ [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ _ [6]byte
+ Cpu_count uint64
+ Cpu_delay_total uint64
+ Blkio_count uint64
+ Blkio_delay_total uint64
+ Swapin_count uint64
+ Swapin_delay_total uint64
+ Cpu_run_real_total uint64
+ Cpu_run_virtual_total uint64
+ Ac_comm [32]int8
+ Ac_sched uint8
+ Ac_pad [3]uint8
+ _ [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ _ [4]byte
+ Ac_etime uint64
+ Ac_utime uint64
+ Ac_stime uint64
+ Ac_minflt uint64
+ Ac_majflt uint64
+ Coremem uint64
+ Virtmem uint64
+ Hiwater_rss uint64
+ Hiwater_vm uint64
+ Read_char uint64
+ Write_char uint64
+ Read_syscalls uint64
+ Write_syscalls uint64
+ Read_bytes uint64
+ Write_bytes uint64
+ Cancelled_write_bytes uint64
+ Nvcsw uint64
+ Nivcsw uint64
+ Ac_utimescaled uint64
+ Ac_stimescaled uint64
+ Cpu_scaled_run_real_total uint64
+ Freepages_count uint64
+ Freepages_delay_total uint64
+}
+
+const (
+ TASKSTATS_CMD_UNSPEC = 0x0
+ TASKSTATS_CMD_GET = 0x1
+ TASKSTATS_CMD_NEW = 0x2
+ TASKSTATS_TYPE_UNSPEC = 0x0
+ TASKSTATS_TYPE_PID = 0x1
+ TASKSTATS_TYPE_TGID = 0x2
+ TASKSTATS_TYPE_STATS = 0x3
+ TASKSTATS_TYPE_AGGR_PID = 0x4
+ TASKSTATS_TYPE_AGGR_TGID = 0x5
+ TASKSTATS_TYPE_NULL = 0x6
+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0
+ TASKSTATS_CMD_ATTR_PID = 0x1
+ TASKSTATS_CMD_ATTR_TGID = 0x2
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
+)
+
+type Genlmsghdr struct {
+ Cmd uint8
+ Version uint8
+ Reserved uint16
+}
+
+const (
+ CTRL_CMD_UNSPEC = 0x0
+ CTRL_CMD_NEWFAMILY = 0x1
+ CTRL_CMD_DELFAMILY = 0x2
+ CTRL_CMD_GETFAMILY = 0x3
+ CTRL_CMD_NEWOPS = 0x4
+ CTRL_CMD_DELOPS = 0x5
+ CTRL_CMD_GETOPS = 0x6
+ CTRL_CMD_NEWMCAST_GRP = 0x7
+ CTRL_CMD_DELMCAST_GRP = 0x8
+ CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_ATTR_UNSPEC = 0x0
+ CTRL_ATTR_FAMILY_ID = 0x1
+ CTRL_ATTR_FAMILY_NAME = 0x2
+ CTRL_ATTR_VERSION = 0x3
+ CTRL_ATTR_HDRSIZE = 0x4
+ CTRL_ATTR_MAXATTR = 0x5
+ CTRL_ATTR_OPS = 0x6
+ CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_OP_UNSPEC = 0x0
+ CTRL_ATTR_OP_ID = 0x1
+ CTRL_ATTR_OP_FLAGS = 0x2
+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
+ CTRL_ATTR_MCAST_GRP_NAME = 0x1
+ CTRL_ATTR_MCAST_GRP_ID = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
index 92336f9f9..a979a33d5 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
@@ -413,8 +413,6 @@ type BpfHdr struct {
Pad_cgo_0 [2]byte
}
-const _SC_PAGESIZE = 0xb
-
type Termios struct {
Iflag uint32
Oflag uint32
diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go
index 53e7b4723..9b5ed549a 100644
--- a/vendor/golang.org/x/sys/windows/syscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/syscall_windows.go
@@ -71,12 +71,17 @@ func UTF16PtrFromString(s string) (*uint16, error) {
func Getpagesize() int { return 4096 }
-// Converts a Go function to a function pointer conforming
-// to the stdcall or cdecl calling convention. This is useful when
-// interoperating with Windows code requiring callbacks.
-// Implemented in runtime/syscall_windows.goc
-func NewCallback(fn interface{}) uintptr
-func NewCallbackCDecl(fn interface{}) uintptr
+// NewCallback converts a Go function to a function pointer conforming to the stdcall calling convention.
+// This is useful when interoperating with Windows code requiring callbacks.
+func NewCallback(fn interface{}) uintptr {
+ return syscall.NewCallback(fn)
+}
+
+// NewCallbackCDecl converts a Go function to a function pointer conforming to the cdecl calling convention.
+// This is useful when interoperating with Windows code requiring callbacks.
+func NewCallbackCDecl(fn interface{}) uintptr {
+ return syscall.NewCallbackCDecl(fn)
+}
// windows api calls
@@ -188,8 +193,12 @@ func NewCallbackCDecl(fn interface{}) uintptr
//sys CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) [failretval&0xff==0] = CreateSymbolicLinkW
//sys CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) [failretval&0xff==0] = CreateHardLinkW
//sys GetCurrentThreadId() (id uint32)
-//sys CreateEvent(eventAttrs *syscall.SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) = kernel32.CreateEventW
+//sys CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) = kernel32.CreateEventW
+//sys CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateEventExW
+//sys OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenEventW
//sys SetEvent(event Handle) (err error) = kernel32.SetEvent
+//sys ResetEvent(event Handle) (err error) = kernel32.ResetEvent
+//sys PulseEvent(event Handle) (err error) = kernel32.PulseEvent
// syscall interface implementation for other packages
diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
index 9343dd828..2f893d2ef 100644
--- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
@@ -173,7 +173,11 @@ var (
procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW")
procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId")
procCreateEventW = modkernel32.NewProc("CreateEventW")
+ procCreateEventExW = modkernel32.NewProc("CreateEventExW")
+ procOpenEventW = modkernel32.NewProc("OpenEventW")
procSetEvent = modkernel32.NewProc("SetEvent")
+ procResetEvent = modkernel32.NewProc("ResetEvent")
+ procPulseEvent = modkernel32.NewProc("PulseEvent")
procWSAStartup = modws2_32.NewProc("WSAStartup")
procWSACleanup = modws2_32.NewProc("WSACleanup")
procWSAIoctl = modws2_32.NewProc("WSAIoctl")
@@ -1644,7 +1648,7 @@ func SetConsoleMode(console Handle, mode uint32) (err error) {
}
func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) {
- r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(&info)), 0)
+ r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0)
if r1 == 0 {
if e1 != 0 {
err = errnoErr(e1)
@@ -1758,7 +1762,7 @@ func GetCurrentThreadId() (id uint32) {
return
}
-func CreateEvent(eventAttrs *syscall.SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) {
+func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) {
r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0)
handle = Handle(r0)
if handle == 0 {
@@ -1771,6 +1775,38 @@ func CreateEvent(eventAttrs *syscall.SecurityAttributes, manualReset uint32, ini
return
}
+func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0)
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) {
+ var _p0 uint32
+ if inheritHandle {
+ _p0 = 1
+ } else {
+ _p0 = 0
+ }
+ r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name)))
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
func SetEvent(event Handle) (err error) {
r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0)
if r1 == 0 {
@@ -1783,6 +1819,30 @@ func SetEvent(event Handle) (err error) {
return
}
+func ResetEvent(event Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func PulseEvent(event Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
func WSAStartup(verreq uint32, data *WSAData) (sockerr error) {
r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0)
if r0 != 0 {
diff --git a/vendor/golang.org/x/text/README b/vendor/golang.org/x/text/README
deleted file mode 100644
index 4826fe8fb..000000000
--- a/vendor/golang.org/x/text/README
+++ /dev/null
@@ -1,23 +0,0 @@
-This repository holds supplementary Go libraries for text processing, many involving Unicode.
-
-To submit changes to this repository, see http://golang.org/doc/contribute.html.
-
-To generate the tables in this repository (except for the encoding tables),
-run go generate from this directory. By default tables are generated for the
-Unicode version in core and the CLDR version defined in
-golang.org/x/text/unicode/cldr.
-
-Running go generate will as a side effect create a DATA subdirectory in this
-directory which holds all files that are used as a source for generating the
-tables. This directory will also serve as a cache.
-
-Run
-
- go test ./...
-
-from this directory to run all tests. Add the "-tags icu" flag to also run
-ICU conformance tests (if available). This requires that you have the correct
-ICU version installed on your system.
-
-TODO:
-- updating unversioned source files. \ No newline at end of file
diff --git a/vendor/golang.org/x/text/README.md b/vendor/golang.org/x/text/README.md
new file mode 100644
index 000000000..24be1c676
--- /dev/null
+++ b/vendor/golang.org/x/text/README.md
@@ -0,0 +1,63 @@
+This repository holds supplementary Go libraries for text processing, many involving Unicode.
+
+
+# Semantic Versioning
+This repo uses Semantic versioning (http://semver.org/), so
+1. MAJOR version when you make incompatible API changes,
+1. MINOR version when you add functionality in a backwards-compatible manner,
+ and
+1. PATCH version when you make backwards-compatible bug fixes.
+
+A Unicode major and minor version bump is mapped to a major version bump in
+x/text.
+A path version bump in Unicode is mapped to a minor version bump in x/text.
+Note that, consistent with the definitions in semver, until version 1.0.0 of
+x/text is reached, the minor version is considered a major version.
+So going from 0.1.0 to 0.2.0 is considered to be a major version bump.
+
+A major new CLDR version is mapped to a minor version increase in x/text.
+Any other new CLDR version is mapped to a patch version increase in x/text.
+
+
+# Contribute
+To submit changes to this repository, see http://golang.org/doc/contribute.html.
+
+To generate the tables in this repository (except for the encoding tables),
+run go generate from this directory. By default tables are generated for the
+Unicode version in core and the CLDR version defined in
+golang.org/x/text/unicode/cldr.
+
+Running go generate will as a side effect create a DATA subdirectory in this
+directory, which holds all files that are used as a source for generating the
+tables. This directory will also serve as a cache.
+
+## Testing
+Run
+
+ go test ./...
+
+from this directory to run all tests. Add the "-tags icu" flag to also run
+ICU conformance tests (if available). This requires that you have the correct
+ICU version installed on your system.
+
+## Versions
+To update a Unicode version run
+
+ UNICODE_VERSION=x.x.x go generate
+
+where `x.x.x` must correspond to a directory in http://www.unicode.org/Public/.
+If this version is newer than the version in core it will also update the
+relevant packages there. The idna package in x/net will always be updated.
+
+To update a CLDR version run
+
+ CLDR_VERSION=version go generate
+
+where `version` must correspond to a directory in
+http://www.unicode.org/Public/cldr/.
+
+Note that the code gets adapted over time to changes in the data and that
+backwards compatibility is not maintained.
+So updating to a different version may not work.
+
+The files in DATA/{iana|icu|w3|whatwg} are currently not versioned.
diff --git a/vendor/golang.org/x/text/cases/tables.go b/vendor/golang.org/x/text/cases/tables.go
index e6e95a685..cf73781cd 100644
--- a/vendor/golang.org/x/text/cases/tables.go
+++ b/vendor/golang.org/x/text/cases/tables.go
@@ -3,7 +3,7 @@
package cases
// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "9.0.0"
+const UnicodeVersion = "10.0.0"
var xorData string = "" + // Size: 185 bytes
"\x00\x06\x07\x00\x01?\x00\x0f\x03\x00\x0f\x12\x00\x0f\x1f\x00\x0f\x1d" +
@@ -216,7 +216,7 @@ func (t *caseTrie) lookupStringUnsafe(s string) uint16 {
return 0
}
-// caseTrie. Total size: 11742 bytes (11.47 KiB). Checksum: 147a11466b427436.
+// caseTrie. Total size: 11892 bytes (11.61 KiB). Checksum: abd4a0bc39341b30.
type caseTrie struct{}
func newCaseTrie(i int) *caseTrie {
@@ -407,7 +407,7 @@ var caseValues = [1280]uint16{
0x3fc: 0x0015, 0x3fd: 0x0015, 0x3fe: 0xcecb, 0x3ff: 0xcf8b,
// Block 0x10, offset 0x400
0x400: 0x0113, 0x401: 0x0112, 0x402: 0x0113, 0x403: 0x0112, 0x404: 0x0113, 0x405: 0x0112,
- 0x406: 0x0113, 0x407: 0x0112, 0x408: 0x0014, 0x409: 0x0004, 0x40a: 0x0004, 0x40b: 0x0713,
+ 0x406: 0x0113, 0x407: 0x0112, 0x408: 0x0014, 0x409: 0x0014, 0x40a: 0x0014, 0x40b: 0x0713,
0x40c: 0x0712, 0x40d: 0xd04b, 0x40e: 0x0012, 0x40f: 0x0010, 0x410: 0x0113, 0x411: 0x0112,
0x412: 0x0113, 0x413: 0x0112, 0x414: 0x0012, 0x415: 0x0012, 0x416: 0x0113, 0x417: 0x0112,
0x418: 0x0113, 0x419: 0x0112, 0x41a: 0x0113, 0x41b: 0x0112, 0x41c: 0x0113, 0x41d: 0x0112,
@@ -529,52 +529,52 @@ var caseIndex = [1600]uint16{
0x350: 0xe0, 0x351: 0xe1, 0x352: 0xe2, 0x353: 0xe3, 0x356: 0xe4, 0x357: 0xe5,
0x358: 0xe6, 0x359: 0xe7, 0x35a: 0xe8, 0x35b: 0xe9, 0x35c: 0xea,
0x362: 0xeb, 0x363: 0xec,
- 0x36b: 0xed,
- 0x370: 0xee, 0x371: 0xef, 0x372: 0xf0,
+ 0x368: 0xed, 0x369: 0xee, 0x36a: 0xef, 0x36b: 0xf0,
+ 0x370: 0xf1, 0x371: 0xf2, 0x372: 0xf3, 0x374: 0xf4, 0x375: 0xf5,
// Block 0xe, offset 0x380
0x380: 0x23, 0x381: 0x23, 0x382: 0x23, 0x383: 0x23, 0x384: 0x23, 0x385: 0x23, 0x386: 0x23, 0x387: 0x23,
- 0x388: 0x23, 0x389: 0x23, 0x38a: 0x23, 0x38b: 0x23, 0x38c: 0x23, 0x38d: 0x23, 0x38e: 0xf1,
- 0x390: 0x23, 0x391: 0xf2, 0x392: 0x23, 0x393: 0x23, 0x394: 0x23, 0x395: 0xf3,
+ 0x388: 0x23, 0x389: 0x23, 0x38a: 0x23, 0x38b: 0x23, 0x38c: 0x23, 0x38d: 0x23, 0x38e: 0xf6,
+ 0x390: 0x23, 0x391: 0xf7, 0x392: 0x23, 0x393: 0x23, 0x394: 0x23, 0x395: 0xf8,
// Block 0xf, offset 0x3c0
0x3c0: 0x23, 0x3c1: 0x23, 0x3c2: 0x23, 0x3c3: 0x23, 0x3c4: 0x23, 0x3c5: 0x23, 0x3c6: 0x23, 0x3c7: 0x23,
0x3c8: 0x23, 0x3c9: 0x23, 0x3ca: 0x23, 0x3cb: 0x23, 0x3cc: 0x23, 0x3cd: 0x23, 0x3ce: 0x23, 0x3cf: 0x23,
- 0x3d0: 0xf2,
+ 0x3d0: 0xf7,
// Block 0x10, offset 0x400
0x410: 0x23, 0x411: 0x23, 0x412: 0x23, 0x413: 0x23, 0x414: 0x23, 0x415: 0x23, 0x416: 0x23, 0x417: 0x23,
- 0x418: 0x23, 0x419: 0xf4,
+ 0x418: 0x23, 0x419: 0xf9,
// Block 0x11, offset 0x440
0x460: 0x23, 0x461: 0x23, 0x462: 0x23, 0x463: 0x23, 0x464: 0x23, 0x465: 0x23, 0x466: 0x23, 0x467: 0x23,
- 0x468: 0xed, 0x469: 0xf5, 0x46b: 0xf6, 0x46c: 0xf7, 0x46d: 0xf8, 0x46e: 0xf9,
- 0x47c: 0x23, 0x47d: 0xfa, 0x47e: 0xfb, 0x47f: 0xfc,
+ 0x468: 0xf0, 0x469: 0xfa, 0x46b: 0xfb, 0x46c: 0xfc, 0x46d: 0xfd, 0x46e: 0xfe,
+ 0x47c: 0x23, 0x47d: 0xff, 0x47e: 0x100, 0x47f: 0x101,
// Block 0x12, offset 0x480
- 0x4b0: 0x23, 0x4b1: 0xfd, 0x4b2: 0xfe,
+ 0x4b0: 0x23, 0x4b1: 0x102, 0x4b2: 0x103,
// Block 0x13, offset 0x4c0
- 0x4c5: 0xff, 0x4c6: 0x100,
- 0x4c9: 0x101,
- 0x4d0: 0x102, 0x4d1: 0x103, 0x4d2: 0x104, 0x4d3: 0x105, 0x4d4: 0x106, 0x4d5: 0x107, 0x4d6: 0x108, 0x4d7: 0x109,
- 0x4d8: 0x10a, 0x4d9: 0x10b, 0x4da: 0x10c, 0x4db: 0x10d, 0x4dc: 0x10e, 0x4dd: 0x10f, 0x4de: 0x110, 0x4df: 0x111,
- 0x4e8: 0x112, 0x4e9: 0x113, 0x4ea: 0x114,
+ 0x4c5: 0x104, 0x4c6: 0x105,
+ 0x4c9: 0x106,
+ 0x4d0: 0x107, 0x4d1: 0x108, 0x4d2: 0x109, 0x4d3: 0x10a, 0x4d4: 0x10b, 0x4d5: 0x10c, 0x4d6: 0x10d, 0x4d7: 0x10e,
+ 0x4d8: 0x10f, 0x4d9: 0x110, 0x4da: 0x111, 0x4db: 0x112, 0x4dc: 0x113, 0x4dd: 0x114, 0x4de: 0x115, 0x4df: 0x116,
+ 0x4e8: 0x117, 0x4e9: 0x118, 0x4ea: 0x119,
// Block 0x14, offset 0x500
- 0x500: 0x115,
- 0x520: 0x23, 0x521: 0x23, 0x522: 0x23, 0x523: 0x116, 0x524: 0x10, 0x525: 0x117,
- 0x538: 0x118, 0x539: 0x11, 0x53a: 0x119,
+ 0x500: 0x11a,
+ 0x520: 0x23, 0x521: 0x23, 0x522: 0x23, 0x523: 0x11b, 0x524: 0x10, 0x525: 0x11c,
+ 0x538: 0x11d, 0x539: 0x11, 0x53a: 0x11e,
// Block 0x15, offset 0x540
- 0x544: 0x11a, 0x545: 0x11b, 0x546: 0x11c,
- 0x54f: 0x11d,
+ 0x544: 0x11f, 0x545: 0x120, 0x546: 0x121,
+ 0x54f: 0x122,
// Block 0x16, offset 0x580
0x590: 0x0a, 0x591: 0x0b, 0x592: 0x0c, 0x593: 0x0d, 0x594: 0x0e, 0x596: 0x0f,
0x59b: 0x10, 0x59d: 0x11, 0x59e: 0x12, 0x59f: 0x13,
// Block 0x17, offset 0x5c0
- 0x5c0: 0x11e, 0x5c1: 0x11f, 0x5c4: 0x11f, 0x5c5: 0x11f, 0x5c6: 0x11f, 0x5c7: 0x120,
+ 0x5c0: 0x123, 0x5c1: 0x124, 0x5c4: 0x124, 0x5c5: 0x124, 0x5c6: 0x124, 0x5c7: 0x125,
// Block 0x18, offset 0x600
0x620: 0x15,
}
-// sparseOffsets: 272 entries, 544 bytes
-var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x3a, 0x3d, 0x41, 0x44, 0x48, 0x52, 0x54, 0x59, 0x69, 0x70, 0x75, 0x83, 0x84, 0x92, 0xa1, 0xab, 0xae, 0xb4, 0xbc, 0xbe, 0xc0, 0xce, 0xd4, 0xe2, 0xed, 0xf8, 0x103, 0x10f, 0x119, 0x124, 0x12f, 0x13b, 0x147, 0x14f, 0x157, 0x161, 0x16c, 0x178, 0x17e, 0x189, 0x18e, 0x196, 0x199, 0x19e, 0x1a2, 0x1a6, 0x1ad, 0x1b6, 0x1be, 0x1bf, 0x1c8, 0x1cf, 0x1d7, 0x1dd, 0x1e3, 0x1e8, 0x1ec, 0x1ef, 0x1f1, 0x1f4, 0x1f9, 0x1fa, 0x1fc, 0x1fe, 0x200, 0x207, 0x20c, 0x210, 0x219, 0x21c, 0x21f, 0x225, 0x226, 0x231, 0x232, 0x233, 0x238, 0x245, 0x24d, 0x255, 0x25e, 0x267, 0x270, 0x275, 0x278, 0x281, 0x28e, 0x290, 0x297, 0x299, 0x2a4, 0x2a5, 0x2b0, 0x2b8, 0x2c0, 0x2c6, 0x2c7, 0x2d5, 0x2da, 0x2dd, 0x2e2, 0x2e6, 0x2ec, 0x2f1, 0x2f4, 0x2f9, 0x2fe, 0x2ff, 0x305, 0x307, 0x308, 0x30a, 0x30c, 0x30f, 0x310, 0x312, 0x315, 0x31b, 0x31f, 0x321, 0x327, 0x32e, 0x332, 0x33b, 0x33c, 0x344, 0x348, 0x34d, 0x355, 0x35b, 0x361, 0x36b, 0x370, 0x379, 0x37f, 0x386, 0x38a, 0x392, 0x394, 0x396, 0x399, 0x39b, 0x39d, 0x39e, 0x39f, 0x3a1, 0x3a3, 0x3a9, 0x3ae, 0x3b0, 0x3b6, 0x3b9, 0x3bb, 0x3c1, 0x3c6, 0x3c8, 0x3c9, 0x3ca, 0x3cb, 0x3cd, 0x3cf, 0x3d1, 0x3d4, 0x3d6, 0x3d9, 0x3e1, 0x3e4, 0x3e8, 0x3f0, 0x3f2, 0x3f3, 0x3f4, 0x3f6, 0x3fc, 0x3fe, 0x3ff, 0x401, 0x403, 0x405, 0x412, 0x413, 0x414, 0x418, 0x41a, 0x41b, 0x41c, 0x41d, 0x41e, 0x422, 0x426, 0x42c, 0x42e, 0x435, 0x438, 0x43c, 0x442, 0x44b, 0x451, 0x457, 0x461, 0x46b, 0x46d, 0x474, 0x47a, 0x480, 0x486, 0x489, 0x48f, 0x492, 0x49a, 0x49b, 0x4a2, 0x4a3, 0x4a6, 0x4a7, 0x4ad, 0x4b0, 0x4b8, 0x4b9, 0x4ba, 0x4bb, 0x4bc, 0x4be, 0x4c0, 0x4c2, 0x4c6, 0x4c7, 0x4c9, 0x4ca, 0x4cb, 0x4cd, 0x4d2, 0x4d7, 0x4db, 0x4dc, 0x4df, 0x4e3, 0x4ee, 0x4f2, 0x4fa, 0x4ff, 0x503, 0x506, 0x50a, 0x50d, 0x510, 0x515, 0x519, 0x51d, 0x521, 0x525, 0x527, 0x529, 0x52c, 0x531, 0x533, 0x538, 0x541, 0x546, 0x547, 0x54a, 0x54b, 0x54c, 0x54e, 0x54f, 0x550}
+// sparseOffsets: 277 entries, 554 bytes
+var sparseOffsets = []uint16{0x0, 0x9, 0xf, 0x18, 0x24, 0x2e, 0x35, 0x38, 0x3c, 0x3f, 0x43, 0x4d, 0x4f, 0x54, 0x64, 0x6b, 0x70, 0x7e, 0x7f, 0x8d, 0x9c, 0xa6, 0xa9, 0xaf, 0xb7, 0xba, 0xbc, 0xca, 0xd0, 0xde, 0xe9, 0xf5, 0x100, 0x10c, 0x116, 0x122, 0x12d, 0x139, 0x145, 0x14d, 0x155, 0x15f, 0x16a, 0x176, 0x17d, 0x188, 0x18d, 0x195, 0x198, 0x19d, 0x1a1, 0x1a5, 0x1ac, 0x1b5, 0x1bd, 0x1be, 0x1c7, 0x1ce, 0x1d6, 0x1dc, 0x1e2, 0x1e7, 0x1eb, 0x1ee, 0x1f0, 0x1f3, 0x1f8, 0x1f9, 0x1fb, 0x1fd, 0x1ff, 0x206, 0x20b, 0x20f, 0x218, 0x21b, 0x21e, 0x224, 0x225, 0x230, 0x231, 0x232, 0x237, 0x244, 0x24c, 0x254, 0x25d, 0x266, 0x26f, 0x274, 0x277, 0x280, 0x28d, 0x28f, 0x296, 0x298, 0x2a4, 0x2a5, 0x2b0, 0x2b8, 0x2c0, 0x2c6, 0x2c7, 0x2d5, 0x2da, 0x2dd, 0x2e2, 0x2e6, 0x2ec, 0x2f1, 0x2f4, 0x2f9, 0x2fe, 0x2ff, 0x305, 0x307, 0x308, 0x30a, 0x30c, 0x30f, 0x310, 0x312, 0x315, 0x31b, 0x31f, 0x321, 0x326, 0x32d, 0x331, 0x33a, 0x33b, 0x343, 0x347, 0x34c, 0x354, 0x35a, 0x360, 0x36a, 0x36f, 0x378, 0x37e, 0x385, 0x389, 0x391, 0x393, 0x395, 0x398, 0x39a, 0x39c, 0x39d, 0x39e, 0x3a0, 0x3a2, 0x3a8, 0x3ad, 0x3af, 0x3b5, 0x3b8, 0x3ba, 0x3c0, 0x3c5, 0x3c7, 0x3c8, 0x3c9, 0x3ca, 0x3cc, 0x3ce, 0x3d0, 0x3d3, 0x3d5, 0x3d8, 0x3e0, 0x3e3, 0x3e7, 0x3ef, 0x3f1, 0x3f2, 0x3f3, 0x3f5, 0x3fb, 0x3fd, 0x3fe, 0x400, 0x402, 0x404, 0x411, 0x412, 0x413, 0x417, 0x419, 0x41a, 0x41b, 0x41c, 0x41d, 0x421, 0x425, 0x42b, 0x42d, 0x434, 0x437, 0x43b, 0x441, 0x44a, 0x450, 0x456, 0x460, 0x46a, 0x46c, 0x473, 0x479, 0x47f, 0x485, 0x488, 0x48e, 0x491, 0x499, 0x49a, 0x4a1, 0x4a2, 0x4a5, 0x4af, 0x4b5, 0x4bb, 0x4bc, 0x4c2, 0x4c5, 0x4cd, 0x4d4, 0x4db, 0x4dc, 0x4dd, 0x4de, 0x4df, 0x4e1, 0x4e3, 0x4e5, 0x4e9, 0x4ea, 0x4ec, 0x4ed, 0x4ee, 0x4f0, 0x4f5, 0x4fa, 0x4fe, 0x4ff, 0x502, 0x506, 0x511, 0x515, 0x51d, 0x522, 0x526, 0x529, 0x52d, 0x530, 0x533, 0x538, 0x53c, 0x540, 0x544, 0x548, 0x54a, 0x54c, 0x54f, 0x554, 0x556, 0x55b, 0x564, 0x569, 0x56a, 0x56d, 0x56e, 0x56f, 0x571, 0x572, 0x573}
-// sparseValues: 1360 entries, 5440 bytes
-var sparseValues = [1360]valueRange{
+// sparseValues: 1395 entries, 5580 bytes
+var sparseValues = [1395]valueRange{
// Block 0x0, offset 0x0
{value: 0x0004, lo: 0xa8, hi: 0xa8},
{value: 0x0012, lo: 0xaa, hi: 0xaa},
@@ -628,36 +628,31 @@ var sparseValues = [1360]valueRange{
{value: 0x12ca, lo: 0xbf, hi: 0xbf},
// Block 0x5, offset 0x2e
{value: 0x0015, lo: 0x80, hi: 0x81},
- {value: 0x0004, lo: 0x82, hi: 0x85},
- {value: 0x0014, lo: 0x86, hi: 0x91},
- {value: 0x0004, lo: 0x92, hi: 0x96},
- {value: 0x0054, lo: 0x97, hi: 0x97},
- {value: 0x0004, lo: 0x98, hi: 0x9f},
+ {value: 0x0014, lo: 0x82, hi: 0x97},
+ {value: 0x0004, lo: 0x98, hi: 0x9d},
+ {value: 0x0014, lo: 0x9e, hi: 0x9f},
{value: 0x0015, lo: 0xa0, hi: 0xa4},
{value: 0x0004, lo: 0xa5, hi: 0xab},
- {value: 0x0014, lo: 0xac, hi: 0xac},
- {value: 0x0004, lo: 0xad, hi: 0xad},
- {value: 0x0014, lo: 0xae, hi: 0xae},
- {value: 0x0004, lo: 0xaf, hi: 0xbf},
- // Block 0x6, offset 0x3a
+ {value: 0x0014, lo: 0xac, hi: 0xbf},
+ // Block 0x6, offset 0x35
{value: 0x0024, lo: 0x80, hi: 0x94},
{value: 0x0034, lo: 0x95, hi: 0xbc},
{value: 0x0024, lo: 0xbd, hi: 0xbf},
- // Block 0x7, offset 0x3d
+ // Block 0x7, offset 0x38
{value: 0x6553, lo: 0x80, hi: 0x8f},
{value: 0x2013, lo: 0x90, hi: 0x9f},
{value: 0x5f53, lo: 0xa0, hi: 0xaf},
{value: 0x2012, lo: 0xb0, hi: 0xbf},
- // Block 0x8, offset 0x41
+ // Block 0x8, offset 0x3c
{value: 0x5f52, lo: 0x80, hi: 0x8f},
{value: 0x6552, lo: 0x90, hi: 0x9f},
{value: 0x0117, lo: 0xa0, hi: 0xbf},
- // Block 0x9, offset 0x44
+ // Block 0x9, offset 0x3f
{value: 0x0117, lo: 0x80, hi: 0x81},
{value: 0x0024, lo: 0x83, hi: 0x87},
{value: 0x0014, lo: 0x88, hi: 0x89},
{value: 0x0117, lo: 0x8a, hi: 0xbf},
- // Block 0xa, offset 0x48
+ // Block 0xa, offset 0x43
{value: 0x0f13, lo: 0x80, hi: 0x80},
{value: 0x0316, lo: 0x81, hi: 0x82},
{value: 0x0716, lo: 0x83, hi: 0x84},
@@ -668,16 +663,16 @@ var sparseValues = [1360]valueRange{
{value: 0x0316, lo: 0x8d, hi: 0x8e},
{value: 0x0f12, lo: 0x8f, hi: 0x8f},
{value: 0x0117, lo: 0x90, hi: 0xbf},
- // Block 0xb, offset 0x52
+ // Block 0xb, offset 0x4d
{value: 0x0117, lo: 0x80, hi: 0xaf},
{value: 0x6553, lo: 0xb1, hi: 0xbf},
- // Block 0xc, offset 0x54
+ // Block 0xc, offset 0x4f
{value: 0x3013, lo: 0x80, hi: 0x8f},
{value: 0x6853, lo: 0x90, hi: 0x96},
{value: 0x0014, lo: 0x99, hi: 0x99},
{value: 0x6552, lo: 0xa1, hi: 0xaf},
{value: 0x3012, lo: 0xb0, hi: 0xbf},
- // Block 0xd, offset 0x59
+ // Block 0xd, offset 0x54
{value: 0x6852, lo: 0x80, hi: 0x86},
{value: 0x27aa, lo: 0x87, hi: 0x87},
{value: 0x0034, lo: 0x91, hi: 0x91},
@@ -694,7 +689,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0024, lo: 0xaf, hi: 0xaf},
{value: 0x0034, lo: 0xb0, hi: 0xbd},
{value: 0x0034, lo: 0xbf, hi: 0xbf},
- // Block 0xe, offset 0x69
+ // Block 0xe, offset 0x64
{value: 0x0034, lo: 0x81, hi: 0x82},
{value: 0x0024, lo: 0x84, hi: 0x84},
{value: 0x0034, lo: 0x85, hi: 0x85},
@@ -702,13 +697,13 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0x90, hi: 0xaa},
{value: 0x0010, lo: 0xb0, hi: 0xb3},
{value: 0x0054, lo: 0xb4, hi: 0xb4},
- // Block 0xf, offset 0x70
+ // Block 0xf, offset 0x6b
{value: 0x0014, lo: 0x80, hi: 0x85},
{value: 0x0024, lo: 0x90, hi: 0x97},
{value: 0x0034, lo: 0x98, hi: 0x9a},
{value: 0x0014, lo: 0x9c, hi: 0x9c},
{value: 0x0010, lo: 0xa0, hi: 0xbf},
- // Block 0x10, offset 0x75
+ // Block 0x10, offset 0x70
{value: 0x0014, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x81, hi: 0x8a},
{value: 0x0034, lo: 0x8b, hi: 0x92},
@@ -723,9 +718,9 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xae, hi: 0xaf},
{value: 0x0034, lo: 0xb0, hi: 0xb0},
{value: 0x0010, lo: 0xb1, hi: 0xbf},
- // Block 0x11, offset 0x83
+ // Block 0x11, offset 0x7e
{value: 0x0010, lo: 0x80, hi: 0xbf},
- // Block 0x12, offset 0x84
+ // Block 0x12, offset 0x7f
{value: 0x0010, lo: 0x80, hi: 0x93},
{value: 0x0010, lo: 0x95, hi: 0x95},
{value: 0x0024, lo: 0x96, hi: 0x9c},
@@ -740,7 +735,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xad, hi: 0xad},
{value: 0x0010, lo: 0xae, hi: 0xbc},
{value: 0x0010, lo: 0xbf, hi: 0xbf},
- // Block 0x13, offset 0x92
+ // Block 0x13, offset 0x8d
{value: 0x0014, lo: 0x8f, hi: 0x8f},
{value: 0x0010, lo: 0x90, hi: 0x90},
{value: 0x0034, lo: 0x91, hi: 0x91},
@@ -756,7 +751,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0024, lo: 0xbd, hi: 0xbd},
{value: 0x0034, lo: 0xbe, hi: 0xbe},
{value: 0x0024, lo: 0xbf, hi: 0xbf},
- // Block 0x14, offset 0xa1
+ // Block 0x14, offset 0x9c
{value: 0x0024, lo: 0x80, hi: 0x81},
{value: 0x0034, lo: 0x82, hi: 0x82},
{value: 0x0024, lo: 0x83, hi: 0x83},
@@ -767,18 +762,18 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0x88, hi: 0x88},
{value: 0x0024, lo: 0x89, hi: 0x8a},
{value: 0x0010, lo: 0x8d, hi: 0xbf},
- // Block 0x15, offset 0xab
+ // Block 0x15, offset 0xa6
{value: 0x0010, lo: 0x80, hi: 0xa5},
{value: 0x0014, lo: 0xa6, hi: 0xb0},
{value: 0x0010, lo: 0xb1, hi: 0xb1},
- // Block 0x16, offset 0xae
+ // Block 0x16, offset 0xa9
{value: 0x0010, lo: 0x80, hi: 0xaa},
{value: 0x0024, lo: 0xab, hi: 0xb1},
{value: 0x0034, lo: 0xb2, hi: 0xb2},
{value: 0x0024, lo: 0xb3, hi: 0xb3},
{value: 0x0014, lo: 0xb4, hi: 0xb5},
{value: 0x0014, lo: 0xba, hi: 0xba},
- // Block 0x17, offset 0xb4
+ // Block 0x17, offset 0xaf
{value: 0x0010, lo: 0x80, hi: 0x95},
{value: 0x0024, lo: 0x96, hi: 0x99},
{value: 0x0014, lo: 0x9a, hi: 0x9a},
@@ -787,13 +782,14 @@ var sparseValues = [1360]valueRange{
{value: 0x0024, lo: 0xa5, hi: 0xa7},
{value: 0x0014, lo: 0xa8, hi: 0xa8},
{value: 0x0024, lo: 0xa9, hi: 0xad},
- // Block 0x18, offset 0xbc
+ // Block 0x18, offset 0xb7
{value: 0x0010, lo: 0x80, hi: 0x98},
{value: 0x0034, lo: 0x99, hi: 0x9b},
- // Block 0x19, offset 0xbe
+ {value: 0x0010, lo: 0xa0, hi: 0xaa},
+ // Block 0x19, offset 0xba
{value: 0x0010, lo: 0xa0, hi: 0xb4},
{value: 0x0010, lo: 0xb6, hi: 0xbd},
- // Block 0x1a, offset 0xc0
+ // Block 0x1a, offset 0xbc
{value: 0x0024, lo: 0x94, hi: 0xa1},
{value: 0x0014, lo: 0xa2, hi: 0xa2},
{value: 0x0034, lo: 0xa3, hi: 0xa3},
@@ -808,14 +804,14 @@ var sparseValues = [1360]valueRange{
{value: 0x0024, lo: 0xb7, hi: 0xb8},
{value: 0x0034, lo: 0xb9, hi: 0xba},
{value: 0x0024, lo: 0xbb, hi: 0xbf},
- // Block 0x1b, offset 0xce
+ // Block 0x1b, offset 0xca
{value: 0x0014, lo: 0x80, hi: 0x82},
{value: 0x0010, lo: 0x83, hi: 0xb9},
{value: 0x0014, lo: 0xba, hi: 0xba},
{value: 0x0010, lo: 0xbb, hi: 0xbb},
{value: 0x0034, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbf},
- // Block 0x1c, offset 0xd4
+ // Block 0x1c, offset 0xd0
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x88},
{value: 0x0010, lo: 0x89, hi: 0x8c},
@@ -830,7 +826,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xa6, hi: 0xaf},
{value: 0x0014, lo: 0xb1, hi: 0xb1},
{value: 0x0010, lo: 0xb2, hi: 0xbf},
- // Block 0x1d, offset 0xe2
+ // Block 0x1d, offset 0xde
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x81},
{value: 0x0010, lo: 0x82, hi: 0x83},
@@ -842,7 +838,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xb6, hi: 0xb9},
{value: 0x0034, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbf},
- // Block 0x1e, offset 0xed
+ // Block 0x1e, offset 0xe9
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x84},
{value: 0x0010, lo: 0x87, hi: 0x88},
@@ -854,7 +850,8 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0x9f, hi: 0xa1},
{value: 0x0014, lo: 0xa2, hi: 0xa3},
{value: 0x0010, lo: 0xa6, hi: 0xb1},
- // Block 0x1f, offset 0xf8
+ {value: 0x0010, lo: 0xbc, hi: 0xbc},
+ // Block 0x1f, offset 0xf5
{value: 0x0014, lo: 0x81, hi: 0x82},
{value: 0x0010, lo: 0x83, hi: 0x83},
{value: 0x0010, lo: 0x85, hi: 0x8a},
@@ -866,7 +863,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xb8, hi: 0xb9},
{value: 0x0034, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbe, hi: 0xbf},
- // Block 0x20, offset 0x103
+ // Block 0x20, offset 0x100
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x82},
{value: 0x0014, lo: 0x87, hi: 0x88},
@@ -879,7 +876,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xb0, hi: 0xb1},
{value: 0x0010, lo: 0xb2, hi: 0xb4},
{value: 0x0014, lo: 0xb5, hi: 0xb5},
- // Block 0x21, offset 0x10f
+ // Block 0x21, offset 0x10c
{value: 0x0014, lo: 0x81, hi: 0x82},
{value: 0x0010, lo: 0x83, hi: 0x83},
{value: 0x0010, lo: 0x85, hi: 0x8d},
@@ -890,7 +887,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xb5, hi: 0xb9},
{value: 0x0034, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbf},
- // Block 0x22, offset 0x119
+ // Block 0x22, offset 0x116
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x85},
{value: 0x0014, lo: 0x87, hi: 0x88},
@@ -902,7 +899,8 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xa2, hi: 0xa3},
{value: 0x0010, lo: 0xa6, hi: 0xaf},
{value: 0x0010, lo: 0xb9, hi: 0xb9},
- // Block 0x23, offset 0x124
+ {value: 0x0014, lo: 0xba, hi: 0xbf},
+ // Block 0x23, offset 0x122
{value: 0x0014, lo: 0x81, hi: 0x81},
{value: 0x0010, lo: 0x82, hi: 0x83},
{value: 0x0010, lo: 0x85, hi: 0x8c},
@@ -914,7 +912,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbe},
{value: 0x0014, lo: 0xbf, hi: 0xbf},
- // Block 0x24, offset 0x12f
+ // Block 0x24, offset 0x12d
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x84},
{value: 0x0010, lo: 0x87, hi: 0x88},
@@ -927,7 +925,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xa2, hi: 0xa3},
{value: 0x0010, lo: 0xa6, hi: 0xaf},
{value: 0x0010, lo: 0xb1, hi: 0xb1},
- // Block 0x25, offset 0x13b
+ // Block 0x25, offset 0x139
{value: 0x0014, lo: 0x82, hi: 0x82},
{value: 0x0010, lo: 0x83, hi: 0x83},
{value: 0x0010, lo: 0x85, hi: 0x8a},
@@ -940,7 +938,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xa8, hi: 0xaa},
{value: 0x0010, lo: 0xae, hi: 0xb9},
{value: 0x0010, lo: 0xbe, hi: 0xbf},
- // Block 0x26, offset 0x147
+ // Block 0x26, offset 0x145
{value: 0x0014, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x81, hi: 0x82},
{value: 0x0010, lo: 0x86, hi: 0x88},
@@ -949,7 +947,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0x90, hi: 0x90},
{value: 0x0010, lo: 0x97, hi: 0x97},
{value: 0x0010, lo: 0xa6, hi: 0xaf},
- // Block 0x27, offset 0x14f
+ // Block 0x27, offset 0x14d
{value: 0x0014, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x81, hi: 0x83},
{value: 0x0010, lo: 0x85, hi: 0x8c},
@@ -958,7 +956,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xaa, hi: 0xb9},
{value: 0x0010, lo: 0xbd, hi: 0xbd},
{value: 0x0014, lo: 0xbe, hi: 0xbf},
- // Block 0x28, offset 0x157
+ // Block 0x28, offset 0x155
{value: 0x0014, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x81, hi: 0x84},
{value: 0x0014, lo: 0x86, hi: 0x88},
@@ -969,7 +967,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xa0, hi: 0xa1},
{value: 0x0014, lo: 0xa2, hi: 0xa3},
{value: 0x0010, lo: 0xa6, hi: 0xaf},
- // Block 0x29, offset 0x161
+ // Block 0x29, offset 0x15f
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x81},
{value: 0x0010, lo: 0x82, hi: 0x83},
@@ -981,7 +979,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbe},
{value: 0x0014, lo: 0xbf, hi: 0xbf},
- // Block 0x2a, offset 0x16c
+ // Block 0x2a, offset 0x16a
{value: 0x0010, lo: 0x80, hi: 0x84},
{value: 0x0014, lo: 0x86, hi: 0x86},
{value: 0x0010, lo: 0x87, hi: 0x88},
@@ -994,14 +992,15 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xa2, hi: 0xa3},
{value: 0x0010, lo: 0xa6, hi: 0xaf},
{value: 0x0010, lo: 0xb1, hi: 0xb2},
- // Block 0x2b, offset 0x178
- {value: 0x0014, lo: 0x81, hi: 0x81},
+ // Block 0x2b, offset 0x176
+ {value: 0x0014, lo: 0x80, hi: 0x81},
{value: 0x0010, lo: 0x82, hi: 0x83},
{value: 0x0010, lo: 0x85, hi: 0x8c},
{value: 0x0010, lo: 0x8e, hi: 0x90},
{value: 0x0010, lo: 0x92, hi: 0xba},
+ {value: 0x0034, lo: 0xbb, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbf},
- // Block 0x2c, offset 0x17e
+ // Block 0x2c, offset 0x17d
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x84},
{value: 0x0010, lo: 0x86, hi: 0x88},
@@ -1013,13 +1012,13 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xa2, hi: 0xa3},
{value: 0x0010, lo: 0xa6, hi: 0xaf},
{value: 0x0010, lo: 0xba, hi: 0xbf},
- // Block 0x2d, offset 0x189
+ // Block 0x2d, offset 0x188
{value: 0x0010, lo: 0x82, hi: 0x83},
{value: 0x0010, lo: 0x85, hi: 0x96},
{value: 0x0010, lo: 0x9a, hi: 0xb1},
{value: 0x0010, lo: 0xb3, hi: 0xbb},
{value: 0x0010, lo: 0xbd, hi: 0xbd},
- // Block 0x2e, offset 0x18e
+ // Block 0x2e, offset 0x18d
{value: 0x0010, lo: 0x80, hi: 0x86},
{value: 0x0034, lo: 0x8a, hi: 0x8a},
{value: 0x0010, lo: 0x8f, hi: 0x91},
@@ -1028,27 +1027,27 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0x98, hi: 0x9f},
{value: 0x0010, lo: 0xa6, hi: 0xaf},
{value: 0x0010, lo: 0xb2, hi: 0xb3},
- // Block 0x2f, offset 0x196
+ // Block 0x2f, offset 0x195
{value: 0x0014, lo: 0xb1, hi: 0xb1},
{value: 0x0014, lo: 0xb4, hi: 0xb7},
{value: 0x0034, lo: 0xb8, hi: 0xba},
- // Block 0x30, offset 0x199
+ // Block 0x30, offset 0x198
{value: 0x0004, lo: 0x86, hi: 0x86},
{value: 0x0014, lo: 0x87, hi: 0x87},
{value: 0x0034, lo: 0x88, hi: 0x8b},
{value: 0x0014, lo: 0x8c, hi: 0x8e},
{value: 0x0010, lo: 0x90, hi: 0x99},
- // Block 0x31, offset 0x19e
+ // Block 0x31, offset 0x19d
{value: 0x0014, lo: 0xb1, hi: 0xb1},
{value: 0x0014, lo: 0xb4, hi: 0xb7},
{value: 0x0034, lo: 0xb8, hi: 0xb9},
{value: 0x0014, lo: 0xbb, hi: 0xbc},
- // Block 0x32, offset 0x1a2
+ // Block 0x32, offset 0x1a1
{value: 0x0004, lo: 0x86, hi: 0x86},
{value: 0x0034, lo: 0x88, hi: 0x8b},
{value: 0x0014, lo: 0x8c, hi: 0x8d},
{value: 0x0010, lo: 0x90, hi: 0x99},
- // Block 0x33, offset 0x1a6
+ // Block 0x33, offset 0x1a5
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0034, lo: 0x98, hi: 0x99},
{value: 0x0010, lo: 0xa0, hi: 0xa9},
@@ -1056,7 +1055,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xb7, hi: 0xb7},
{value: 0x0034, lo: 0xb9, hi: 0xb9},
{value: 0x0010, lo: 0xbe, hi: 0xbf},
- // Block 0x34, offset 0x1ad
+ // Block 0x34, offset 0x1ac
{value: 0x0010, lo: 0x80, hi: 0x87},
{value: 0x0010, lo: 0x89, hi: 0xac},
{value: 0x0034, lo: 0xb1, hi: 0xb2},
@@ -1066,7 +1065,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xba, hi: 0xbd},
{value: 0x0014, lo: 0xbe, hi: 0xbe},
{value: 0x0010, lo: 0xbf, hi: 0xbf},
- // Block 0x35, offset 0x1b6
+ // Block 0x35, offset 0x1b5
{value: 0x0034, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x81},
{value: 0x0024, lo: 0x82, hi: 0x83},
@@ -1075,9 +1074,9 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0x88, hi: 0x8c},
{value: 0x0014, lo: 0x8d, hi: 0x97},
{value: 0x0014, lo: 0x99, hi: 0xbc},
- // Block 0x36, offset 0x1be
+ // Block 0x36, offset 0x1bd
{value: 0x0034, lo: 0x86, hi: 0x86},
- // Block 0x37, offset 0x1bf
+ // Block 0x37, offset 0x1be
{value: 0x0010, lo: 0xab, hi: 0xac},
{value: 0x0014, lo: 0xad, hi: 0xb0},
{value: 0x0010, lo: 0xb1, hi: 0xb1},
@@ -1087,7 +1086,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xb9, hi: 0xba},
{value: 0x0010, lo: 0xbb, hi: 0xbc},
{value: 0x0014, lo: 0xbd, hi: 0xbe},
- // Block 0x38, offset 0x1c8
+ // Block 0x38, offset 0x1c7
{value: 0x0010, lo: 0x80, hi: 0x89},
{value: 0x0010, lo: 0x96, hi: 0x97},
{value: 0x0014, lo: 0x98, hi: 0x99},
@@ -1095,7 +1094,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xa2, hi: 0xa4},
{value: 0x0010, lo: 0xa7, hi: 0xad},
{value: 0x0014, lo: 0xb1, hi: 0xb4},
- // Block 0x39, offset 0x1cf
+ // Block 0x39, offset 0x1ce
{value: 0x0014, lo: 0x82, hi: 0x82},
{value: 0x0010, lo: 0x83, hi: 0x84},
{value: 0x0014, lo: 0x85, hi: 0x86},
@@ -1104,60 +1103,60 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0x8f, hi: 0x9c},
{value: 0x0014, lo: 0x9d, hi: 0x9d},
{value: 0x6c53, lo: 0xa0, hi: 0xbf},
- // Block 0x3a, offset 0x1d7
+ // Block 0x3a, offset 0x1d6
{value: 0x7053, lo: 0x80, hi: 0x85},
{value: 0x7053, lo: 0x87, hi: 0x87},
{value: 0x7053, lo: 0x8d, hi: 0x8d},
{value: 0x0010, lo: 0x90, hi: 0xba},
{value: 0x0014, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbf},
- // Block 0x3b, offset 0x1dd
+ // Block 0x3b, offset 0x1dc
{value: 0x0010, lo: 0x80, hi: 0x88},
{value: 0x0010, lo: 0x8a, hi: 0x8d},
{value: 0x0010, lo: 0x90, hi: 0x96},
{value: 0x0010, lo: 0x98, hi: 0x98},
{value: 0x0010, lo: 0x9a, hi: 0x9d},
{value: 0x0010, lo: 0xa0, hi: 0xbf},
- // Block 0x3c, offset 0x1e3
+ // Block 0x3c, offset 0x1e2
{value: 0x0010, lo: 0x80, hi: 0x88},
{value: 0x0010, lo: 0x8a, hi: 0x8d},
{value: 0x0010, lo: 0x90, hi: 0xb0},
{value: 0x0010, lo: 0xb2, hi: 0xb5},
{value: 0x0010, lo: 0xb8, hi: 0xbe},
- // Block 0x3d, offset 0x1e8
+ // Block 0x3d, offset 0x1e7
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x82, hi: 0x85},
{value: 0x0010, lo: 0x88, hi: 0x96},
{value: 0x0010, lo: 0x98, hi: 0xbf},
- // Block 0x3e, offset 0x1ec
+ // Block 0x3e, offset 0x1eb
{value: 0x0010, lo: 0x80, hi: 0x90},
{value: 0x0010, lo: 0x92, hi: 0x95},
{value: 0x0010, lo: 0x98, hi: 0xbf},
- // Block 0x3f, offset 0x1ef
+ // Block 0x3f, offset 0x1ee
{value: 0x0010, lo: 0x80, hi: 0x9a},
{value: 0x0024, lo: 0x9d, hi: 0x9f},
- // Block 0x40, offset 0x1f1
+ // Block 0x40, offset 0x1f0
{value: 0x0010, lo: 0x80, hi: 0x8f},
{value: 0x7453, lo: 0xa0, hi: 0xaf},
{value: 0x7853, lo: 0xb0, hi: 0xbf},
- // Block 0x41, offset 0x1f4
+ // Block 0x41, offset 0x1f3
{value: 0x7c53, lo: 0x80, hi: 0x8f},
{value: 0x8053, lo: 0x90, hi: 0x9f},
{value: 0x7c53, lo: 0xa0, hi: 0xaf},
{value: 0x0813, lo: 0xb0, hi: 0xb5},
{value: 0x0892, lo: 0xb8, hi: 0xbd},
- // Block 0x42, offset 0x1f9
+ // Block 0x42, offset 0x1f8
{value: 0x0010, lo: 0x81, hi: 0xbf},
- // Block 0x43, offset 0x1fa
+ // Block 0x43, offset 0x1f9
{value: 0x0010, lo: 0x80, hi: 0xac},
{value: 0x0010, lo: 0xaf, hi: 0xbf},
- // Block 0x44, offset 0x1fc
+ // Block 0x44, offset 0x1fb
{value: 0x0010, lo: 0x81, hi: 0x9a},
{value: 0x0010, lo: 0xa0, hi: 0xbf},
- // Block 0x45, offset 0x1fe
+ // Block 0x45, offset 0x1fd
{value: 0x0010, lo: 0x80, hi: 0xaa},
{value: 0x0010, lo: 0xae, hi: 0xb8},
- // Block 0x46, offset 0x200
+ // Block 0x46, offset 0x1ff
{value: 0x0010, lo: 0x80, hi: 0x8c},
{value: 0x0010, lo: 0x8e, hi: 0x91},
{value: 0x0014, lo: 0x92, hi: 0x93},
@@ -1165,18 +1164,18 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xa0, hi: 0xb1},
{value: 0x0014, lo: 0xb2, hi: 0xb3},
{value: 0x0034, lo: 0xb4, hi: 0xb4},
- // Block 0x47, offset 0x207
+ // Block 0x47, offset 0x206
{value: 0x0010, lo: 0x80, hi: 0x91},
{value: 0x0014, lo: 0x92, hi: 0x93},
{value: 0x0010, lo: 0xa0, hi: 0xac},
{value: 0x0010, lo: 0xae, hi: 0xb0},
{value: 0x0014, lo: 0xb2, hi: 0xb3},
- // Block 0x48, offset 0x20c
+ // Block 0x48, offset 0x20b
{value: 0x0014, lo: 0xb4, hi: 0xb5},
{value: 0x0010, lo: 0xb6, hi: 0xb6},
{value: 0x0014, lo: 0xb7, hi: 0xbd},
{value: 0x0010, lo: 0xbe, hi: 0xbf},
- // Block 0x49, offset 0x210
+ // Block 0x49, offset 0x20f
{value: 0x0010, lo: 0x80, hi: 0x85},
{value: 0x0014, lo: 0x86, hi: 0x86},
{value: 0x0010, lo: 0x87, hi: 0x88},
@@ -1186,24 +1185,24 @@ var sparseValues = [1360]valueRange{
{value: 0x0004, lo: 0x97, hi: 0x97},
{value: 0x0024, lo: 0x9d, hi: 0x9d},
{value: 0x0010, lo: 0xa0, hi: 0xa9},
- // Block 0x4a, offset 0x219
+ // Block 0x4a, offset 0x218
{value: 0x0014, lo: 0x8b, hi: 0x8e},
{value: 0x0010, lo: 0x90, hi: 0x99},
{value: 0x0010, lo: 0xa0, hi: 0xbf},
- // Block 0x4b, offset 0x21c
+ // Block 0x4b, offset 0x21b
{value: 0x0010, lo: 0x80, hi: 0x82},
{value: 0x0014, lo: 0x83, hi: 0x83},
{value: 0x0010, lo: 0x84, hi: 0xb7},
- // Block 0x4c, offset 0x21f
+ // Block 0x4c, offset 0x21e
{value: 0x0010, lo: 0x80, hi: 0x84},
{value: 0x0014, lo: 0x85, hi: 0x86},
{value: 0x0010, lo: 0x87, hi: 0xa8},
{value: 0x0034, lo: 0xa9, hi: 0xa9},
{value: 0x0010, lo: 0xaa, hi: 0xaa},
{value: 0x0010, lo: 0xb0, hi: 0xbf},
- // Block 0x4d, offset 0x225
+ // Block 0x4d, offset 0x224
{value: 0x0010, lo: 0x80, hi: 0xb5},
- // Block 0x4e, offset 0x226
+ // Block 0x4e, offset 0x225
{value: 0x0010, lo: 0x80, hi: 0x9e},
{value: 0x0014, lo: 0xa0, hi: 0xa2},
{value: 0x0010, lo: 0xa3, hi: 0xa6},
@@ -1215,17 +1214,17 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xb9, hi: 0xb9},
{value: 0x0024, lo: 0xba, hi: 0xba},
{value: 0x0034, lo: 0xbb, hi: 0xbb},
- // Block 0x4f, offset 0x231
+ // Block 0x4f, offset 0x230
{value: 0x0010, lo: 0x86, hi: 0x8f},
- // Block 0x50, offset 0x232
+ // Block 0x50, offset 0x231
{value: 0x0010, lo: 0x90, hi: 0x99},
- // Block 0x51, offset 0x233
+ // Block 0x51, offset 0x232
{value: 0x0010, lo: 0x80, hi: 0x96},
{value: 0x0024, lo: 0x97, hi: 0x97},
{value: 0x0034, lo: 0x98, hi: 0x98},
{value: 0x0010, lo: 0x99, hi: 0x9a},
{value: 0x0014, lo: 0x9b, hi: 0x9b},
- // Block 0x52, offset 0x238
+ // Block 0x52, offset 0x237
{value: 0x0010, lo: 0x95, hi: 0x95},
{value: 0x0014, lo: 0x96, hi: 0x96},
{value: 0x0010, lo: 0x97, hi: 0x97},
@@ -1239,7 +1238,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xb3, hi: 0xb4},
{value: 0x0024, lo: 0xb5, hi: 0xbc},
{value: 0x0034, lo: 0xbf, hi: 0xbf},
- // Block 0x53, offset 0x245
+ // Block 0x53, offset 0x244
{value: 0x0010, lo: 0x80, hi: 0x89},
{value: 0x0010, lo: 0x90, hi: 0x99},
{value: 0x0004, lo: 0xa7, hi: 0xa7},
@@ -1248,7 +1247,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0024, lo: 0xbb, hi: 0xbc},
{value: 0x0034, lo: 0xbd, hi: 0xbd},
{value: 0x0014, lo: 0xbe, hi: 0xbe},
- // Block 0x54, offset 0x24d
+ // Block 0x54, offset 0x24c
{value: 0x0014, lo: 0x80, hi: 0x83},
{value: 0x0010, lo: 0x84, hi: 0xb3},
{value: 0x0034, lo: 0xb4, hi: 0xb4},
@@ -1257,7 +1256,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xbb, hi: 0xbb},
{value: 0x0014, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbf},
- // Block 0x55, offset 0x255
+ // Block 0x55, offset 0x254
{value: 0x0010, lo: 0x80, hi: 0x81},
{value: 0x0014, lo: 0x82, hi: 0x82},
{value: 0x0010, lo: 0x83, hi: 0x83},
@@ -1267,7 +1266,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0024, lo: 0xab, hi: 0xab},
{value: 0x0034, lo: 0xac, hi: 0xac},
{value: 0x0024, lo: 0xad, hi: 0xb3},
- // Block 0x56, offset 0x25e
+ // Block 0x56, offset 0x25d
{value: 0x0014, lo: 0x80, hi: 0x81},
{value: 0x0010, lo: 0x82, hi: 0xa1},
{value: 0x0014, lo: 0xa2, hi: 0xa5},
@@ -1277,7 +1276,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xab, hi: 0xab},
{value: 0x0014, lo: 0xac, hi: 0xad},
{value: 0x0010, lo: 0xae, hi: 0xbf},
- // Block 0x57, offset 0x267
+ // Block 0x57, offset 0x266
{value: 0x0010, lo: 0x80, hi: 0xa5},
{value: 0x0034, lo: 0xa6, hi: 0xa6},
{value: 0x0010, lo: 0xa7, hi: 0xa7},
@@ -1287,17 +1286,17 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xae, hi: 0xae},
{value: 0x0014, lo: 0xaf, hi: 0xb1},
{value: 0x0030, lo: 0xb2, hi: 0xb3},
- // Block 0x58, offset 0x270
+ // Block 0x58, offset 0x26f
{value: 0x0010, lo: 0x80, hi: 0xab},
{value: 0x0014, lo: 0xac, hi: 0xb3},
{value: 0x0010, lo: 0xb4, hi: 0xb5},
{value: 0x0014, lo: 0xb6, hi: 0xb6},
{value: 0x0034, lo: 0xb7, hi: 0xb7},
- // Block 0x59, offset 0x275
+ // Block 0x59, offset 0x274
{value: 0x0010, lo: 0x80, hi: 0x89},
{value: 0x0010, lo: 0x8d, hi: 0xb7},
{value: 0x0014, lo: 0xb8, hi: 0xbd},
- // Block 0x5a, offset 0x278
+ // Block 0x5a, offset 0x277
{value: 0x296a, lo: 0x80, hi: 0x80},
{value: 0x2a2a, lo: 0x81, hi: 0x81},
{value: 0x2aea, lo: 0x82, hi: 0x82},
@@ -1307,7 +1306,7 @@ var sparseValues = [1360]valueRange{
{value: 0x2dea, lo: 0x86, hi: 0x86},
{value: 0x2eaa, lo: 0x87, hi: 0x87},
{value: 0x2f6a, lo: 0x88, hi: 0x88},
- // Block 0x5b, offset 0x281
+ // Block 0x5b, offset 0x280
{value: 0x0024, lo: 0x90, hi: 0x92},
{value: 0x0034, lo: 0x94, hi: 0x99},
{value: 0x0024, lo: 0x9a, hi: 0x9b},
@@ -1319,12 +1318,12 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xad, hi: 0xad},
{value: 0x0010, lo: 0xae, hi: 0xb3},
{value: 0x0024, lo: 0xb4, hi: 0xb4},
- {value: 0x0010, lo: 0xb5, hi: 0xb6},
+ {value: 0x0010, lo: 0xb5, hi: 0xb7},
{value: 0x0024, lo: 0xb8, hi: 0xb9},
- // Block 0x5c, offset 0x28e
+ // Block 0x5c, offset 0x28d
{value: 0x0012, lo: 0x80, hi: 0xab},
{value: 0x0015, lo: 0xac, hi: 0xbf},
- // Block 0x5d, offset 0x290
+ // Block 0x5d, offset 0x28f
{value: 0x0015, lo: 0x80, hi: 0xaa},
{value: 0x0012, lo: 0xab, hi: 0xb7},
{value: 0x0015, lo: 0xb8, hi: 0xb8},
@@ -1332,10 +1331,10 @@ var sparseValues = [1360]valueRange{
{value: 0x0012, lo: 0xba, hi: 0xbc},
{value: 0x8852, lo: 0xbd, hi: 0xbd},
{value: 0x0012, lo: 0xbe, hi: 0xbf},
- // Block 0x5e, offset 0x297
+ // Block 0x5e, offset 0x296
{value: 0x0012, lo: 0x80, hi: 0x9a},
{value: 0x0015, lo: 0x9b, hi: 0xbf},
- // Block 0x5f, offset 0x299
+ // Block 0x5f, offset 0x298
{value: 0x0024, lo: 0x80, hi: 0x81},
{value: 0x0034, lo: 0x82, hi: 0x82},
{value: 0x0024, lo: 0x83, hi: 0x89},
@@ -1343,6 +1342,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0024, lo: 0x8b, hi: 0x8c},
{value: 0x0034, lo: 0x8d, hi: 0x90},
{value: 0x0024, lo: 0x91, hi: 0xb5},
+ {value: 0x0034, lo: 0xb6, hi: 0xb9},
{value: 0x0024, lo: 0xbb, hi: 0xbb},
{value: 0x0034, lo: 0xbc, hi: 0xbd},
{value: 0x0024, lo: 0xbe, hi: 0xbe},
@@ -1468,7 +1468,7 @@ var sparseValues = [1360]valueRange{
// Block 0x73, offset 0x307
{value: 0x0004, lo: 0xbc, hi: 0xbe},
// Block 0x74, offset 0x308
- {value: 0x0010, lo: 0x85, hi: 0xad},
+ {value: 0x0010, lo: 0x85, hi: 0xae},
{value: 0x0010, lo: 0xb1, hi: 0xbf},
// Block 0x75, offset 0x30a
{value: 0x0010, lo: 0x80, hi: 0x8e},
@@ -1503,12 +1503,11 @@ var sparseValues = [1360]valueRange{
{value: 0x0024, lo: 0xb0, hi: 0xb1},
// Block 0x7d, offset 0x321
{value: 0x0004, lo: 0x80, hi: 0x96},
- {value: 0x0014, lo: 0x97, hi: 0x9f},
- {value: 0x0004, lo: 0xa0, hi: 0xa1},
+ {value: 0x0014, lo: 0x97, hi: 0xa1},
{value: 0x0117, lo: 0xa2, hi: 0xaf},
{value: 0x0012, lo: 0xb0, hi: 0xb1},
{value: 0x0117, lo: 0xb2, hi: 0xbf},
- // Block 0x7e, offset 0x327
+ // Block 0x7e, offset 0x326
{value: 0x0117, lo: 0x80, hi: 0xaf},
{value: 0x0015, lo: 0xb0, hi: 0xb0},
{value: 0x0012, lo: 0xb1, hi: 0xb8},
@@ -1516,12 +1515,12 @@ var sparseValues = [1360]valueRange{
{value: 0x0716, lo: 0xbb, hi: 0xbc},
{value: 0x8453, lo: 0xbd, hi: 0xbd},
{value: 0x0117, lo: 0xbe, hi: 0xbf},
- // Block 0x7f, offset 0x32e
+ // Block 0x7f, offset 0x32d
{value: 0x0010, lo: 0xb7, hi: 0xb7},
{value: 0x0015, lo: 0xb8, hi: 0xb9},
{value: 0x0012, lo: 0xba, hi: 0xba},
{value: 0x0010, lo: 0xbb, hi: 0xbf},
- // Block 0x80, offset 0x332
+ // Block 0x80, offset 0x331
{value: 0x0010, lo: 0x80, hi: 0x81},
{value: 0x0014, lo: 0x82, hi: 0x82},
{value: 0x0010, lo: 0x83, hi: 0x85},
@@ -1531,9 +1530,9 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0x8c, hi: 0xa4},
{value: 0x0014, lo: 0xa5, hi: 0xa6},
{value: 0x0010, lo: 0xa7, hi: 0xa7},
- // Block 0x81, offset 0x33b
+ // Block 0x81, offset 0x33a
{value: 0x0010, lo: 0x80, hi: 0xb3},
- // Block 0x82, offset 0x33c
+ // Block 0x82, offset 0x33b
{value: 0x0010, lo: 0x80, hi: 0x83},
{value: 0x0034, lo: 0x84, hi: 0x84},
{value: 0x0014, lo: 0x85, hi: 0x85},
@@ -1542,18 +1541,18 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xb2, hi: 0xb7},
{value: 0x0010, lo: 0xbb, hi: 0xbb},
{value: 0x0010, lo: 0xbd, hi: 0xbd},
- // Block 0x83, offset 0x344
+ // Block 0x83, offset 0x343
{value: 0x0010, lo: 0x80, hi: 0xa5},
{value: 0x0014, lo: 0xa6, hi: 0xaa},
{value: 0x0034, lo: 0xab, hi: 0xad},
{value: 0x0010, lo: 0xb0, hi: 0xbf},
- // Block 0x84, offset 0x348
+ // Block 0x84, offset 0x347
{value: 0x0010, lo: 0x80, hi: 0x86},
{value: 0x0014, lo: 0x87, hi: 0x91},
{value: 0x0010, lo: 0x92, hi: 0x92},
{value: 0x0030, lo: 0x93, hi: 0x93},
{value: 0x0010, lo: 0xa0, hi: 0xbc},
- // Block 0x85, offset 0x34d
+ // Block 0x85, offset 0x34c
{value: 0x0014, lo: 0x80, hi: 0x82},
{value: 0x0010, lo: 0x83, hi: 0xb2},
{value: 0x0034, lo: 0xb3, hi: 0xb3},
@@ -1562,21 +1561,21 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xba, hi: 0xbb},
{value: 0x0014, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbf},
- // Block 0x86, offset 0x355
+ // Block 0x86, offset 0x354
{value: 0x0030, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x8f, hi: 0x8f},
{value: 0x0010, lo: 0x90, hi: 0x99},
{value: 0x0014, lo: 0xa5, hi: 0xa5},
{value: 0x0004, lo: 0xa6, hi: 0xa6},
{value: 0x0010, lo: 0xb0, hi: 0xb9},
- // Block 0x87, offset 0x35b
+ // Block 0x87, offset 0x35a
{value: 0x0010, lo: 0x80, hi: 0xa8},
{value: 0x0014, lo: 0xa9, hi: 0xae},
{value: 0x0010, lo: 0xaf, hi: 0xb0},
{value: 0x0014, lo: 0xb1, hi: 0xb2},
{value: 0x0010, lo: 0xb3, hi: 0xb4},
{value: 0x0014, lo: 0xb5, hi: 0xb6},
- // Block 0x88, offset 0x361
+ // Block 0x88, offset 0x360
{value: 0x0010, lo: 0x80, hi: 0x82},
{value: 0x0014, lo: 0x83, hi: 0x83},
{value: 0x0010, lo: 0x84, hi: 0x8b},
@@ -1587,13 +1586,13 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xbb, hi: 0xbb},
{value: 0x0014, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbd},
- // Block 0x89, offset 0x36b
+ // Block 0x89, offset 0x36a
{value: 0x0024, lo: 0xb0, hi: 0xb0},
{value: 0x0024, lo: 0xb2, hi: 0xb3},
{value: 0x0034, lo: 0xb4, hi: 0xb4},
{value: 0x0024, lo: 0xb7, hi: 0xb8},
{value: 0x0024, lo: 0xbe, hi: 0xbf},
- // Block 0x8a, offset 0x370
+ // Block 0x8a, offset 0x36f
{value: 0x0024, lo: 0x81, hi: 0x81},
{value: 0x0004, lo: 0x9d, hi: 0x9d},
{value: 0x0010, lo: 0xa0, hi: 0xab},
@@ -1603,27 +1602,27 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xb3, hi: 0xb4},
{value: 0x0010, lo: 0xb5, hi: 0xb5},
{value: 0x0034, lo: 0xb6, hi: 0xb6},
- // Block 0x8b, offset 0x379
+ // Block 0x8b, offset 0x378
{value: 0x0010, lo: 0x81, hi: 0x86},
{value: 0x0010, lo: 0x89, hi: 0x8e},
{value: 0x0010, lo: 0x91, hi: 0x96},
{value: 0x0010, lo: 0xa0, hi: 0xa6},
{value: 0x0010, lo: 0xa8, hi: 0xae},
{value: 0x0012, lo: 0xb0, hi: 0xbf},
- // Block 0x8c, offset 0x37f
+ // Block 0x8c, offset 0x37e
{value: 0x0012, lo: 0x80, hi: 0x92},
{value: 0xac52, lo: 0x93, hi: 0x93},
{value: 0x0012, lo: 0x94, hi: 0x9a},
- {value: 0x0004, lo: 0x9b, hi: 0x9b},
+ {value: 0x0014, lo: 0x9b, hi: 0x9b},
{value: 0x0015, lo: 0x9c, hi: 0x9f},
{value: 0x0012, lo: 0xa0, hi: 0xa5},
{value: 0x74d2, lo: 0xb0, hi: 0xbf},
- // Block 0x8d, offset 0x386
+ // Block 0x8d, offset 0x385
{value: 0x78d2, lo: 0x80, hi: 0x8f},
{value: 0x7cd2, lo: 0x90, hi: 0x9f},
{value: 0x80d2, lo: 0xa0, hi: 0xaf},
{value: 0x7cd2, lo: 0xb0, hi: 0xbf},
- // Block 0x8e, offset 0x38a
+ // Block 0x8e, offset 0x389
{value: 0x0010, lo: 0x80, hi: 0xa4},
{value: 0x0014, lo: 0xa5, hi: 0xa5},
{value: 0x0010, lo: 0xa6, hi: 0xa7},
@@ -1632,105 +1631,105 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xac, hi: 0xac},
{value: 0x0034, lo: 0xad, hi: 0xad},
{value: 0x0010, lo: 0xb0, hi: 0xb9},
- // Block 0x8f, offset 0x392
+ // Block 0x8f, offset 0x391
{value: 0x0010, lo: 0x80, hi: 0xa3},
{value: 0x0010, lo: 0xb0, hi: 0xbf},
- // Block 0x90, offset 0x394
+ // Block 0x90, offset 0x393
{value: 0x0010, lo: 0x80, hi: 0x86},
{value: 0x0010, lo: 0x8b, hi: 0xbb},
- // Block 0x91, offset 0x396
+ // Block 0x91, offset 0x395
{value: 0x0010, lo: 0x80, hi: 0x81},
{value: 0x0010, lo: 0x83, hi: 0x84},
{value: 0x0010, lo: 0x86, hi: 0xbf},
- // Block 0x92, offset 0x399
+ // Block 0x92, offset 0x398
{value: 0x0010, lo: 0x80, hi: 0xb1},
{value: 0x0004, lo: 0xb2, hi: 0xbf},
- // Block 0x93, offset 0x39b
+ // Block 0x93, offset 0x39a
{value: 0x0004, lo: 0x80, hi: 0x81},
{value: 0x0010, lo: 0x93, hi: 0xbf},
- // Block 0x94, offset 0x39d
+ // Block 0x94, offset 0x39c
{value: 0x0010, lo: 0x80, hi: 0xbd},
- // Block 0x95, offset 0x39e
+ // Block 0x95, offset 0x39d
{value: 0x0010, lo: 0x90, hi: 0xbf},
- // Block 0x96, offset 0x39f
+ // Block 0x96, offset 0x39e
{value: 0x0010, lo: 0x80, hi: 0x8f},
{value: 0x0010, lo: 0x92, hi: 0xbf},
- // Block 0x97, offset 0x3a1
+ // Block 0x97, offset 0x3a0
{value: 0x0010, lo: 0x80, hi: 0x87},
{value: 0x0010, lo: 0xb0, hi: 0xbb},
- // Block 0x98, offset 0x3a3
+ // Block 0x98, offset 0x3a2
{value: 0x0014, lo: 0x80, hi: 0x8f},
{value: 0x0054, lo: 0x93, hi: 0x93},
{value: 0x0024, lo: 0xa0, hi: 0xa6},
{value: 0x0034, lo: 0xa7, hi: 0xad},
{value: 0x0024, lo: 0xae, hi: 0xaf},
{value: 0x0010, lo: 0xb3, hi: 0xb4},
- // Block 0x99, offset 0x3a9
+ // Block 0x99, offset 0x3a8
{value: 0x0010, lo: 0x8d, hi: 0x8f},
{value: 0x0054, lo: 0x92, hi: 0x92},
{value: 0x0054, lo: 0x95, hi: 0x95},
{value: 0x0010, lo: 0xb0, hi: 0xb4},
{value: 0x0010, lo: 0xb6, hi: 0xbf},
- // Block 0x9a, offset 0x3ae
+ // Block 0x9a, offset 0x3ad
{value: 0x0010, lo: 0x80, hi: 0xbc},
{value: 0x0014, lo: 0xbf, hi: 0xbf},
- // Block 0x9b, offset 0x3b0
+ // Block 0x9b, offset 0x3af
{value: 0x0054, lo: 0x87, hi: 0x87},
{value: 0x0054, lo: 0x8e, hi: 0x8e},
{value: 0x0054, lo: 0x9a, hi: 0x9a},
{value: 0x5f53, lo: 0xa1, hi: 0xba},
{value: 0x0004, lo: 0xbe, hi: 0xbe},
{value: 0x0010, lo: 0xbf, hi: 0xbf},
- // Block 0x9c, offset 0x3b6
+ // Block 0x9c, offset 0x3b5
{value: 0x0004, lo: 0x80, hi: 0x80},
{value: 0x5f52, lo: 0x81, hi: 0x9a},
{value: 0x0004, lo: 0xb0, hi: 0xb0},
- // Block 0x9d, offset 0x3b9
+ // Block 0x9d, offset 0x3b8
{value: 0x0014, lo: 0x9e, hi: 0x9f},
{value: 0x0010, lo: 0xa0, hi: 0xbe},
- // Block 0x9e, offset 0x3bb
+ // Block 0x9e, offset 0x3ba
{value: 0x0010, lo: 0x82, hi: 0x87},
{value: 0x0010, lo: 0x8a, hi: 0x8f},
{value: 0x0010, lo: 0x92, hi: 0x97},
{value: 0x0010, lo: 0x9a, hi: 0x9c},
{value: 0x0004, lo: 0xa3, hi: 0xa3},
{value: 0x0014, lo: 0xb9, hi: 0xbb},
- // Block 0x9f, offset 0x3c1
+ // Block 0x9f, offset 0x3c0
{value: 0x0010, lo: 0x80, hi: 0x8b},
{value: 0x0010, lo: 0x8d, hi: 0xa6},
{value: 0x0010, lo: 0xa8, hi: 0xba},
{value: 0x0010, lo: 0xbc, hi: 0xbd},
{value: 0x0010, lo: 0xbf, hi: 0xbf},
- // Block 0xa0, offset 0x3c6
+ // Block 0xa0, offset 0x3c5
{value: 0x0010, lo: 0x80, hi: 0x8d},
{value: 0x0010, lo: 0x90, hi: 0x9d},
- // Block 0xa1, offset 0x3c8
+ // Block 0xa1, offset 0x3c7
{value: 0x0010, lo: 0x80, hi: 0xba},
- // Block 0xa2, offset 0x3c9
+ // Block 0xa2, offset 0x3c8
{value: 0x0010, lo: 0x80, hi: 0xb4},
- // Block 0xa3, offset 0x3ca
+ // Block 0xa3, offset 0x3c9
{value: 0x0034, lo: 0xbd, hi: 0xbd},
- // Block 0xa4, offset 0x3cb
+ // Block 0xa4, offset 0x3ca
{value: 0x0010, lo: 0x80, hi: 0x9c},
{value: 0x0010, lo: 0xa0, hi: 0xbf},
- // Block 0xa5, offset 0x3cd
+ // Block 0xa5, offset 0x3cc
{value: 0x0010, lo: 0x80, hi: 0x90},
{value: 0x0034, lo: 0xa0, hi: 0xa0},
- // Block 0xa6, offset 0x3cf
+ // Block 0xa6, offset 0x3ce
{value: 0x0010, lo: 0x80, hi: 0x9f},
- {value: 0x0010, lo: 0xb0, hi: 0xbf},
- // Block 0xa7, offset 0x3d1
+ {value: 0x0010, lo: 0xad, hi: 0xbf},
+ // Block 0xa7, offset 0x3d0
{value: 0x0010, lo: 0x80, hi: 0x8a},
{value: 0x0010, lo: 0x90, hi: 0xb5},
{value: 0x0024, lo: 0xb6, hi: 0xba},
- // Block 0xa8, offset 0x3d4
+ // Block 0xa8, offset 0x3d3
{value: 0x0010, lo: 0x80, hi: 0x9d},
{value: 0x0010, lo: 0xa0, hi: 0xbf},
- // Block 0xa9, offset 0x3d6
+ // Block 0xa9, offset 0x3d5
{value: 0x0010, lo: 0x80, hi: 0x83},
{value: 0x0010, lo: 0x88, hi: 0x8f},
{value: 0x0010, lo: 0x91, hi: 0x95},
- // Block 0xaa, offset 0x3d9
+ // Block 0xaa, offset 0x3d8
{value: 0x2813, lo: 0x80, hi: 0x87},
{value: 0x3813, lo: 0x88, hi: 0x8f},
{value: 0x2813, lo: 0x90, hi: 0x97},
@@ -1739,16 +1738,16 @@ var sparseValues = [1360]valueRange{
{value: 0x2812, lo: 0xa8, hi: 0xaf},
{value: 0x3812, lo: 0xb0, hi: 0xb7},
{value: 0x2812, lo: 0xb8, hi: 0xbf},
- // Block 0xab, offset 0x3e1
+ // Block 0xab, offset 0x3e0
{value: 0xaf52, lo: 0x80, hi: 0x87},
{value: 0xb252, lo: 0x88, hi: 0x8f},
{value: 0x0010, lo: 0x90, hi: 0xbf},
- // Block 0xac, offset 0x3e4
+ // Block 0xac, offset 0x3e3
{value: 0x0010, lo: 0x80, hi: 0x9d},
{value: 0x0010, lo: 0xa0, hi: 0xa9},
{value: 0xb253, lo: 0xb0, hi: 0xb7},
{value: 0xaf53, lo: 0xb8, hi: 0xbf},
- // Block 0xad, offset 0x3e8
+ // Block 0xad, offset 0x3e7
{value: 0x2813, lo: 0x80, hi: 0x87},
{value: 0x3813, lo: 0x88, hi: 0x8f},
{value: 0x2813, lo: 0x90, hi: 0x93},
@@ -1757,38 +1756,38 @@ var sparseValues = [1360]valueRange{
{value: 0x2812, lo: 0xa8, hi: 0xaf},
{value: 0x3812, lo: 0xb0, hi: 0xb7},
{value: 0x2812, lo: 0xb8, hi: 0xbb},
- // Block 0xae, offset 0x3f0
+ // Block 0xae, offset 0x3ef
{value: 0x0010, lo: 0x80, hi: 0xa7},
{value: 0x0010, lo: 0xb0, hi: 0xbf},
- // Block 0xaf, offset 0x3f2
+ // Block 0xaf, offset 0x3f1
{value: 0x0010, lo: 0x80, hi: 0xa3},
- // Block 0xb0, offset 0x3f3
+ // Block 0xb0, offset 0x3f2
{value: 0x0010, lo: 0x80, hi: 0xb6},
- // Block 0xb1, offset 0x3f4
+ // Block 0xb1, offset 0x3f3
{value: 0x0010, lo: 0x80, hi: 0x95},
{value: 0x0010, lo: 0xa0, hi: 0xa7},
- // Block 0xb2, offset 0x3f6
+ // Block 0xb2, offset 0x3f5
{value: 0x0010, lo: 0x80, hi: 0x85},
{value: 0x0010, lo: 0x88, hi: 0x88},
{value: 0x0010, lo: 0x8a, hi: 0xb5},
{value: 0x0010, lo: 0xb7, hi: 0xb8},
{value: 0x0010, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbf, hi: 0xbf},
- // Block 0xb3, offset 0x3fc
+ // Block 0xb3, offset 0x3fb
{value: 0x0010, lo: 0x80, hi: 0x95},
{value: 0x0010, lo: 0xa0, hi: 0xb6},
- // Block 0xb4, offset 0x3fe
+ // Block 0xb4, offset 0x3fd
{value: 0x0010, lo: 0x80, hi: 0x9e},
- // Block 0xb5, offset 0x3ff
+ // Block 0xb5, offset 0x3fe
{value: 0x0010, lo: 0xa0, hi: 0xb2},
{value: 0x0010, lo: 0xb4, hi: 0xb5},
- // Block 0xb6, offset 0x401
+ // Block 0xb6, offset 0x400
{value: 0x0010, lo: 0x80, hi: 0x95},
{value: 0x0010, lo: 0xa0, hi: 0xb9},
- // Block 0xb7, offset 0x403
+ // Block 0xb7, offset 0x402
{value: 0x0010, lo: 0x80, hi: 0xb7},
{value: 0x0010, lo: 0xbe, hi: 0xbf},
- // Block 0xb8, offset 0x405
+ // Block 0xb8, offset 0x404
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x83},
{value: 0x0014, lo: 0x85, hi: 0x86},
@@ -1802,47 +1801,47 @@ var sparseValues = [1360]valueRange{
{value: 0x0024, lo: 0xb8, hi: 0xb8},
{value: 0x0034, lo: 0xb9, hi: 0xba},
{value: 0x0034, lo: 0xbf, hi: 0xbf},
- // Block 0xb9, offset 0x412
+ // Block 0xb9, offset 0x411
{value: 0x0010, lo: 0xa0, hi: 0xbc},
- // Block 0xba, offset 0x413
+ // Block 0xba, offset 0x412
{value: 0x0010, lo: 0x80, hi: 0x9c},
- // Block 0xbb, offset 0x414
+ // Block 0xbb, offset 0x413
{value: 0x0010, lo: 0x80, hi: 0x87},
{value: 0x0010, lo: 0x89, hi: 0xa4},
{value: 0x0024, lo: 0xa5, hi: 0xa5},
{value: 0x0034, lo: 0xa6, hi: 0xa6},
- // Block 0xbc, offset 0x418
+ // Block 0xbc, offset 0x417
{value: 0x0010, lo: 0x80, hi: 0x95},
{value: 0x0010, lo: 0xa0, hi: 0xb2},
- // Block 0xbd, offset 0x41a
+ // Block 0xbd, offset 0x419
{value: 0x0010, lo: 0x80, hi: 0x91},
- // Block 0xbe, offset 0x41b
+ // Block 0xbe, offset 0x41a
{value: 0x0010, lo: 0x80, hi: 0x88},
- // Block 0xbf, offset 0x41c
+ // Block 0xbf, offset 0x41b
{value: 0x5653, lo: 0x80, hi: 0xb2},
- // Block 0xc0, offset 0x41d
+ // Block 0xc0, offset 0x41c
{value: 0x5652, lo: 0x80, hi: 0xb2},
- // Block 0xc1, offset 0x41e
+ // Block 0xc1, offset 0x41d
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0014, lo: 0x81, hi: 0x81},
{value: 0x0010, lo: 0x82, hi: 0xb7},
{value: 0x0014, lo: 0xb8, hi: 0xbf},
- // Block 0xc2, offset 0x422
+ // Block 0xc2, offset 0x421
{value: 0x0014, lo: 0x80, hi: 0x85},
{value: 0x0034, lo: 0x86, hi: 0x86},
{value: 0x0010, lo: 0xa6, hi: 0xaf},
{value: 0x0034, lo: 0xbf, hi: 0xbf},
- // Block 0xc3, offset 0x426
+ // Block 0xc3, offset 0x425
{value: 0x0014, lo: 0x80, hi: 0x81},
{value: 0x0010, lo: 0x82, hi: 0xb2},
{value: 0x0014, lo: 0xb3, hi: 0xb6},
{value: 0x0010, lo: 0xb7, hi: 0xb8},
{value: 0x0034, lo: 0xb9, hi: 0xba},
{value: 0x0014, lo: 0xbd, hi: 0xbd},
- // Block 0xc4, offset 0x42c
+ // Block 0xc4, offset 0x42b
{value: 0x0010, lo: 0x90, hi: 0xa8},
{value: 0x0010, lo: 0xb0, hi: 0xb9},
- // Block 0xc5, offset 0x42e
+ // Block 0xc5, offset 0x42d
{value: 0x0024, lo: 0x80, hi: 0x82},
{value: 0x0010, lo: 0x83, hi: 0xa6},
{value: 0x0014, lo: 0xa7, hi: 0xab},
@@ -1850,23 +1849,23 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xad, hi: 0xb2},
{value: 0x0034, lo: 0xb3, hi: 0xb4},
{value: 0x0010, lo: 0xb6, hi: 0xbf},
- // Block 0xc6, offset 0x435
+ // Block 0xc6, offset 0x434
{value: 0x0010, lo: 0x90, hi: 0xb2},
{value: 0x0034, lo: 0xb3, hi: 0xb3},
{value: 0x0010, lo: 0xb6, hi: 0xb6},
- // Block 0xc7, offset 0x438
+ // Block 0xc7, offset 0x437
{value: 0x0014, lo: 0x80, hi: 0x81},
{value: 0x0010, lo: 0x82, hi: 0xb5},
{value: 0x0014, lo: 0xb6, hi: 0xbe},
{value: 0x0010, lo: 0xbf, hi: 0xbf},
- // Block 0xc8, offset 0x43c
+ // Block 0xc8, offset 0x43b
{value: 0x0030, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x81, hi: 0x84},
{value: 0x0034, lo: 0x8a, hi: 0x8a},
{value: 0x0014, lo: 0x8b, hi: 0x8c},
{value: 0x0010, lo: 0x90, hi: 0x9a},
{value: 0x0010, lo: 0x9c, hi: 0x9c},
- // Block 0xc9, offset 0x442
+ // Block 0xc9, offset 0x441
{value: 0x0010, lo: 0x80, hi: 0x91},
{value: 0x0010, lo: 0x93, hi: 0xae},
{value: 0x0014, lo: 0xaf, hi: 0xb1},
@@ -1876,21 +1875,21 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0xb6, hi: 0xb6},
{value: 0x0014, lo: 0xb7, hi: 0xb7},
{value: 0x0014, lo: 0xbe, hi: 0xbe},
- // Block 0xca, offset 0x44b
+ // Block 0xca, offset 0x44a
{value: 0x0010, lo: 0x80, hi: 0x86},
{value: 0x0010, lo: 0x88, hi: 0x88},
{value: 0x0010, lo: 0x8a, hi: 0x8d},
{value: 0x0010, lo: 0x8f, hi: 0x9d},
{value: 0x0010, lo: 0x9f, hi: 0xa8},
{value: 0x0010, lo: 0xb0, hi: 0xbf},
- // Block 0xcb, offset 0x451
+ // Block 0xcb, offset 0x450
{value: 0x0010, lo: 0x80, hi: 0x9e},
{value: 0x0014, lo: 0x9f, hi: 0x9f},
{value: 0x0010, lo: 0xa0, hi: 0xa2},
{value: 0x0014, lo: 0xa3, hi: 0xa8},
{value: 0x0034, lo: 0xa9, hi: 0xaa},
{value: 0x0010, lo: 0xb0, hi: 0xb9},
- // Block 0xcc, offset 0x457
+ // Block 0xcc, offset 0x456
{value: 0x0014, lo: 0x80, hi: 0x81},
{value: 0x0010, lo: 0x82, hi: 0x83},
{value: 0x0010, lo: 0x85, hi: 0x8c},
@@ -1901,7 +1900,7 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xb5, hi: 0xb9},
{value: 0x0034, lo: 0xbc, hi: 0xbc},
{value: 0x0010, lo: 0xbd, hi: 0xbf},
- // Block 0xcd, offset 0x461
+ // Block 0xcd, offset 0x460
{value: 0x0014, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x81, hi: 0x84},
{value: 0x0010, lo: 0x87, hi: 0x88},
@@ -1912,10 +1911,10 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0x9d, hi: 0xa3},
{value: 0x0024, lo: 0xa6, hi: 0xac},
{value: 0x0024, lo: 0xb0, hi: 0xb4},
- // Block 0xce, offset 0x46b
+ // Block 0xce, offset 0x46a
{value: 0x0010, lo: 0x80, hi: 0xb7},
{value: 0x0014, lo: 0xb8, hi: 0xbf},
- // Block 0xcf, offset 0x46d
+ // Block 0xcf, offset 0x46c
{value: 0x0010, lo: 0x80, hi: 0x81},
{value: 0x0034, lo: 0x82, hi: 0x82},
{value: 0x0014, lo: 0x83, hi: 0x84},
@@ -1923,43 +1922,43 @@ var sparseValues = [1360]valueRange{
{value: 0x0034, lo: 0x86, hi: 0x86},
{value: 0x0010, lo: 0x87, hi: 0x8a},
{value: 0x0010, lo: 0x90, hi: 0x99},
- // Block 0xd0, offset 0x474
+ // Block 0xd0, offset 0x473
{value: 0x0010, lo: 0x80, hi: 0xb2},
{value: 0x0014, lo: 0xb3, hi: 0xb8},
{value: 0x0010, lo: 0xb9, hi: 0xb9},
{value: 0x0014, lo: 0xba, hi: 0xba},
{value: 0x0010, lo: 0xbb, hi: 0xbe},
{value: 0x0014, lo: 0xbf, hi: 0xbf},
- // Block 0xd1, offset 0x47a
+ // Block 0xd1, offset 0x479
{value: 0x0014, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x81, hi: 0x81},
{value: 0x0034, lo: 0x82, hi: 0x83},
{value: 0x0010, lo: 0x84, hi: 0x85},
{value: 0x0010, lo: 0x87, hi: 0x87},
{value: 0x0010, lo: 0x90, hi: 0x99},
- // Block 0xd2, offset 0x480
+ // Block 0xd2, offset 0x47f
{value: 0x0010, lo: 0x80, hi: 0xb1},
{value: 0x0014, lo: 0xb2, hi: 0xb5},
{value: 0x0010, lo: 0xb8, hi: 0xbb},
{value: 0x0014, lo: 0xbc, hi: 0xbd},
{value: 0x0010, lo: 0xbe, hi: 0xbe},
{value: 0x0034, lo: 0xbf, hi: 0xbf},
- // Block 0xd3, offset 0x486
+ // Block 0xd3, offset 0x485
{value: 0x0034, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x98, hi: 0x9b},
{value: 0x0014, lo: 0x9c, hi: 0x9d},
- // Block 0xd4, offset 0x489
+ // Block 0xd4, offset 0x488
{value: 0x0010, lo: 0x80, hi: 0xb2},
{value: 0x0014, lo: 0xb3, hi: 0xba},
{value: 0x0010, lo: 0xbb, hi: 0xbc},
{value: 0x0014, lo: 0xbd, hi: 0xbd},
{value: 0x0010, lo: 0xbe, hi: 0xbe},
{value: 0x0034, lo: 0xbf, hi: 0xbf},
- // Block 0xd5, offset 0x48f
+ // Block 0xd5, offset 0x48e
{value: 0x0014, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x84, hi: 0x84},
{value: 0x0010, lo: 0x90, hi: 0x99},
- // Block 0xd6, offset 0x492
+ // Block 0xd6, offset 0x491
{value: 0x0010, lo: 0x80, hi: 0xaa},
{value: 0x0014, lo: 0xab, hi: 0xab},
{value: 0x0010, lo: 0xac, hi: 0xac},
@@ -1968,9 +1967,9 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xb0, hi: 0xb5},
{value: 0x0030, lo: 0xb6, hi: 0xb6},
{value: 0x0034, lo: 0xb7, hi: 0xb7},
- // Block 0xd7, offset 0x49a
+ // Block 0xd7, offset 0x499
{value: 0x0010, lo: 0x80, hi: 0x89},
- // Block 0xd8, offset 0x49b
+ // Block 0xd8, offset 0x49a
{value: 0x0014, lo: 0x9d, hi: 0x9f},
{value: 0x0010, lo: 0xa0, hi: 0xa1},
{value: 0x0014, lo: 0xa2, hi: 0xa5},
@@ -1978,26 +1977,51 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xa7, hi: 0xaa},
{value: 0x0034, lo: 0xab, hi: 0xab},
{value: 0x0010, lo: 0xb0, hi: 0xb9},
- // Block 0xd9, offset 0x4a2
+ // Block 0xd9, offset 0x4a1
{value: 0x5f53, lo: 0xa0, hi: 0xbf},
- // Block 0xda, offset 0x4a3
+ // Block 0xda, offset 0x4a2
{value: 0x5f52, lo: 0x80, hi: 0x9f},
{value: 0x0010, lo: 0xa0, hi: 0xa9},
{value: 0x0010, lo: 0xbf, hi: 0xbf},
- // Block 0xdb, offset 0x4a6
+ // Block 0xdb, offset 0x4a5
+ {value: 0x0010, lo: 0x80, hi: 0x80},
+ {value: 0x0014, lo: 0x81, hi: 0x86},
+ {value: 0x0010, lo: 0x87, hi: 0x88},
+ {value: 0x0014, lo: 0x89, hi: 0x8a},
+ {value: 0x0010, lo: 0x8b, hi: 0xb2},
+ {value: 0x0014, lo: 0xb3, hi: 0xb3},
+ {value: 0x0034, lo: 0xb4, hi: 0xb4},
+ {value: 0x0014, lo: 0xb5, hi: 0xb8},
+ {value: 0x0010, lo: 0xb9, hi: 0xba},
+ {value: 0x0014, lo: 0xbb, hi: 0xbe},
+ // Block 0xdc, offset 0x4af
+ {value: 0x0034, lo: 0x87, hi: 0x87},
+ {value: 0x0010, lo: 0x90, hi: 0x90},
+ {value: 0x0014, lo: 0x91, hi: 0x96},
+ {value: 0x0010, lo: 0x97, hi: 0x98},
+ {value: 0x0014, lo: 0x99, hi: 0x9b},
+ {value: 0x0010, lo: 0x9c, hi: 0xbf},
+ // Block 0xdd, offset 0x4b5
+ {value: 0x0010, lo: 0x80, hi: 0x83},
+ {value: 0x0010, lo: 0x86, hi: 0x89},
+ {value: 0x0014, lo: 0x8a, hi: 0x96},
+ {value: 0x0010, lo: 0x97, hi: 0x97},
+ {value: 0x0014, lo: 0x98, hi: 0x98},
+ {value: 0x0034, lo: 0x99, hi: 0x99},
+ // Block 0xde, offset 0x4bb
{value: 0x0010, lo: 0x80, hi: 0xb8},
- // Block 0xdc, offset 0x4a7
+ // Block 0xdf, offset 0x4bc
{value: 0x0010, lo: 0x80, hi: 0x88},
{value: 0x0010, lo: 0x8a, hi: 0xaf},
{value: 0x0014, lo: 0xb0, hi: 0xb6},
{value: 0x0014, lo: 0xb8, hi: 0xbd},
{value: 0x0010, lo: 0xbe, hi: 0xbe},
{value: 0x0034, lo: 0xbf, hi: 0xbf},
- // Block 0xdd, offset 0x4ad
+ // Block 0xe0, offset 0x4c2
{value: 0x0010, lo: 0x80, hi: 0x80},
{value: 0x0010, lo: 0x90, hi: 0x99},
{value: 0x0010, lo: 0xb2, hi: 0xbf},
- // Block 0xde, offset 0x4b0
+ // Block 0xe1, offset 0x4c5
{value: 0x0010, lo: 0x80, hi: 0x8f},
{value: 0x0014, lo: 0x92, hi: 0xa7},
{value: 0x0010, lo: 0xa9, hi: 0xa9},
@@ -2006,69 +2030,85 @@ var sparseValues = [1360]valueRange{
{value: 0x0014, lo: 0xb2, hi: 0xb3},
{value: 0x0010, lo: 0xb4, hi: 0xb4},
{value: 0x0014, lo: 0xb5, hi: 0xb6},
- // Block 0xdf, offset 0x4b8
+ // Block 0xe2, offset 0x4cd
+ {value: 0x0010, lo: 0x80, hi: 0x86},
+ {value: 0x0010, lo: 0x88, hi: 0x89},
+ {value: 0x0010, lo: 0x8b, hi: 0xb0},
+ {value: 0x0014, lo: 0xb1, hi: 0xb6},
+ {value: 0x0014, lo: 0xba, hi: 0xba},
+ {value: 0x0014, lo: 0xbc, hi: 0xbd},
+ {value: 0x0014, lo: 0xbf, hi: 0xbf},
+ // Block 0xe3, offset 0x4d4
+ {value: 0x0014, lo: 0x80, hi: 0x81},
+ {value: 0x0034, lo: 0x82, hi: 0x82},
+ {value: 0x0014, lo: 0x83, hi: 0x83},
+ {value: 0x0034, lo: 0x84, hi: 0x85},
+ {value: 0x0010, lo: 0x86, hi: 0x86},
+ {value: 0x0014, lo: 0x87, hi: 0x87},
+ {value: 0x0010, lo: 0x90, hi: 0x99},
+ // Block 0xe4, offset 0x4db
{value: 0x0010, lo: 0x80, hi: 0x99},
- // Block 0xe0, offset 0x4b9
+ // Block 0xe5, offset 0x4dc
{value: 0x0010, lo: 0x80, hi: 0xae},
- // Block 0xe1, offset 0x4ba
+ // Block 0xe6, offset 0x4dd
{value: 0x0010, lo: 0x80, hi: 0x83},
- // Block 0xe2, offset 0x4bb
+ // Block 0xe7, offset 0x4de
{value: 0x0010, lo: 0x80, hi: 0x86},
- // Block 0xe3, offset 0x4bc
+ // Block 0xe8, offset 0x4df
{value: 0x0010, lo: 0x80, hi: 0x9e},
{value: 0x0010, lo: 0xa0, hi: 0xa9},
- // Block 0xe4, offset 0x4be
+ // Block 0xe9, offset 0x4e1
{value: 0x0010, lo: 0x90, hi: 0xad},
{value: 0x0034, lo: 0xb0, hi: 0xb4},
- // Block 0xe5, offset 0x4c0
+ // Block 0xea, offset 0x4e3
{value: 0x0010, lo: 0x80, hi: 0xaf},
{value: 0x0024, lo: 0xb0, hi: 0xb6},
- // Block 0xe6, offset 0x4c2
+ // Block 0xeb, offset 0x4e5
{value: 0x0014, lo: 0x80, hi: 0x83},
{value: 0x0010, lo: 0x90, hi: 0x99},
{value: 0x0010, lo: 0xa3, hi: 0xb7},
{value: 0x0010, lo: 0xbd, hi: 0xbf},
- // Block 0xe7, offset 0x4c6
+ // Block 0xec, offset 0x4e9
{value: 0x0010, lo: 0x80, hi: 0x8f},
- // Block 0xe8, offset 0x4c7
+ // Block 0xed, offset 0x4ea
{value: 0x0010, lo: 0x80, hi: 0x84},
{value: 0x0010, lo: 0x90, hi: 0xbe},
- // Block 0xe9, offset 0x4c9
+ // Block 0xee, offset 0x4ec
{value: 0x0014, lo: 0x8f, hi: 0x9f},
- // Block 0xea, offset 0x4ca
- {value: 0x0014, lo: 0xa0, hi: 0xa0},
- // Block 0xeb, offset 0x4cb
+ // Block 0xef, offset 0x4ed
+ {value: 0x0014, lo: 0xa0, hi: 0xa1},
+ // Block 0xf0, offset 0x4ee
{value: 0x0010, lo: 0x80, hi: 0xaa},
{value: 0x0010, lo: 0xb0, hi: 0xbc},
- // Block 0xec, offset 0x4cd
+ // Block 0xf1, offset 0x4f0
{value: 0x0010, lo: 0x80, hi: 0x88},
{value: 0x0010, lo: 0x90, hi: 0x99},
{value: 0x0014, lo: 0x9d, hi: 0x9d},
{value: 0x0034, lo: 0x9e, hi: 0x9e},
{value: 0x0014, lo: 0xa0, hi: 0xa3},
- // Block 0xed, offset 0x4d2
+ // Block 0xf2, offset 0x4f5
{value: 0x0030, lo: 0xa5, hi: 0xa6},
{value: 0x0034, lo: 0xa7, hi: 0xa9},
{value: 0x0030, lo: 0xad, hi: 0xb2},
{value: 0x0014, lo: 0xb3, hi: 0xba},
{value: 0x0034, lo: 0xbb, hi: 0xbf},
- // Block 0xee, offset 0x4d7
+ // Block 0xf3, offset 0x4fa
{value: 0x0034, lo: 0x80, hi: 0x82},
{value: 0x0024, lo: 0x85, hi: 0x89},
{value: 0x0034, lo: 0x8a, hi: 0x8b},
{value: 0x0024, lo: 0xaa, hi: 0xad},
- // Block 0xef, offset 0x4db
+ // Block 0xf4, offset 0x4fe
{value: 0x0024, lo: 0x82, hi: 0x84},
- // Block 0xf0, offset 0x4dc
+ // Block 0xf5, offset 0x4ff
{value: 0x0013, lo: 0x80, hi: 0x99},
{value: 0x0012, lo: 0x9a, hi: 0xb3},
{value: 0x0013, lo: 0xb4, hi: 0xbf},
- // Block 0xf1, offset 0x4df
+ // Block 0xf6, offset 0x502
{value: 0x0013, lo: 0x80, hi: 0x8d},
{value: 0x0012, lo: 0x8e, hi: 0x94},
{value: 0x0012, lo: 0x96, hi: 0xa7},
{value: 0x0013, lo: 0xa8, hi: 0xbf},
- // Block 0xf2, offset 0x4e3
+ // Block 0xf7, offset 0x506
{value: 0x0013, lo: 0x80, hi: 0x81},
{value: 0x0012, lo: 0x82, hi: 0x9b},
{value: 0x0013, lo: 0x9c, hi: 0x9c},
@@ -2080,12 +2120,12 @@ var sparseValues = [1360]valueRange{
{value: 0x0012, lo: 0xb6, hi: 0xb9},
{value: 0x0012, lo: 0xbb, hi: 0xbb},
{value: 0x0012, lo: 0xbd, hi: 0xbf},
- // Block 0xf3, offset 0x4ee
+ // Block 0xf8, offset 0x511
{value: 0x0012, lo: 0x80, hi: 0x83},
{value: 0x0012, lo: 0x85, hi: 0x8f},
{value: 0x0013, lo: 0x90, hi: 0xa9},
{value: 0x0012, lo: 0xaa, hi: 0xbf},
- // Block 0xf4, offset 0x4f2
+ // Block 0xf9, offset 0x515
{value: 0x0012, lo: 0x80, hi: 0x83},
{value: 0x0013, lo: 0x84, hi: 0x85},
{value: 0x0013, lo: 0x87, hi: 0x8a},
@@ -2094,86 +2134,86 @@ var sparseValues = [1360]valueRange{
{value: 0x0012, lo: 0x9e, hi: 0xb7},
{value: 0x0013, lo: 0xb8, hi: 0xb9},
{value: 0x0013, lo: 0xbb, hi: 0xbe},
- // Block 0xf5, offset 0x4fa
+ // Block 0xfa, offset 0x51d
{value: 0x0013, lo: 0x80, hi: 0x84},
{value: 0x0013, lo: 0x86, hi: 0x86},
{value: 0x0013, lo: 0x8a, hi: 0x90},
{value: 0x0012, lo: 0x92, hi: 0xab},
{value: 0x0013, lo: 0xac, hi: 0xbf},
- // Block 0xf6, offset 0x4ff
+ // Block 0xfb, offset 0x522
{value: 0x0013, lo: 0x80, hi: 0x85},
{value: 0x0012, lo: 0x86, hi: 0x9f},
{value: 0x0013, lo: 0xa0, hi: 0xb9},
{value: 0x0012, lo: 0xba, hi: 0xbf},
- // Block 0xf7, offset 0x503
+ // Block 0xfc, offset 0x526
{value: 0x0012, lo: 0x80, hi: 0x93},
{value: 0x0013, lo: 0x94, hi: 0xad},
{value: 0x0012, lo: 0xae, hi: 0xbf},
- // Block 0xf8, offset 0x506
+ // Block 0xfd, offset 0x529
{value: 0x0012, lo: 0x80, hi: 0x87},
{value: 0x0013, lo: 0x88, hi: 0xa1},
{value: 0x0012, lo: 0xa2, hi: 0xbb},
{value: 0x0013, lo: 0xbc, hi: 0xbf},
- // Block 0xf9, offset 0x50a
+ // Block 0xfe, offset 0x52d
{value: 0x0013, lo: 0x80, hi: 0x95},
{value: 0x0012, lo: 0x96, hi: 0xaf},
{value: 0x0013, lo: 0xb0, hi: 0xbf},
- // Block 0xfa, offset 0x50d
+ // Block 0xff, offset 0x530
{value: 0x0013, lo: 0x80, hi: 0x89},
{value: 0x0012, lo: 0x8a, hi: 0xa5},
{value: 0x0013, lo: 0xa8, hi: 0xbf},
- // Block 0xfb, offset 0x510
+ // Block 0x100, offset 0x533
{value: 0x0013, lo: 0x80, hi: 0x80},
{value: 0x0012, lo: 0x82, hi: 0x9a},
{value: 0x0012, lo: 0x9c, hi: 0xa1},
{value: 0x0013, lo: 0xa2, hi: 0xba},
{value: 0x0012, lo: 0xbc, hi: 0xbf},
- // Block 0xfc, offset 0x515
+ // Block 0x101, offset 0x538
{value: 0x0012, lo: 0x80, hi: 0x94},
{value: 0x0012, lo: 0x96, hi: 0x9b},
{value: 0x0013, lo: 0x9c, hi: 0xb4},
{value: 0x0012, lo: 0xb6, hi: 0xbf},
- // Block 0xfd, offset 0x519
+ // Block 0x102, offset 0x53c
{value: 0x0012, lo: 0x80, hi: 0x8e},
{value: 0x0012, lo: 0x90, hi: 0x95},
{value: 0x0013, lo: 0x96, hi: 0xae},
{value: 0x0012, lo: 0xb0, hi: 0xbf},
- // Block 0xfe, offset 0x51d
+ // Block 0x103, offset 0x540
{value: 0x0012, lo: 0x80, hi: 0x88},
{value: 0x0012, lo: 0x8a, hi: 0x8f},
{value: 0x0013, lo: 0x90, hi: 0xa8},
{value: 0x0012, lo: 0xaa, hi: 0xbf},
- // Block 0xff, offset 0x521
+ // Block 0x104, offset 0x544
{value: 0x0012, lo: 0x80, hi: 0x82},
{value: 0x0012, lo: 0x84, hi: 0x89},
{value: 0x0017, lo: 0x8a, hi: 0x8b},
{value: 0x0010, lo: 0x8e, hi: 0xbf},
- // Block 0x100, offset 0x525
+ // Block 0x105, offset 0x548
{value: 0x0014, lo: 0x80, hi: 0xb6},
{value: 0x0014, lo: 0xbb, hi: 0xbf},
- // Block 0x101, offset 0x527
+ // Block 0x106, offset 0x54a
{value: 0x0014, lo: 0x80, hi: 0xac},
{value: 0x0014, lo: 0xb5, hi: 0xb5},
- // Block 0x102, offset 0x529
+ // Block 0x107, offset 0x54c
{value: 0x0014, lo: 0x84, hi: 0x84},
{value: 0x0014, lo: 0x9b, hi: 0x9f},
{value: 0x0014, lo: 0xa1, hi: 0xaf},
- // Block 0x103, offset 0x52c
+ // Block 0x108, offset 0x54f
{value: 0x0024, lo: 0x80, hi: 0x86},
{value: 0x0024, lo: 0x88, hi: 0x98},
{value: 0x0024, lo: 0x9b, hi: 0xa1},
{value: 0x0024, lo: 0xa3, hi: 0xa4},
{value: 0x0024, lo: 0xa6, hi: 0xaa},
- // Block 0x104, offset 0x531
+ // Block 0x109, offset 0x554
{value: 0x0010, lo: 0x80, hi: 0x84},
{value: 0x0034, lo: 0x90, hi: 0x96},
- // Block 0x105, offset 0x533
+ // Block 0x10a, offset 0x556
{value: 0xb552, lo: 0x80, hi: 0x81},
{value: 0xb852, lo: 0x82, hi: 0x83},
{value: 0x0024, lo: 0x84, hi: 0x89},
{value: 0x0034, lo: 0x8a, hi: 0x8a},
{value: 0x0010, lo: 0x90, hi: 0x99},
- // Block 0x106, offset 0x538
+ // Block 0x10b, offset 0x55b
{value: 0x0010, lo: 0x80, hi: 0x83},
{value: 0x0010, lo: 0x85, hi: 0x9f},
{value: 0x0010, lo: 0xa1, hi: 0xa2},
@@ -2183,29 +2223,29 @@ var sparseValues = [1360]valueRange{
{value: 0x0010, lo: 0xb4, hi: 0xb7},
{value: 0x0010, lo: 0xb9, hi: 0xb9},
{value: 0x0010, lo: 0xbb, hi: 0xbb},
- // Block 0x107, offset 0x541
+ // Block 0x10c, offset 0x564
{value: 0x0010, lo: 0x80, hi: 0x89},
{value: 0x0010, lo: 0x8b, hi: 0x9b},
{value: 0x0010, lo: 0xa1, hi: 0xa3},
{value: 0x0010, lo: 0xa5, hi: 0xa9},
{value: 0x0010, lo: 0xab, hi: 0xbb},
- // Block 0x108, offset 0x546
+ // Block 0x10d, offset 0x569
{value: 0x0013, lo: 0xb0, hi: 0xbf},
- // Block 0x109, offset 0x547
+ // Block 0x10e, offset 0x56a
{value: 0x0013, lo: 0x80, hi: 0x89},
{value: 0x0013, lo: 0x90, hi: 0xa9},
{value: 0x0013, lo: 0xb0, hi: 0xbf},
- // Block 0x10a, offset 0x54a
+ // Block 0x10f, offset 0x56d
{value: 0x0013, lo: 0x80, hi: 0x89},
- // Block 0x10b, offset 0x54b
+ // Block 0x110, offset 0x56e
{value: 0x0004, lo: 0xbb, hi: 0xbf},
- // Block 0x10c, offset 0x54c
+ // Block 0x111, offset 0x56f
{value: 0x0014, lo: 0x81, hi: 0x81},
{value: 0x0014, lo: 0xa0, hi: 0xbf},
- // Block 0x10d, offset 0x54e
+ // Block 0x112, offset 0x571
{value: 0x0014, lo: 0x80, hi: 0xbf},
- // Block 0x10e, offset 0x54f
+ // Block 0x113, offset 0x572
{value: 0x0014, lo: 0x80, hi: 0xaf},
}
-// Total table size 13811 bytes (13KiB); checksum: 4CC48DA3
+// Total table size 13961 bytes (13KiB); checksum: 4CC48DA3
diff --git a/vendor/golang.org/x/text/cases/tables_test.go b/vendor/golang.org/x/text/cases/tables_test.go
index 85ae23767..6ec6801d4 100644
--- a/vendor/golang.org/x/text/cases/tables_test.go
+++ b/vendor/golang.org/x/text/cases/tables_test.go
@@ -359,12 +359,8 @@ var (
{0xbb, 0xbf},
{0xd7, 0xd7},
{0xf7, 0xf7},
- {0x2c2, 0x2c5},
- {0x2d2, 0x2d6},
- {0x2d8, 0x2df},
+ {0x2d8, 0x2dd},
{0x2e5, 0x2eb},
- {0x2ed, 0x2ed},
- {0x2ef, 0x2ff},
{0x375, 0x375},
{0x378, 0x379},
{0x37e, 0x37e},
@@ -400,7 +396,8 @@ var (
{0x7f6, 0x7f9},
{0x7fb, 0x7ff},
{0x82e, 0x83f},
- {0x85c, 0x89f},
+ {0x85c, 0x85f},
+ {0x86b, 0x89f},
{0x8b5, 0x8b5},
{0x8be, 0x8d3},
{0x964, 0x965},
@@ -418,7 +415,8 @@ var (
{0x9d8, 0x9db},
{0x9de, 0x9de},
{0x9e4, 0x9e5},
- {0x9f2, 0xa00},
+ {0x9f2, 0x9fb},
+ {0x9fd, 0xa00},
{0xa04, 0xa04},
{0xa0b, 0xa0e},
{0xa11, 0xa12},
@@ -448,7 +446,7 @@ var (
{0xad1, 0xadf},
{0xae4, 0xae5},
{0xaf0, 0xaf8},
- {0xafa, 0xb00},
+ {0xb00, 0xb00},
{0xb04, 0xb04},
{0xb0d, 0xb0e},
{0xb11, 0xb12},
@@ -505,11 +503,10 @@ var (
{0xcdf, 0xcdf},
{0xce4, 0xce5},
{0xcf0, 0xcf0},
- {0xcf3, 0xd00},
+ {0xcf3, 0xcff},
{0xd04, 0xd04},
{0xd0d, 0xd0d},
{0xd11, 0xd11},
- {0xd3b, 0xd3c},
{0xd45, 0xd45},
{0xd49, 0xd49},
{0xd4f, 0xd53},
@@ -623,9 +620,8 @@ var (
{0x1c7e, 0x1c7f},
{0x1c89, 0x1ccf},
{0x1cd3, 0x1cd3},
- {0x1cf7, 0x1cf7},
{0x1cfa, 0x1cff},
- {0x1df6, 0x1dfa},
+ {0x1dfa, 0x1dfa},
{0x1f16, 0x1f17},
{0x1f1e, 0x1f1f},
{0x1f46, 0x1f47},
@@ -697,7 +693,7 @@ var (
{0x3030, 0x303a},
{0x303d, 0x3098},
{0x309b, 0x3104},
- {0x312e, 0x3130},
+ {0x312f, 0x3130},
{0x318f, 0x319f},
{0x31bb, 0x9fff},
{0xa48d, 0xa4cf},
@@ -707,8 +703,6 @@ var (
{0xa673, 0xa673},
{0xa67e, 0xa67e},
{0xa6f2, 0xa716},
- {0xa720, 0xa721},
- {0xa789, 0xa78a},
{0xa7af, 0xa7af},
{0xa7b8, 0xa7f6},
{0xa828, 0xa83f},
@@ -741,7 +735,6 @@ var (
{0xab17, 0xab1f},
{0xab27, 0xab27},
{0xab2f, 0xab2f},
- {0xab5b, 0xab5b},
{0xab66, 0xab6f},
{0xabeb, 0xabeb},
{0xabee, 0xabef},
@@ -796,7 +789,7 @@ var (
{0x1029d, 0x1029f},
{0x102d1, 0x102df},
{0x102e1, 0x102ff},
- {0x10320, 0x1032f},
+ {0x10320, 0x1032c},
{0x1034b, 0x1034f},
{0x1037b, 0x1037f},
{0x1039e, 0x1039f},
@@ -899,7 +892,11 @@ var (
{0x1172c, 0x1172f},
{0x1173a, 0x1189f},
{0x118ea, 0x118fe},
- {0x11900, 0x11abf},
+ {0x11900, 0x119ff},
+ {0x11a3f, 0x11a46},
+ {0x11a48, 0x11a4f},
+ {0x11a84, 0x11a85},
+ {0x11a9a, 0x11abf},
{0x11af9, 0x11bff},
{0x11c09, 0x11c09},
{0x11c37, 0x11c37},
@@ -907,7 +904,14 @@ var (
{0x11c5a, 0x11c71},
{0x11c90, 0x11c91},
{0x11ca8, 0x11ca8},
- {0x11cb7, 0x11fff},
+ {0x11cb7, 0x11cff},
+ {0x11d07, 0x11d07},
+ {0x11d0a, 0x11d0a},
+ {0x11d37, 0x11d39},
+ {0x11d3b, 0x11d3b},
+ {0x11d3e, 0x11d3e},
+ {0x11d48, 0x11d4f},
+ {0x11d5a, 0x11fff},
{0x1239a, 0x123ff},
{0x1246f, 0x1247f},
{0x12544, 0x12fff},
@@ -926,7 +930,7 @@ var (
{0x16f45, 0x16f4f},
{0x16f7f, 0x16f8e},
{0x16fa0, 0x16fdf},
- {0x16fe1, 0x1bbff},
+ {0x16fe2, 0x1bbff},
{0x1bc6b, 0x1bc6f},
{0x1bc7d, 0x1bc7f},
{0x1bc89, 0x1bc8f},
diff --git a/vendor/golang.org/x/text/collate/build/contract.go b/vendor/golang.org/x/text/collate/build/contract.go
index d96af7896..a6a7e01f8 100644
--- a/vendor/golang.org/x/text/collate/build/contract.go
+++ b/vendor/golang.org/x/text/collate/build/contract.go
@@ -26,7 +26,7 @@ import (
// in a given contraction.
// non-initial: a rune that appears in a suffix.
//
-// A rune may be both a initial and a non-initial and may be so in
+// A rune may be both an initial and a non-initial and may be so in
// many contractions. An initial may typically also appear by itself.
// In case of ambiguities, the UCA requires we match the longest
// contraction.
diff --git a/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go b/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go
index 70f2ac4bc..bdc7d15dd 100644
--- a/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go
+++ b/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go
@@ -50,7 +50,7 @@ func LanguageDefault(tag language.Tag) string {
for _, t := range strings.Split(locales, " ") {
tags = append(tags, language.MustParse(t))
}
- matcher = language.NewMatcher(tags)
+ matcher = language.NewMatcher(tags, language.PreferSameScript(true))
})
_, i, _ := matcher.Match(tag)
return canonical[localeMap[i]] // Default is Windows-1252.
diff --git a/vendor/golang.org/x/text/feature/plural/example_test.go b/vendor/golang.org/x/text/feature/plural/example_test.go
new file mode 100644
index 000000000..c75408c0e
--- /dev/null
+++ b/vendor/golang.org/x/text/feature/plural/example_test.go
@@ -0,0 +1,46 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package plural_test
+
+import (
+ "golang.org/x/text/feature/plural"
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+)
+
+func ExampleSelect() {
+ // Manually set some translations. This is typically done programmatically.
+ message.Set(language.English, "%d files remaining",
+ plural.Selectf(1, "%d",
+ "=0", "done!",
+ plural.One, "one file remaining",
+ plural.Other, "%[1]d files remaining",
+ ))
+ message.Set(language.Dutch, "%d files remaining",
+ plural.Selectf(1, "%d",
+ "=0", "klaar!",
+ // One can also use a string instead of a Kind
+ "one", "nog één bestand te gaan",
+ "other", "nog %[1]d bestanden te gaan",
+ ))
+
+ p := message.NewPrinter(language.English)
+ p.Printf("%d files remaining", 5)
+ p.Println()
+ p.Printf("%d files remaining", 1)
+ p.Println()
+
+ p = message.NewPrinter(language.Dutch)
+ p.Printf("%d files remaining", 1)
+ p.Println()
+ p.Printf("%d files remaining", 0)
+ p.Println()
+
+ // Output:
+ // 5 files remaining
+ // one file remaining
+ // nog één bestand te gaan
+ // klaar!
+}
diff --git a/vendor/golang.org/x/text/feature/plural/message.go b/vendor/golang.org/x/text/feature/plural/message.go
new file mode 100755
index 000000000..f931f8a6a
--- /dev/null
+++ b/vendor/golang.org/x/text/feature/plural/message.go
@@ -0,0 +1,244 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package plural
+
+import (
+ "fmt"
+ "io/ioutil"
+ "reflect"
+ "strconv"
+
+ "golang.org/x/text/internal/catmsg"
+ "golang.org/x/text/internal/number"
+ "golang.org/x/text/language"
+ "golang.org/x/text/message/catalog"
+)
+
+// TODO: consider deleting this interface. Maybe VisibleDigits is always
+// sufficient and practical.
+
+// Interface is used for types that can determine their own plural form.
+type Interface interface {
+ // PluralForm reports the plural form for the given language of the
+ // underlying value. It also returns the integer value. If the integer value
+ // is larger than fits in n, PluralForm may return a value modulo
+ // 10,000,000.
+ PluralForm(t language.Tag, scale int) (f Form, n int)
+}
+
+// Selectf returns the first case for which its selector is a match for the
+// arg-th substitution argument to a formatting call, formatting it as indicated
+// by format.
+//
+// The cases argument are pairs of selectors and messages. Selectors are of type
+// string or Form. Messages are of type string or catalog.Message. A selector
+// matches an argument if:
+// - it is "other" or Other
+// - it matches the plural form of the argument: "zero", "one", "two", "few",
+// or "many", or the equivalent Form
+// - it is of the form "=x" where x is an integer that matches the value of
+// the argument.
+// - it is of the form "<x" where x is an integer that is larger than the
+// argument.
+//
+// The format argument determines the formatting parameters for which to
+// determine the plural form. This is especially relevant for non-integer
+// values.
+//
+// The format string may be "", in which case a best-effort attempt is made to
+// find a reasonable representation on which to base the plural form. Examples
+// of format strings are:
+// - %.2f decimal with scale 2
+// - %.2e scientific notation with precision 3 (scale + 1)
+// - %d integer
+func Selectf(arg int, format string, cases ...interface{}) catalog.Message {
+ var p parser
+ // Intercept the formatting parameters of format by doing a dummy print.
+ fmt.Fprintf(ioutil.Discard, format, &p)
+ m := &message{arg, kindDefault, 0, cases}
+ switch p.verb {
+ case 'g':
+ m.kind = kindPrecision
+ m.scale = p.scale
+ case 'f':
+ m.kind = kindScale
+ m.scale = p.scale
+ case 'e':
+ m.kind = kindScientific
+ m.scale = p.scale
+ case 'd':
+ m.kind = kindScale
+ m.scale = 0
+ default:
+ // TODO: do we need to handle errors?
+ }
+ return m
+}
+
+type parser struct {
+ verb rune
+ scale int
+}
+
+func (p *parser) Format(s fmt.State, verb rune) {
+ p.verb = verb
+ p.scale = -1
+ if prec, ok := s.Precision(); ok {
+ p.scale = prec
+ }
+}
+
+type message struct {
+ arg int
+ kind int
+ scale int
+ cases []interface{}
+}
+
+const (
+ // Start with non-ASCII to allow skipping values.
+ kindDefault = 0x80 + iota
+ kindScale // verb f, number of fraction digits follows
+ kindScientific // verb e, number of fraction digits follows
+ kindPrecision // verb g, number of significant digits follows
+)
+
+var handle = catmsg.Register("golang.org/x/text/feature/plural:plural", execute)
+
+func (m *message) Compile(e *catmsg.Encoder) error {
+ e.EncodeMessageType(handle)
+
+ e.EncodeUint(uint64(m.arg))
+
+ e.EncodeUint(uint64(m.kind))
+ if m.kind > kindDefault {
+ e.EncodeUint(uint64(m.scale))
+ }
+
+ forms := validForms(cardinal, e.Language())
+
+ for i := 0; i < len(m.cases); {
+ if err := compileSelector(e, forms, m.cases[i]); err != nil {
+ return err
+ }
+ if i++; i >= len(m.cases) {
+ return fmt.Errorf("plural: no message defined for selector %v", m.cases[i-1])
+ }
+ var msg catalog.Message
+ switch x := m.cases[i].(type) {
+ case string:
+ msg = catalog.String(x)
+ case catalog.Message:
+ msg = x
+ default:
+ return fmt.Errorf("plural: message of type %T; must be string or catalog.Message", x)
+ }
+ if err := e.EncodeMessage(msg); err != nil {
+ return err
+ }
+ i++
+ }
+ return nil
+}
+
+func compileSelector(e *catmsg.Encoder, valid []Form, selector interface{}) error {
+ form := Other
+ switch x := selector.(type) {
+ case string:
+ if x == "" {
+ return fmt.Errorf("plural: empty selector")
+ }
+ if c := x[0]; c == '=' || c == '<' {
+ val, err := strconv.ParseUint(x[1:], 10, 16)
+ if err != nil {
+ return fmt.Errorf("plural: invalid number in selector %q: %v", selector, err)
+ }
+ e.EncodeUint(uint64(c))
+ e.EncodeUint(val)
+ return nil
+ }
+ var ok bool
+ form, ok = countMap[x]
+ if !ok {
+ return fmt.Errorf("plural: invalid plural form %q", selector)
+ }
+ case Form:
+ form = x
+ default:
+ return fmt.Errorf("plural: selector of type %T; want string or Form", selector)
+ }
+
+ ok := false
+ for _, f := range valid {
+ if f == form {
+ ok = true
+ break
+ }
+ }
+ if !ok {
+ return fmt.Errorf("plural: form %q not supported for language %q", selector, e.Language())
+ }
+ e.EncodeUint(uint64(form))
+ return nil
+}
+
+func execute(d *catmsg.Decoder) bool {
+ lang := d.Language()
+ argN := int(d.DecodeUint())
+ kind := int(d.DecodeUint())
+ scale := -1 // default
+ if kind > kindDefault {
+ scale = int(d.DecodeUint())
+ }
+ form := Other
+ n := -1
+ if arg := d.Arg(argN); arg == nil {
+ // Default to Other.
+ } else if x, ok := arg.(number.VisibleDigits); ok {
+ d := x.Digits(nil, lang, scale)
+ form, n = cardinal.matchDisplayDigits(lang, &d)
+ } else if x, ok := arg.(Interface); ok {
+ // This covers lists and formatters from the number package.
+ form, n = x.PluralForm(lang, scale)
+ } else {
+ var f number.Formatter
+ switch kind {
+ case kindScale:
+ f.InitDecimal(lang)
+ f.SetScale(scale)
+ case kindScientific:
+ f.InitScientific(lang)
+ f.SetScale(scale)
+ case kindPrecision:
+ f.InitDecimal(lang)
+ f.SetPrecision(scale)
+ case kindDefault:
+ // sensible default
+ f.InitDecimal(lang)
+ if k := reflect.TypeOf(arg).Kind(); reflect.Int <= k && k <= reflect.Uintptr {
+ f.SetScale(0)
+ } else {
+ f.SetScale(2)
+ }
+ }
+ var dec number.Decimal // TODO: buffer in Printer
+ dec.Convert(f.RoundingContext, arg)
+ v := number.FormatDigits(&dec, f.RoundingContext)
+ if !v.NaN && !v.Inf {
+ form, n = cardinal.matchDisplayDigits(d.Language(), &v)
+ }
+ }
+ for !d.Done() {
+ f := d.DecodeUint()
+ if (f == '=' && n == int(d.DecodeUint())) ||
+ (f == '<' && 0 <= n && n < int(d.DecodeUint())) ||
+ form == Form(f) ||
+ Other == Form(f) {
+ return d.ExecuteMessage()
+ }
+ d.SkipMessage()
+ }
+ return false
+}
diff --git a/vendor/golang.org/x/text/feature/plural/message_test.go b/vendor/golang.org/x/text/feature/plural/message_test.go
new file mode 100644
index 000000000..b5bc47e87
--- /dev/null
+++ b/vendor/golang.org/x/text/feature/plural/message_test.go
@@ -0,0 +1,197 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package plural
+
+import (
+ "fmt"
+ "strings"
+ "testing"
+
+ "golang.org/x/text/internal/catmsg"
+ "golang.org/x/text/language"
+ "golang.org/x/text/message/catalog"
+)
+
+func TestSelect(t *testing.T) {
+ lang := language.English
+ type test struct {
+ arg interface{}
+ result string
+ err string
+ }
+ testCases := []struct {
+ desc string
+ msg catalog.Message
+ err string
+ tests []test
+ }{{
+ desc: "basic",
+ msg: Selectf(1, "%d", "one", "foo", "other", "bar"),
+ tests: []test{
+ {arg: 0, result: "bar"},
+ {arg: 1, result: "foo"},
+ {arg: 2, result: "bar"},
+ {arg: opposite(1), result: "bar"},
+ {arg: opposite(2), result: "foo"},
+ {arg: "unknown", result: "bar"}, // other
+ },
+ }, {
+ desc: "comparisons",
+ msg: Selectf(1, "%d",
+ "=0", "zero",
+ "=1", "one",
+ "one", "cannot match", // never matches
+ "<5", "<5", // never matches
+ "=5", "=5",
+ Other, "other"),
+ tests: []test{
+ {arg: 0, result: "zero"},
+ {arg: 1, result: "one"},
+ {arg: 2, result: "<5"},
+ {arg: 4, result: "<5"},
+ {arg: 5, result: "=5"},
+ {arg: 6, result: "other"},
+ {arg: "unknown", result: "other"},
+ },
+ }, {
+ desc: "fractions",
+ msg: Selectf(1, "%.2f", "one", "foo", "other", "bar"),
+ tests: []test{
+ // fractions are always plural in english
+ {arg: 0, result: "bar"},
+ {arg: 1, result: "bar"},
+ },
+ }, {
+ desc: "decimal without fractions",
+ msg: Selectf(1, "%.0f", "one", "foo", "other", "bar"),
+ tests: []test{
+ // fractions are always plural in english
+ {arg: 0, result: "bar"},
+ {arg: 1, result: "foo"},
+ },
+ }, {
+ desc: "scientific",
+ msg: Selectf(1, "%.0e", "one", "foo", "other", "bar"),
+ tests: []test{
+ {arg: 0, result: "bar"},
+ {arg: 1, result: "foo"},
+ },
+ }, {
+ desc: "variable",
+ msg: Selectf(1, "%.1g", "one", "foo", "other", "bar"),
+ tests: []test{
+ // fractions are always plural in english
+ {arg: 0, result: "bar"},
+ {arg: 1, result: "foo"},
+ {arg: 2, result: "bar"},
+ },
+ }, {
+ desc: "default",
+ msg: Selectf(1, "", "one", "foo", "other", "bar"),
+ tests: []test{
+ {arg: 0, result: "bar"},
+ {arg: 1, result: "foo"},
+ {arg: 2, result: "bar"},
+ {arg: 1.0, result: "bar"},
+ },
+ }, {
+ desc: "nested",
+ msg: Selectf(1, "", "other", Selectf(2, "", "one", "foo", "other", "bar")),
+ tests: []test{
+ {arg: 0, result: "bar"},
+ {arg: 1, result: "foo"},
+ {arg: 2, result: "bar"},
+ },
+ }, {
+ desc: "arg unavailable",
+ msg: Selectf(100, "%.2f", "one", "foo", "other", "bar"),
+ tests: []test{{arg: 1, result: "bar"}},
+ }, {
+ desc: "no match",
+ msg: Selectf(1, "%.2f", "one", "foo"),
+ tests: []test{{arg: 0, result: "bar", err: catmsg.ErrNoMatch.Error()}},
+ }, {
+ desc: "error invalid form",
+ err: `invalid plural form "excessive"`,
+ msg: Selectf(1, "%d", "excessive", "foo"),
+ }, {
+ desc: "error form not used by language",
+ err: `form "many" not supported for language "en"`,
+ msg: Selectf(1, "%d", "many", "foo"),
+ }, {
+ desc: "error invalid selector",
+ err: `selector of type int; want string or Form`,
+ msg: Selectf(1, "%d", 1, "foo"),
+ }, {
+ desc: "error missing message",
+ err: `no message defined for selector one`,
+ msg: Selectf(1, "%d", "one"),
+ }, {
+ desc: "error invalid number",
+ err: `invalid number in selector "<1.00"`,
+ msg: Selectf(1, "%d", "<1.00"),
+ }, {
+ desc: "error empty selector",
+ err: `empty selector`,
+ msg: Selectf(1, "%d", "", "foo"),
+ }, {
+ desc: "error invalid message",
+ err: `message of type int; must be string or catalog.Message`,
+ msg: Selectf(1, "%d", "one", 3),
+ }, {
+ desc: "nested error",
+ err: `empty selector`,
+ msg: Selectf(1, "", "other", Selectf(2, "", "")),
+ }}
+ for _, tc := range testCases {
+ t.Run(tc.desc, func(t *testing.T) {
+ data, err := catmsg.Compile(lang, nil, tc.msg)
+ chkError(t, err, tc.err)
+ for _, tx := range tc.tests {
+ t.Run(fmt.Sprint(tx.arg), func(t *testing.T) {
+ r := renderer{arg: tx.arg}
+ d := catmsg.NewDecoder(lang, &r, nil)
+ err := d.Execute(data)
+ chkError(t, err, tx.err)
+ if r.result != tx.result {
+ t.Errorf("got %q; want %q", r.result, tx.result)
+ }
+ })
+ }
+ })
+ }
+}
+
+func chkError(t *testing.T, got error, want string) {
+ if (got == nil && want != "") ||
+ (got != nil && (want == "" || !strings.Contains(got.Error(), want))) {
+ t.Fatalf("got %v; want %v", got, want)
+ }
+ if got != nil {
+ t.SkipNow()
+ }
+}
+
+type renderer struct {
+ arg interface{}
+ result string
+}
+
+func (r *renderer) Render(s string) { r.result += s }
+func (r *renderer) Arg(i int) interface{} {
+ if i > 10 { // Allow testing "arg unavailable" path
+ return nil
+ }
+ return r.arg
+}
+
+type opposite int
+
+func (o opposite) PluralForm(lang language.Tag, scale int) (Form, int) {
+ if o == 1 {
+ return Other, 1
+ }
+ return One, int(o)
+}
diff --git a/vendor/golang.org/x/text/feature/plural/plural.go b/vendor/golang.org/x/text/feature/plural/plural.go
index 2b4cfe321..61faf187d 100644
--- a/vendor/golang.org/x/text/feature/plural/plural.go
+++ b/vendor/golang.org/x/text/feature/plural/plural.go
@@ -13,6 +13,7 @@
package plural
import (
+ "golang.org/x/text/internal/number"
"golang.org/x/text/language"
)
@@ -109,21 +110,25 @@ func getIntApprox(digits []byte, start, end, nMod, big int) (n int) {
// 123 []byte{1, 2, 3} 3 0
// 123.4 []byte{1, 2, 3, 4} 3 1
// 123.40 []byte{1, 2, 3, 4} 3 2
-// 100000 []byte{1} 6......0
-// 100000.00 []byte{1} 6......3
+// 100000 []byte{1} 6 0
+// 100000.00 []byte{1} 6 3
func (p *Rules) MatchDigits(t language.Tag, digits []byte, exp, scale int) Form {
index, _ := language.CompactIndex(t)
- endN := len(digits) + exp
// Differentiate up to including mod 1000000 for the integer part.
- n := getIntApprox(digits, 0, endN, 6, 1000000)
+ n := getIntApprox(digits, 0, exp, 6, 1000000)
// Differentiate up to including mod 100 for the fractional part.
- f := getIntApprox(digits, endN, endN+scale, 2, 100)
+ f := getIntApprox(digits, exp, exp+scale, 2, 100)
return matchPlural(p, index, n, f, scale)
}
+func (p *Rules) matchDisplayDigits(t language.Tag, d *number.Digits) (Form, int) {
+ n := getIntApprox(d.Digits, 0, int(d.Exp), 6, 1000000)
+ return p.MatchDigits(t, d.Digits, int(d.Exp), d.NumFracDigits()), n
+}
+
func validForms(p *Rules, t language.Tag) (forms []Form) {
index, _ := language.CompactIndex(t)
offset := p.langToIndex[index]
@@ -145,6 +150,25 @@ func (p *Rules) matchComponents(t language.Tag, n, f, scale int) Form {
return matchPlural(p, index, n, f, scale)
}
+// MatchPlural returns the plural form for the given language and plural
+// operands (as defined in
+// http://unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules):
+// where
+// n absolute value of the source number (integer and decimals)
+// input
+// i integer digits of n.
+// v number of visible fraction digits in n, with trailing zeros.
+// w number of visible fraction digits in n, without trailing zeros.
+// f visible fractional digits in n, with trailing zeros (f = t * 10^(v-w))
+// t visible fractional digits in n, without trailing zeros.
+//
+// If any of the operand values is too large to fit in an int, it is okay to
+// pass the value modulo 10,000,000.
+func (p *Rules) MatchPlural(lang language.Tag, i, v, w, f, t int) Form {
+ index, _ := language.CompactIndex(lang)
+ return matchPlural(p, index, i, f, v)
+}
+
func matchPlural(p *Rules, index int, n, f, v int) Form {
nMask := p.inclusionMasks[n%maxMod]
// Compute the fMask inline in the rules below, as it is relatively rare.
diff --git a/vendor/golang.org/x/text/feature/plural/plural_test.go b/vendor/golang.org/x/text/feature/plural/plural_test.go
index e5524c59a..b3cf4c449 100644
--- a/vendor/golang.org/x/text/feature/plural/plural_test.go
+++ b/vendor/golang.org/x/text/feature/plural/plural_test.go
@@ -28,6 +28,8 @@ func TestGetIntApprox(t *testing.T) {
{"123", 0, 2, 2, 12},
{"123", 3, 4, 2, 0},
{"12345", 3, 4, 2, 4},
+ {"40", 0, 1, 2, 4},
+ {"1", 0, 7, 2, big},
{"123", 0, 5, 2, big},
{"123", 0, 5, 3, big},
@@ -114,7 +116,7 @@ func testPlurals(t *testing.T, p *Rules, testCases []pluralTest) {
for i := range digits {
digits[i] -= '0'
}
- if f := p.MatchDigits(tag, digits, 0, 0); f != Form(tc.form) {
+ if f := p.MatchDigits(tag, digits, len(digits), 0); f != Form(tc.form) {
t.Errorf("MatchDigits: got %v; want %v", f, Form(tc.form))
}
})
@@ -139,14 +141,25 @@ func testPlurals(t *testing.T, p *Rules, testCases []pluralTest) {
num := fmt.Sprintf("%[1]d.%0[3]*[2]d", n/m, n%m, scale)
name := fmt.Sprintf("%s:dec(%s)", loc, num)
t.Run(name, func(t *testing.T) {
+ ff := n % m
+ tt := ff
+ w := scale
+ for tt > 0 && tt%10 == 0 {
+ w--
+ tt /= 10
+ }
+ if f := p.MatchPlural(tag, n/m, scale, w, ff, tt); f != Form(tc.form) {
+ t.Errorf("MatchPlural: got %v; want %v", f, Form(tc.form))
+ }
if f := p.matchComponents(tag, n/m, n%m, scale); f != Form(tc.form) {
t.Errorf("matchComponents: got %v; want %v", f, Form(tc.form))
}
+ exp := strings.IndexByte(num, '.')
digits := []byte(strings.Replace(num, ".", "", 1))
for i := range digits {
digits[i] -= '0'
}
- if f := p.MatchDigits(tag, digits, -scale, scale); f != Form(tc.form) {
+ if f := p.MatchDigits(tag, digits, exp, scale); f != Form(tc.form) {
t.Errorf("MatchDigits: got %v; want %v", f, Form(tc.form))
}
})
diff --git a/vendor/golang.org/x/text/gen.go b/vendor/golang.org/x/text/gen.go
index 79af97e70..4257a1839 100644
--- a/vendor/golang.org/x/text/gen.go
+++ b/vendor/golang.org/x/text/gen.go
@@ -25,7 +25,9 @@ import (
"sync"
"unicode"
+ "golang.org/x/text/collate"
"golang.org/x/text/internal/gen"
+ "golang.org/x/text/language"
)
var (
@@ -72,14 +74,24 @@ func main() {
fmt.Printf("Requested Unicode version %s; core unicode version is %s.\n",
gen.UnicodeVersion(),
unicode.Version)
- // TODO: use collate to compare. Simple comparison will work, though,
- // until Unicode reaches version 10. To avoid circular dependencies, we
- // could use the NumericWeighter without using package collate using a
- // trivial Weighter implementation.
- if gen.UnicodeVersion() < unicode.Version && !*force {
+ c := collate.New(language.Und, collate.Numeric)
+ if c.CompareString(gen.UnicodeVersion(), unicode.Version) < 0 && !*force {
os.Exit(2)
}
updateCore = true
+ goroot := os.Getenv("GOROOT")
+ appendToFile(
+ filepath.Join(goroot, "api", "except.txt"),
+ fmt.Sprintf("pkg unicode, const Version = %q\n", unicode.Version),
+ )
+ const lines = `pkg unicode, const Version = %q
+// TODO: add a new line of the following form for each new script and property.
+pkg unicode, var <new script or property> *RangeTable
+`
+ appendToFile(
+ filepath.Join(goroot, "api", "next.txt"),
+ fmt.Sprintf(lines, gen.UnicodeVersion()),
+ )
}
var unicode = &dependency{}
@@ -132,6 +144,20 @@ func main() {
vprintf("SUCCESS\n")
}
+func appendToFile(file, text string) {
+ fmt.Println("Augmenting", file)
+ w, err := os.OpenFile(file, os.O_APPEND|os.O_WRONLY, 0600)
+ if err != nil {
+ fmt.Println("Failed to open file:", err)
+ os.Exit(1)
+ }
+ defer w.Close()
+ if _, err := w.WriteString(text); err != nil {
+ fmt.Println("Failed to write to file:", err)
+ os.Exit(1)
+ }
+}
+
var (
all sync.WaitGroup
hasErrors bool
@@ -244,7 +270,7 @@ func copyPackage(dirSrc, dirDst, search, replace string) {
base := filepath.Base(file)
if err != nil || info.IsDir() ||
!strings.HasSuffix(base, ".go") ||
- strings.HasSuffix(base, "_test.go") && !strings.HasPrefix(base, "example") ||
+ strings.HasSuffix(base, "_test.go") ||
// Don't process subdirectories.
filepath.Dir(file) != dirSrc {
return nil
diff --git a/vendor/golang.org/x/text/internal/catmsg/catmsg.go b/vendor/golang.org/x/text/internal/catmsg/catmsg.go
index 74c039f05..f8abf3704 100644
--- a/vendor/golang.org/x/text/internal/catmsg/catmsg.go
+++ b/vendor/golang.org/x/text/internal/catmsg/catmsg.go
@@ -294,7 +294,7 @@ func (r Raw) Compile(e *Encoder) (err error) {
// d.Arg(1)
// d.Render(resultOfInvites)
// d.Render(" %[2]v to ")
-// d.Arg(1)
+// d.Arg(2)
// d.Render(resultOfTheir)
// d.Render(" party.")
// where the messages for "invites" and "their" both use a plural.Select
diff --git a/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go b/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go
index d06502bff..df913a1de 100644
--- a/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go
+++ b/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go
@@ -111,6 +111,10 @@ func TestCodec(t *testing.T) {
},
tests: single("foo|BAZ", ""),
}, {
+ desc: "nested value",
+ m: nestedLang{nestedLang{empty{}}},
+ tests: single("nl|nl", ""),
+ }, {
desc: "not shadowed variable",
m: seq{
&Var{"bar", String("baz")},
@@ -207,8 +211,9 @@ func TestCodec(t *testing.T) {
dec := NewDecoder(language.Und, r, macros)
for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) {
-
- data, err := Compile(language.Und, macros, tc.m)
+ // Use a language other than Und so that we can test
+ // passing the language to nested values.
+ data, err := Compile(language.Dutch, macros, tc.m)
if failErr(err, tc.encErr) {
t.Errorf("encoding error: got %+q; want %+q", err, tc.encErr)
}
@@ -265,6 +270,23 @@ func (incomplete) Compile(e *Encoder) (err error) {
return ErrIncomplete
}
+var msgNested = Register(
+ "golang.org/x/text/internal/catmsg.nested",
+ func(d *Decoder) bool {
+ d.Render(d.DecodeString())
+ d.ExecuteMessage()
+ return true
+ })
+
+type nestedLang struct{ Message }
+
+func (n nestedLang) Compile(e *Encoder) (err error) {
+ e.EncodeMessageType(msgNested)
+ e.EncodeString(e.Language().String())
+ e.EncodeMessage(n.Message)
+ return nil
+}
+
type errorCompileMsg struct{}
var errCompileTest = errors.New("catmsg: compile error test")
diff --git a/vendor/golang.org/x/text/internal/catmsg/codec.go b/vendor/golang.org/x/text/internal/catmsg/codec.go
index e959b08f9..ab587f856 100755
--- a/vendor/golang.org/x/text/internal/catmsg/codec.go
+++ b/vendor/golang.org/x/text/internal/catmsg/codec.go
@@ -99,7 +99,7 @@ func (e *Encoder) EncodeMessageType(h Handle) {
// EncodeMessage serializes the given message inline at the current position.
func (e *Encoder) EncodeMessage(m Message) error {
- e = &Encoder{root: e.root, parent: e}
+ e = &Encoder{root: e.root, parent: e, tag: e.tag}
err := m.Compile(e)
if _, ok := m.(*Var); !ok {
e.flushTo(e.parent)
diff --git a/vendor/golang.org/x/text/internal/export/idna/gen.go b/vendor/golang.org/x/text/internal/export/idna/gen.go
index 27a5e1c43..cce630535 100644
--- a/vendor/golang.org/x/text/internal/export/idna/gen.go
+++ b/vendor/golang.org/x/text/internal/export/idna/gen.go
@@ -21,6 +21,7 @@ import (
"golang.org/x/text/internal/gen"
"golang.org/x/text/internal/triegen"
"golang.org/x/text/internal/ucd"
+ "golang.org/x/text/unicode/bidi"
)
func main() {
@@ -35,6 +36,12 @@ var runes = map[rune]info{}
func genTables() {
t := triegen.NewTrie("idna")
+ ucd.Parse(gen.OpenUCDFile("DerivedNormalizationProps.txt"), func(p *ucd.Parser) {
+ r := p.Rune(0)
+ if p.String(1) == "NFC_QC" { // p.String(2) is "N" or "M"
+ runes[r] = mayNeedNorm
+ }
+ })
ucd.Parse(gen.OpenUCDFile("UnicodeData.txt"), func(p *ucd.Parser) {
r := p.Rune(0)
@@ -44,7 +51,17 @@ func genTables() {
}
switch {
case unicode.In(r, unicode.Mark):
- runes[r] |= modifier
+ runes[r] |= modifier | mayNeedNorm
+ }
+ // TODO: by using UnicodeData.txt we don't mark undefined codepoints
+ // that are earmarked as RTL properly. However, an undefined cp will
+ // always fail, so there is no need to store this info.
+ switch p, _ := bidi.LookupRune(r); p.Class() {
+ case bidi.R, bidi.AL, bidi.AN:
+ if x := runes[r]; x != 0 && x != mayNeedNorm {
+ log.Fatalf("%U: rune both modifier and RTL letter/number", r)
+ }
+ runes[r] = rtl
}
})
diff --git a/vendor/golang.org/x/text/internal/export/idna/gen_test.go b/vendor/golang.org/x/text/internal/export/idna/gen_test.go
index 60602ecf5..83f045f65 100644
--- a/vendor/golang.org/x/text/internal/export/idna/gen_test.go
+++ b/vendor/golang.org/x/text/internal/export/idna/gen_test.go
@@ -65,6 +65,15 @@ func TestTables(t *testing.T) {
if got != want {
t.Errorf("IsVirama(%U) = %v; want %v", r, got, want)
}
+
+ rtl := false
+ switch p.String(ucd.BidiClass) {
+ case "R", "AL", "AN":
+ rtl = true
+ }
+ if got := x.isBidi("A"); got != rtl && !x.isMapped() {
+ t.Errorf("IsBidi(%U) = %v; want %v", r, got, rtl)
+ }
})
ucd.Parse(gen.OpenUCDFile("extracted/DerivedJoiningType.txt"), func(p *ucd.Parser) {
diff --git a/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go b/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go
index 3a3229649..0de99b08a 100644
--- a/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go
+++ b/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go
@@ -30,9 +30,9 @@ package main
// 15..3 index into xor or mapping table
// }
// } else {
-// 15..13 unused
-// 12 modifier (including virama)
-// 11 virama modifier
+// 15..14 unused
+// 13 mayNeedNorm
+// 12..11 attributes
// 10..8 joining type
// 7..3 category type
// }
@@ -53,15 +53,20 @@ const (
joinShift = 8
joinMask = 0x07
- viramaModifier = 0x0800
+ // Attributes
+ attributesMask = 0x1800
+ viramaModifier = 0x1800
modifier = 0x1000
+ rtl = 0x0800
+
+ mayNeedNorm = 0x2000
)
// A category corresponds to a category defined in the IDNA mapping table.
type category uint16
const (
- unknown category = 0 // not defined currently in unicode.
+ unknown category = 0 // not currently defined in unicode.
mapped category = 1
disallowedSTD3Mapped category = 2
deviation category = 3
@@ -114,5 +119,5 @@ func (c info) isModifier() bool {
}
func (c info) isViramaModifier() bool {
- return c&(viramaModifier|catSmallMask) == viramaModifier
+ return c&(attributesMask|catSmallMask) == viramaModifier
}
diff --git a/vendor/golang.org/x/text/internal/export/idna/idna.go b/vendor/golang.org/x/text/internal/export/idna/idna.go
index 1d775fa20..9feea643e 100644
--- a/vendor/golang.org/x/text/internal/export/idna/idna.go
+++ b/vendor/golang.org/x/text/internal/export/idna/idna.go
@@ -21,6 +21,7 @@ import (
"unicode/utf8"
"golang.org/x/text/secure/bidirule"
+ "golang.org/x/text/unicode/bidi"
"golang.org/x/text/unicode/norm"
)
@@ -142,7 +143,6 @@ func MapForLookup() Option {
o.mapping = validateAndMap
StrictDomainName(true)(o)
ValidateLabels(true)(o)
- RemoveLeadingDots(true)(o)
}
}
@@ -160,14 +160,14 @@ type options struct {
// mapping implements a validation and mapping step as defined in RFC 5895
// or UTS 46, tailored to, for example, domain registration or lookup.
- mapping func(p *Profile, s string) (string, error)
+ mapping func(p *Profile, s string) (mapped string, isBidi bool, err error)
// bidirule, if specified, checks whether s conforms to the Bidi Rule
// defined in RFC 5893.
bidirule func(s string) bool
}
-// A Profile defines the configuration of a IDNA mapper.
+// A Profile defines the configuration of an IDNA mapper.
type Profile struct {
options
}
@@ -251,23 +251,21 @@ var (
punycode = &Profile{}
lookup = &Profile{options{
- transitional: true,
- useSTD3Rules: true,
- validateLabels: true,
- removeLeadingDots: true,
- trie: trie,
- fromPuny: validateFromPunycode,
- mapping: validateAndMap,
- bidirule: bidirule.ValidString,
+ transitional: true,
+ useSTD3Rules: true,
+ validateLabels: true,
+ trie: trie,
+ fromPuny: validateFromPunycode,
+ mapping: validateAndMap,
+ bidirule: bidirule.ValidString,
}}
display = &Profile{options{
- useSTD3Rules: true,
- validateLabels: true,
- removeLeadingDots: true,
- trie: trie,
- fromPuny: validateFromPunycode,
- mapping: validateAndMap,
- bidirule: bidirule.ValidString,
+ useSTD3Rules: true,
+ validateLabels: true,
+ trie: trie,
+ fromPuny: validateFromPunycode,
+ mapping: validateAndMap,
+ bidirule: bidirule.ValidString,
}}
registration = &Profile{options{
useSTD3Rules: true,
@@ -302,14 +300,16 @@ func (e runeError) Error() string {
// see http://www.unicode.org/reports/tr46.
func (p *Profile) process(s string, toASCII bool) (string, error) {
var err error
+ var isBidi bool
if p.mapping != nil {
- s, err = p.mapping(p, s)
+ s, isBidi, err = p.mapping(p, s)
}
// Remove leading empty labels.
if p.removeLeadingDots {
for ; len(s) > 0 && s[0] == '.'; s = s[1:] {
}
}
+ // TODO: allow for a quick check the tables data.
// It seems like we should only create this error on ToASCII, but the
// UTS 46 conformance tests suggests we should always check this.
if err == nil && p.verifyDNSLength && s == "" {
@@ -335,6 +335,7 @@ func (p *Profile) process(s string, toASCII bool) (string, error) {
// Spec says keep the old label.
continue
}
+ isBidi = isBidi || bidirule.DirectionString(u) != bidi.LeftToRight
labels.set(u)
if err == nil && p.validateLabels {
err = p.fromPuny(p, u)
@@ -349,6 +350,14 @@ func (p *Profile) process(s string, toASCII bool) (string, error) {
err = p.validateLabel(label)
}
}
+ if isBidi && p.bidirule != nil && err == nil {
+ for labels.reset(); !labels.done(); labels.next() {
+ if !p.bidirule(labels.label()) {
+ err = &labelError{s, "B"}
+ break
+ }
+ }
+ }
if toASCII {
for labels.reset(); !labels.done(); labels.next() {
label := labels.label()
@@ -380,16 +389,23 @@ func (p *Profile) process(s string, toASCII bool) (string, error) {
return s, err
}
-func normalize(p *Profile, s string) (string, error) {
- return norm.NFC.String(s), nil
+func normalize(p *Profile, s string) (mapped string, isBidi bool, err error) {
+ // TODO: consider first doing a quick check to see if any of these checks
+ // need to be done. This will make it slower in the general case, but
+ // faster in the common case.
+ mapped = norm.NFC.String(s)
+ isBidi = bidirule.DirectionString(mapped) == bidi.RightToLeft
+ return mapped, isBidi, nil
}
-func validateRegistration(p *Profile, s string) (string, error) {
+func validateRegistration(p *Profile, s string) (idem string, bidi bool, err error) {
+ // TODO: filter need for normalization in loop below.
if !norm.NFC.IsNormalString(s) {
- return s, &labelError{s, "V1"}
+ return s, false, &labelError{s, "V1"}
}
for i := 0; i < len(s); {
v, sz := trie.lookupString(s[i:])
+ bidi = bidi || info(v).isBidi(s[i:])
// Copy bytes not copied so far.
switch p.simplify(info(v).category()) {
// TODO: handle the NV8 defined in the Unicode idna data set to allow
@@ -397,21 +413,41 @@ func validateRegistration(p *Profile, s string) (string, error) {
case valid, deviation:
case disallowed, mapped, unknown, ignored:
r, _ := utf8.DecodeRuneInString(s[i:])
- return s, runeError(r)
+ return s, bidi, runeError(r)
}
i += sz
}
- return s, nil
+ return s, bidi, nil
}
-func validateAndMap(p *Profile, s string) (string, error) {
+func (c info) isBidi(s string) bool {
+ if !c.isMapped() {
+ return c&attributesMask == rtl
+ }
+ // TODO: also store bidi info for mapped data. This is possible, but a bit
+ // cumbersome and not for the common case.
+ p, _ := bidi.LookupString(s)
+ switch p.Class() {
+ case bidi.R, bidi.AL, bidi.AN:
+ return true
+ }
+ return false
+}
+
+func validateAndMap(p *Profile, s string) (vm string, bidi bool, err error) {
var (
- err error
- b []byte
- k int
+ b []byte
+ k int
)
+ // combinedInfoBits contains the or-ed bits of all runes. We use this
+ // to derive the mayNeedNorm bit later. This may trigger normalization
+ // overeagerly, but it will not do so in the common case. The end result
+ // is another 10% saving on BenchmarkProfile for the common case.
+ var combinedInfoBits info
for i := 0; i < len(s); {
v, sz := trie.lookupString(s[i:])
+ combinedInfoBits |= info(v)
+ bidi = bidi || info(v).isBidi(s[i:])
start := i
i += sz
// Copy bytes not copied so far.
@@ -438,7 +474,9 @@ func validateAndMap(p *Profile, s string) (string, error) {
}
if k == 0 {
// No changes so far.
- s = norm.NFC.String(s)
+ if combinedInfoBits&mayNeedNorm != 0 {
+ s = norm.NFC.String(s)
+ }
} else {
b = append(b, s[k:]...)
if norm.NFC.QuickSpan(b) != len(b) {
@@ -447,7 +485,7 @@ func validateAndMap(p *Profile, s string) (string, error) {
// TODO: the punycode converters require strings as input.
s = string(b)
}
- return s, err
+ return s, bidi, err
}
// A labelIter allows iterating over domain name labels.
@@ -542,6 +580,8 @@ func validateFromPunycode(p *Profile, s string) error {
if !norm.NFC.IsNormalString(s) {
return &labelError{s, "V1"}
}
+ // TODO: detect whether string may have to be normalized in the following
+ // loop.
for i := 0; i < len(s); {
v, sz := trie.lookupString(s[i:])
if c := p.simplify(info(v).category()); c != valid && c != deviation {
@@ -616,16 +656,13 @@ var joinStates = [][numJoinTypes]joinState{
// validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are
// already implicitly satisfied by the overall implementation.
-func (p *Profile) validateLabel(s string) error {
+func (p *Profile) validateLabel(s string) (err error) {
if s == "" {
if p.verifyDNSLength {
return &labelError{s, "A4"}
}
return nil
}
- if p.bidirule != nil && !p.bidirule(s) {
- return &labelError{s, "B"}
- }
if !p.validateLabels {
return nil
}
diff --git a/vendor/golang.org/x/text/internal/export/idna/idna_test.go b/vendor/golang.org/x/text/internal/export/idna/idna_test.go
index 82ead035a..fed6e2ee7 100644
--- a/vendor/golang.org/x/text/internal/export/idna/idna_test.go
+++ b/vendor/golang.org/x/text/internal/export/idna/idna_test.go
@@ -149,20 +149,23 @@ func TestLabelErrors(t *testing.T) {
// For backwards compatibility, the Punycode profile does not map runes.
{punyA, "\u3002b", "xn--b-83t", ""},
{punyA, "..b", "..b", ""},
- // Only strip leading empty labels for certain profiles. Stripping
- // leading empty labels here but not for "empty" punycode above seems
- // inconsistent, but seems to be applied by both the conformance test
- // and Chrome. So we turn it off by default, support it as an option,
- // and enable it in profiles where it seems commonplace.
- {lengthA, ".b", "b", ""},
- {lengthA, "\u3002b", "b", ""},
- {lengthA, "..b", "b", ""},
+
+ {lengthA, ".b", ".b", "A4"},
+ {lengthA, "\u3002b", ".b", "A4"},
+ {lengthA, "..b", "..b", "A4"},
{lengthA, "b..", "b..", ""},
+ // Sharpened Bidi rules for Unicode 10.0.0. Apply for ALL labels in ANY
+ // of the labels is RTL.
+ {lengthA, "\ufe05\u3002\u3002\U0002603e\u1ce0", "..xn--t6f5138v", "A4"},
+ {lengthA, "FAX\u2a77\U0001d186\u3002\U0001e942\U000e0181\u180c", "", "B6"},
+
{resolve, "a..b", "a..b", ""},
- {resolve, ".b", "b", ""},
- {resolve, "\u3002b", "b", ""},
- {resolve, "..b", "b", ""},
+ // Note that leading dots are not stripped. This is to be consistent
+ // with the Punycode profile as well as the conformance test.
+ {resolve, ".b", ".b", ""},
+ {resolve, "\u3002b", ".b", ""},
+ {resolve, "..b", "..b", ""},
{resolve, "b..", "b..", ""},
// Raw punycode
@@ -297,3 +300,9 @@ func unescape(s string) string {
}
return s
}
+
+func BenchmarkProfile(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ Lookup.ToASCII("www.yahoogle.com")
+ }
+}
diff --git a/vendor/golang.org/x/text/internal/export/idna/tables.go b/vendor/golang.org/x/text/internal/export/idna/tables.go
index d2819345f..f910b2691 100644
--- a/vendor/golang.org/x/text/internal/export/idna/tables.go
+++ b/vendor/golang.org/x/text/internal/export/idna/tables.go
@@ -3,7 +3,7 @@
package idna
// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "9.0.0"
+const UnicodeVersion = "10.0.0"
var mappings string = "" + // Size: 8176 bytes
"\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" +
@@ -544,7 +544,7 @@ func (t *idnaTrie) lookupStringUnsafe(s string) uint16 {
return 0
}
-// idnaTrie. Total size: 28496 bytes (27.83 KiB). Checksum: 43288b883596640e.
+// idnaTrie. Total size: 29052 bytes (28.37 KiB). Checksum: ef06e7ecc26f36dd.
type idnaTrie struct{}
func newIdnaTrie(i int) *idnaTrie {
@@ -554,17 +554,17 @@ func newIdnaTrie(i int) *idnaTrie {
// lookupValue determines the type of block n and looks up the value for b.
func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 {
switch {
- case n < 123:
+ case n < 125:
return uint16(idnaValues[n<<6+uint32(b)])
default:
- n -= 123
+ n -= 125
return uint16(idnaSparse.lookup(n, b))
}
}
-// idnaValues: 125 blocks, 8000 entries, 16000 bytes
+// idnaValues: 127 blocks, 8128 entries, 16256 bytes
// The third block is the zero block.
-var idnaValues = [8000]uint16{
+var idnaValues = [8128]uint16{
// Block 0x0, offset 0x0
0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080,
0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080,
@@ -675,14 +675,14 @@ var idnaValues = [8000]uint16{
0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018,
0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018,
// Block 0xa, offset 0x280
- 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x1308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d,
- 0x286: 0x1308, 0x287: 0x1308, 0x288: 0x1308, 0x289: 0x1308, 0x28a: 0x1308, 0x28b: 0x1308,
- 0x28c: 0x1308, 0x28d: 0x1308, 0x28e: 0x1308, 0x28f: 0x13c0, 0x290: 0x1308, 0x291: 0x1308,
- 0x292: 0x1308, 0x293: 0x1308, 0x294: 0x1308, 0x295: 0x1308, 0x296: 0x1308, 0x297: 0x1308,
- 0x298: 0x1308, 0x299: 0x1308, 0x29a: 0x1308, 0x29b: 0x1308, 0x29c: 0x1308, 0x29d: 0x1308,
- 0x29e: 0x1308, 0x29f: 0x1308, 0x2a0: 0x1308, 0x2a1: 0x1308, 0x2a2: 0x1308, 0x2a3: 0x1308,
- 0x2a4: 0x1308, 0x2a5: 0x1308, 0x2a6: 0x1308, 0x2a7: 0x1308, 0x2a8: 0x1308, 0x2a9: 0x1308,
- 0x2aa: 0x1308, 0x2ab: 0x1308, 0x2ac: 0x1308, 0x2ad: 0x1308, 0x2ae: 0x1308, 0x2af: 0x1308,
+ 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d,
+ 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308,
+ 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308,
+ 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308,
+ 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308,
+ 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308,
+ 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308,
+ 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308,
0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008,
0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008,
0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d,
@@ -723,8 +723,8 @@ var idnaValues = [8000]uint16{
0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008,
0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008,
// Block 0xe, offset 0x380
- 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x1308, 0x384: 0x1308, 0x385: 0x1308,
- 0x386: 0x1308, 0x387: 0x1308, 0x388: 0x1318, 0x389: 0x1318, 0x38a: 0xe00d, 0x38b: 0x0008,
+ 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308,
+ 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008,
0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008,
0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008,
0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008,
@@ -759,129 +759,129 @@ var idnaValues = [8000]uint16{
0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5,
0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5,
// Block 0x11, offset 0x440
- 0x440: 0x0040, 0x441: 0x0040, 0x442: 0x0040, 0x443: 0x0040, 0x444: 0x0040, 0x445: 0x0040,
- 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0018, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0018,
- 0x44c: 0x0018, 0x44d: 0x0018, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x1308, 0x451: 0x1308,
- 0x452: 0x1308, 0x453: 0x1308, 0x454: 0x1308, 0x455: 0x1308, 0x456: 0x1308, 0x457: 0x1308,
- 0x458: 0x1308, 0x459: 0x1308, 0x45a: 0x1308, 0x45b: 0x0018, 0x45c: 0x0340, 0x45d: 0x0040,
- 0x45e: 0x0018, 0x45f: 0x0018, 0x460: 0x0208, 0x461: 0x0008, 0x462: 0x0408, 0x463: 0x0408,
- 0x464: 0x0408, 0x465: 0x0408, 0x466: 0x0208, 0x467: 0x0408, 0x468: 0x0208, 0x469: 0x0408,
- 0x46a: 0x0208, 0x46b: 0x0208, 0x46c: 0x0208, 0x46d: 0x0208, 0x46e: 0x0208, 0x46f: 0x0408,
- 0x470: 0x0408, 0x471: 0x0408, 0x472: 0x0408, 0x473: 0x0208, 0x474: 0x0208, 0x475: 0x0208,
- 0x476: 0x0208, 0x477: 0x0208, 0x478: 0x0208, 0x479: 0x0208, 0x47a: 0x0208, 0x47b: 0x0208,
- 0x47c: 0x0208, 0x47d: 0x0208, 0x47e: 0x0208, 0x47f: 0x0208,
+ 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840,
+ 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818,
+ 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308,
+ 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308,
+ 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040,
+ 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08,
+ 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08,
+ 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08,
+ 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08,
+ 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08,
+ 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08,
// Block 0x12, offset 0x480
- 0x480: 0x0408, 0x481: 0x0208, 0x482: 0x0208, 0x483: 0x0408, 0x484: 0x0408, 0x485: 0x0408,
- 0x486: 0x0408, 0x487: 0x0408, 0x488: 0x0408, 0x489: 0x0408, 0x48a: 0x0408, 0x48b: 0x0408,
- 0x48c: 0x0208, 0x48d: 0x0408, 0x48e: 0x0208, 0x48f: 0x0408, 0x490: 0x0208, 0x491: 0x0208,
- 0x492: 0x0408, 0x493: 0x0408, 0x494: 0x0018, 0x495: 0x0408, 0x496: 0x1308, 0x497: 0x1308,
- 0x498: 0x1308, 0x499: 0x1308, 0x49a: 0x1308, 0x49b: 0x1308, 0x49c: 0x1308, 0x49d: 0x0040,
- 0x49e: 0x0018, 0x49f: 0x1308, 0x4a0: 0x1308, 0x4a1: 0x1308, 0x4a2: 0x1308, 0x4a3: 0x1308,
- 0x4a4: 0x1308, 0x4a5: 0x0008, 0x4a6: 0x0008, 0x4a7: 0x1308, 0x4a8: 0x1308, 0x4a9: 0x0018,
- 0x4aa: 0x1308, 0x4ab: 0x1308, 0x4ac: 0x1308, 0x4ad: 0x1308, 0x4ae: 0x0408, 0x4af: 0x0408,
- 0x4b0: 0x0008, 0x4b1: 0x0008, 0x4b2: 0x0008, 0x4b3: 0x0008, 0x4b4: 0x0008, 0x4b5: 0x0008,
- 0x4b6: 0x0008, 0x4b7: 0x0008, 0x4b8: 0x0008, 0x4b9: 0x0008, 0x4ba: 0x0208, 0x4bb: 0x0208,
- 0x4bc: 0x0208, 0x4bd: 0x0008, 0x4be: 0x0008, 0x4bf: 0x0208,
+ 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08,
+ 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308,
+ 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308,
+ 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308,
+ 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308,
+ 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808,
+ 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808,
+ 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08,
+ 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429,
+ 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08,
+ 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08,
// Block 0x13, offset 0x4c0
- 0x4c0: 0x0018, 0x4c1: 0x0018, 0x4c2: 0x0018, 0x4c3: 0x0018, 0x4c4: 0x0018, 0x4c5: 0x0018,
- 0x4c6: 0x0018, 0x4c7: 0x0018, 0x4c8: 0x0018, 0x4c9: 0x0018, 0x4ca: 0x0018, 0x4cb: 0x0018,
- 0x4cc: 0x0018, 0x4cd: 0x0018, 0x4ce: 0x0040, 0x4cf: 0x0340, 0x4d0: 0x0408, 0x4d1: 0x1308,
- 0x4d2: 0x0208, 0x4d3: 0x0208, 0x4d4: 0x0208, 0x4d5: 0x0408, 0x4d6: 0x0408, 0x4d7: 0x0408,
- 0x4d8: 0x0408, 0x4d9: 0x0408, 0x4da: 0x0208, 0x4db: 0x0208, 0x4dc: 0x0208, 0x4dd: 0x0208,
- 0x4de: 0x0408, 0x4df: 0x0208, 0x4e0: 0x0208, 0x4e1: 0x0208, 0x4e2: 0x0208, 0x4e3: 0x0208,
- 0x4e4: 0x0208, 0x4e5: 0x0208, 0x4e6: 0x0208, 0x4e7: 0x0208, 0x4e8: 0x0408, 0x4e9: 0x0208,
- 0x4ea: 0x0408, 0x4eb: 0x0208, 0x4ec: 0x0408, 0x4ed: 0x0208, 0x4ee: 0x0208, 0x4ef: 0x0408,
- 0x4f0: 0x1308, 0x4f1: 0x1308, 0x4f2: 0x1308, 0x4f3: 0x1308, 0x4f4: 0x1308, 0x4f5: 0x1308,
- 0x4f6: 0x1308, 0x4f7: 0x1308, 0x4f8: 0x1308, 0x4f9: 0x1308, 0x4fa: 0x1308, 0x4fb: 0x1308,
- 0x4fc: 0x1308, 0x4fd: 0x1308, 0x4fe: 0x1308, 0x4ff: 0x1308,
+ 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08,
+ 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08,
+ 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08,
+ 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308,
+ 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840,
+ 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308,
+ 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018,
+ 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08,
+ 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008,
+ 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08,
+ 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08,
// Block 0x14, offset 0x500
- 0x500: 0x1008, 0x501: 0x1308, 0x502: 0x1308, 0x503: 0x1308, 0x504: 0x1308, 0x505: 0x1308,
- 0x506: 0x1308, 0x507: 0x1308, 0x508: 0x1308, 0x509: 0x1008, 0x50a: 0x1008, 0x50b: 0x1008,
- 0x50c: 0x1008, 0x50d: 0x1b08, 0x50e: 0x1008, 0x50f: 0x1008, 0x510: 0x0008, 0x511: 0x1308,
- 0x512: 0x1308, 0x513: 0x1308, 0x514: 0x1308, 0x515: 0x1308, 0x516: 0x1308, 0x517: 0x1308,
- 0x518: 0x04c9, 0x519: 0x0501, 0x51a: 0x0539, 0x51b: 0x0571, 0x51c: 0x05a9, 0x51d: 0x05e1,
- 0x51e: 0x0619, 0x51f: 0x0651, 0x520: 0x0008, 0x521: 0x0008, 0x522: 0x1308, 0x523: 0x1308,
- 0x524: 0x0018, 0x525: 0x0018, 0x526: 0x0008, 0x527: 0x0008, 0x528: 0x0008, 0x529: 0x0008,
- 0x52a: 0x0008, 0x52b: 0x0008, 0x52c: 0x0008, 0x52d: 0x0008, 0x52e: 0x0008, 0x52f: 0x0008,
- 0x530: 0x0018, 0x531: 0x0008, 0x532: 0x0008, 0x533: 0x0008, 0x534: 0x0008, 0x535: 0x0008,
- 0x536: 0x0008, 0x537: 0x0008, 0x538: 0x0008, 0x539: 0x0008, 0x53a: 0x0008, 0x53b: 0x0008,
- 0x53c: 0x0008, 0x53d: 0x0008, 0x53e: 0x0008, 0x53f: 0x0008,
+ 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818,
+ 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818,
+ 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308,
+ 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08,
+ 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08,
+ 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08,
+ 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08,
+ 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08,
+ 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308,
+ 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308,
+ 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308,
// Block 0x15, offset 0x540
- 0x540: 0x0008, 0x541: 0x1308, 0x542: 0x1008, 0x543: 0x1008, 0x544: 0x0040, 0x545: 0x0008,
- 0x546: 0x0008, 0x547: 0x0008, 0x548: 0x0008, 0x549: 0x0008, 0x54a: 0x0008, 0x54b: 0x0008,
- 0x54c: 0x0008, 0x54d: 0x0040, 0x54e: 0x0040, 0x54f: 0x0008, 0x550: 0x0008, 0x551: 0x0040,
- 0x552: 0x0040, 0x553: 0x0008, 0x554: 0x0008, 0x555: 0x0008, 0x556: 0x0008, 0x557: 0x0008,
- 0x558: 0x0008, 0x559: 0x0008, 0x55a: 0x0008, 0x55b: 0x0008, 0x55c: 0x0008, 0x55d: 0x0008,
- 0x55e: 0x0008, 0x55f: 0x0008, 0x560: 0x0008, 0x561: 0x0008, 0x562: 0x0008, 0x563: 0x0008,
- 0x564: 0x0008, 0x565: 0x0008, 0x566: 0x0008, 0x567: 0x0008, 0x568: 0x0008, 0x569: 0x0040,
- 0x56a: 0x0008, 0x56b: 0x0008, 0x56c: 0x0008, 0x56d: 0x0008, 0x56e: 0x0008, 0x56f: 0x0008,
- 0x570: 0x0008, 0x571: 0x0040, 0x572: 0x0008, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040,
- 0x576: 0x0008, 0x577: 0x0008, 0x578: 0x0008, 0x579: 0x0008, 0x57a: 0x0040, 0x57b: 0x0040,
- 0x57c: 0x1308, 0x57d: 0x0008, 0x57e: 0x1008, 0x57f: 0x1008,
+ 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08,
+ 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08,
+ 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08,
+ 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0808, 0x557: 0x0808,
+ 0x558: 0x0808, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040,
+ 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08,
+ 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08,
+ 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040,
+ 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040,
+ 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040,
+ 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040,
// Block 0x16, offset 0x580
- 0x580: 0x1008, 0x581: 0x1308, 0x582: 0x1308, 0x583: 0x1308, 0x584: 0x1308, 0x585: 0x0040,
- 0x586: 0x0040, 0x587: 0x1008, 0x588: 0x1008, 0x589: 0x0040, 0x58a: 0x0040, 0x58b: 0x1008,
- 0x58c: 0x1008, 0x58d: 0x1b08, 0x58e: 0x0008, 0x58f: 0x0040, 0x590: 0x0040, 0x591: 0x0040,
- 0x592: 0x0040, 0x593: 0x0040, 0x594: 0x0040, 0x595: 0x0040, 0x596: 0x0040, 0x597: 0x1008,
- 0x598: 0x0040, 0x599: 0x0040, 0x59a: 0x0040, 0x59b: 0x0040, 0x59c: 0x0689, 0x59d: 0x06c1,
- 0x59e: 0x0040, 0x59f: 0x06f9, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x1308, 0x5a3: 0x1308,
- 0x5a4: 0x0040, 0x5a5: 0x0040, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008,
+ 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308,
+ 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008,
+ 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308,
+ 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308,
+ 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1,
+ 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308,
+ 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008,
0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008,
- 0x5b0: 0x0008, 0x5b1: 0x0008, 0x5b2: 0x0018, 0x5b3: 0x0018, 0x5b4: 0x0018, 0x5b5: 0x0018,
- 0x5b6: 0x0018, 0x5b7: 0x0018, 0x5b8: 0x0018, 0x5b9: 0x0018, 0x5ba: 0x0018, 0x5bb: 0x0018,
- 0x5bc: 0x0040, 0x5bd: 0x0040, 0x5be: 0x0040, 0x5bf: 0x0040,
+ 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008,
+ 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008,
+ 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008,
// Block 0x17, offset 0x5c0
- 0x5c0: 0x0040, 0x5c1: 0x1308, 0x5c2: 0x1308, 0x5c3: 0x1008, 0x5c4: 0x0040, 0x5c5: 0x0008,
- 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0040,
- 0x5cc: 0x0040, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040,
+ 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008,
+ 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008,
+ 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040,
0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008,
0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008,
0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008,
0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040,
0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008,
- 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0731, 0x5f4: 0x0040, 0x5f5: 0x0008,
- 0x5f6: 0x0769, 0x5f7: 0x0040, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040,
- 0x5fc: 0x1308, 0x5fd: 0x0040, 0x5fe: 0x1008, 0x5ff: 0x1008,
+ 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040,
+ 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040,
+ 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008,
// Block 0x18, offset 0x600
- 0x600: 0x1008, 0x601: 0x1308, 0x602: 0x1308, 0x603: 0x0040, 0x604: 0x0040, 0x605: 0x0040,
- 0x606: 0x0040, 0x607: 0x1308, 0x608: 0x1308, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x1308,
- 0x60c: 0x1308, 0x60d: 0x1b08, 0x60e: 0x0040, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x1308,
- 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x0040,
- 0x618: 0x0040, 0x619: 0x07a1, 0x61a: 0x07d9, 0x61b: 0x0811, 0x61c: 0x0008, 0x61d: 0x0040,
- 0x61e: 0x0849, 0x61f: 0x0040, 0x620: 0x0040, 0x621: 0x0040, 0x622: 0x0040, 0x623: 0x0040,
+ 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040,
+ 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008,
+ 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040,
+ 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008,
+ 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1,
+ 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308,
0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008,
0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008,
- 0x630: 0x1308, 0x631: 0x1308, 0x632: 0x0008, 0x633: 0x0008, 0x634: 0x0008, 0x635: 0x1308,
- 0x636: 0x0040, 0x637: 0x0040, 0x638: 0x0040, 0x639: 0x0040, 0x63a: 0x0040, 0x63b: 0x0040,
- 0x63c: 0x0040, 0x63d: 0x0040, 0x63e: 0x0040, 0x63f: 0x0040,
+ 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018,
+ 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018,
+ 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x0040, 0x63f: 0x0040,
// Block 0x19, offset 0x640
- 0x640: 0x0040, 0x641: 0x1308, 0x642: 0x1308, 0x643: 0x1008, 0x644: 0x0040, 0x645: 0x0008,
- 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0008,
- 0x64c: 0x0008, 0x64d: 0x0008, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0008,
+ 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008,
+ 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040,
+ 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040,
0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008,
0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008,
0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008,
0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040,
0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008,
- 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0008, 0x674: 0x0040, 0x675: 0x0008,
- 0x676: 0x0008, 0x677: 0x0008, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040,
- 0x67c: 0x1308, 0x67d: 0x0008, 0x67e: 0x1008, 0x67f: 0x1008,
+ 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008,
+ 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040,
+ 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008,
// Block 0x1a, offset 0x680
- 0x680: 0x1008, 0x681: 0x1308, 0x682: 0x1308, 0x683: 0x1308, 0x684: 0x1308, 0x685: 0x1308,
- 0x686: 0x0040, 0x687: 0x1308, 0x688: 0x1308, 0x689: 0x1008, 0x68a: 0x0040, 0x68b: 0x1008,
- 0x68c: 0x1008, 0x68d: 0x1b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0008, 0x691: 0x0040,
+ 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040,
+ 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308,
+ 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308,
0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040,
- 0x698: 0x0040, 0x699: 0x0040, 0x69a: 0x0040, 0x69b: 0x0040, 0x69c: 0x0040, 0x69d: 0x0040,
- 0x69e: 0x0040, 0x69f: 0x0040, 0x6a0: 0x0008, 0x6a1: 0x0008, 0x6a2: 0x1308, 0x6a3: 0x1308,
+ 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040,
+ 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040,
0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008,
0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008,
- 0x6b0: 0x0018, 0x6b1: 0x0018, 0x6b2: 0x0040, 0x6b3: 0x0040, 0x6b4: 0x0040, 0x6b5: 0x0040,
- 0x6b6: 0x0040, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0008, 0x6ba: 0x0040, 0x6bb: 0x0040,
+ 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308,
+ 0x6b6: 0x0040, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040,
0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040,
// Block 0x1b, offset 0x6c0
- 0x6c0: 0x0040, 0x6c1: 0x1308, 0x6c2: 0x1008, 0x6c3: 0x1008, 0x6c4: 0x0040, 0x6c5: 0x0008,
+ 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008,
0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008,
- 0x6cc: 0x0008, 0x6cd: 0x0040, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0040,
+ 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008,
0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008,
0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008,
0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008,
@@ -889,1457 +889,1490 @@ var idnaValues = [8000]uint16{
0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008,
0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008,
0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040,
- 0x6fc: 0x1308, 0x6fd: 0x0008, 0x6fe: 0x1008, 0x6ff: 0x1308,
+ 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008,
// Block 0x1c, offset 0x700
- 0x700: 0x1008, 0x701: 0x1308, 0x702: 0x1308, 0x703: 0x1308, 0x704: 0x1308, 0x705: 0x0040,
- 0x706: 0x0040, 0x707: 0x1008, 0x708: 0x1008, 0x709: 0x0040, 0x70a: 0x0040, 0x70b: 0x1008,
- 0x70c: 0x1008, 0x70d: 0x1b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0040, 0x711: 0x0040,
- 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x1308, 0x717: 0x1008,
- 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0881, 0x71d: 0x08b9,
- 0x71e: 0x0040, 0x71f: 0x0008, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x1308, 0x723: 0x1308,
+ 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308,
+ 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008,
+ 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040,
+ 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040,
+ 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040,
+ 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308,
0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008,
0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008,
- 0x730: 0x0018, 0x731: 0x0008, 0x732: 0x0018, 0x733: 0x0018, 0x734: 0x0018, 0x735: 0x0018,
- 0x736: 0x0018, 0x737: 0x0018, 0x738: 0x0040, 0x739: 0x0040, 0x73a: 0x0040, 0x73b: 0x0040,
- 0x73c: 0x0040, 0x73d: 0x0040, 0x73e: 0x0040, 0x73f: 0x0040,
+ 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040,
+ 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308,
+ 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308,
// Block 0x1d, offset 0x740
- 0x740: 0x0040, 0x741: 0x0040, 0x742: 0x1308, 0x743: 0x0008, 0x744: 0x0040, 0x745: 0x0008,
- 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0040,
- 0x74c: 0x0040, 0x74d: 0x0040, 0x74e: 0x0008, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040,
- 0x752: 0x0008, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0040, 0x757: 0x0040,
- 0x758: 0x0040, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0040, 0x75c: 0x0008, 0x75d: 0x0040,
- 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0040, 0x761: 0x0040, 0x762: 0x0040, 0x763: 0x0008,
- 0x764: 0x0008, 0x765: 0x0040, 0x766: 0x0040, 0x767: 0x0040, 0x768: 0x0008, 0x769: 0x0008,
- 0x76a: 0x0008, 0x76b: 0x0040, 0x76c: 0x0040, 0x76d: 0x0040, 0x76e: 0x0008, 0x76f: 0x0008,
- 0x770: 0x0008, 0x771: 0x0008, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0008, 0x775: 0x0008,
+ 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008,
+ 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008,
+ 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040,
+ 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008,
+ 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008,
+ 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008,
+ 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040,
+ 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008,
+ 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008,
0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040,
- 0x77c: 0x0040, 0x77d: 0x0040, 0x77e: 0x1008, 0x77f: 0x1008,
+ 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308,
// Block 0x1e, offset 0x780
- 0x780: 0x1308, 0x781: 0x1008, 0x782: 0x1008, 0x783: 0x1008, 0x784: 0x1008, 0x785: 0x0040,
- 0x786: 0x1308, 0x787: 0x1308, 0x788: 0x1308, 0x789: 0x0040, 0x78a: 0x1308, 0x78b: 0x1308,
- 0x78c: 0x1308, 0x78d: 0x1b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040,
- 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x1308, 0x796: 0x1308, 0x797: 0x0040,
- 0x798: 0x0008, 0x799: 0x0008, 0x79a: 0x0008, 0x79b: 0x0040, 0x79c: 0x0040, 0x79d: 0x0040,
- 0x79e: 0x0040, 0x79f: 0x0040, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x1308, 0x7a3: 0x1308,
+ 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040,
+ 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008,
+ 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040,
+ 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x0040, 0x796: 0x3308, 0x797: 0x3008,
+ 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9,
+ 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308,
0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008,
0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008,
- 0x7b0: 0x0040, 0x7b1: 0x0040, 0x7b2: 0x0040, 0x7b3: 0x0040, 0x7b4: 0x0040, 0x7b5: 0x0040,
- 0x7b6: 0x0040, 0x7b7: 0x0040, 0x7b8: 0x0018, 0x7b9: 0x0018, 0x7ba: 0x0018, 0x7bb: 0x0018,
- 0x7bc: 0x0018, 0x7bd: 0x0018, 0x7be: 0x0018, 0x7bf: 0x0018,
+ 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018,
+ 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040,
+ 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040,
// Block 0x1f, offset 0x7c0
- 0x7c0: 0x0008, 0x7c1: 0x1308, 0x7c2: 0x1008, 0x7c3: 0x1008, 0x7c4: 0x0040, 0x7c5: 0x0008,
- 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0008,
- 0x7cc: 0x0008, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040,
- 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0008, 0x7d7: 0x0008,
- 0x7d8: 0x0008, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0008, 0x7dc: 0x0008, 0x7dd: 0x0008,
- 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0008, 0x7e1: 0x0008, 0x7e2: 0x0008, 0x7e3: 0x0008,
- 0x7e4: 0x0008, 0x7e5: 0x0008, 0x7e6: 0x0008, 0x7e7: 0x0008, 0x7e8: 0x0008, 0x7e9: 0x0040,
- 0x7ea: 0x0008, 0x7eb: 0x0008, 0x7ec: 0x0008, 0x7ed: 0x0008, 0x7ee: 0x0008, 0x7ef: 0x0008,
- 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0040, 0x7f5: 0x0008,
+ 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008,
+ 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040,
+ 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040,
+ 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040,
+ 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040,
+ 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008,
+ 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008,
+ 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008,
+ 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008,
0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040,
- 0x7fc: 0x1308, 0x7fd: 0x0008, 0x7fe: 0x1008, 0x7ff: 0x1308,
+ 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008,
// Block 0x20, offset 0x800
- 0x800: 0x1008, 0x801: 0x1008, 0x802: 0x1008, 0x803: 0x1008, 0x804: 0x1008, 0x805: 0x0040,
- 0x806: 0x1308, 0x807: 0x1008, 0x808: 0x1008, 0x809: 0x0040, 0x80a: 0x1008, 0x80b: 0x1008,
- 0x80c: 0x1308, 0x80d: 0x1b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040,
- 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x1008, 0x816: 0x1008, 0x817: 0x0040,
- 0x818: 0x0040, 0x819: 0x0040, 0x81a: 0x0040, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040,
- 0x81e: 0x0008, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x1308, 0x823: 0x1308,
+ 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040,
+ 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308,
+ 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040,
+ 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040,
+ 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040,
+ 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308,
0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008,
0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008,
- 0x830: 0x0040, 0x831: 0x0008, 0x832: 0x0008, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040,
- 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0040, 0x839: 0x0040, 0x83a: 0x0040, 0x83b: 0x0040,
- 0x83c: 0x0040, 0x83d: 0x0040, 0x83e: 0x0040, 0x83f: 0x0040,
+ 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040,
+ 0x836: 0x0040, 0x837: 0x0040, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018,
+ 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018,
// Block 0x21, offset 0x840
- 0x840: 0x1008, 0x841: 0x1308, 0x842: 0x1308, 0x843: 0x1308, 0x844: 0x1308, 0x845: 0x0040,
- 0x846: 0x1008, 0x847: 0x1008, 0x848: 0x1008, 0x849: 0x0040, 0x84a: 0x1008, 0x84b: 0x1008,
- 0x84c: 0x1008, 0x84d: 0x1b08, 0x84e: 0x0008, 0x84f: 0x0018, 0x850: 0x0040, 0x851: 0x0040,
- 0x852: 0x0040, 0x853: 0x0040, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x1008,
- 0x858: 0x0018, 0x859: 0x0018, 0x85a: 0x0018, 0x85b: 0x0018, 0x85c: 0x0018, 0x85d: 0x0018,
- 0x85e: 0x0018, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x1308, 0x863: 0x1308,
- 0x864: 0x0040, 0x865: 0x0040, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0008,
+ 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0040, 0x845: 0x0008,
+ 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008,
+ 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040,
+ 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008,
+ 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008,
+ 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008,
+ 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040,
0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008,
- 0x870: 0x0018, 0x871: 0x0018, 0x872: 0x0018, 0x873: 0x0018, 0x874: 0x0018, 0x875: 0x0018,
- 0x876: 0x0018, 0x877: 0x0018, 0x878: 0x0018, 0x879: 0x0018, 0x87a: 0x0008, 0x87b: 0x0008,
- 0x87c: 0x0008, 0x87d: 0x0008, 0x87e: 0x0008, 0x87f: 0x0008,
+ 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008,
+ 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040,
+ 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308,
// Block 0x22, offset 0x880
- 0x880: 0x0040, 0x881: 0x0008, 0x882: 0x0008, 0x883: 0x0040, 0x884: 0x0008, 0x885: 0x0040,
- 0x886: 0x0040, 0x887: 0x0008, 0x888: 0x0008, 0x889: 0x0040, 0x88a: 0x0008, 0x88b: 0x0040,
- 0x88c: 0x0040, 0x88d: 0x0008, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040,
- 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0008, 0x895: 0x0008, 0x896: 0x0008, 0x897: 0x0008,
- 0x898: 0x0040, 0x899: 0x0008, 0x89a: 0x0008, 0x89b: 0x0008, 0x89c: 0x0008, 0x89d: 0x0008,
- 0x89e: 0x0008, 0x89f: 0x0008, 0x8a0: 0x0040, 0x8a1: 0x0008, 0x8a2: 0x0008, 0x8a3: 0x0008,
- 0x8a4: 0x0040, 0x8a5: 0x0008, 0x8a6: 0x0040, 0x8a7: 0x0008, 0x8a8: 0x0040, 0x8a9: 0x0040,
- 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0040, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,
- 0x8b0: 0x0008, 0x8b1: 0x1308, 0x8b2: 0x0008, 0x8b3: 0x0929, 0x8b4: 0x1308, 0x8b5: 0x1308,
- 0x8b6: 0x1308, 0x8b7: 0x1308, 0x8b8: 0x1308, 0x8b9: 0x1308, 0x8ba: 0x0040, 0x8bb: 0x1308,
- 0x8bc: 0x1308, 0x8bd: 0x0008, 0x8be: 0x0040, 0x8bf: 0x0040,
+ 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040,
+ 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008,
+ 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040,
+ 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040,
+ 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040,
+ 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308,
+ 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008,
+ 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008,
+ 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040,
+ 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040,
+ 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040,
// Block 0x23, offset 0x8c0
- 0x8c0: 0x0008, 0x8c1: 0x0008, 0x8c2: 0x0008, 0x8c3: 0x09d1, 0x8c4: 0x0008, 0x8c5: 0x0008,
- 0x8c6: 0x0008, 0x8c7: 0x0008, 0x8c8: 0x0040, 0x8c9: 0x0008, 0x8ca: 0x0008, 0x8cb: 0x0008,
- 0x8cc: 0x0008, 0x8cd: 0x0a09, 0x8ce: 0x0008, 0x8cf: 0x0008, 0x8d0: 0x0008, 0x8d1: 0x0008,
- 0x8d2: 0x0a41, 0x8d3: 0x0008, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x0a79,
- 0x8d8: 0x0008, 0x8d9: 0x0008, 0x8da: 0x0008, 0x8db: 0x0008, 0x8dc: 0x0ab1, 0x8dd: 0x0008,
- 0x8de: 0x0008, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x0008, 0x8e3: 0x0008,
- 0x8e4: 0x0008, 0x8e5: 0x0008, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0ae9,
- 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0040, 0x8ee: 0x0040, 0x8ef: 0x0040,
- 0x8f0: 0x0040, 0x8f1: 0x1308, 0x8f2: 0x1308, 0x8f3: 0x0b21, 0x8f4: 0x1308, 0x8f5: 0x0b59,
- 0x8f6: 0x0b91, 0x8f7: 0x0bc9, 0x8f8: 0x0c19, 0x8f9: 0x0c51, 0x8fa: 0x1308, 0x8fb: 0x1308,
- 0x8fc: 0x1308, 0x8fd: 0x1308, 0x8fe: 0x1308, 0x8ff: 0x1008,
+ 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040,
+ 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008,
+ 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040,
+ 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008,
+ 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018,
+ 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308,
+ 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008,
+ 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008,
+ 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018,
+ 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008,
+ 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008,
// Block 0x24, offset 0x900
- 0x900: 0x1308, 0x901: 0x0ca1, 0x902: 0x1308, 0x903: 0x1308, 0x904: 0x1b08, 0x905: 0x0018,
- 0x906: 0x1308, 0x907: 0x1308, 0x908: 0x0008, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0008,
- 0x90c: 0x0008, 0x90d: 0x1308, 0x90e: 0x1308, 0x90f: 0x1308, 0x910: 0x1308, 0x911: 0x1308,
- 0x912: 0x1308, 0x913: 0x0cd9, 0x914: 0x1308, 0x915: 0x1308, 0x916: 0x1308, 0x917: 0x1308,
- 0x918: 0x0040, 0x919: 0x1308, 0x91a: 0x1308, 0x91b: 0x1308, 0x91c: 0x1308, 0x91d: 0x0d11,
- 0x91e: 0x1308, 0x91f: 0x1308, 0x920: 0x1308, 0x921: 0x1308, 0x922: 0x0d49, 0x923: 0x1308,
- 0x924: 0x1308, 0x925: 0x1308, 0x926: 0x1308, 0x927: 0x0d81, 0x928: 0x1308, 0x929: 0x1308,
- 0x92a: 0x1308, 0x92b: 0x1308, 0x92c: 0x0db9, 0x92d: 0x1308, 0x92e: 0x1308, 0x92f: 0x1308,
- 0x930: 0x1308, 0x931: 0x1308, 0x932: 0x1308, 0x933: 0x1308, 0x934: 0x1308, 0x935: 0x1308,
- 0x936: 0x1308, 0x937: 0x1308, 0x938: 0x1308, 0x939: 0x0df1, 0x93a: 0x1308, 0x93b: 0x1308,
- 0x93c: 0x1308, 0x93d: 0x0040, 0x93e: 0x0018, 0x93f: 0x0018,
+ 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040,
+ 0x906: 0x0040, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0040, 0x90a: 0x0008, 0x90b: 0x0040,
+ 0x90c: 0x0040, 0x90d: 0x0008, 0x90e: 0x0040, 0x90f: 0x0040, 0x910: 0x0040, 0x911: 0x0040,
+ 0x912: 0x0040, 0x913: 0x0040, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008,
+ 0x918: 0x0040, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008,
+ 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0040, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008,
+ 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0040, 0x929: 0x0040,
+ 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0040, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008,
+ 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308,
+ 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x0040, 0x93b: 0x3308,
+ 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040,
// Block 0x25, offset 0x940
- 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x0008, 0x944: 0x0008, 0x945: 0x0008,
- 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0008, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008,
- 0x94c: 0x0008, 0x94d: 0x0008, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008,
- 0x952: 0x0008, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0008,
- 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0008, 0x95d: 0x0008,
+ 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008,
+ 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008,
+ 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008,
+ 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79,
+ 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008,
0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008,
- 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0008,
- 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0039, 0x96d: 0x0ed1, 0x96e: 0x0ee9, 0x96f: 0x0008,
- 0x970: 0x0ef9, 0x971: 0x0f09, 0x972: 0x0f19, 0x973: 0x0f31, 0x974: 0x0249, 0x975: 0x0f41,
- 0x976: 0x0259, 0x977: 0x0f51, 0x978: 0x0359, 0x979: 0x0f61, 0x97a: 0x0f71, 0x97b: 0x0008,
- 0x97c: 0x00d9, 0x97d: 0x0f81, 0x97e: 0x0f99, 0x97f: 0x0269,
+ 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9,
+ 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040,
+ 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59,
+ 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308,
+ 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008,
// Block 0x26, offset 0x980
- 0x980: 0x0fa9, 0x981: 0x0fb9, 0x982: 0x0279, 0x983: 0x0039, 0x984: 0x0fc9, 0x985: 0x0fe1,
- 0x986: 0x059d, 0x987: 0x0ee9, 0x988: 0x0ef9, 0x989: 0x0f09, 0x98a: 0x0ff9, 0x98b: 0x1011,
- 0x98c: 0x1029, 0x98d: 0x0f31, 0x98e: 0x0008, 0x98f: 0x0f51, 0x990: 0x0f61, 0x991: 0x1041,
- 0x992: 0x00d9, 0x993: 0x1059, 0x994: 0x05b5, 0x995: 0x05b5, 0x996: 0x0f99, 0x997: 0x0fa9,
- 0x998: 0x0fb9, 0x999: 0x059d, 0x99a: 0x1071, 0x99b: 0x1089, 0x99c: 0x05cd, 0x99d: 0x1099,
- 0x99e: 0x10b1, 0x99f: 0x10c9, 0x9a0: 0x10e1, 0x9a1: 0x10f9, 0x9a2: 0x0f41, 0x9a3: 0x0269,
- 0x9a4: 0x0fb9, 0x9a5: 0x1089, 0x9a6: 0x1099, 0x9a7: 0x10b1, 0x9a8: 0x1111, 0x9a9: 0x10e1,
- 0x9aa: 0x10f9, 0x9ab: 0x0008, 0x9ac: 0x0008, 0x9ad: 0x0008, 0x9ae: 0x0008, 0x9af: 0x0008,
- 0x9b0: 0x0008, 0x9b1: 0x0008, 0x9b2: 0x0008, 0x9b3: 0x0008, 0x9b4: 0x0008, 0x9b5: 0x0008,
- 0x9b6: 0x0008, 0x9b7: 0x0008, 0x9b8: 0x1129, 0x9b9: 0x0008, 0x9ba: 0x0008, 0x9bb: 0x0008,
- 0x9bc: 0x0008, 0x9bd: 0x0008, 0x9be: 0x0008, 0x9bf: 0x0008,
+ 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018,
+ 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008,
+ 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308,
+ 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308,
+ 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11,
+ 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308,
+ 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308,
+ 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308,
+ 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308,
+ 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308,
+ 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018,
// Block 0x27, offset 0x9c0
0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008,
0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008,
0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008,
0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008,
- 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x1141, 0x9dc: 0x1159, 0x9dd: 0x1169,
- 0x9de: 0x1181, 0x9df: 0x1029, 0x9e0: 0x1199, 0x9e1: 0x11a9, 0x9e2: 0x11c1, 0x9e3: 0x11d9,
- 0x9e4: 0x11f1, 0x9e5: 0x1209, 0x9e6: 0x1221, 0x9e7: 0x05e5, 0x9e8: 0x1239, 0x9e9: 0x1251,
- 0x9ea: 0xe17d, 0x9eb: 0x1269, 0x9ec: 0x1281, 0x9ed: 0x1299, 0x9ee: 0x12b1, 0x9ef: 0x12c9,
- 0x9f0: 0x12e1, 0x9f1: 0x12f9, 0x9f2: 0x1311, 0x9f3: 0x1329, 0x9f4: 0x1341, 0x9f5: 0x1359,
- 0x9f6: 0x1371, 0x9f7: 0x1389, 0x9f8: 0x05fd, 0x9f9: 0x13a1, 0x9fa: 0x13b9, 0x9fb: 0x13d1,
- 0x9fc: 0x13e1, 0x9fd: 0x13f9, 0x9fe: 0x1411, 0x9ff: 0x1429,
+ 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008,
+ 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008,
+ 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008,
+ 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008,
+ 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41,
+ 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008,
+ 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269,
// Block 0x28, offset 0xa00
- 0xa00: 0xe00d, 0xa01: 0x0008, 0xa02: 0xe00d, 0xa03: 0x0008, 0xa04: 0xe00d, 0xa05: 0x0008,
- 0xa06: 0xe00d, 0xa07: 0x0008, 0xa08: 0xe00d, 0xa09: 0x0008, 0xa0a: 0xe00d, 0xa0b: 0x0008,
- 0xa0c: 0xe00d, 0xa0d: 0x0008, 0xa0e: 0xe00d, 0xa0f: 0x0008, 0xa10: 0xe00d, 0xa11: 0x0008,
- 0xa12: 0xe00d, 0xa13: 0x0008, 0xa14: 0xe00d, 0xa15: 0x0008, 0xa16: 0xe00d, 0xa17: 0x0008,
- 0xa18: 0xe00d, 0xa19: 0x0008, 0xa1a: 0xe00d, 0xa1b: 0x0008, 0xa1c: 0xe00d, 0xa1d: 0x0008,
- 0xa1e: 0xe00d, 0xa1f: 0x0008, 0xa20: 0xe00d, 0xa21: 0x0008, 0xa22: 0xe00d, 0xa23: 0x0008,
- 0xa24: 0xe00d, 0xa25: 0x0008, 0xa26: 0xe00d, 0xa27: 0x0008, 0xa28: 0xe00d, 0xa29: 0x0008,
- 0xa2a: 0xe00d, 0xa2b: 0x0008, 0xa2c: 0xe00d, 0xa2d: 0x0008, 0xa2e: 0xe00d, 0xa2f: 0x0008,
- 0xa30: 0xe00d, 0xa31: 0x0008, 0xa32: 0xe00d, 0xa33: 0x0008, 0xa34: 0xe00d, 0xa35: 0x0008,
- 0xa36: 0xe00d, 0xa37: 0x0008, 0xa38: 0xe00d, 0xa39: 0x0008, 0xa3a: 0xe00d, 0xa3b: 0x0008,
- 0xa3c: 0xe00d, 0xa3d: 0x0008, 0xa3e: 0xe00d, 0xa3f: 0x0008,
+ 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1,
+ 0xa06: 0x059d, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011,
+ 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041,
+ 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05b5, 0xa15: 0x05b5, 0xa16: 0x0f99, 0xa17: 0x0fa9,
+ 0xa18: 0x0fb9, 0xa19: 0x059d, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05cd, 0xa1d: 0x1099,
+ 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269,
+ 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1,
+ 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008,
+ 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008,
+ 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008,
+ 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008,
// Block 0x29, offset 0xa40
- 0xa40: 0xe00d, 0xa41: 0x0008, 0xa42: 0xe00d, 0xa43: 0x0008, 0xa44: 0xe00d, 0xa45: 0x0008,
- 0xa46: 0xe00d, 0xa47: 0x0008, 0xa48: 0xe00d, 0xa49: 0x0008, 0xa4a: 0xe00d, 0xa4b: 0x0008,
- 0xa4c: 0xe00d, 0xa4d: 0x0008, 0xa4e: 0xe00d, 0xa4f: 0x0008, 0xa50: 0xe00d, 0xa51: 0x0008,
- 0xa52: 0xe00d, 0xa53: 0x0008, 0xa54: 0xe00d, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008,
- 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0615, 0xa5b: 0x0635, 0xa5c: 0x0008, 0xa5d: 0x0008,
- 0xa5e: 0x1441, 0xa5f: 0x0008, 0xa60: 0xe00d, 0xa61: 0x0008, 0xa62: 0xe00d, 0xa63: 0x0008,
- 0xa64: 0xe00d, 0xa65: 0x0008, 0xa66: 0xe00d, 0xa67: 0x0008, 0xa68: 0xe00d, 0xa69: 0x0008,
- 0xa6a: 0xe00d, 0xa6b: 0x0008, 0xa6c: 0xe00d, 0xa6d: 0x0008, 0xa6e: 0xe00d, 0xa6f: 0x0008,
- 0xa70: 0xe00d, 0xa71: 0x0008, 0xa72: 0xe00d, 0xa73: 0x0008, 0xa74: 0xe00d, 0xa75: 0x0008,
- 0xa76: 0xe00d, 0xa77: 0x0008, 0xa78: 0xe00d, 0xa79: 0x0008, 0xa7a: 0xe00d, 0xa7b: 0x0008,
- 0xa7c: 0xe00d, 0xa7d: 0x0008, 0xa7e: 0xe00d, 0xa7f: 0x0008,
+ 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008,
+ 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008,
+ 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008,
+ 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008,
+ 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169,
+ 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9,
+ 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05e5, 0xa68: 0x1239, 0xa69: 0x1251,
+ 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9,
+ 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359,
+ 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x05fd, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1,
+ 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429,
// Block 0x2a, offset 0xa80
- 0xa80: 0x0008, 0xa81: 0x0008, 0xa82: 0x0008, 0xa83: 0x0008, 0xa84: 0x0008, 0xa85: 0x0008,
- 0xa86: 0x0040, 0xa87: 0x0040, 0xa88: 0xe045, 0xa89: 0xe045, 0xa8a: 0xe045, 0xa8b: 0xe045,
- 0xa8c: 0xe045, 0xa8d: 0xe045, 0xa8e: 0x0040, 0xa8f: 0x0040, 0xa90: 0x0008, 0xa91: 0x0008,
- 0xa92: 0x0008, 0xa93: 0x0008, 0xa94: 0x0008, 0xa95: 0x0008, 0xa96: 0x0008, 0xa97: 0x0008,
- 0xa98: 0x0040, 0xa99: 0xe045, 0xa9a: 0x0040, 0xa9b: 0xe045, 0xa9c: 0x0040, 0xa9d: 0xe045,
- 0xa9e: 0x0040, 0xa9f: 0xe045, 0xaa0: 0x0008, 0xaa1: 0x0008, 0xaa2: 0x0008, 0xaa3: 0x0008,
- 0xaa4: 0x0008, 0xaa5: 0x0008, 0xaa6: 0x0008, 0xaa7: 0x0008, 0xaa8: 0xe045, 0xaa9: 0xe045,
- 0xaaa: 0xe045, 0xaab: 0xe045, 0xaac: 0xe045, 0xaad: 0xe045, 0xaae: 0xe045, 0xaaf: 0xe045,
- 0xab0: 0x0008, 0xab1: 0x1459, 0xab2: 0x0008, 0xab3: 0x1471, 0xab4: 0x0008, 0xab5: 0x1489,
- 0xab6: 0x0008, 0xab7: 0x14a1, 0xab8: 0x0008, 0xab9: 0x14b9, 0xaba: 0x0008, 0xabb: 0x14d1,
- 0xabc: 0x0008, 0xabd: 0x14e9, 0xabe: 0x0040, 0xabf: 0x0040,
+ 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008,
+ 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008,
+ 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008,
+ 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008,
+ 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008,
+ 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008,
+ 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008,
+ 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008,
+ 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008,
+ 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008,
+ 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008,
// Block 0x2b, offset 0xac0
- 0xac0: 0x1501, 0xac1: 0x1531, 0xac2: 0x1561, 0xac3: 0x1591, 0xac4: 0x15c1, 0xac5: 0x15f1,
- 0xac6: 0x1621, 0xac7: 0x1651, 0xac8: 0x1501, 0xac9: 0x1531, 0xaca: 0x1561, 0xacb: 0x1591,
- 0xacc: 0x15c1, 0xacd: 0x15f1, 0xace: 0x1621, 0xacf: 0x1651, 0xad0: 0x1681, 0xad1: 0x16b1,
- 0xad2: 0x16e1, 0xad3: 0x1711, 0xad4: 0x1741, 0xad5: 0x1771, 0xad6: 0x17a1, 0xad7: 0x17d1,
- 0xad8: 0x1681, 0xad9: 0x16b1, 0xada: 0x16e1, 0xadb: 0x1711, 0xadc: 0x1741, 0xadd: 0x1771,
- 0xade: 0x17a1, 0xadf: 0x17d1, 0xae0: 0x1801, 0xae1: 0x1831, 0xae2: 0x1861, 0xae3: 0x1891,
- 0xae4: 0x18c1, 0xae5: 0x18f1, 0xae6: 0x1921, 0xae7: 0x1951, 0xae8: 0x1801, 0xae9: 0x1831,
- 0xaea: 0x1861, 0xaeb: 0x1891, 0xaec: 0x18c1, 0xaed: 0x18f1, 0xaee: 0x1921, 0xaef: 0x1951,
- 0xaf0: 0x0008, 0xaf1: 0x0008, 0xaf2: 0x1981, 0xaf3: 0x19b1, 0xaf4: 0x19d9, 0xaf5: 0x0040,
- 0xaf6: 0x0008, 0xaf7: 0x1a01, 0xaf8: 0xe045, 0xaf9: 0xe045, 0xafa: 0x064d, 0xafb: 0x1459,
- 0xafc: 0x19b1, 0xafd: 0x0666, 0xafe: 0x1a31, 0xaff: 0x0686,
+ 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008,
+ 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008,
+ 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008,
+ 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008,
+ 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x0615, 0xadb: 0x0635, 0xadc: 0x0008, 0xadd: 0x0008,
+ 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008,
+ 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008,
+ 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008,
+ 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008,
+ 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008,
+ 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008,
// Block 0x2c, offset 0xb00
- 0xb00: 0x06a6, 0xb01: 0x1a4a, 0xb02: 0x1a79, 0xb03: 0x1aa9, 0xb04: 0x1ad1, 0xb05: 0x0040,
- 0xb06: 0x0008, 0xb07: 0x1af9, 0xb08: 0x06c5, 0xb09: 0x1471, 0xb0a: 0x06dd, 0xb0b: 0x1489,
- 0xb0c: 0x1aa9, 0xb0d: 0x1b2a, 0xb0e: 0x1b5a, 0xb0f: 0x1b8a, 0xb10: 0x0008, 0xb11: 0x0008,
- 0xb12: 0x0008, 0xb13: 0x1bb9, 0xb14: 0x0040, 0xb15: 0x0040, 0xb16: 0x0008, 0xb17: 0x0008,
- 0xb18: 0xe045, 0xb19: 0xe045, 0xb1a: 0x06f5, 0xb1b: 0x14a1, 0xb1c: 0x0040, 0xb1d: 0x1bd2,
- 0xb1e: 0x1c02, 0xb1f: 0x1c32, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x1c61,
+ 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008,
+ 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045,
+ 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008,
+ 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008,
+ 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045,
+ 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008,
0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045,
- 0xb2a: 0x070d, 0xb2b: 0x14d1, 0xb2c: 0xe04d, 0xb2d: 0x1c7a, 0xb2e: 0x03d2, 0xb2f: 0x1caa,
- 0xb30: 0x0040, 0xb31: 0x0040, 0xb32: 0x1cb9, 0xb33: 0x1ce9, 0xb34: 0x1d11, 0xb35: 0x0040,
- 0xb36: 0x0008, 0xb37: 0x1d39, 0xb38: 0x0725, 0xb39: 0x14b9, 0xb3a: 0x0515, 0xb3b: 0x14e9,
- 0xb3c: 0x1ce9, 0xb3d: 0x073e, 0xb3e: 0x075e, 0xb3f: 0x0040,
+ 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045,
+ 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489,
+ 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1,
+ 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040,
// Block 0x2d, offset 0xb40
- 0xb40: 0x000a, 0xb41: 0x000a, 0xb42: 0x000a, 0xb43: 0x000a, 0xb44: 0x000a, 0xb45: 0x000a,
- 0xb46: 0x000a, 0xb47: 0x000a, 0xb48: 0x000a, 0xb49: 0x000a, 0xb4a: 0x000a, 0xb4b: 0x03c0,
- 0xb4c: 0x0003, 0xb4d: 0x0003, 0xb4e: 0x0340, 0xb4f: 0x0340, 0xb50: 0x0018, 0xb51: 0xe00d,
- 0xb52: 0x0018, 0xb53: 0x0018, 0xb54: 0x0018, 0xb55: 0x0018, 0xb56: 0x0018, 0xb57: 0x077e,
- 0xb58: 0x0018, 0xb59: 0x0018, 0xb5a: 0x0018, 0xb5b: 0x0018, 0xb5c: 0x0018, 0xb5d: 0x0018,
- 0xb5e: 0x0018, 0xb5f: 0x0018, 0xb60: 0x0018, 0xb61: 0x0018, 0xb62: 0x0018, 0xb63: 0x0018,
- 0xb64: 0x0040, 0xb65: 0x0040, 0xb66: 0x0040, 0xb67: 0x0018, 0xb68: 0x0040, 0xb69: 0x0040,
- 0xb6a: 0x0340, 0xb6b: 0x0340, 0xb6c: 0x0340, 0xb6d: 0x0340, 0xb6e: 0x0340, 0xb6f: 0x000a,
- 0xb70: 0x0018, 0xb71: 0x0018, 0xb72: 0x0018, 0xb73: 0x1d69, 0xb74: 0x1da1, 0xb75: 0x0018,
- 0xb76: 0x1df1, 0xb77: 0x1e29, 0xb78: 0x0018, 0xb79: 0x0018, 0xb7a: 0x0018, 0xb7b: 0x0018,
- 0xb7c: 0x1e7a, 0xb7d: 0x0018, 0xb7e: 0x079e, 0xb7f: 0x0018,
+ 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1,
+ 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591,
+ 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1,
+ 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1,
+ 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771,
+ 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891,
+ 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831,
+ 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951,
+ 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040,
+ 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x064d, 0xb7b: 0x1459,
+ 0xb7c: 0x19b1, 0xb7d: 0x0666, 0xb7e: 0x1a31, 0xb7f: 0x0686,
// Block 0x2e, offset 0xb80
- 0xb80: 0x0018, 0xb81: 0x0018, 0xb82: 0x0018, 0xb83: 0x0018, 0xb84: 0x0018, 0xb85: 0x0018,
- 0xb86: 0x0018, 0xb87: 0x1e92, 0xb88: 0x1eaa, 0xb89: 0x1ec2, 0xb8a: 0x0018, 0xb8b: 0x0018,
- 0xb8c: 0x0018, 0xb8d: 0x0018, 0xb8e: 0x0018, 0xb8f: 0x0018, 0xb90: 0x0018, 0xb91: 0x0018,
- 0xb92: 0x0018, 0xb93: 0x0018, 0xb94: 0x0018, 0xb95: 0x0018, 0xb96: 0x0018, 0xb97: 0x1ed9,
- 0xb98: 0x0018, 0xb99: 0x0018, 0xb9a: 0x0018, 0xb9b: 0x0018, 0xb9c: 0x0018, 0xb9d: 0x0018,
- 0xb9e: 0x0018, 0xb9f: 0x000a, 0xba0: 0x03c0, 0xba1: 0x0340, 0xba2: 0x0340, 0xba3: 0x0340,
- 0xba4: 0x03c0, 0xba5: 0x0040, 0xba6: 0x0040, 0xba7: 0x0040, 0xba8: 0x0040, 0xba9: 0x0040,
- 0xbaa: 0x0340, 0xbab: 0x0340, 0xbac: 0x0340, 0xbad: 0x0340, 0xbae: 0x0340, 0xbaf: 0x0340,
- 0xbb0: 0x1f41, 0xbb1: 0x0f41, 0xbb2: 0x0040, 0xbb3: 0x0040, 0xbb4: 0x1f51, 0xbb5: 0x1f61,
- 0xbb6: 0x1f71, 0xbb7: 0x1f81, 0xbb8: 0x1f91, 0xbb9: 0x1fa1, 0xbba: 0x1fb2, 0xbbb: 0x07bd,
- 0xbbc: 0x1fc2, 0xbbd: 0x1fd2, 0xbbe: 0x1fe2, 0xbbf: 0x0f71,
+ 0xb80: 0x06a6, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040,
+ 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06c5, 0xb89: 0x1471, 0xb8a: 0x06dd, 0xb8b: 0x1489,
+ 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008,
+ 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008,
+ 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x06f5, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2,
+ 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61,
+ 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045,
+ 0xbaa: 0x070d, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa,
+ 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040,
+ 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x0725, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9,
+ 0xbbc: 0x1ce9, 0xbbd: 0x073e, 0xbbe: 0x075e, 0xbbf: 0x0040,
// Block 0x2f, offset 0xbc0
- 0xbc0: 0x1f41, 0xbc1: 0x00c9, 0xbc2: 0x0069, 0xbc3: 0x0079, 0xbc4: 0x1f51, 0xbc5: 0x1f61,
- 0xbc6: 0x1f71, 0xbc7: 0x1f81, 0xbc8: 0x1f91, 0xbc9: 0x1fa1, 0xbca: 0x1fb2, 0xbcb: 0x07d5,
- 0xbcc: 0x1fc2, 0xbcd: 0x1fd2, 0xbce: 0x1fe2, 0xbcf: 0x0040, 0xbd0: 0x0039, 0xbd1: 0x0f09,
- 0xbd2: 0x00d9, 0xbd3: 0x0369, 0xbd4: 0x0ff9, 0xbd5: 0x0249, 0xbd6: 0x0f51, 0xbd7: 0x0359,
- 0xbd8: 0x0f61, 0xbd9: 0x0f71, 0xbda: 0x0f99, 0xbdb: 0x01d9, 0xbdc: 0x0fa9, 0xbdd: 0x0040,
- 0xbde: 0x0040, 0xbdf: 0x0040, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018,
- 0xbe4: 0x0018, 0xbe5: 0x0018, 0xbe6: 0x0018, 0xbe7: 0x0018, 0xbe8: 0x1ff1, 0xbe9: 0x0018,
- 0xbea: 0x0018, 0xbeb: 0x0018, 0xbec: 0x0018, 0xbed: 0x0018, 0xbee: 0x0018, 0xbef: 0x0018,
- 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x0018, 0xbf4: 0x0018, 0xbf5: 0x0018,
- 0xbf6: 0x0018, 0xbf7: 0x0018, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018,
- 0xbfc: 0x0018, 0xbfd: 0x0018, 0xbfe: 0x0018, 0xbff: 0x0040,
+ 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a,
+ 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0,
+ 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d,
+ 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x077e,
+ 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018,
+ 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018,
+ 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040,
+ 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a,
+ 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018,
+ 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018,
+ 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x079e, 0xbff: 0x0018,
// Block 0x30, offset 0xc00
- 0xc00: 0x07ee, 0xc01: 0x080e, 0xc02: 0x1159, 0xc03: 0x082d, 0xc04: 0x0018, 0xc05: 0x084e,
- 0xc06: 0x086e, 0xc07: 0x1011, 0xc08: 0x0018, 0xc09: 0x088d, 0xc0a: 0x0f31, 0xc0b: 0x0249,
- 0xc0c: 0x0249, 0xc0d: 0x0249, 0xc0e: 0x0249, 0xc0f: 0x2009, 0xc10: 0x0f41, 0xc11: 0x0f41,
- 0xc12: 0x0359, 0xc13: 0x0359, 0xc14: 0x0018, 0xc15: 0x0f71, 0xc16: 0x2021, 0xc17: 0x0018,
- 0xc18: 0x0018, 0xc19: 0x0f99, 0xc1a: 0x2039, 0xc1b: 0x0269, 0xc1c: 0x0269, 0xc1d: 0x0269,
- 0xc1e: 0x0018, 0xc1f: 0x0018, 0xc20: 0x2049, 0xc21: 0x08ad, 0xc22: 0x2061, 0xc23: 0x0018,
- 0xc24: 0x13d1, 0xc25: 0x0018, 0xc26: 0x2079, 0xc27: 0x0018, 0xc28: 0x13d1, 0xc29: 0x0018,
- 0xc2a: 0x0f51, 0xc2b: 0x2091, 0xc2c: 0x0ee9, 0xc2d: 0x1159, 0xc2e: 0x0018, 0xc2f: 0x0f09,
- 0xc30: 0x0f09, 0xc31: 0x1199, 0xc32: 0x0040, 0xc33: 0x0f61, 0xc34: 0x00d9, 0xc35: 0x20a9,
- 0xc36: 0x20c1, 0xc37: 0x20d9, 0xc38: 0x20f1, 0xc39: 0x0f41, 0xc3a: 0x0018, 0xc3b: 0x08cd,
- 0xc3c: 0x2109, 0xc3d: 0x10b1, 0xc3e: 0x10b1, 0xc3f: 0x2109,
+ 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018,
+ 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018,
+ 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018,
+ 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9,
+ 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018,
+ 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340,
+ 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040,
+ 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340,
+ 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61,
+ 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07bd,
+ 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71,
// Block 0x31, offset 0xc40
- 0xc40: 0x08ed, 0xc41: 0x0018, 0xc42: 0x0018, 0xc43: 0x0018, 0xc44: 0x0018, 0xc45: 0x0ef9,
- 0xc46: 0x0ef9, 0xc47: 0x0f09, 0xc48: 0x0f41, 0xc49: 0x0259, 0xc4a: 0x0018, 0xc4b: 0x0018,
- 0xc4c: 0x0018, 0xc4d: 0x0018, 0xc4e: 0x0008, 0xc4f: 0x0018, 0xc50: 0x2121, 0xc51: 0x2151,
- 0xc52: 0x2181, 0xc53: 0x21b9, 0xc54: 0x21e9, 0xc55: 0x2219, 0xc56: 0x2249, 0xc57: 0x2279,
- 0xc58: 0x22a9, 0xc59: 0x22d9, 0xc5a: 0x2309, 0xc5b: 0x2339, 0xc5c: 0x2369, 0xc5d: 0x2399,
- 0xc5e: 0x23c9, 0xc5f: 0x23f9, 0xc60: 0x0f41, 0xc61: 0x2421, 0xc62: 0x0905, 0xc63: 0x2439,
- 0xc64: 0x1089, 0xc65: 0x2451, 0xc66: 0x0925, 0xc67: 0x2469, 0xc68: 0x2491, 0xc69: 0x0369,
- 0xc6a: 0x24a9, 0xc6b: 0x0945, 0xc6c: 0x0359, 0xc6d: 0x1159, 0xc6e: 0x0ef9, 0xc6f: 0x0f61,
- 0xc70: 0x0f41, 0xc71: 0x2421, 0xc72: 0x0965, 0xc73: 0x2439, 0xc74: 0x1089, 0xc75: 0x2451,
- 0xc76: 0x0985, 0xc77: 0x2469, 0xc78: 0x2491, 0xc79: 0x0369, 0xc7a: 0x24a9, 0xc7b: 0x09a5,
- 0xc7c: 0x0359, 0xc7d: 0x1159, 0xc7e: 0x0ef9, 0xc7f: 0x0f61,
+ 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61,
+ 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07d5,
+ 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09,
+ 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359,
+ 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040,
+ 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018,
+ 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018,
+ 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018,
+ 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018,
+ 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018,
+ 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018,
// Block 0x32, offset 0xc80
- 0xc80: 0x0018, 0xc81: 0x0018, 0xc82: 0x0018, 0xc83: 0x0018, 0xc84: 0x0018, 0xc85: 0x0018,
- 0xc86: 0x0018, 0xc87: 0x0018, 0xc88: 0x0018, 0xc89: 0x0018, 0xc8a: 0x0018, 0xc8b: 0x0040,
- 0xc8c: 0x0040, 0xc8d: 0x0040, 0xc8e: 0x0040, 0xc8f: 0x0040, 0xc90: 0x0040, 0xc91: 0x0040,
- 0xc92: 0x0040, 0xc93: 0x0040, 0xc94: 0x0040, 0xc95: 0x0040, 0xc96: 0x0040, 0xc97: 0x0040,
- 0xc98: 0x0040, 0xc99: 0x0040, 0xc9a: 0x0040, 0xc9b: 0x0040, 0xc9c: 0x0040, 0xc9d: 0x0040,
- 0xc9e: 0x0040, 0xc9f: 0x0040, 0xca0: 0x00c9, 0xca1: 0x0069, 0xca2: 0x0079, 0xca3: 0x1f51,
- 0xca4: 0x1f61, 0xca5: 0x1f71, 0xca6: 0x1f81, 0xca7: 0x1f91, 0xca8: 0x1fa1, 0xca9: 0x2601,
- 0xcaa: 0x2619, 0xcab: 0x2631, 0xcac: 0x2649, 0xcad: 0x2661, 0xcae: 0x2679, 0xcaf: 0x2691,
- 0xcb0: 0x26a9, 0xcb1: 0x26c1, 0xcb2: 0x26d9, 0xcb3: 0x26f1, 0xcb4: 0x0a06, 0xcb5: 0x0a26,
- 0xcb6: 0x0a46, 0xcb7: 0x0a66, 0xcb8: 0x0a86, 0xcb9: 0x0aa6, 0xcba: 0x0ac6, 0xcbb: 0x0ae6,
- 0xcbc: 0x0b06, 0xcbd: 0x270a, 0xcbe: 0x2732, 0xcbf: 0x275a,
+ 0xc80: 0x07ee, 0xc81: 0x080e, 0xc82: 0x1159, 0xc83: 0x082d, 0xc84: 0x0018, 0xc85: 0x084e,
+ 0xc86: 0x086e, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x088d, 0xc8a: 0x0f31, 0xc8b: 0x0249,
+ 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41,
+ 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018,
+ 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269,
+ 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08ad, 0xca2: 0x2061, 0xca3: 0x0018,
+ 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018,
+ 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09,
+ 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9,
+ 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08cd,
+ 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109,
// Block 0x33, offset 0xcc0
- 0xcc0: 0x2782, 0xcc1: 0x27aa, 0xcc2: 0x27d2, 0xcc3: 0x27fa, 0xcc4: 0x2822, 0xcc5: 0x284a,
- 0xcc6: 0x2872, 0xcc7: 0x289a, 0xcc8: 0x0040, 0xcc9: 0x0040, 0xcca: 0x0040, 0xccb: 0x0040,
- 0xccc: 0x0040, 0xccd: 0x0040, 0xcce: 0x0040, 0xccf: 0x0040, 0xcd0: 0x0040, 0xcd1: 0x0040,
- 0xcd2: 0x0040, 0xcd3: 0x0040, 0xcd4: 0x0040, 0xcd5: 0x0040, 0xcd6: 0x0040, 0xcd7: 0x0040,
- 0xcd8: 0x0040, 0xcd9: 0x0040, 0xcda: 0x0040, 0xcdb: 0x0040, 0xcdc: 0x0b26, 0xcdd: 0x0b46,
- 0xcde: 0x0b66, 0xcdf: 0x0b86, 0xce0: 0x0ba6, 0xce1: 0x0bc6, 0xce2: 0x0be6, 0xce3: 0x0c06,
- 0xce4: 0x0c26, 0xce5: 0x0c46, 0xce6: 0x0c66, 0xce7: 0x0c86, 0xce8: 0x0ca6, 0xce9: 0x0cc6,
- 0xcea: 0x0ce6, 0xceb: 0x0d06, 0xcec: 0x0d26, 0xced: 0x0d46, 0xcee: 0x0d66, 0xcef: 0x0d86,
- 0xcf0: 0x0da6, 0xcf1: 0x0dc6, 0xcf2: 0x0de6, 0xcf3: 0x0e06, 0xcf4: 0x0e26, 0xcf5: 0x0e46,
- 0xcf6: 0x0039, 0xcf7: 0x0ee9, 0xcf8: 0x1159, 0xcf9: 0x0ef9, 0xcfa: 0x0f09, 0xcfb: 0x1199,
- 0xcfc: 0x0f31, 0xcfd: 0x0249, 0xcfe: 0x0f41, 0xcff: 0x0259,
+ 0xcc0: 0x08ed, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9,
+ 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018,
+ 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151,
+ 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279,
+ 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399,
+ 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x0905, 0xce3: 0x2439,
+ 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x0925, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369,
+ 0xcea: 0x24a9, 0xceb: 0x0945, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61,
+ 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x0965, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451,
+ 0xcf6: 0x0985, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09a5,
+ 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61,
// Block 0x34, offset 0xd00
- 0xd00: 0x0f51, 0xd01: 0x0359, 0xd02: 0x0f61, 0xd03: 0x0f71, 0xd04: 0x00d9, 0xd05: 0x0f99,
- 0xd06: 0x2039, 0xd07: 0x0269, 0xd08: 0x01d9, 0xd09: 0x0fa9, 0xd0a: 0x0fb9, 0xd0b: 0x1089,
- 0xd0c: 0x0279, 0xd0d: 0x0369, 0xd0e: 0x0289, 0xd0f: 0x13d1, 0xd10: 0x0039, 0xd11: 0x0ee9,
- 0xd12: 0x1159, 0xd13: 0x0ef9, 0xd14: 0x0f09, 0xd15: 0x1199, 0xd16: 0x0f31, 0xd17: 0x0249,
- 0xd18: 0x0f41, 0xd19: 0x0259, 0xd1a: 0x0f51, 0xd1b: 0x0359, 0xd1c: 0x0f61, 0xd1d: 0x0f71,
- 0xd1e: 0x00d9, 0xd1f: 0x0f99, 0xd20: 0x2039, 0xd21: 0x0269, 0xd22: 0x01d9, 0xd23: 0x0fa9,
- 0xd24: 0x0fb9, 0xd25: 0x1089, 0xd26: 0x0279, 0xd27: 0x0369, 0xd28: 0x0289, 0xd29: 0x13d1,
- 0xd2a: 0x1f41, 0xd2b: 0x0018, 0xd2c: 0x0018, 0xd2d: 0x0018, 0xd2e: 0x0018, 0xd2f: 0x0018,
- 0xd30: 0x0018, 0xd31: 0x0018, 0xd32: 0x0018, 0xd33: 0x0018, 0xd34: 0x0018, 0xd35: 0x0018,
- 0xd36: 0x0018, 0xd37: 0x0018, 0xd38: 0x0018, 0xd39: 0x0018, 0xd3a: 0x0018, 0xd3b: 0x0018,
- 0xd3c: 0x0018, 0xd3d: 0x0018, 0xd3e: 0x0018, 0xd3f: 0x0018,
+ 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018,
+ 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040,
+ 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040,
+ 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040,
+ 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040,
+ 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51,
+ 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601,
+ 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691,
+ 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a06, 0xd35: 0x0a26,
+ 0xd36: 0x0a46, 0xd37: 0x0a66, 0xd38: 0x0a86, 0xd39: 0x0aa6, 0xd3a: 0x0ac6, 0xd3b: 0x0ae6,
+ 0xd3c: 0x0b06, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a,
// Block 0x35, offset 0xd40
- 0xd40: 0x0008, 0xd41: 0x0008, 0xd42: 0x0008, 0xd43: 0x0008, 0xd44: 0x0008, 0xd45: 0x0008,
- 0xd46: 0x0008, 0xd47: 0x0008, 0xd48: 0x0008, 0xd49: 0x0008, 0xd4a: 0x0008, 0xd4b: 0x0008,
- 0xd4c: 0x0008, 0xd4d: 0x0008, 0xd4e: 0x0008, 0xd4f: 0x0008, 0xd50: 0x0008, 0xd51: 0x0008,
- 0xd52: 0x0008, 0xd53: 0x0008, 0xd54: 0x0008, 0xd55: 0x0008, 0xd56: 0x0008, 0xd57: 0x0008,
- 0xd58: 0x0008, 0xd59: 0x0008, 0xd5a: 0x0008, 0xd5b: 0x0008, 0xd5c: 0x0008, 0xd5d: 0x0008,
- 0xd5e: 0x0008, 0xd5f: 0x0040, 0xd60: 0xe00d, 0xd61: 0x0008, 0xd62: 0x2971, 0xd63: 0x0ebd,
- 0xd64: 0x2989, 0xd65: 0x0008, 0xd66: 0x0008, 0xd67: 0xe07d, 0xd68: 0x0008, 0xd69: 0xe01d,
- 0xd6a: 0x0008, 0xd6b: 0xe03d, 0xd6c: 0x0008, 0xd6d: 0x0fe1, 0xd6e: 0x1281, 0xd6f: 0x0fc9,
- 0xd70: 0x1141, 0xd71: 0x0008, 0xd72: 0xe00d, 0xd73: 0x0008, 0xd74: 0x0008, 0xd75: 0xe01d,
- 0xd76: 0x0008, 0xd77: 0x0008, 0xd78: 0x0008, 0xd79: 0x0008, 0xd7a: 0x0008, 0xd7b: 0x0008,
- 0xd7c: 0x0259, 0xd7d: 0x1089, 0xd7e: 0x29a1, 0xd7f: 0x29b9,
+ 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a,
+ 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040,
+ 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040,
+ 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040,
+ 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b26, 0xd5d: 0x0b46,
+ 0xd5e: 0x0b66, 0xd5f: 0x0b86, 0xd60: 0x0ba6, 0xd61: 0x0bc6, 0xd62: 0x0be6, 0xd63: 0x0c06,
+ 0xd64: 0x0c26, 0xd65: 0x0c46, 0xd66: 0x0c66, 0xd67: 0x0c86, 0xd68: 0x0ca6, 0xd69: 0x0cc6,
+ 0xd6a: 0x0ce6, 0xd6b: 0x0d06, 0xd6c: 0x0d26, 0xd6d: 0x0d46, 0xd6e: 0x0d66, 0xd6f: 0x0d86,
+ 0xd70: 0x0da6, 0xd71: 0x0dc6, 0xd72: 0x0de6, 0xd73: 0x0e06, 0xd74: 0x0e26, 0xd75: 0x0e46,
+ 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199,
+ 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259,
// Block 0x36, offset 0xd80
- 0xd80: 0xe00d, 0xd81: 0x0008, 0xd82: 0xe00d, 0xd83: 0x0008, 0xd84: 0xe00d, 0xd85: 0x0008,
- 0xd86: 0xe00d, 0xd87: 0x0008, 0xd88: 0xe00d, 0xd89: 0x0008, 0xd8a: 0xe00d, 0xd8b: 0x0008,
- 0xd8c: 0xe00d, 0xd8d: 0x0008, 0xd8e: 0xe00d, 0xd8f: 0x0008, 0xd90: 0xe00d, 0xd91: 0x0008,
- 0xd92: 0xe00d, 0xd93: 0x0008, 0xd94: 0xe00d, 0xd95: 0x0008, 0xd96: 0xe00d, 0xd97: 0x0008,
- 0xd98: 0xe00d, 0xd99: 0x0008, 0xd9a: 0xe00d, 0xd9b: 0x0008, 0xd9c: 0xe00d, 0xd9d: 0x0008,
- 0xd9e: 0xe00d, 0xd9f: 0x0008, 0xda0: 0xe00d, 0xda1: 0x0008, 0xda2: 0xe00d, 0xda3: 0x0008,
- 0xda4: 0x0008, 0xda5: 0x0018, 0xda6: 0x0018, 0xda7: 0x0018, 0xda8: 0x0018, 0xda9: 0x0018,
- 0xdaa: 0x0018, 0xdab: 0xe03d, 0xdac: 0x0008, 0xdad: 0xe01d, 0xdae: 0x0008, 0xdaf: 0x1308,
- 0xdb0: 0x1308, 0xdb1: 0x1308, 0xdb2: 0xe00d, 0xdb3: 0x0008, 0xdb4: 0x0040, 0xdb5: 0x0040,
- 0xdb6: 0x0040, 0xdb7: 0x0040, 0xdb8: 0x0040, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018,
+ 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99,
+ 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089,
+ 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9,
+ 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249,
+ 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71,
+ 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9,
+ 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1,
+ 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018,
+ 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018,
+ 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018,
0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018,
// Block 0x37, offset 0xdc0
- 0xdc0: 0x26fd, 0xdc1: 0x271d, 0xdc2: 0x273d, 0xdc3: 0x275d, 0xdc4: 0x277d, 0xdc5: 0x279d,
- 0xdc6: 0x27bd, 0xdc7: 0x27dd, 0xdc8: 0x27fd, 0xdc9: 0x281d, 0xdca: 0x283d, 0xdcb: 0x285d,
- 0xdcc: 0x287d, 0xdcd: 0x289d, 0xdce: 0x28bd, 0xdcf: 0x28dd, 0xdd0: 0x28fd, 0xdd1: 0x291d,
- 0xdd2: 0x293d, 0xdd3: 0x295d, 0xdd4: 0x297d, 0xdd5: 0x299d, 0xdd6: 0x0040, 0xdd7: 0x0040,
- 0xdd8: 0x0040, 0xdd9: 0x0040, 0xdda: 0x0040, 0xddb: 0x0040, 0xddc: 0x0040, 0xddd: 0x0040,
- 0xdde: 0x0040, 0xddf: 0x0040, 0xde0: 0x0040, 0xde1: 0x0040, 0xde2: 0x0040, 0xde3: 0x0040,
- 0xde4: 0x0040, 0xde5: 0x0040, 0xde6: 0x0040, 0xde7: 0x0040, 0xde8: 0x0040, 0xde9: 0x0040,
- 0xdea: 0x0040, 0xdeb: 0x0040, 0xdec: 0x0040, 0xded: 0x0040, 0xdee: 0x0040, 0xdef: 0x0040,
- 0xdf0: 0x0040, 0xdf1: 0x0040, 0xdf2: 0x0040, 0xdf3: 0x0040, 0xdf4: 0x0040, 0xdf5: 0x0040,
- 0xdf6: 0x0040, 0xdf7: 0x0040, 0xdf8: 0x0040, 0xdf9: 0x0040, 0xdfa: 0x0040, 0xdfb: 0x0040,
- 0xdfc: 0x0040, 0xdfd: 0x0040, 0xdfe: 0x0040, 0xdff: 0x0040,
+ 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008,
+ 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008,
+ 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008,
+ 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008,
+ 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008,
+ 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ebd,
+ 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d,
+ 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9,
+ 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d,
+ 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008,
+ 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9,
// Block 0x38, offset 0xe00
- 0xe00: 0x000a, 0xe01: 0x0018, 0xe02: 0x29d1, 0xe03: 0x0018, 0xe04: 0x0018, 0xe05: 0x0008,
- 0xe06: 0x0008, 0xe07: 0x0008, 0xe08: 0x0018, 0xe09: 0x0018, 0xe0a: 0x0018, 0xe0b: 0x0018,
- 0xe0c: 0x0018, 0xe0d: 0x0018, 0xe0e: 0x0018, 0xe0f: 0x0018, 0xe10: 0x0018, 0xe11: 0x0018,
- 0xe12: 0x0018, 0xe13: 0x0018, 0xe14: 0x0018, 0xe15: 0x0018, 0xe16: 0x0018, 0xe17: 0x0018,
- 0xe18: 0x0018, 0xe19: 0x0018, 0xe1a: 0x0018, 0xe1b: 0x0018, 0xe1c: 0x0018, 0xe1d: 0x0018,
- 0xe1e: 0x0018, 0xe1f: 0x0018, 0xe20: 0x0018, 0xe21: 0x0018, 0xe22: 0x0018, 0xe23: 0x0018,
- 0xe24: 0x0018, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018,
- 0xe2a: 0x1308, 0xe2b: 0x1308, 0xe2c: 0x1308, 0xe2d: 0x1308, 0xe2e: 0x1018, 0xe2f: 0x1018,
- 0xe30: 0x0018, 0xe31: 0x0018, 0xe32: 0x0018, 0xe33: 0x0018, 0xe34: 0x0018, 0xe35: 0x0018,
- 0xe36: 0xe125, 0xe37: 0x0018, 0xe38: 0x29bd, 0xe39: 0x29dd, 0xe3a: 0x29fd, 0xe3b: 0x0018,
- 0xe3c: 0x0008, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018,
+ 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008,
+ 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008,
+ 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008,
+ 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008,
+ 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008,
+ 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008,
+ 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018,
+ 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308,
+ 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040,
+ 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018,
+ 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018,
// Block 0x39, offset 0xe40
- 0xe40: 0x2b3d, 0xe41: 0x2b5d, 0xe42: 0x2b7d, 0xe43: 0x2b9d, 0xe44: 0x2bbd, 0xe45: 0x2bdd,
- 0xe46: 0x2bdd, 0xe47: 0x2bdd, 0xe48: 0x2bfd, 0xe49: 0x2bfd, 0xe4a: 0x2bfd, 0xe4b: 0x2bfd,
- 0xe4c: 0x2c1d, 0xe4d: 0x2c1d, 0xe4e: 0x2c1d, 0xe4f: 0x2c3d, 0xe50: 0x2c5d, 0xe51: 0x2c5d,
- 0xe52: 0x2a7d, 0xe53: 0x2a7d, 0xe54: 0x2c5d, 0xe55: 0x2c5d, 0xe56: 0x2c7d, 0xe57: 0x2c7d,
- 0xe58: 0x2c5d, 0xe59: 0x2c5d, 0xe5a: 0x2a7d, 0xe5b: 0x2a7d, 0xe5c: 0x2c5d, 0xe5d: 0x2c5d,
- 0xe5e: 0x2c3d, 0xe5f: 0x2c3d, 0xe60: 0x2c9d, 0xe61: 0x2c9d, 0xe62: 0x2cbd, 0xe63: 0x2cbd,
- 0xe64: 0x0040, 0xe65: 0x2cdd, 0xe66: 0x2cfd, 0xe67: 0x2d1d, 0xe68: 0x2d1d, 0xe69: 0x2d3d,
- 0xe6a: 0x2d5d, 0xe6b: 0x2d7d, 0xe6c: 0x2d9d, 0xe6d: 0x2dbd, 0xe6e: 0x2ddd, 0xe6f: 0x2dfd,
- 0xe70: 0x2e1d, 0xe71: 0x2e3d, 0xe72: 0x2e3d, 0xe73: 0x2e5d, 0xe74: 0x2e7d, 0xe75: 0x2e7d,
- 0xe76: 0x2e9d, 0xe77: 0x2ebd, 0xe78: 0x2e5d, 0xe79: 0x2edd, 0xe7a: 0x2efd, 0xe7b: 0x2edd,
- 0xe7c: 0x2e5d, 0xe7d: 0x2f1d, 0xe7e: 0x2f3d, 0xe7f: 0x2f5d,
+ 0xe40: 0x26fd, 0xe41: 0x271d, 0xe42: 0x273d, 0xe43: 0x275d, 0xe44: 0x277d, 0xe45: 0x279d,
+ 0xe46: 0x27bd, 0xe47: 0x27dd, 0xe48: 0x27fd, 0xe49: 0x281d, 0xe4a: 0x283d, 0xe4b: 0x285d,
+ 0xe4c: 0x287d, 0xe4d: 0x289d, 0xe4e: 0x28bd, 0xe4f: 0x28dd, 0xe50: 0x28fd, 0xe51: 0x291d,
+ 0xe52: 0x293d, 0xe53: 0x295d, 0xe54: 0x297d, 0xe55: 0x299d, 0xe56: 0x0040, 0xe57: 0x0040,
+ 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040,
+ 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040,
+ 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040,
+ 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040,
+ 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040,
+ 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040,
+ 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040,
// Block 0x3a, offset 0xe80
- 0xe80: 0x2f7d, 0xe81: 0x2f9d, 0xe82: 0x2cfd, 0xe83: 0x2cdd, 0xe84: 0x2fbd, 0xe85: 0x2fdd,
- 0xe86: 0x2ffd, 0xe87: 0x301d, 0xe88: 0x303d, 0xe89: 0x305d, 0xe8a: 0x307d, 0xe8b: 0x309d,
- 0xe8c: 0x30bd, 0xe8d: 0x30dd, 0xe8e: 0x30fd, 0xe8f: 0x0040, 0xe90: 0x0018, 0xe91: 0x0018,
- 0xe92: 0x311d, 0xe93: 0x313d, 0xe94: 0x315d, 0xe95: 0x317d, 0xe96: 0x319d, 0xe97: 0x31bd,
- 0xe98: 0x31dd, 0xe99: 0x31fd, 0xe9a: 0x321d, 0xe9b: 0x323d, 0xe9c: 0x315d, 0xe9d: 0x325d,
- 0xe9e: 0x327d, 0xe9f: 0x329d, 0xea0: 0x0008, 0xea1: 0x0008, 0xea2: 0x0008, 0xea3: 0x0008,
- 0xea4: 0x0008, 0xea5: 0x0008, 0xea6: 0x0008, 0xea7: 0x0008, 0xea8: 0x0008, 0xea9: 0x0008,
- 0xeaa: 0x0008, 0xeab: 0x0008, 0xeac: 0x0008, 0xead: 0x0008, 0xeae: 0x0008, 0xeaf: 0x0008,
- 0xeb0: 0x0008, 0xeb1: 0x0008, 0xeb2: 0x0008, 0xeb3: 0x0008, 0xeb4: 0x0008, 0xeb5: 0x0008,
- 0xeb6: 0x0008, 0xeb7: 0x0008, 0xeb8: 0x0008, 0xeb9: 0x0008, 0xeba: 0x0008, 0xebb: 0x0040,
- 0xebc: 0x0040, 0xebd: 0x0040, 0xebe: 0x0040, 0xebf: 0x0040,
+ 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008,
+ 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018,
+ 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018,
+ 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018,
+ 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018,
+ 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018,
+ 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018,
+ 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018,
+ 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018,
+ 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29bd, 0xeb9: 0x29dd, 0xeba: 0x29fd, 0xebb: 0x0018,
+ 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018,
// Block 0x3b, offset 0xec0
- 0xec0: 0x36a2, 0xec1: 0x36d2, 0xec2: 0x3702, 0xec3: 0x3732, 0xec4: 0x32bd, 0xec5: 0x32dd,
- 0xec6: 0x32fd, 0xec7: 0x331d, 0xec8: 0x0018, 0xec9: 0x0018, 0xeca: 0x0018, 0xecb: 0x0018,
- 0xecc: 0x0018, 0xecd: 0x0018, 0xece: 0x0018, 0xecf: 0x0018, 0xed0: 0x333d, 0xed1: 0x3761,
- 0xed2: 0x3779, 0xed3: 0x3791, 0xed4: 0x37a9, 0xed5: 0x37c1, 0xed6: 0x37d9, 0xed7: 0x37f1,
- 0xed8: 0x3809, 0xed9: 0x3821, 0xeda: 0x3839, 0xedb: 0x3851, 0xedc: 0x3869, 0xedd: 0x3881,
- 0xede: 0x3899, 0xedf: 0x38b1, 0xee0: 0x335d, 0xee1: 0x337d, 0xee2: 0x339d, 0xee3: 0x33bd,
- 0xee4: 0x33dd, 0xee5: 0x33dd, 0xee6: 0x33fd, 0xee7: 0x341d, 0xee8: 0x343d, 0xee9: 0x345d,
- 0xeea: 0x347d, 0xeeb: 0x349d, 0xeec: 0x34bd, 0xeed: 0x34dd, 0xeee: 0x34fd, 0xeef: 0x351d,
- 0xef0: 0x353d, 0xef1: 0x355d, 0xef2: 0x357d, 0xef3: 0x359d, 0xef4: 0x35bd, 0xef5: 0x35dd,
- 0xef6: 0x35fd, 0xef7: 0x361d, 0xef8: 0x363d, 0xef9: 0x365d, 0xefa: 0x367d, 0xefb: 0x369d,
- 0xefc: 0x38c9, 0xefd: 0x3901, 0xefe: 0x36bd, 0xeff: 0x0018,
+ 0xec0: 0x2b3d, 0xec1: 0x2b5d, 0xec2: 0x2b7d, 0xec3: 0x2b9d, 0xec4: 0x2bbd, 0xec5: 0x2bdd,
+ 0xec6: 0x2bdd, 0xec7: 0x2bdd, 0xec8: 0x2bfd, 0xec9: 0x2bfd, 0xeca: 0x2bfd, 0xecb: 0x2bfd,
+ 0xecc: 0x2c1d, 0xecd: 0x2c1d, 0xece: 0x2c1d, 0xecf: 0x2c3d, 0xed0: 0x2c5d, 0xed1: 0x2c5d,
+ 0xed2: 0x2a7d, 0xed3: 0x2a7d, 0xed4: 0x2c5d, 0xed5: 0x2c5d, 0xed6: 0x2c7d, 0xed7: 0x2c7d,
+ 0xed8: 0x2c5d, 0xed9: 0x2c5d, 0xeda: 0x2a7d, 0xedb: 0x2a7d, 0xedc: 0x2c5d, 0xedd: 0x2c5d,
+ 0xede: 0x2c3d, 0xedf: 0x2c3d, 0xee0: 0x2c9d, 0xee1: 0x2c9d, 0xee2: 0x2cbd, 0xee3: 0x2cbd,
+ 0xee4: 0x0040, 0xee5: 0x2cdd, 0xee6: 0x2cfd, 0xee7: 0x2d1d, 0xee8: 0x2d1d, 0xee9: 0x2d3d,
+ 0xeea: 0x2d5d, 0xeeb: 0x2d7d, 0xeec: 0x2d9d, 0xeed: 0x2dbd, 0xeee: 0x2ddd, 0xeef: 0x2dfd,
+ 0xef0: 0x2e1d, 0xef1: 0x2e3d, 0xef2: 0x2e3d, 0xef3: 0x2e5d, 0xef4: 0x2e7d, 0xef5: 0x2e7d,
+ 0xef6: 0x2e9d, 0xef7: 0x2ebd, 0xef8: 0x2e5d, 0xef9: 0x2edd, 0xefa: 0x2efd, 0xefb: 0x2edd,
+ 0xefc: 0x2e5d, 0xefd: 0x2f1d, 0xefe: 0x2f3d, 0xeff: 0x2f5d,
// Block 0x3c, offset 0xf00
- 0xf00: 0x36dd, 0xf01: 0x36fd, 0xf02: 0x371d, 0xf03: 0x373d, 0xf04: 0x375d, 0xf05: 0x377d,
- 0xf06: 0x379d, 0xf07: 0x37bd, 0xf08: 0x37dd, 0xf09: 0x37fd, 0xf0a: 0x381d, 0xf0b: 0x383d,
- 0xf0c: 0x385d, 0xf0d: 0x387d, 0xf0e: 0x389d, 0xf0f: 0x38bd, 0xf10: 0x38dd, 0xf11: 0x38fd,
- 0xf12: 0x391d, 0xf13: 0x393d, 0xf14: 0x395d, 0xf15: 0x397d, 0xf16: 0x399d, 0xf17: 0x39bd,
- 0xf18: 0x39dd, 0xf19: 0x39fd, 0xf1a: 0x3a1d, 0xf1b: 0x3a3d, 0xf1c: 0x3a5d, 0xf1d: 0x3a7d,
- 0xf1e: 0x3a9d, 0xf1f: 0x3abd, 0xf20: 0x3add, 0xf21: 0x3afd, 0xf22: 0x3b1d, 0xf23: 0x3b3d,
- 0xf24: 0x3b5d, 0xf25: 0x3b7d, 0xf26: 0x127d, 0xf27: 0x3b9d, 0xf28: 0x3bbd, 0xf29: 0x3bdd,
- 0xf2a: 0x3bfd, 0xf2b: 0x3c1d, 0xf2c: 0x3c3d, 0xf2d: 0x3c5d, 0xf2e: 0x239d, 0xf2f: 0x3c7d,
- 0xf30: 0x3c9d, 0xf31: 0x3939, 0xf32: 0x3951, 0xf33: 0x3969, 0xf34: 0x3981, 0xf35: 0x3999,
- 0xf36: 0x39b1, 0xf37: 0x39c9, 0xf38: 0x39e1, 0xf39: 0x39f9, 0xf3a: 0x3a11, 0xf3b: 0x3a29,
- 0xf3c: 0x3a41, 0xf3d: 0x3a59, 0xf3e: 0x3a71, 0xf3f: 0x3a89,
+ 0xf00: 0x2f7d, 0xf01: 0x2f9d, 0xf02: 0x2cfd, 0xf03: 0x2cdd, 0xf04: 0x2fbd, 0xf05: 0x2fdd,
+ 0xf06: 0x2ffd, 0xf07: 0x301d, 0xf08: 0x303d, 0xf09: 0x305d, 0xf0a: 0x307d, 0xf0b: 0x309d,
+ 0xf0c: 0x30bd, 0xf0d: 0x30dd, 0xf0e: 0x30fd, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018,
+ 0xf12: 0x311d, 0xf13: 0x313d, 0xf14: 0x315d, 0xf15: 0x317d, 0xf16: 0x319d, 0xf17: 0x31bd,
+ 0xf18: 0x31dd, 0xf19: 0x31fd, 0xf1a: 0x321d, 0xf1b: 0x323d, 0xf1c: 0x315d, 0xf1d: 0x325d,
+ 0xf1e: 0x327d, 0xf1f: 0x329d, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008,
+ 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008,
+ 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008,
+ 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008,
+ 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0040,
+ 0xf3c: 0x0040, 0xf3d: 0x0040, 0xf3e: 0x0040, 0xf3f: 0x0040,
// Block 0x3d, offset 0xf40
- 0xf40: 0x3aa1, 0xf41: 0x3ac9, 0xf42: 0x3af1, 0xf43: 0x3b19, 0xf44: 0x3b41, 0xf45: 0x3b69,
- 0xf46: 0x3b91, 0xf47: 0x3bb9, 0xf48: 0x3be1, 0xf49: 0x3c09, 0xf4a: 0x3c39, 0xf4b: 0x3c69,
- 0xf4c: 0x3c99, 0xf4d: 0x3cbd, 0xf4e: 0x3cb1, 0xf4f: 0x3cdd, 0xf50: 0x3cfd, 0xf51: 0x3d15,
- 0xf52: 0x3d2d, 0xf53: 0x3d45, 0xf54: 0x3d5d, 0xf55: 0x3d5d, 0xf56: 0x3d45, 0xf57: 0x3d75,
- 0xf58: 0x07bd, 0xf59: 0x3d8d, 0xf5a: 0x3da5, 0xf5b: 0x3dbd, 0xf5c: 0x3dd5, 0xf5d: 0x3ded,
- 0xf5e: 0x3e05, 0xf5f: 0x3e1d, 0xf60: 0x3e35, 0xf61: 0x3e4d, 0xf62: 0x3e65, 0xf63: 0x3e7d,
- 0xf64: 0x3e95, 0xf65: 0x3e95, 0xf66: 0x3ead, 0xf67: 0x3ead, 0xf68: 0x3ec5, 0xf69: 0x3ec5,
- 0xf6a: 0x3edd, 0xf6b: 0x3ef5, 0xf6c: 0x3f0d, 0xf6d: 0x3f25, 0xf6e: 0x3f3d, 0xf6f: 0x3f3d,
- 0xf70: 0x3f55, 0xf71: 0x3f55, 0xf72: 0x3f55, 0xf73: 0x3f6d, 0xf74: 0x3f85, 0xf75: 0x3f9d,
- 0xf76: 0x3fb5, 0xf77: 0x3f9d, 0xf78: 0x3fcd, 0xf79: 0x3fe5, 0xf7a: 0x3f6d, 0xf7b: 0x3ffd,
- 0xf7c: 0x4015, 0xf7d: 0x4015, 0xf7e: 0x4015, 0xf7f: 0x0040,
+ 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32bd, 0xf45: 0x32dd,
+ 0xf46: 0x32fd, 0xf47: 0x331d, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018,
+ 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x333d, 0xf51: 0x3761,
+ 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1,
+ 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881,
+ 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x335d, 0xf61: 0x337d, 0xf62: 0x339d, 0xf63: 0x33bd,
+ 0xf64: 0x33dd, 0xf65: 0x33dd, 0xf66: 0x33fd, 0xf67: 0x341d, 0xf68: 0x343d, 0xf69: 0x345d,
+ 0xf6a: 0x347d, 0xf6b: 0x349d, 0xf6c: 0x34bd, 0xf6d: 0x34dd, 0xf6e: 0x34fd, 0xf6f: 0x351d,
+ 0xf70: 0x353d, 0xf71: 0x355d, 0xf72: 0x357d, 0xf73: 0x359d, 0xf74: 0x35bd, 0xf75: 0x35dd,
+ 0xf76: 0x35fd, 0xf77: 0x361d, 0xf78: 0x363d, 0xf79: 0x365d, 0xf7a: 0x367d, 0xf7b: 0x369d,
+ 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36bd, 0xf7f: 0x0018,
// Block 0x3e, offset 0xf80
- 0xf80: 0x3cc9, 0xf81: 0x3d31, 0xf82: 0x3d99, 0xf83: 0x3e01, 0xf84: 0x3e51, 0xf85: 0x3eb9,
- 0xf86: 0x3f09, 0xf87: 0x3f59, 0xf88: 0x3fd9, 0xf89: 0x4041, 0xf8a: 0x4091, 0xf8b: 0x40e1,
- 0xf8c: 0x4131, 0xf8d: 0x4199, 0xf8e: 0x4201, 0xf8f: 0x4251, 0xf90: 0x42a1, 0xf91: 0x42d9,
- 0xf92: 0x4329, 0xf93: 0x4391, 0xf94: 0x43f9, 0xf95: 0x4431, 0xf96: 0x44b1, 0xf97: 0x4549,
- 0xf98: 0x45c9, 0xf99: 0x4619, 0xf9a: 0x4699, 0xf9b: 0x4719, 0xf9c: 0x4781, 0xf9d: 0x47d1,
- 0xf9e: 0x4821, 0xf9f: 0x4871, 0xfa0: 0x48d9, 0xfa1: 0x4959, 0xfa2: 0x49c1, 0xfa3: 0x4a11,
- 0xfa4: 0x4a61, 0xfa5: 0x4ab1, 0xfa6: 0x4ae9, 0xfa7: 0x4b21, 0xfa8: 0x4b59, 0xfa9: 0x4b91,
- 0xfaa: 0x4be1, 0xfab: 0x4c31, 0xfac: 0x4cb1, 0xfad: 0x4d01, 0xfae: 0x4d69, 0xfaf: 0x4de9,
- 0xfb0: 0x4e39, 0xfb1: 0x4e71, 0xfb2: 0x4ea9, 0xfb3: 0x4f29, 0xfb4: 0x4f91, 0xfb5: 0x5011,
- 0xfb6: 0x5061, 0xfb7: 0x50e1, 0xfb8: 0x5119, 0xfb9: 0x5169, 0xfba: 0x51b9, 0xfbb: 0x5209,
- 0xfbc: 0x5259, 0xfbd: 0x52a9, 0xfbe: 0x5311, 0xfbf: 0x5361,
+ 0xf80: 0x36dd, 0xf81: 0x36fd, 0xf82: 0x371d, 0xf83: 0x373d, 0xf84: 0x375d, 0xf85: 0x377d,
+ 0xf86: 0x379d, 0xf87: 0x37bd, 0xf88: 0x37dd, 0xf89: 0x37fd, 0xf8a: 0x381d, 0xf8b: 0x383d,
+ 0xf8c: 0x385d, 0xf8d: 0x387d, 0xf8e: 0x389d, 0xf8f: 0x38bd, 0xf90: 0x38dd, 0xf91: 0x38fd,
+ 0xf92: 0x391d, 0xf93: 0x393d, 0xf94: 0x395d, 0xf95: 0x397d, 0xf96: 0x399d, 0xf97: 0x39bd,
+ 0xf98: 0x39dd, 0xf99: 0x39fd, 0xf9a: 0x3a1d, 0xf9b: 0x3a3d, 0xf9c: 0x3a5d, 0xf9d: 0x3a7d,
+ 0xf9e: 0x3a9d, 0xf9f: 0x3abd, 0xfa0: 0x3add, 0xfa1: 0x3afd, 0xfa2: 0x3b1d, 0xfa3: 0x3b3d,
+ 0xfa4: 0x3b5d, 0xfa5: 0x3b7d, 0xfa6: 0x127d, 0xfa7: 0x3b9d, 0xfa8: 0x3bbd, 0xfa9: 0x3bdd,
+ 0xfaa: 0x3bfd, 0xfab: 0x3c1d, 0xfac: 0x3c3d, 0xfad: 0x3c5d, 0xfae: 0x239d, 0xfaf: 0x3c7d,
+ 0xfb0: 0x3c9d, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999,
+ 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29,
+ 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89,
// Block 0x3f, offset 0xfc0
- 0xfc0: 0x5399, 0xfc1: 0x53e9, 0xfc2: 0x5439, 0xfc3: 0x5489, 0xfc4: 0x54f1, 0xfc5: 0x5541,
- 0xfc6: 0x5591, 0xfc7: 0x55e1, 0xfc8: 0x5661, 0xfc9: 0x56c9, 0xfca: 0x5701, 0xfcb: 0x5781,
- 0xfcc: 0x57b9, 0xfcd: 0x5821, 0xfce: 0x5889, 0xfcf: 0x58d9, 0xfd0: 0x5929, 0xfd1: 0x5979,
- 0xfd2: 0x59e1, 0xfd3: 0x5a19, 0xfd4: 0x5a69, 0xfd5: 0x5ad1, 0xfd6: 0x5b09, 0xfd7: 0x5b89,
- 0xfd8: 0x5bd9, 0xfd9: 0x5c01, 0xfda: 0x5c29, 0xfdb: 0x5c51, 0xfdc: 0x5c79, 0xfdd: 0x5ca1,
- 0xfde: 0x5cc9, 0xfdf: 0x5cf1, 0xfe0: 0x5d19, 0xfe1: 0x5d41, 0xfe2: 0x5d69, 0xfe3: 0x5d99,
- 0xfe4: 0x5dc9, 0xfe5: 0x5df9, 0xfe6: 0x5e29, 0xfe7: 0x5e59, 0xfe8: 0x5e89, 0xfe9: 0x5eb9,
- 0xfea: 0x5ee9, 0xfeb: 0x5f19, 0xfec: 0x5f49, 0xfed: 0x5f79, 0xfee: 0x5fa9, 0xfef: 0x5fd9,
- 0xff0: 0x6009, 0xff1: 0x402d, 0xff2: 0x6039, 0xff3: 0x6051, 0xff4: 0x404d, 0xff5: 0x6069,
- 0xff6: 0x6081, 0xff7: 0x6099, 0xff8: 0x406d, 0xff9: 0x406d, 0xffa: 0x60b1, 0xffb: 0x60c9,
- 0xffc: 0x6101, 0xffd: 0x6139, 0xffe: 0x6171, 0xfff: 0x61a9,
+ 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69,
+ 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69,
+ 0xfcc: 0x3c99, 0xfcd: 0x3cbd, 0xfce: 0x3cb1, 0xfcf: 0x3cdd, 0xfd0: 0x3cfd, 0xfd1: 0x3d15,
+ 0xfd2: 0x3d2d, 0xfd3: 0x3d45, 0xfd4: 0x3d5d, 0xfd5: 0x3d5d, 0xfd6: 0x3d45, 0xfd7: 0x3d75,
+ 0xfd8: 0x07bd, 0xfd9: 0x3d8d, 0xfda: 0x3da5, 0xfdb: 0x3dbd, 0xfdc: 0x3dd5, 0xfdd: 0x3ded,
+ 0xfde: 0x3e05, 0xfdf: 0x3e1d, 0xfe0: 0x3e35, 0xfe1: 0x3e4d, 0xfe2: 0x3e65, 0xfe3: 0x3e7d,
+ 0xfe4: 0x3e95, 0xfe5: 0x3e95, 0xfe6: 0x3ead, 0xfe7: 0x3ead, 0xfe8: 0x3ec5, 0xfe9: 0x3ec5,
+ 0xfea: 0x3edd, 0xfeb: 0x3ef5, 0xfec: 0x3f0d, 0xfed: 0x3f25, 0xfee: 0x3f3d, 0xfef: 0x3f3d,
+ 0xff0: 0x3f55, 0xff1: 0x3f55, 0xff2: 0x3f55, 0xff3: 0x3f6d, 0xff4: 0x3f85, 0xff5: 0x3f9d,
+ 0xff6: 0x3fb5, 0xff7: 0x3f9d, 0xff8: 0x3fcd, 0xff9: 0x3fe5, 0xffa: 0x3f6d, 0xffb: 0x3ffd,
+ 0xffc: 0x4015, 0xffd: 0x4015, 0xffe: 0x4015, 0xfff: 0x0040,
// Block 0x40, offset 0x1000
- 0x1000: 0x6211, 0x1001: 0x6229, 0x1002: 0x408d, 0x1003: 0x6241, 0x1004: 0x6259, 0x1005: 0x6271,
- 0x1006: 0x6289, 0x1007: 0x62a1, 0x1008: 0x40ad, 0x1009: 0x62b9, 0x100a: 0x62e1, 0x100b: 0x62f9,
- 0x100c: 0x40cd, 0x100d: 0x40cd, 0x100e: 0x6311, 0x100f: 0x6329, 0x1010: 0x6341, 0x1011: 0x40ed,
- 0x1012: 0x410d, 0x1013: 0x412d, 0x1014: 0x414d, 0x1015: 0x416d, 0x1016: 0x6359, 0x1017: 0x6371,
- 0x1018: 0x6389, 0x1019: 0x63a1, 0x101a: 0x63b9, 0x101b: 0x418d, 0x101c: 0x63d1, 0x101d: 0x63e9,
- 0x101e: 0x6401, 0x101f: 0x41ad, 0x1020: 0x41cd, 0x1021: 0x6419, 0x1022: 0x41ed, 0x1023: 0x420d,
- 0x1024: 0x422d, 0x1025: 0x6431, 0x1026: 0x424d, 0x1027: 0x6449, 0x1028: 0x6479, 0x1029: 0x6211,
- 0x102a: 0x426d, 0x102b: 0x428d, 0x102c: 0x42ad, 0x102d: 0x42cd, 0x102e: 0x64b1, 0x102f: 0x64f1,
- 0x1030: 0x6539, 0x1031: 0x6551, 0x1032: 0x42ed, 0x1033: 0x6569, 0x1034: 0x6581, 0x1035: 0x6599,
- 0x1036: 0x430d, 0x1037: 0x65b1, 0x1038: 0x65c9, 0x1039: 0x65b1, 0x103a: 0x65e1, 0x103b: 0x65f9,
- 0x103c: 0x432d, 0x103d: 0x6611, 0x103e: 0x6629, 0x103f: 0x6611,
+ 0x1000: 0x3cc9, 0x1001: 0x3d31, 0x1002: 0x3d99, 0x1003: 0x3e01, 0x1004: 0x3e51, 0x1005: 0x3eb9,
+ 0x1006: 0x3f09, 0x1007: 0x3f59, 0x1008: 0x3fd9, 0x1009: 0x4041, 0x100a: 0x4091, 0x100b: 0x40e1,
+ 0x100c: 0x4131, 0x100d: 0x4199, 0x100e: 0x4201, 0x100f: 0x4251, 0x1010: 0x42a1, 0x1011: 0x42d9,
+ 0x1012: 0x4329, 0x1013: 0x4391, 0x1014: 0x43f9, 0x1015: 0x4431, 0x1016: 0x44b1, 0x1017: 0x4549,
+ 0x1018: 0x45c9, 0x1019: 0x4619, 0x101a: 0x4699, 0x101b: 0x4719, 0x101c: 0x4781, 0x101d: 0x47d1,
+ 0x101e: 0x4821, 0x101f: 0x4871, 0x1020: 0x48d9, 0x1021: 0x4959, 0x1022: 0x49c1, 0x1023: 0x4a11,
+ 0x1024: 0x4a61, 0x1025: 0x4ab1, 0x1026: 0x4ae9, 0x1027: 0x4b21, 0x1028: 0x4b59, 0x1029: 0x4b91,
+ 0x102a: 0x4be1, 0x102b: 0x4c31, 0x102c: 0x4cb1, 0x102d: 0x4d01, 0x102e: 0x4d69, 0x102f: 0x4de9,
+ 0x1030: 0x4e39, 0x1031: 0x4e71, 0x1032: 0x4ea9, 0x1033: 0x4f29, 0x1034: 0x4f91, 0x1035: 0x5011,
+ 0x1036: 0x5061, 0x1037: 0x50e1, 0x1038: 0x5119, 0x1039: 0x5169, 0x103a: 0x51b9, 0x103b: 0x5209,
+ 0x103c: 0x5259, 0x103d: 0x52a9, 0x103e: 0x5311, 0x103f: 0x5361,
// Block 0x41, offset 0x1040
- 0x1040: 0x434d, 0x1041: 0x436d, 0x1042: 0x0040, 0x1043: 0x6641, 0x1044: 0x6659, 0x1045: 0x6671,
- 0x1046: 0x6689, 0x1047: 0x0040, 0x1048: 0x66c1, 0x1049: 0x66d9, 0x104a: 0x66f1, 0x104b: 0x6709,
- 0x104c: 0x6721, 0x104d: 0x6739, 0x104e: 0x6401, 0x104f: 0x6751, 0x1050: 0x6769, 0x1051: 0x6781,
- 0x1052: 0x438d, 0x1053: 0x6799, 0x1054: 0x6289, 0x1055: 0x43ad, 0x1056: 0x43cd, 0x1057: 0x67b1,
- 0x1058: 0x0040, 0x1059: 0x43ed, 0x105a: 0x67c9, 0x105b: 0x67e1, 0x105c: 0x67f9, 0x105d: 0x6811,
- 0x105e: 0x6829, 0x105f: 0x6859, 0x1060: 0x6889, 0x1061: 0x68b1, 0x1062: 0x68d9, 0x1063: 0x6901,
- 0x1064: 0x6929, 0x1065: 0x6951, 0x1066: 0x6979, 0x1067: 0x69a1, 0x1068: 0x69c9, 0x1069: 0x69f1,
- 0x106a: 0x6a21, 0x106b: 0x6a51, 0x106c: 0x6a81, 0x106d: 0x6ab1, 0x106e: 0x6ae1, 0x106f: 0x6b11,
- 0x1070: 0x6b41, 0x1071: 0x6b71, 0x1072: 0x6ba1, 0x1073: 0x6bd1, 0x1074: 0x6c01, 0x1075: 0x6c31,
- 0x1076: 0x6c61, 0x1077: 0x6c91, 0x1078: 0x6cc1, 0x1079: 0x6cf1, 0x107a: 0x6d21, 0x107b: 0x6d51,
- 0x107c: 0x6d81, 0x107d: 0x6db1, 0x107e: 0x6de1, 0x107f: 0x440d,
+ 0x1040: 0x5399, 0x1041: 0x53e9, 0x1042: 0x5439, 0x1043: 0x5489, 0x1044: 0x54f1, 0x1045: 0x5541,
+ 0x1046: 0x5591, 0x1047: 0x55e1, 0x1048: 0x5661, 0x1049: 0x56c9, 0x104a: 0x5701, 0x104b: 0x5781,
+ 0x104c: 0x57b9, 0x104d: 0x5821, 0x104e: 0x5889, 0x104f: 0x58d9, 0x1050: 0x5929, 0x1051: 0x5979,
+ 0x1052: 0x59e1, 0x1053: 0x5a19, 0x1054: 0x5a69, 0x1055: 0x5ad1, 0x1056: 0x5b09, 0x1057: 0x5b89,
+ 0x1058: 0x5bd9, 0x1059: 0x5c01, 0x105a: 0x5c29, 0x105b: 0x5c51, 0x105c: 0x5c79, 0x105d: 0x5ca1,
+ 0x105e: 0x5cc9, 0x105f: 0x5cf1, 0x1060: 0x5d19, 0x1061: 0x5d41, 0x1062: 0x5d69, 0x1063: 0x5d99,
+ 0x1064: 0x5dc9, 0x1065: 0x5df9, 0x1066: 0x5e29, 0x1067: 0x5e59, 0x1068: 0x5e89, 0x1069: 0x5eb9,
+ 0x106a: 0x5ee9, 0x106b: 0x5f19, 0x106c: 0x5f49, 0x106d: 0x5f79, 0x106e: 0x5fa9, 0x106f: 0x5fd9,
+ 0x1070: 0x6009, 0x1071: 0x402d, 0x1072: 0x6039, 0x1073: 0x6051, 0x1074: 0x404d, 0x1075: 0x6069,
+ 0x1076: 0x6081, 0x1077: 0x6099, 0x1078: 0x406d, 0x1079: 0x406d, 0x107a: 0x60b1, 0x107b: 0x60c9,
+ 0x107c: 0x6101, 0x107d: 0x6139, 0x107e: 0x6171, 0x107f: 0x61a9,
// Block 0x42, offset 0x1080
- 0x1080: 0xe00d, 0x1081: 0x0008, 0x1082: 0xe00d, 0x1083: 0x0008, 0x1084: 0xe00d, 0x1085: 0x0008,
- 0x1086: 0xe00d, 0x1087: 0x0008, 0x1088: 0xe00d, 0x1089: 0x0008, 0x108a: 0xe00d, 0x108b: 0x0008,
- 0x108c: 0xe00d, 0x108d: 0x0008, 0x108e: 0xe00d, 0x108f: 0x0008, 0x1090: 0xe00d, 0x1091: 0x0008,
- 0x1092: 0xe00d, 0x1093: 0x0008, 0x1094: 0xe00d, 0x1095: 0x0008, 0x1096: 0xe00d, 0x1097: 0x0008,
- 0x1098: 0xe00d, 0x1099: 0x0008, 0x109a: 0xe00d, 0x109b: 0x0008, 0x109c: 0xe00d, 0x109d: 0x0008,
- 0x109e: 0xe00d, 0x109f: 0x0008, 0x10a0: 0xe00d, 0x10a1: 0x0008, 0x10a2: 0xe00d, 0x10a3: 0x0008,
- 0x10a4: 0xe00d, 0x10a5: 0x0008, 0x10a6: 0xe00d, 0x10a7: 0x0008, 0x10a8: 0xe00d, 0x10a9: 0x0008,
- 0x10aa: 0xe00d, 0x10ab: 0x0008, 0x10ac: 0xe00d, 0x10ad: 0x0008, 0x10ae: 0x0008, 0x10af: 0x1308,
- 0x10b0: 0x1318, 0x10b1: 0x1318, 0x10b2: 0x1318, 0x10b3: 0x0018, 0x10b4: 0x1308, 0x10b5: 0x1308,
- 0x10b6: 0x1308, 0x10b7: 0x1308, 0x10b8: 0x1308, 0x10b9: 0x1308, 0x10ba: 0x1308, 0x10bb: 0x1308,
- 0x10bc: 0x1308, 0x10bd: 0x1308, 0x10be: 0x0018, 0x10bf: 0x0008,
+ 0x1080: 0x6211, 0x1081: 0x6229, 0x1082: 0x408d, 0x1083: 0x6241, 0x1084: 0x6259, 0x1085: 0x6271,
+ 0x1086: 0x6289, 0x1087: 0x62a1, 0x1088: 0x40ad, 0x1089: 0x62b9, 0x108a: 0x62e1, 0x108b: 0x62f9,
+ 0x108c: 0x40cd, 0x108d: 0x40cd, 0x108e: 0x6311, 0x108f: 0x6329, 0x1090: 0x6341, 0x1091: 0x40ed,
+ 0x1092: 0x410d, 0x1093: 0x412d, 0x1094: 0x414d, 0x1095: 0x416d, 0x1096: 0x6359, 0x1097: 0x6371,
+ 0x1098: 0x6389, 0x1099: 0x63a1, 0x109a: 0x63b9, 0x109b: 0x418d, 0x109c: 0x63d1, 0x109d: 0x63e9,
+ 0x109e: 0x6401, 0x109f: 0x41ad, 0x10a0: 0x41cd, 0x10a1: 0x6419, 0x10a2: 0x41ed, 0x10a3: 0x420d,
+ 0x10a4: 0x422d, 0x10a5: 0x6431, 0x10a6: 0x424d, 0x10a7: 0x6449, 0x10a8: 0x6479, 0x10a9: 0x6211,
+ 0x10aa: 0x426d, 0x10ab: 0x428d, 0x10ac: 0x42ad, 0x10ad: 0x42cd, 0x10ae: 0x64b1, 0x10af: 0x64f1,
+ 0x10b0: 0x6539, 0x10b1: 0x6551, 0x10b2: 0x42ed, 0x10b3: 0x6569, 0x10b4: 0x6581, 0x10b5: 0x6599,
+ 0x10b6: 0x430d, 0x10b7: 0x65b1, 0x10b8: 0x65c9, 0x10b9: 0x65b1, 0x10ba: 0x65e1, 0x10bb: 0x65f9,
+ 0x10bc: 0x432d, 0x10bd: 0x6611, 0x10be: 0x6629, 0x10bf: 0x6611,
// Block 0x43, offset 0x10c0
- 0x10c0: 0xe00d, 0x10c1: 0x0008, 0x10c2: 0xe00d, 0x10c3: 0x0008, 0x10c4: 0xe00d, 0x10c5: 0x0008,
- 0x10c6: 0xe00d, 0x10c7: 0x0008, 0x10c8: 0xe00d, 0x10c9: 0x0008, 0x10ca: 0xe00d, 0x10cb: 0x0008,
- 0x10cc: 0xe00d, 0x10cd: 0x0008, 0x10ce: 0xe00d, 0x10cf: 0x0008, 0x10d0: 0xe00d, 0x10d1: 0x0008,
- 0x10d2: 0xe00d, 0x10d3: 0x0008, 0x10d4: 0xe00d, 0x10d5: 0x0008, 0x10d6: 0xe00d, 0x10d7: 0x0008,
- 0x10d8: 0xe00d, 0x10d9: 0x0008, 0x10da: 0xe00d, 0x10db: 0x0008, 0x10dc: 0x0ea1, 0x10dd: 0x6e11,
- 0x10de: 0x1308, 0x10df: 0x1308, 0x10e0: 0x0008, 0x10e1: 0x0008, 0x10e2: 0x0008, 0x10e3: 0x0008,
- 0x10e4: 0x0008, 0x10e5: 0x0008, 0x10e6: 0x0008, 0x10e7: 0x0008, 0x10e8: 0x0008, 0x10e9: 0x0008,
- 0x10ea: 0x0008, 0x10eb: 0x0008, 0x10ec: 0x0008, 0x10ed: 0x0008, 0x10ee: 0x0008, 0x10ef: 0x0008,
- 0x10f0: 0x0008, 0x10f1: 0x0008, 0x10f2: 0x0008, 0x10f3: 0x0008, 0x10f4: 0x0008, 0x10f5: 0x0008,
- 0x10f6: 0x0008, 0x10f7: 0x0008, 0x10f8: 0x0008, 0x10f9: 0x0008, 0x10fa: 0x0008, 0x10fb: 0x0008,
- 0x10fc: 0x0008, 0x10fd: 0x0008, 0x10fe: 0x0008, 0x10ff: 0x0008,
+ 0x10c0: 0x434d, 0x10c1: 0x436d, 0x10c2: 0x0040, 0x10c3: 0x6641, 0x10c4: 0x6659, 0x10c5: 0x6671,
+ 0x10c6: 0x6689, 0x10c7: 0x0040, 0x10c8: 0x66c1, 0x10c9: 0x66d9, 0x10ca: 0x66f1, 0x10cb: 0x6709,
+ 0x10cc: 0x6721, 0x10cd: 0x6739, 0x10ce: 0x6401, 0x10cf: 0x6751, 0x10d0: 0x6769, 0x10d1: 0x6781,
+ 0x10d2: 0x438d, 0x10d3: 0x6799, 0x10d4: 0x6289, 0x10d5: 0x43ad, 0x10d6: 0x43cd, 0x10d7: 0x67b1,
+ 0x10d8: 0x0040, 0x10d9: 0x43ed, 0x10da: 0x67c9, 0x10db: 0x67e1, 0x10dc: 0x67f9, 0x10dd: 0x6811,
+ 0x10de: 0x6829, 0x10df: 0x6859, 0x10e0: 0x6889, 0x10e1: 0x68b1, 0x10e2: 0x68d9, 0x10e3: 0x6901,
+ 0x10e4: 0x6929, 0x10e5: 0x6951, 0x10e6: 0x6979, 0x10e7: 0x69a1, 0x10e8: 0x69c9, 0x10e9: 0x69f1,
+ 0x10ea: 0x6a21, 0x10eb: 0x6a51, 0x10ec: 0x6a81, 0x10ed: 0x6ab1, 0x10ee: 0x6ae1, 0x10ef: 0x6b11,
+ 0x10f0: 0x6b41, 0x10f1: 0x6b71, 0x10f2: 0x6ba1, 0x10f3: 0x6bd1, 0x10f4: 0x6c01, 0x10f5: 0x6c31,
+ 0x10f6: 0x6c61, 0x10f7: 0x6c91, 0x10f8: 0x6cc1, 0x10f9: 0x6cf1, 0x10fa: 0x6d21, 0x10fb: 0x6d51,
+ 0x10fc: 0x6d81, 0x10fd: 0x6db1, 0x10fe: 0x6de1, 0x10ff: 0x440d,
// Block 0x44, offset 0x1100
- 0x1100: 0x0018, 0x1101: 0x0018, 0x1102: 0x0018, 0x1103: 0x0018, 0x1104: 0x0018, 0x1105: 0x0018,
- 0x1106: 0x0018, 0x1107: 0x0018, 0x1108: 0x0018, 0x1109: 0x0018, 0x110a: 0x0018, 0x110b: 0x0018,
- 0x110c: 0x0018, 0x110d: 0x0018, 0x110e: 0x0018, 0x110f: 0x0018, 0x1110: 0x0018, 0x1111: 0x0018,
- 0x1112: 0x0018, 0x1113: 0x0018, 0x1114: 0x0018, 0x1115: 0x0018, 0x1116: 0x0018, 0x1117: 0x0008,
- 0x1118: 0x0008, 0x1119: 0x0008, 0x111a: 0x0008, 0x111b: 0x0008, 0x111c: 0x0008, 0x111d: 0x0008,
- 0x111e: 0x0008, 0x111f: 0x0008, 0x1120: 0x0018, 0x1121: 0x0018, 0x1122: 0xe00d, 0x1123: 0x0008,
+ 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008,
+ 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008,
+ 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008,
+ 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008,
+ 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008,
+ 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008,
0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008,
- 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0xe00d, 0x112f: 0x0008,
- 0x1130: 0x0008, 0x1131: 0x0008, 0x1132: 0xe00d, 0x1133: 0x0008, 0x1134: 0xe00d, 0x1135: 0x0008,
- 0x1136: 0xe00d, 0x1137: 0x0008, 0x1138: 0xe00d, 0x1139: 0x0008, 0x113a: 0xe00d, 0x113b: 0x0008,
- 0x113c: 0xe00d, 0x113d: 0x0008, 0x113e: 0xe00d, 0x113f: 0x0008,
+ 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308,
+ 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308,
+ 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308,
+ 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008,
// Block 0x45, offset 0x1140
0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008,
0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008,
0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008,
0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008,
- 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0xe00d, 0x115d: 0x0008,
- 0x115e: 0xe00d, 0x115f: 0x0008, 0x1160: 0xe00d, 0x1161: 0x0008, 0x1162: 0xe00d, 0x1163: 0x0008,
- 0x1164: 0xe00d, 0x1165: 0x0008, 0x1166: 0xe00d, 0x1167: 0x0008, 0x1168: 0xe00d, 0x1169: 0x0008,
- 0x116a: 0xe00d, 0x116b: 0x0008, 0x116c: 0xe00d, 0x116d: 0x0008, 0x116e: 0xe00d, 0x116f: 0x0008,
- 0x1170: 0xe0fd, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008,
- 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0xe01d, 0x117a: 0x0008, 0x117b: 0xe03d,
- 0x117c: 0x0008, 0x117d: 0x442d, 0x117e: 0xe00d, 0x117f: 0x0008,
+ 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e11,
+ 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008,
+ 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008,
+ 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008,
+ 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008,
+ 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008,
+ 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008,
// Block 0x46, offset 0x1180
- 0x1180: 0xe00d, 0x1181: 0x0008, 0x1182: 0xe00d, 0x1183: 0x0008, 0x1184: 0xe00d, 0x1185: 0x0008,
- 0x1186: 0xe00d, 0x1187: 0x0008, 0x1188: 0x0008, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0xe03d,
- 0x118c: 0x0008, 0x118d: 0x11d9, 0x118e: 0x0008, 0x118f: 0x0008, 0x1190: 0xe00d, 0x1191: 0x0008,
- 0x1192: 0xe00d, 0x1193: 0x0008, 0x1194: 0x0008, 0x1195: 0x0008, 0x1196: 0xe00d, 0x1197: 0x0008,
- 0x1198: 0xe00d, 0x1199: 0x0008, 0x119a: 0xe00d, 0x119b: 0x0008, 0x119c: 0xe00d, 0x119d: 0x0008,
- 0x119e: 0xe00d, 0x119f: 0x0008, 0x11a0: 0xe00d, 0x11a1: 0x0008, 0x11a2: 0xe00d, 0x11a3: 0x0008,
+ 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018,
+ 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018,
+ 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018,
+ 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008,
+ 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008,
+ 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008,
0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008,
- 0x11aa: 0x6e29, 0x11ab: 0x1029, 0x11ac: 0x11c1, 0x11ad: 0x6e41, 0x11ae: 0x1221, 0x11af: 0x0040,
- 0x11b0: 0x6e59, 0x11b1: 0x6e71, 0x11b2: 0x1239, 0x11b3: 0x444d, 0x11b4: 0xe00d, 0x11b5: 0x0008,
- 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0x0040, 0x11b9: 0x0040, 0x11ba: 0x0040, 0x11bb: 0x0040,
- 0x11bc: 0x0040, 0x11bd: 0x0040, 0x11be: 0x0040, 0x11bf: 0x0040,
+ 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008,
+ 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008,
+ 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008,
+ 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008,
// Block 0x47, offset 0x11c0
- 0x11c0: 0x64d5, 0x11c1: 0x64f5, 0x11c2: 0x6515, 0x11c3: 0x6535, 0x11c4: 0x6555, 0x11c5: 0x6575,
- 0x11c6: 0x6595, 0x11c7: 0x65b5, 0x11c8: 0x65d5, 0x11c9: 0x65f5, 0x11ca: 0x6615, 0x11cb: 0x6635,
- 0x11cc: 0x6655, 0x11cd: 0x6675, 0x11ce: 0x0008, 0x11cf: 0x0008, 0x11d0: 0x6695, 0x11d1: 0x0008,
- 0x11d2: 0x66b5, 0x11d3: 0x0008, 0x11d4: 0x0008, 0x11d5: 0x66d5, 0x11d6: 0x66f5, 0x11d7: 0x6715,
- 0x11d8: 0x6735, 0x11d9: 0x6755, 0x11da: 0x6775, 0x11db: 0x6795, 0x11dc: 0x67b5, 0x11dd: 0x67d5,
- 0x11de: 0x67f5, 0x11df: 0x0008, 0x11e0: 0x6815, 0x11e1: 0x0008, 0x11e2: 0x6835, 0x11e3: 0x0008,
- 0x11e4: 0x0008, 0x11e5: 0x6855, 0x11e6: 0x6875, 0x11e7: 0x0008, 0x11e8: 0x0008, 0x11e9: 0x0008,
- 0x11ea: 0x6895, 0x11eb: 0x68b5, 0x11ec: 0x68d5, 0x11ed: 0x68f5, 0x11ee: 0x6915, 0x11ef: 0x6935,
- 0x11f0: 0x6955, 0x11f1: 0x6975, 0x11f2: 0x6995, 0x11f3: 0x69b5, 0x11f4: 0x69d5, 0x11f5: 0x69f5,
- 0x11f6: 0x6a15, 0x11f7: 0x6a35, 0x11f8: 0x6a55, 0x11f9: 0x6a75, 0x11fa: 0x6a95, 0x11fb: 0x6ab5,
- 0x11fc: 0x6ad5, 0x11fd: 0x6af5, 0x11fe: 0x6b15, 0x11ff: 0x6b35,
+ 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008,
+ 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008,
+ 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008,
+ 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008,
+ 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008,
+ 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008,
+ 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008,
+ 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008,
+ 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008,
+ 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d,
+ 0x11fc: 0x0008, 0x11fd: 0x442d, 0x11fe: 0xe00d, 0x11ff: 0x0008,
// Block 0x48, offset 0x1200
- 0x1200: 0x7a95, 0x1201: 0x7ab5, 0x1202: 0x7ad5, 0x1203: 0x7af5, 0x1204: 0x7b15, 0x1205: 0x7b35,
- 0x1206: 0x7b55, 0x1207: 0x7b75, 0x1208: 0x7b95, 0x1209: 0x7bb5, 0x120a: 0x7bd5, 0x120b: 0x7bf5,
- 0x120c: 0x7c15, 0x120d: 0x7c35, 0x120e: 0x7c55, 0x120f: 0x6ec9, 0x1210: 0x6ef1, 0x1211: 0x6f19,
- 0x1212: 0x7c75, 0x1213: 0x7c95, 0x1214: 0x7cb5, 0x1215: 0x6f41, 0x1216: 0x6f69, 0x1217: 0x6f91,
- 0x1218: 0x7cd5, 0x1219: 0x7cf5, 0x121a: 0x0040, 0x121b: 0x0040, 0x121c: 0x0040, 0x121d: 0x0040,
- 0x121e: 0x0040, 0x121f: 0x0040, 0x1220: 0x0040, 0x1221: 0x0040, 0x1222: 0x0040, 0x1223: 0x0040,
- 0x1224: 0x0040, 0x1225: 0x0040, 0x1226: 0x0040, 0x1227: 0x0040, 0x1228: 0x0040, 0x1229: 0x0040,
- 0x122a: 0x0040, 0x122b: 0x0040, 0x122c: 0x0040, 0x122d: 0x0040, 0x122e: 0x0040, 0x122f: 0x0040,
- 0x1230: 0x0040, 0x1231: 0x0040, 0x1232: 0x0040, 0x1233: 0x0040, 0x1234: 0x0040, 0x1235: 0x0040,
- 0x1236: 0x0040, 0x1237: 0x0040, 0x1238: 0x0040, 0x1239: 0x0040, 0x123a: 0x0040, 0x123b: 0x0040,
+ 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008,
+ 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d,
+ 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008,
+ 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008,
+ 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008,
+ 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008,
+ 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008,
+ 0x122a: 0x6e29, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e41, 0x122e: 0x1221, 0x122f: 0x0040,
+ 0x1230: 0x6e59, 0x1231: 0x6e71, 0x1232: 0x1239, 0x1233: 0x444d, 0x1234: 0xe00d, 0x1235: 0x0008,
+ 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0x0040, 0x1239: 0x0040, 0x123a: 0x0040, 0x123b: 0x0040,
0x123c: 0x0040, 0x123d: 0x0040, 0x123e: 0x0040, 0x123f: 0x0040,
// Block 0x49, offset 0x1240
- 0x1240: 0x6fb9, 0x1241: 0x6fd1, 0x1242: 0x6fe9, 0x1243: 0x7d15, 0x1244: 0x7d35, 0x1245: 0x7001,
- 0x1246: 0x7001, 0x1247: 0x0040, 0x1248: 0x0040, 0x1249: 0x0040, 0x124a: 0x0040, 0x124b: 0x0040,
- 0x124c: 0x0040, 0x124d: 0x0040, 0x124e: 0x0040, 0x124f: 0x0040, 0x1250: 0x0040, 0x1251: 0x0040,
- 0x1252: 0x0040, 0x1253: 0x7019, 0x1254: 0x7041, 0x1255: 0x7069, 0x1256: 0x7091, 0x1257: 0x70b9,
- 0x1258: 0x0040, 0x1259: 0x0040, 0x125a: 0x0040, 0x125b: 0x0040, 0x125c: 0x0040, 0x125d: 0x70e1,
- 0x125e: 0x1308, 0x125f: 0x7109, 0x1260: 0x7131, 0x1261: 0x20a9, 0x1262: 0x20f1, 0x1263: 0x7149,
- 0x1264: 0x7161, 0x1265: 0x7179, 0x1266: 0x7191, 0x1267: 0x71a9, 0x1268: 0x71c1, 0x1269: 0x1fb2,
- 0x126a: 0x71d9, 0x126b: 0x7201, 0x126c: 0x7229, 0x126d: 0x7261, 0x126e: 0x7299, 0x126f: 0x72c1,
- 0x1270: 0x72e9, 0x1271: 0x7311, 0x1272: 0x7339, 0x1273: 0x7361, 0x1274: 0x7389, 0x1275: 0x73b1,
- 0x1276: 0x73d9, 0x1277: 0x0040, 0x1278: 0x7401, 0x1279: 0x7429, 0x127a: 0x7451, 0x127b: 0x7479,
- 0x127c: 0x74a1, 0x127d: 0x0040, 0x127e: 0x74c9, 0x127f: 0x0040,
+ 0x1240: 0x64d5, 0x1241: 0x64f5, 0x1242: 0x6515, 0x1243: 0x6535, 0x1244: 0x6555, 0x1245: 0x6575,
+ 0x1246: 0x6595, 0x1247: 0x65b5, 0x1248: 0x65d5, 0x1249: 0x65f5, 0x124a: 0x6615, 0x124b: 0x6635,
+ 0x124c: 0x6655, 0x124d: 0x6675, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x6695, 0x1251: 0x0008,
+ 0x1252: 0x66b5, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x66d5, 0x1256: 0x66f5, 0x1257: 0x6715,
+ 0x1258: 0x6735, 0x1259: 0x6755, 0x125a: 0x6775, 0x125b: 0x6795, 0x125c: 0x67b5, 0x125d: 0x67d5,
+ 0x125e: 0x67f5, 0x125f: 0x0008, 0x1260: 0x6815, 0x1261: 0x0008, 0x1262: 0x6835, 0x1263: 0x0008,
+ 0x1264: 0x0008, 0x1265: 0x6855, 0x1266: 0x6875, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008,
+ 0x126a: 0x6895, 0x126b: 0x68b5, 0x126c: 0x68d5, 0x126d: 0x68f5, 0x126e: 0x6915, 0x126f: 0x6935,
+ 0x1270: 0x6955, 0x1271: 0x6975, 0x1272: 0x6995, 0x1273: 0x69b5, 0x1274: 0x69d5, 0x1275: 0x69f5,
+ 0x1276: 0x6a15, 0x1277: 0x6a35, 0x1278: 0x6a55, 0x1279: 0x6a75, 0x127a: 0x6a95, 0x127b: 0x6ab5,
+ 0x127c: 0x6ad5, 0x127d: 0x6af5, 0x127e: 0x6b15, 0x127f: 0x6b35,
// Block 0x4a, offset 0x1280
- 0x1280: 0x74f1, 0x1281: 0x7519, 0x1282: 0x0040, 0x1283: 0x7541, 0x1284: 0x7569, 0x1285: 0x0040,
- 0x1286: 0x7591, 0x1287: 0x75b9, 0x1288: 0x75e1, 0x1289: 0x7609, 0x128a: 0x7631, 0x128b: 0x7659,
- 0x128c: 0x7681, 0x128d: 0x76a9, 0x128e: 0x76d1, 0x128f: 0x76f9, 0x1290: 0x7721, 0x1291: 0x7721,
- 0x1292: 0x7739, 0x1293: 0x7739, 0x1294: 0x7739, 0x1295: 0x7739, 0x1296: 0x7751, 0x1297: 0x7751,
- 0x1298: 0x7751, 0x1299: 0x7751, 0x129a: 0x7769, 0x129b: 0x7769, 0x129c: 0x7769, 0x129d: 0x7769,
- 0x129e: 0x7781, 0x129f: 0x7781, 0x12a0: 0x7781, 0x12a1: 0x7781, 0x12a2: 0x7799, 0x12a3: 0x7799,
- 0x12a4: 0x7799, 0x12a5: 0x7799, 0x12a6: 0x77b1, 0x12a7: 0x77b1, 0x12a8: 0x77b1, 0x12a9: 0x77b1,
- 0x12aa: 0x77c9, 0x12ab: 0x77c9, 0x12ac: 0x77c9, 0x12ad: 0x77c9, 0x12ae: 0x77e1, 0x12af: 0x77e1,
- 0x12b0: 0x77e1, 0x12b1: 0x77e1, 0x12b2: 0x77f9, 0x12b3: 0x77f9, 0x12b4: 0x77f9, 0x12b5: 0x77f9,
- 0x12b6: 0x7811, 0x12b7: 0x7811, 0x12b8: 0x7811, 0x12b9: 0x7811, 0x12ba: 0x7829, 0x12bb: 0x7829,
- 0x12bc: 0x7829, 0x12bd: 0x7829, 0x12be: 0x7841, 0x12bf: 0x7841,
+ 0x1280: 0x7a95, 0x1281: 0x7ab5, 0x1282: 0x7ad5, 0x1283: 0x7af5, 0x1284: 0x7b15, 0x1285: 0x7b35,
+ 0x1286: 0x7b55, 0x1287: 0x7b75, 0x1288: 0x7b95, 0x1289: 0x7bb5, 0x128a: 0x7bd5, 0x128b: 0x7bf5,
+ 0x128c: 0x7c15, 0x128d: 0x7c35, 0x128e: 0x7c55, 0x128f: 0x6ec9, 0x1290: 0x6ef1, 0x1291: 0x6f19,
+ 0x1292: 0x7c75, 0x1293: 0x7c95, 0x1294: 0x7cb5, 0x1295: 0x6f41, 0x1296: 0x6f69, 0x1297: 0x6f91,
+ 0x1298: 0x7cd5, 0x1299: 0x7cf5, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040,
+ 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040,
+ 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040,
+ 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040,
+ 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040,
+ 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040,
+ 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040,
// Block 0x4b, offset 0x12c0
- 0x12c0: 0x7841, 0x12c1: 0x7841, 0x12c2: 0x7859, 0x12c3: 0x7859, 0x12c4: 0x7871, 0x12c5: 0x7871,
- 0x12c6: 0x7889, 0x12c7: 0x7889, 0x12c8: 0x78a1, 0x12c9: 0x78a1, 0x12ca: 0x78b9, 0x12cb: 0x78b9,
- 0x12cc: 0x78d1, 0x12cd: 0x78d1, 0x12ce: 0x78e9, 0x12cf: 0x78e9, 0x12d0: 0x78e9, 0x12d1: 0x78e9,
- 0x12d2: 0x7901, 0x12d3: 0x7901, 0x12d4: 0x7901, 0x12d5: 0x7901, 0x12d6: 0x7919, 0x12d7: 0x7919,
- 0x12d8: 0x7919, 0x12d9: 0x7919, 0x12da: 0x7931, 0x12db: 0x7931, 0x12dc: 0x7931, 0x12dd: 0x7931,
- 0x12de: 0x7949, 0x12df: 0x7949, 0x12e0: 0x7961, 0x12e1: 0x7961, 0x12e2: 0x7961, 0x12e3: 0x7961,
- 0x12e4: 0x7979, 0x12e5: 0x7979, 0x12e6: 0x7991, 0x12e7: 0x7991, 0x12e8: 0x7991, 0x12e9: 0x7991,
- 0x12ea: 0x79a9, 0x12eb: 0x79a9, 0x12ec: 0x79a9, 0x12ed: 0x79a9, 0x12ee: 0x79c1, 0x12ef: 0x79c1,
- 0x12f0: 0x79d9, 0x12f1: 0x79d9, 0x12f2: 0x0018, 0x12f3: 0x0018, 0x12f4: 0x0018, 0x12f5: 0x0018,
- 0x12f6: 0x0018, 0x12f7: 0x0018, 0x12f8: 0x0018, 0x12f9: 0x0018, 0x12fa: 0x0018, 0x12fb: 0x0018,
- 0x12fc: 0x0018, 0x12fd: 0x0018, 0x12fe: 0x0018, 0x12ff: 0x0018,
+ 0x12c0: 0x6fb9, 0x12c1: 0x6fd1, 0x12c2: 0x6fe9, 0x12c3: 0x7d15, 0x12c4: 0x7d35, 0x12c5: 0x7001,
+ 0x12c6: 0x7001, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040,
+ 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040,
+ 0x12d2: 0x0040, 0x12d3: 0x7019, 0x12d4: 0x7041, 0x12d5: 0x7069, 0x12d6: 0x7091, 0x12d7: 0x70b9,
+ 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x70e1,
+ 0x12de: 0x3308, 0x12df: 0x7109, 0x12e0: 0x7131, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7149,
+ 0x12e4: 0x7161, 0x12e5: 0x7179, 0x12e6: 0x7191, 0x12e7: 0x71a9, 0x12e8: 0x71c1, 0x12e9: 0x1fb2,
+ 0x12ea: 0x71d9, 0x12eb: 0x7201, 0x12ec: 0x7229, 0x12ed: 0x7261, 0x12ee: 0x7299, 0x12ef: 0x72c1,
+ 0x12f0: 0x72e9, 0x12f1: 0x7311, 0x12f2: 0x7339, 0x12f3: 0x7361, 0x12f4: 0x7389, 0x12f5: 0x73b1,
+ 0x12f6: 0x73d9, 0x12f7: 0x0040, 0x12f8: 0x7401, 0x12f9: 0x7429, 0x12fa: 0x7451, 0x12fb: 0x7479,
+ 0x12fc: 0x74a1, 0x12fd: 0x0040, 0x12fe: 0x74c9, 0x12ff: 0x0040,
// Block 0x4c, offset 0x1300
- 0x1300: 0x0018, 0x1301: 0x0018, 0x1302: 0x0040, 0x1303: 0x0040, 0x1304: 0x0040, 0x1305: 0x0040,
- 0x1306: 0x0040, 0x1307: 0x0040, 0x1308: 0x0040, 0x1309: 0x0040, 0x130a: 0x0040, 0x130b: 0x0040,
- 0x130c: 0x0040, 0x130d: 0x0040, 0x130e: 0x0040, 0x130f: 0x0040, 0x1310: 0x0040, 0x1311: 0x0040,
- 0x1312: 0x0040, 0x1313: 0x79f1, 0x1314: 0x79f1, 0x1315: 0x79f1, 0x1316: 0x79f1, 0x1317: 0x7a09,
- 0x1318: 0x7a09, 0x1319: 0x7a21, 0x131a: 0x7a21, 0x131b: 0x7a39, 0x131c: 0x7a39, 0x131d: 0x0479,
- 0x131e: 0x7a51, 0x131f: 0x7a51, 0x1320: 0x7a69, 0x1321: 0x7a69, 0x1322: 0x7a81, 0x1323: 0x7a81,
- 0x1324: 0x7a99, 0x1325: 0x7a99, 0x1326: 0x7a99, 0x1327: 0x7a99, 0x1328: 0x7ab1, 0x1329: 0x7ab1,
- 0x132a: 0x7ac9, 0x132b: 0x7ac9, 0x132c: 0x7af1, 0x132d: 0x7af1, 0x132e: 0x7b19, 0x132f: 0x7b19,
- 0x1330: 0x7b41, 0x1331: 0x7b41, 0x1332: 0x7b69, 0x1333: 0x7b69, 0x1334: 0x7b91, 0x1335: 0x7b91,
- 0x1336: 0x7bb9, 0x1337: 0x7bb9, 0x1338: 0x7bb9, 0x1339: 0x7be1, 0x133a: 0x7be1, 0x133b: 0x7be1,
- 0x133c: 0x7c09, 0x133d: 0x7c09, 0x133e: 0x7c09, 0x133f: 0x7c09,
+ 0x1300: 0x74f1, 0x1301: 0x7519, 0x1302: 0x0040, 0x1303: 0x7541, 0x1304: 0x7569, 0x1305: 0x0040,
+ 0x1306: 0x7591, 0x1307: 0x75b9, 0x1308: 0x75e1, 0x1309: 0x7609, 0x130a: 0x7631, 0x130b: 0x7659,
+ 0x130c: 0x7681, 0x130d: 0x76a9, 0x130e: 0x76d1, 0x130f: 0x76f9, 0x1310: 0x7721, 0x1311: 0x7721,
+ 0x1312: 0x7739, 0x1313: 0x7739, 0x1314: 0x7739, 0x1315: 0x7739, 0x1316: 0x7751, 0x1317: 0x7751,
+ 0x1318: 0x7751, 0x1319: 0x7751, 0x131a: 0x7769, 0x131b: 0x7769, 0x131c: 0x7769, 0x131d: 0x7769,
+ 0x131e: 0x7781, 0x131f: 0x7781, 0x1320: 0x7781, 0x1321: 0x7781, 0x1322: 0x7799, 0x1323: 0x7799,
+ 0x1324: 0x7799, 0x1325: 0x7799, 0x1326: 0x77b1, 0x1327: 0x77b1, 0x1328: 0x77b1, 0x1329: 0x77b1,
+ 0x132a: 0x77c9, 0x132b: 0x77c9, 0x132c: 0x77c9, 0x132d: 0x77c9, 0x132e: 0x77e1, 0x132f: 0x77e1,
+ 0x1330: 0x77e1, 0x1331: 0x77e1, 0x1332: 0x77f9, 0x1333: 0x77f9, 0x1334: 0x77f9, 0x1335: 0x77f9,
+ 0x1336: 0x7811, 0x1337: 0x7811, 0x1338: 0x7811, 0x1339: 0x7811, 0x133a: 0x7829, 0x133b: 0x7829,
+ 0x133c: 0x7829, 0x133d: 0x7829, 0x133e: 0x7841, 0x133f: 0x7841,
// Block 0x4d, offset 0x1340
- 0x1340: 0x85f9, 0x1341: 0x8621, 0x1342: 0x8649, 0x1343: 0x8671, 0x1344: 0x8699, 0x1345: 0x86c1,
- 0x1346: 0x86e9, 0x1347: 0x8711, 0x1348: 0x8739, 0x1349: 0x8761, 0x134a: 0x8789, 0x134b: 0x87b1,
- 0x134c: 0x87d9, 0x134d: 0x8801, 0x134e: 0x8829, 0x134f: 0x8851, 0x1350: 0x8879, 0x1351: 0x88a1,
- 0x1352: 0x88c9, 0x1353: 0x88f1, 0x1354: 0x8919, 0x1355: 0x8941, 0x1356: 0x8969, 0x1357: 0x8991,
- 0x1358: 0x89b9, 0x1359: 0x89e1, 0x135a: 0x8a09, 0x135b: 0x8a31, 0x135c: 0x8a59, 0x135d: 0x8a81,
- 0x135e: 0x8aaa, 0x135f: 0x8ada, 0x1360: 0x8b0a, 0x1361: 0x8b3a, 0x1362: 0x8b6a, 0x1363: 0x8b9a,
- 0x1364: 0x8bc9, 0x1365: 0x8bf1, 0x1366: 0x7c71, 0x1367: 0x8c19, 0x1368: 0x7be1, 0x1369: 0x7c99,
- 0x136a: 0x8c41, 0x136b: 0x8c69, 0x136c: 0x7d39, 0x136d: 0x8c91, 0x136e: 0x7d61, 0x136f: 0x7d89,
- 0x1370: 0x8cb9, 0x1371: 0x8ce1, 0x1372: 0x7e29, 0x1373: 0x8d09, 0x1374: 0x7e51, 0x1375: 0x7e79,
- 0x1376: 0x8d31, 0x1377: 0x8d59, 0x1378: 0x7ec9, 0x1379: 0x8d81, 0x137a: 0x7ef1, 0x137b: 0x7f19,
- 0x137c: 0x83a1, 0x137d: 0x83c9, 0x137e: 0x8441, 0x137f: 0x8469,
+ 0x1340: 0x7841, 0x1341: 0x7841, 0x1342: 0x7859, 0x1343: 0x7859, 0x1344: 0x7871, 0x1345: 0x7871,
+ 0x1346: 0x7889, 0x1347: 0x7889, 0x1348: 0x78a1, 0x1349: 0x78a1, 0x134a: 0x78b9, 0x134b: 0x78b9,
+ 0x134c: 0x78d1, 0x134d: 0x78d1, 0x134e: 0x78e9, 0x134f: 0x78e9, 0x1350: 0x78e9, 0x1351: 0x78e9,
+ 0x1352: 0x7901, 0x1353: 0x7901, 0x1354: 0x7901, 0x1355: 0x7901, 0x1356: 0x7919, 0x1357: 0x7919,
+ 0x1358: 0x7919, 0x1359: 0x7919, 0x135a: 0x7931, 0x135b: 0x7931, 0x135c: 0x7931, 0x135d: 0x7931,
+ 0x135e: 0x7949, 0x135f: 0x7949, 0x1360: 0x7961, 0x1361: 0x7961, 0x1362: 0x7961, 0x1363: 0x7961,
+ 0x1364: 0x7979, 0x1365: 0x7979, 0x1366: 0x7991, 0x1367: 0x7991, 0x1368: 0x7991, 0x1369: 0x7991,
+ 0x136a: 0x79a9, 0x136b: 0x79a9, 0x136c: 0x79a9, 0x136d: 0x79a9, 0x136e: 0x79c1, 0x136f: 0x79c1,
+ 0x1370: 0x79d9, 0x1371: 0x79d9, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818,
+ 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818,
+ 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818,
// Block 0x4e, offset 0x1380
- 0x1380: 0x8491, 0x1381: 0x8531, 0x1382: 0x8559, 0x1383: 0x8581, 0x1384: 0x85a9, 0x1385: 0x8649,
- 0x1386: 0x8671, 0x1387: 0x8699, 0x1388: 0x8da9, 0x1389: 0x8739, 0x138a: 0x8dd1, 0x138b: 0x8df9,
- 0x138c: 0x8829, 0x138d: 0x8e21, 0x138e: 0x8851, 0x138f: 0x8879, 0x1390: 0x8a81, 0x1391: 0x8e49,
- 0x1392: 0x8e71, 0x1393: 0x89b9, 0x1394: 0x8e99, 0x1395: 0x89e1, 0x1396: 0x8a09, 0x1397: 0x7c21,
- 0x1398: 0x7c49, 0x1399: 0x8ec1, 0x139a: 0x7c71, 0x139b: 0x8ee9, 0x139c: 0x7cc1, 0x139d: 0x7ce9,
- 0x139e: 0x7d11, 0x139f: 0x7d39, 0x13a0: 0x8f11, 0x13a1: 0x7db1, 0x13a2: 0x7dd9, 0x13a3: 0x7e01,
- 0x13a4: 0x7e29, 0x13a5: 0x8f39, 0x13a6: 0x7ec9, 0x13a7: 0x7f41, 0x13a8: 0x7f69, 0x13a9: 0x7f91,
- 0x13aa: 0x7fb9, 0x13ab: 0x7fe1, 0x13ac: 0x8031, 0x13ad: 0x8059, 0x13ae: 0x8081, 0x13af: 0x80a9,
- 0x13b0: 0x80d1, 0x13b1: 0x80f9, 0x13b2: 0x8f61, 0x13b3: 0x8121, 0x13b4: 0x8149, 0x13b5: 0x8171,
- 0x13b6: 0x8199, 0x13b7: 0x81c1, 0x13b8: 0x81e9, 0x13b9: 0x8239, 0x13ba: 0x8261, 0x13bb: 0x8289,
- 0x13bc: 0x82b1, 0x13bd: 0x82d9, 0x13be: 0x8301, 0x13bf: 0x8329,
+ 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040,
+ 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040,
+ 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040,
+ 0x1392: 0x0040, 0x1393: 0x79f1, 0x1394: 0x79f1, 0x1395: 0x79f1, 0x1396: 0x79f1, 0x1397: 0x7a09,
+ 0x1398: 0x7a09, 0x1399: 0x7a21, 0x139a: 0x7a21, 0x139b: 0x7a39, 0x139c: 0x7a39, 0x139d: 0x0479,
+ 0x139e: 0x7a51, 0x139f: 0x7a51, 0x13a0: 0x7a69, 0x13a1: 0x7a69, 0x13a2: 0x7a81, 0x13a3: 0x7a81,
+ 0x13a4: 0x7a99, 0x13a5: 0x7a99, 0x13a6: 0x7a99, 0x13a7: 0x7a99, 0x13a8: 0x7ab1, 0x13a9: 0x7ab1,
+ 0x13aa: 0x7ac9, 0x13ab: 0x7ac9, 0x13ac: 0x7af1, 0x13ad: 0x7af1, 0x13ae: 0x7b19, 0x13af: 0x7b19,
+ 0x13b0: 0x7b41, 0x13b1: 0x7b41, 0x13b2: 0x7b69, 0x13b3: 0x7b69, 0x13b4: 0x7b91, 0x13b5: 0x7b91,
+ 0x13b6: 0x7bb9, 0x13b7: 0x7bb9, 0x13b8: 0x7bb9, 0x13b9: 0x7be1, 0x13ba: 0x7be1, 0x13bb: 0x7be1,
+ 0x13bc: 0x7c09, 0x13bd: 0x7c09, 0x13be: 0x7c09, 0x13bf: 0x7c09,
// Block 0x4f, offset 0x13c0
- 0x13c0: 0x8351, 0x13c1: 0x8379, 0x13c2: 0x83f1, 0x13c3: 0x8419, 0x13c4: 0x84b9, 0x13c5: 0x84e1,
- 0x13c6: 0x8509, 0x13c7: 0x8531, 0x13c8: 0x8559, 0x13c9: 0x85d1, 0x13ca: 0x85f9, 0x13cb: 0x8621,
- 0x13cc: 0x8649, 0x13cd: 0x8f89, 0x13ce: 0x86c1, 0x13cf: 0x86e9, 0x13d0: 0x8711, 0x13d1: 0x8739,
- 0x13d2: 0x87b1, 0x13d3: 0x87d9, 0x13d4: 0x8801, 0x13d5: 0x8829, 0x13d6: 0x8fb1, 0x13d7: 0x88a1,
- 0x13d8: 0x88c9, 0x13d9: 0x8fd9, 0x13da: 0x8941, 0x13db: 0x8969, 0x13dc: 0x8991, 0x13dd: 0x89b9,
- 0x13de: 0x9001, 0x13df: 0x7c71, 0x13e0: 0x8ee9, 0x13e1: 0x7d39, 0x13e2: 0x8f11, 0x13e3: 0x7e29,
- 0x13e4: 0x8f39, 0x13e5: 0x7ec9, 0x13e6: 0x9029, 0x13e7: 0x80d1, 0x13e8: 0x9051, 0x13e9: 0x9079,
- 0x13ea: 0x90a1, 0x13eb: 0x8531, 0x13ec: 0x8559, 0x13ed: 0x8649, 0x13ee: 0x8829, 0x13ef: 0x8fb1,
- 0x13f0: 0x89b9, 0x13f1: 0x9001, 0x13f2: 0x90c9, 0x13f3: 0x9101, 0x13f4: 0x9139, 0x13f5: 0x9171,
- 0x13f6: 0x9199, 0x13f7: 0x91c1, 0x13f8: 0x91e9, 0x13f9: 0x9211, 0x13fa: 0x9239, 0x13fb: 0x9261,
- 0x13fc: 0x9289, 0x13fd: 0x92b1, 0x13fe: 0x92d9, 0x13ff: 0x9301,
+ 0x13c0: 0x85f9, 0x13c1: 0x8621, 0x13c2: 0x8649, 0x13c3: 0x8671, 0x13c4: 0x8699, 0x13c5: 0x86c1,
+ 0x13c6: 0x86e9, 0x13c7: 0x8711, 0x13c8: 0x8739, 0x13c9: 0x8761, 0x13ca: 0x8789, 0x13cb: 0x87b1,
+ 0x13cc: 0x87d9, 0x13cd: 0x8801, 0x13ce: 0x8829, 0x13cf: 0x8851, 0x13d0: 0x8879, 0x13d1: 0x88a1,
+ 0x13d2: 0x88c9, 0x13d3: 0x88f1, 0x13d4: 0x8919, 0x13d5: 0x8941, 0x13d6: 0x8969, 0x13d7: 0x8991,
+ 0x13d8: 0x89b9, 0x13d9: 0x89e1, 0x13da: 0x8a09, 0x13db: 0x8a31, 0x13dc: 0x8a59, 0x13dd: 0x8a81,
+ 0x13de: 0x8aaa, 0x13df: 0x8ada, 0x13e0: 0x8b0a, 0x13e1: 0x8b3a, 0x13e2: 0x8b6a, 0x13e3: 0x8b9a,
+ 0x13e4: 0x8bc9, 0x13e5: 0x8bf1, 0x13e6: 0x7c71, 0x13e7: 0x8c19, 0x13e8: 0x7be1, 0x13e9: 0x7c99,
+ 0x13ea: 0x8c41, 0x13eb: 0x8c69, 0x13ec: 0x7d39, 0x13ed: 0x8c91, 0x13ee: 0x7d61, 0x13ef: 0x7d89,
+ 0x13f0: 0x8cb9, 0x13f1: 0x8ce1, 0x13f2: 0x7e29, 0x13f3: 0x8d09, 0x13f4: 0x7e51, 0x13f5: 0x7e79,
+ 0x13f6: 0x8d31, 0x13f7: 0x8d59, 0x13f8: 0x7ec9, 0x13f9: 0x8d81, 0x13fa: 0x7ef1, 0x13fb: 0x7f19,
+ 0x13fc: 0x83a1, 0x13fd: 0x83c9, 0x13fe: 0x8441, 0x13ff: 0x8469,
// Block 0x50, offset 0x1400
- 0x1400: 0x9329, 0x1401: 0x9351, 0x1402: 0x9379, 0x1403: 0x93a1, 0x1404: 0x93c9, 0x1405: 0x93f1,
- 0x1406: 0x9419, 0x1407: 0x9441, 0x1408: 0x9469, 0x1409: 0x9491, 0x140a: 0x94b9, 0x140b: 0x94e1,
- 0x140c: 0x9079, 0x140d: 0x9509, 0x140e: 0x9531, 0x140f: 0x9559, 0x1410: 0x9581, 0x1411: 0x9171,
- 0x1412: 0x9199, 0x1413: 0x91c1, 0x1414: 0x91e9, 0x1415: 0x9211, 0x1416: 0x9239, 0x1417: 0x9261,
- 0x1418: 0x9289, 0x1419: 0x92b1, 0x141a: 0x92d9, 0x141b: 0x9301, 0x141c: 0x9329, 0x141d: 0x9351,
- 0x141e: 0x9379, 0x141f: 0x93a1, 0x1420: 0x93c9, 0x1421: 0x93f1, 0x1422: 0x9419, 0x1423: 0x9441,
- 0x1424: 0x9469, 0x1425: 0x9491, 0x1426: 0x94b9, 0x1427: 0x94e1, 0x1428: 0x9079, 0x1429: 0x9509,
- 0x142a: 0x9531, 0x142b: 0x9559, 0x142c: 0x9581, 0x142d: 0x9491, 0x142e: 0x94b9, 0x142f: 0x94e1,
- 0x1430: 0x9079, 0x1431: 0x9051, 0x1432: 0x90a1, 0x1433: 0x8211, 0x1434: 0x8059, 0x1435: 0x8081,
- 0x1436: 0x80a9, 0x1437: 0x9491, 0x1438: 0x94b9, 0x1439: 0x94e1, 0x143a: 0x8211, 0x143b: 0x8239,
- 0x143c: 0x95a9, 0x143d: 0x95a9, 0x143e: 0x0018, 0x143f: 0x0018,
+ 0x1400: 0x8491, 0x1401: 0x8531, 0x1402: 0x8559, 0x1403: 0x8581, 0x1404: 0x85a9, 0x1405: 0x8649,
+ 0x1406: 0x8671, 0x1407: 0x8699, 0x1408: 0x8da9, 0x1409: 0x8739, 0x140a: 0x8dd1, 0x140b: 0x8df9,
+ 0x140c: 0x8829, 0x140d: 0x8e21, 0x140e: 0x8851, 0x140f: 0x8879, 0x1410: 0x8a81, 0x1411: 0x8e49,
+ 0x1412: 0x8e71, 0x1413: 0x89b9, 0x1414: 0x8e99, 0x1415: 0x89e1, 0x1416: 0x8a09, 0x1417: 0x7c21,
+ 0x1418: 0x7c49, 0x1419: 0x8ec1, 0x141a: 0x7c71, 0x141b: 0x8ee9, 0x141c: 0x7cc1, 0x141d: 0x7ce9,
+ 0x141e: 0x7d11, 0x141f: 0x7d39, 0x1420: 0x8f11, 0x1421: 0x7db1, 0x1422: 0x7dd9, 0x1423: 0x7e01,
+ 0x1424: 0x7e29, 0x1425: 0x8f39, 0x1426: 0x7ec9, 0x1427: 0x7f41, 0x1428: 0x7f69, 0x1429: 0x7f91,
+ 0x142a: 0x7fb9, 0x142b: 0x7fe1, 0x142c: 0x8031, 0x142d: 0x8059, 0x142e: 0x8081, 0x142f: 0x80a9,
+ 0x1430: 0x80d1, 0x1431: 0x80f9, 0x1432: 0x8f61, 0x1433: 0x8121, 0x1434: 0x8149, 0x1435: 0x8171,
+ 0x1436: 0x8199, 0x1437: 0x81c1, 0x1438: 0x81e9, 0x1439: 0x8239, 0x143a: 0x8261, 0x143b: 0x8289,
+ 0x143c: 0x82b1, 0x143d: 0x82d9, 0x143e: 0x8301, 0x143f: 0x8329,
// Block 0x51, offset 0x1440
- 0x1440: 0x0040, 0x1441: 0x0040, 0x1442: 0x0040, 0x1443: 0x0040, 0x1444: 0x0040, 0x1445: 0x0040,
- 0x1446: 0x0040, 0x1447: 0x0040, 0x1448: 0x0040, 0x1449: 0x0040, 0x144a: 0x0040, 0x144b: 0x0040,
- 0x144c: 0x0040, 0x144d: 0x0040, 0x144e: 0x0040, 0x144f: 0x0040, 0x1450: 0x95d1, 0x1451: 0x9609,
- 0x1452: 0x9609, 0x1453: 0x9641, 0x1454: 0x9679, 0x1455: 0x96b1, 0x1456: 0x96e9, 0x1457: 0x9721,
- 0x1458: 0x9759, 0x1459: 0x9759, 0x145a: 0x9791, 0x145b: 0x97c9, 0x145c: 0x9801, 0x145d: 0x9839,
- 0x145e: 0x9871, 0x145f: 0x98a9, 0x1460: 0x98a9, 0x1461: 0x98e1, 0x1462: 0x9919, 0x1463: 0x9919,
- 0x1464: 0x9951, 0x1465: 0x9951, 0x1466: 0x9989, 0x1467: 0x99c1, 0x1468: 0x99c1, 0x1469: 0x99f9,
- 0x146a: 0x9a31, 0x146b: 0x9a31, 0x146c: 0x9a69, 0x146d: 0x9a69, 0x146e: 0x9aa1, 0x146f: 0x9ad9,
- 0x1470: 0x9ad9, 0x1471: 0x9b11, 0x1472: 0x9b11, 0x1473: 0x9b49, 0x1474: 0x9b81, 0x1475: 0x9bb9,
- 0x1476: 0x9bf1, 0x1477: 0x9bf1, 0x1478: 0x9c29, 0x1479: 0x9c61, 0x147a: 0x9c99, 0x147b: 0x9cd1,
- 0x147c: 0x9d09, 0x147d: 0x9d09, 0x147e: 0x9d41, 0x147f: 0x9d79,
+ 0x1440: 0x8351, 0x1441: 0x8379, 0x1442: 0x83f1, 0x1443: 0x8419, 0x1444: 0x84b9, 0x1445: 0x84e1,
+ 0x1446: 0x8509, 0x1447: 0x8531, 0x1448: 0x8559, 0x1449: 0x85d1, 0x144a: 0x85f9, 0x144b: 0x8621,
+ 0x144c: 0x8649, 0x144d: 0x8f89, 0x144e: 0x86c1, 0x144f: 0x86e9, 0x1450: 0x8711, 0x1451: 0x8739,
+ 0x1452: 0x87b1, 0x1453: 0x87d9, 0x1454: 0x8801, 0x1455: 0x8829, 0x1456: 0x8fb1, 0x1457: 0x88a1,
+ 0x1458: 0x88c9, 0x1459: 0x8fd9, 0x145a: 0x8941, 0x145b: 0x8969, 0x145c: 0x8991, 0x145d: 0x89b9,
+ 0x145e: 0x9001, 0x145f: 0x7c71, 0x1460: 0x8ee9, 0x1461: 0x7d39, 0x1462: 0x8f11, 0x1463: 0x7e29,
+ 0x1464: 0x8f39, 0x1465: 0x7ec9, 0x1466: 0x9029, 0x1467: 0x80d1, 0x1468: 0x9051, 0x1469: 0x9079,
+ 0x146a: 0x90a1, 0x146b: 0x8531, 0x146c: 0x8559, 0x146d: 0x8649, 0x146e: 0x8829, 0x146f: 0x8fb1,
+ 0x1470: 0x89b9, 0x1471: 0x9001, 0x1472: 0x90c9, 0x1473: 0x9101, 0x1474: 0x9139, 0x1475: 0x9171,
+ 0x1476: 0x9199, 0x1477: 0x91c1, 0x1478: 0x91e9, 0x1479: 0x9211, 0x147a: 0x9239, 0x147b: 0x9261,
+ 0x147c: 0x9289, 0x147d: 0x92b1, 0x147e: 0x92d9, 0x147f: 0x9301,
// Block 0x52, offset 0x1480
- 0x1480: 0xa949, 0x1481: 0xa981, 0x1482: 0xa9b9, 0x1483: 0xa8a1, 0x1484: 0x9bb9, 0x1485: 0x9989,
- 0x1486: 0xa9f1, 0x1487: 0xaa29, 0x1488: 0x0040, 0x1489: 0x0040, 0x148a: 0x0040, 0x148b: 0x0040,
- 0x148c: 0x0040, 0x148d: 0x0040, 0x148e: 0x0040, 0x148f: 0x0040, 0x1490: 0x0040, 0x1491: 0x0040,
- 0x1492: 0x0040, 0x1493: 0x0040, 0x1494: 0x0040, 0x1495: 0x0040, 0x1496: 0x0040, 0x1497: 0x0040,
- 0x1498: 0x0040, 0x1499: 0x0040, 0x149a: 0x0040, 0x149b: 0x0040, 0x149c: 0x0040, 0x149d: 0x0040,
- 0x149e: 0x0040, 0x149f: 0x0040, 0x14a0: 0x0040, 0x14a1: 0x0040, 0x14a2: 0x0040, 0x14a3: 0x0040,
- 0x14a4: 0x0040, 0x14a5: 0x0040, 0x14a6: 0x0040, 0x14a7: 0x0040, 0x14a8: 0x0040, 0x14a9: 0x0040,
- 0x14aa: 0x0040, 0x14ab: 0x0040, 0x14ac: 0x0040, 0x14ad: 0x0040, 0x14ae: 0x0040, 0x14af: 0x0040,
- 0x14b0: 0xaa61, 0x14b1: 0xaa99, 0x14b2: 0xaad1, 0x14b3: 0xab19, 0x14b4: 0xab61, 0x14b5: 0xaba9,
- 0x14b6: 0xabf1, 0x14b7: 0xac39, 0x14b8: 0xac81, 0x14b9: 0xacc9, 0x14ba: 0xad02, 0x14bb: 0xae12,
- 0x14bc: 0xae91, 0x14bd: 0x0018, 0x14be: 0x0040, 0x14bf: 0x0040,
+ 0x1480: 0x9329, 0x1481: 0x9351, 0x1482: 0x9379, 0x1483: 0x93a1, 0x1484: 0x93c9, 0x1485: 0x93f1,
+ 0x1486: 0x9419, 0x1487: 0x9441, 0x1488: 0x9469, 0x1489: 0x9491, 0x148a: 0x94b9, 0x148b: 0x94e1,
+ 0x148c: 0x9079, 0x148d: 0x9509, 0x148e: 0x9531, 0x148f: 0x9559, 0x1490: 0x9581, 0x1491: 0x9171,
+ 0x1492: 0x9199, 0x1493: 0x91c1, 0x1494: 0x91e9, 0x1495: 0x9211, 0x1496: 0x9239, 0x1497: 0x9261,
+ 0x1498: 0x9289, 0x1499: 0x92b1, 0x149a: 0x92d9, 0x149b: 0x9301, 0x149c: 0x9329, 0x149d: 0x9351,
+ 0x149e: 0x9379, 0x149f: 0x93a1, 0x14a0: 0x93c9, 0x14a1: 0x93f1, 0x14a2: 0x9419, 0x14a3: 0x9441,
+ 0x14a4: 0x9469, 0x14a5: 0x9491, 0x14a6: 0x94b9, 0x14a7: 0x94e1, 0x14a8: 0x9079, 0x14a9: 0x9509,
+ 0x14aa: 0x9531, 0x14ab: 0x9559, 0x14ac: 0x9581, 0x14ad: 0x9491, 0x14ae: 0x94b9, 0x14af: 0x94e1,
+ 0x14b0: 0x9079, 0x14b1: 0x9051, 0x14b2: 0x90a1, 0x14b3: 0x8211, 0x14b4: 0x8059, 0x14b5: 0x8081,
+ 0x14b6: 0x80a9, 0x14b7: 0x9491, 0x14b8: 0x94b9, 0x14b9: 0x94e1, 0x14ba: 0x8211, 0x14bb: 0x8239,
+ 0x14bc: 0x95a9, 0x14bd: 0x95a9, 0x14be: 0x0018, 0x14bf: 0x0018,
// Block 0x53, offset 0x14c0
- 0x14c0: 0x13c0, 0x14c1: 0x13c0, 0x14c2: 0x13c0, 0x14c3: 0x13c0, 0x14c4: 0x13c0, 0x14c5: 0x13c0,
- 0x14c6: 0x13c0, 0x14c7: 0x13c0, 0x14c8: 0x13c0, 0x14c9: 0x13c0, 0x14ca: 0x13c0, 0x14cb: 0x13c0,
- 0x14cc: 0x13c0, 0x14cd: 0x13c0, 0x14ce: 0x13c0, 0x14cf: 0x13c0, 0x14d0: 0xaeda, 0x14d1: 0x7d55,
- 0x14d2: 0x0040, 0x14d3: 0xaeea, 0x14d4: 0x03c2, 0x14d5: 0xaefa, 0x14d6: 0xaf0a, 0x14d7: 0x7d75,
- 0x14d8: 0x7d95, 0x14d9: 0x0040, 0x14da: 0x0040, 0x14db: 0x0040, 0x14dc: 0x0040, 0x14dd: 0x0040,
- 0x14de: 0x0040, 0x14df: 0x0040, 0x14e0: 0x1308, 0x14e1: 0x1308, 0x14e2: 0x1308, 0x14e3: 0x1308,
- 0x14e4: 0x1308, 0x14e5: 0x1308, 0x14e6: 0x1308, 0x14e7: 0x1308, 0x14e8: 0x1308, 0x14e9: 0x1308,
- 0x14ea: 0x1308, 0x14eb: 0x1308, 0x14ec: 0x1308, 0x14ed: 0x1308, 0x14ee: 0x1308, 0x14ef: 0x1308,
- 0x14f0: 0x0040, 0x14f1: 0x7db5, 0x14f2: 0x7dd5, 0x14f3: 0xaf1a, 0x14f4: 0xaf1a, 0x14f5: 0x1fd2,
- 0x14f6: 0x1fe2, 0x14f7: 0xaf2a, 0x14f8: 0xaf3a, 0x14f9: 0x7df5, 0x14fa: 0x7e15, 0x14fb: 0x7e35,
- 0x14fc: 0x7df5, 0x14fd: 0x7e55, 0x14fe: 0x7e75, 0x14ff: 0x7e55,
+ 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040,
+ 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040,
+ 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x95d1, 0x14d1: 0x9609,
+ 0x14d2: 0x9609, 0x14d3: 0x9641, 0x14d4: 0x9679, 0x14d5: 0x96b1, 0x14d6: 0x96e9, 0x14d7: 0x9721,
+ 0x14d8: 0x9759, 0x14d9: 0x9759, 0x14da: 0x9791, 0x14db: 0x97c9, 0x14dc: 0x9801, 0x14dd: 0x9839,
+ 0x14de: 0x9871, 0x14df: 0x98a9, 0x14e0: 0x98a9, 0x14e1: 0x98e1, 0x14e2: 0x9919, 0x14e3: 0x9919,
+ 0x14e4: 0x9951, 0x14e5: 0x9951, 0x14e6: 0x9989, 0x14e7: 0x99c1, 0x14e8: 0x99c1, 0x14e9: 0x99f9,
+ 0x14ea: 0x9a31, 0x14eb: 0x9a31, 0x14ec: 0x9a69, 0x14ed: 0x9a69, 0x14ee: 0x9aa1, 0x14ef: 0x9ad9,
+ 0x14f0: 0x9ad9, 0x14f1: 0x9b11, 0x14f2: 0x9b11, 0x14f3: 0x9b49, 0x14f4: 0x9b81, 0x14f5: 0x9bb9,
+ 0x14f6: 0x9bf1, 0x14f7: 0x9bf1, 0x14f8: 0x9c29, 0x14f9: 0x9c61, 0x14fa: 0x9c99, 0x14fb: 0x9cd1,
+ 0x14fc: 0x9d09, 0x14fd: 0x9d09, 0x14fe: 0x9d41, 0x14ff: 0x9d79,
// Block 0x54, offset 0x1500
- 0x1500: 0x7e95, 0x1501: 0x7eb5, 0x1502: 0x7ed5, 0x1503: 0x7eb5, 0x1504: 0x7ef5, 0x1505: 0x0018,
- 0x1506: 0x0018, 0x1507: 0xaf4a, 0x1508: 0xaf5a, 0x1509: 0x7f16, 0x150a: 0x7f36, 0x150b: 0x7f56,
- 0x150c: 0x7f76, 0x150d: 0xaf1a, 0x150e: 0xaf1a, 0x150f: 0xaf1a, 0x1510: 0xaeda, 0x1511: 0x7f95,
- 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x03c2, 0x1515: 0xaeea, 0x1516: 0xaf0a, 0x1517: 0xaefa,
- 0x1518: 0x7fb5, 0x1519: 0x1fd2, 0x151a: 0x1fe2, 0x151b: 0xaf2a, 0x151c: 0xaf3a, 0x151d: 0x7e95,
- 0x151e: 0x7ef5, 0x151f: 0xaf6a, 0x1520: 0xaf7a, 0x1521: 0xaf8a, 0x1522: 0x1fb2, 0x1523: 0xaf99,
- 0x1524: 0xafaa, 0x1525: 0xafba, 0x1526: 0x1fc2, 0x1527: 0x0040, 0x1528: 0xafca, 0x1529: 0xafda,
- 0x152a: 0xafea, 0x152b: 0xaffa, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040,
- 0x1530: 0x7fd6, 0x1531: 0xb009, 0x1532: 0x7ff6, 0x1533: 0x0008, 0x1534: 0x8016, 0x1535: 0x0040,
- 0x1536: 0x8036, 0x1537: 0xb031, 0x1538: 0x8056, 0x1539: 0xb059, 0x153a: 0x8076, 0x153b: 0xb081,
- 0x153c: 0x8096, 0x153d: 0xb0a9, 0x153e: 0x80b6, 0x153f: 0xb0d1,
+ 0x1500: 0xa949, 0x1501: 0xa981, 0x1502: 0xa9b9, 0x1503: 0xa8a1, 0x1504: 0x9bb9, 0x1505: 0x9989,
+ 0x1506: 0xa9f1, 0x1507: 0xaa29, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040,
+ 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040,
+ 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040,
+ 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040,
+ 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040,
+ 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040,
+ 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040,
+ 0x1530: 0xaa61, 0x1531: 0xaa99, 0x1532: 0xaad1, 0x1533: 0xab19, 0x1534: 0xab61, 0x1535: 0xaba9,
+ 0x1536: 0xabf1, 0x1537: 0xac39, 0x1538: 0xac81, 0x1539: 0xacc9, 0x153a: 0xad02, 0x153b: 0xae12,
+ 0x153c: 0xae91, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040,
// Block 0x55, offset 0x1540
- 0x1540: 0xb0f9, 0x1541: 0xb111, 0x1542: 0xb111, 0x1543: 0xb129, 0x1544: 0xb129, 0x1545: 0xb141,
- 0x1546: 0xb141, 0x1547: 0xb159, 0x1548: 0xb159, 0x1549: 0xb171, 0x154a: 0xb171, 0x154b: 0xb171,
- 0x154c: 0xb171, 0x154d: 0xb189, 0x154e: 0xb189, 0x154f: 0xb1a1, 0x1550: 0xb1a1, 0x1551: 0xb1a1,
- 0x1552: 0xb1a1, 0x1553: 0xb1b9, 0x1554: 0xb1b9, 0x1555: 0xb1d1, 0x1556: 0xb1d1, 0x1557: 0xb1d1,
- 0x1558: 0xb1d1, 0x1559: 0xb1e9, 0x155a: 0xb1e9, 0x155b: 0xb1e9, 0x155c: 0xb1e9, 0x155d: 0xb201,
- 0x155e: 0xb201, 0x155f: 0xb201, 0x1560: 0xb201, 0x1561: 0xb219, 0x1562: 0xb219, 0x1563: 0xb219,
- 0x1564: 0xb219, 0x1565: 0xb231, 0x1566: 0xb231, 0x1567: 0xb231, 0x1568: 0xb231, 0x1569: 0xb249,
- 0x156a: 0xb249, 0x156b: 0xb261, 0x156c: 0xb261, 0x156d: 0xb279, 0x156e: 0xb279, 0x156f: 0xb291,
- 0x1570: 0xb291, 0x1571: 0xb2a9, 0x1572: 0xb2a9, 0x1573: 0xb2a9, 0x1574: 0xb2a9, 0x1575: 0xb2c1,
- 0x1576: 0xb2c1, 0x1577: 0xb2c1, 0x1578: 0xb2c1, 0x1579: 0xb2d9, 0x157a: 0xb2d9, 0x157b: 0xb2d9,
- 0x157c: 0xb2d9, 0x157d: 0xb2f1, 0x157e: 0xb2f1, 0x157f: 0xb2f1,
+ 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0,
+ 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0,
+ 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaeda, 0x1551: 0x7d55,
+ 0x1552: 0x0040, 0x1553: 0xaeea, 0x1554: 0x03c2, 0x1555: 0xaefa, 0x1556: 0xaf0a, 0x1557: 0x7d75,
+ 0x1558: 0x7d95, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040,
+ 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308,
+ 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308,
+ 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308,
+ 0x1570: 0x0040, 0x1571: 0x7db5, 0x1572: 0x7dd5, 0x1573: 0xaf1a, 0x1574: 0xaf1a, 0x1575: 0x1fd2,
+ 0x1576: 0x1fe2, 0x1577: 0xaf2a, 0x1578: 0xaf3a, 0x1579: 0x7df5, 0x157a: 0x7e15, 0x157b: 0x7e35,
+ 0x157c: 0x7df5, 0x157d: 0x7e55, 0x157e: 0x7e75, 0x157f: 0x7e55,
// Block 0x56, offset 0x1580
- 0x1580: 0xb2f1, 0x1581: 0xb309, 0x1582: 0xb309, 0x1583: 0xb309, 0x1584: 0xb309, 0x1585: 0xb321,
- 0x1586: 0xb321, 0x1587: 0xb321, 0x1588: 0xb321, 0x1589: 0xb339, 0x158a: 0xb339, 0x158b: 0xb339,
- 0x158c: 0xb339, 0x158d: 0xb351, 0x158e: 0xb351, 0x158f: 0xb351, 0x1590: 0xb351, 0x1591: 0xb369,
- 0x1592: 0xb369, 0x1593: 0xb369, 0x1594: 0xb369, 0x1595: 0xb381, 0x1596: 0xb381, 0x1597: 0xb381,
- 0x1598: 0xb381, 0x1599: 0xb399, 0x159a: 0xb399, 0x159b: 0xb399, 0x159c: 0xb399, 0x159d: 0xb3b1,
- 0x159e: 0xb3b1, 0x159f: 0xb3b1, 0x15a0: 0xb3b1, 0x15a1: 0xb3c9, 0x15a2: 0xb3c9, 0x15a3: 0xb3c9,
- 0x15a4: 0xb3c9, 0x15a5: 0xb3e1, 0x15a6: 0xb3e1, 0x15a7: 0xb3e1, 0x15a8: 0xb3e1, 0x15a9: 0xb3f9,
- 0x15aa: 0xb3f9, 0x15ab: 0xb3f9, 0x15ac: 0xb3f9, 0x15ad: 0xb411, 0x15ae: 0xb411, 0x15af: 0x7ab1,
- 0x15b0: 0x7ab1, 0x15b1: 0xb429, 0x15b2: 0xb429, 0x15b3: 0xb429, 0x15b4: 0xb429, 0x15b5: 0xb441,
- 0x15b6: 0xb441, 0x15b7: 0xb469, 0x15b8: 0xb469, 0x15b9: 0xb491, 0x15ba: 0xb491, 0x15bb: 0xb4b9,
- 0x15bc: 0xb4b9, 0x15bd: 0x0040, 0x15be: 0x0040, 0x15bf: 0x03c0,
+ 0x1580: 0x7e95, 0x1581: 0x7eb5, 0x1582: 0x7ed5, 0x1583: 0x7eb5, 0x1584: 0x7ef5, 0x1585: 0x0018,
+ 0x1586: 0x0018, 0x1587: 0xaf4a, 0x1588: 0xaf5a, 0x1589: 0x7f16, 0x158a: 0x7f36, 0x158b: 0x7f56,
+ 0x158c: 0x7f76, 0x158d: 0xaf1a, 0x158e: 0xaf1a, 0x158f: 0xaf1a, 0x1590: 0xaeda, 0x1591: 0x7f95,
+ 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaeea, 0x1596: 0xaf0a, 0x1597: 0xaefa,
+ 0x1598: 0x7fb5, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf2a, 0x159c: 0xaf3a, 0x159d: 0x7e95,
+ 0x159e: 0x7ef5, 0x159f: 0xaf6a, 0x15a0: 0xaf7a, 0x15a1: 0xaf8a, 0x15a2: 0x1fb2, 0x15a3: 0xaf99,
+ 0x15a4: 0xafaa, 0x15a5: 0xafba, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xafca, 0x15a9: 0xafda,
+ 0x15aa: 0xafea, 0x15ab: 0xaffa, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040,
+ 0x15b0: 0x7fd6, 0x15b1: 0xb009, 0x15b2: 0x7ff6, 0x15b3: 0x0808, 0x15b4: 0x8016, 0x15b5: 0x0040,
+ 0x15b6: 0x8036, 0x15b7: 0xb031, 0x15b8: 0x8056, 0x15b9: 0xb059, 0x15ba: 0x8076, 0x15bb: 0xb081,
+ 0x15bc: 0x8096, 0x15bd: 0xb0a9, 0x15be: 0x80b6, 0x15bf: 0xb0d1,
// Block 0x57, offset 0x15c0
- 0x15c0: 0x0040, 0x15c1: 0xaefa, 0x15c2: 0xb4e2, 0x15c3: 0xaf6a, 0x15c4: 0xafda, 0x15c5: 0xafea,
- 0x15c6: 0xaf7a, 0x15c7: 0xb4f2, 0x15c8: 0x1fd2, 0x15c9: 0x1fe2, 0x15ca: 0xaf8a, 0x15cb: 0x1fb2,
- 0x15cc: 0xaeda, 0x15cd: 0xaf99, 0x15ce: 0x29d1, 0x15cf: 0xb502, 0x15d0: 0x1f41, 0x15d1: 0x00c9,
- 0x15d2: 0x0069, 0x15d3: 0x0079, 0x15d4: 0x1f51, 0x15d5: 0x1f61, 0x15d6: 0x1f71, 0x15d7: 0x1f81,
- 0x15d8: 0x1f91, 0x15d9: 0x1fa1, 0x15da: 0xaeea, 0x15db: 0x03c2, 0x15dc: 0xafaa, 0x15dd: 0x1fc2,
- 0x15de: 0xafba, 0x15df: 0xaf0a, 0x15e0: 0xaffa, 0x15e1: 0x0039, 0x15e2: 0x0ee9, 0x15e3: 0x1159,
- 0x15e4: 0x0ef9, 0x15e5: 0x0f09, 0x15e6: 0x1199, 0x15e7: 0x0f31, 0x15e8: 0x0249, 0x15e9: 0x0f41,
- 0x15ea: 0x0259, 0x15eb: 0x0f51, 0x15ec: 0x0359, 0x15ed: 0x0f61, 0x15ee: 0x0f71, 0x15ef: 0x00d9,
- 0x15f0: 0x0f99, 0x15f1: 0x2039, 0x15f2: 0x0269, 0x15f3: 0x01d9, 0x15f4: 0x0fa9, 0x15f5: 0x0fb9,
- 0x15f6: 0x1089, 0x15f7: 0x0279, 0x15f8: 0x0369, 0x15f9: 0x0289, 0x15fa: 0x13d1, 0x15fb: 0xaf4a,
- 0x15fc: 0xafca, 0x15fd: 0xaf5a, 0x15fe: 0xb512, 0x15ff: 0xaf1a,
+ 0x15c0: 0xb0f9, 0x15c1: 0xb111, 0x15c2: 0xb111, 0x15c3: 0xb129, 0x15c4: 0xb129, 0x15c5: 0xb141,
+ 0x15c6: 0xb141, 0x15c7: 0xb159, 0x15c8: 0xb159, 0x15c9: 0xb171, 0x15ca: 0xb171, 0x15cb: 0xb171,
+ 0x15cc: 0xb171, 0x15cd: 0xb189, 0x15ce: 0xb189, 0x15cf: 0xb1a1, 0x15d0: 0xb1a1, 0x15d1: 0xb1a1,
+ 0x15d2: 0xb1a1, 0x15d3: 0xb1b9, 0x15d4: 0xb1b9, 0x15d5: 0xb1d1, 0x15d6: 0xb1d1, 0x15d7: 0xb1d1,
+ 0x15d8: 0xb1d1, 0x15d9: 0xb1e9, 0x15da: 0xb1e9, 0x15db: 0xb1e9, 0x15dc: 0xb1e9, 0x15dd: 0xb201,
+ 0x15de: 0xb201, 0x15df: 0xb201, 0x15e0: 0xb201, 0x15e1: 0xb219, 0x15e2: 0xb219, 0x15e3: 0xb219,
+ 0x15e4: 0xb219, 0x15e5: 0xb231, 0x15e6: 0xb231, 0x15e7: 0xb231, 0x15e8: 0xb231, 0x15e9: 0xb249,
+ 0x15ea: 0xb249, 0x15eb: 0xb261, 0x15ec: 0xb261, 0x15ed: 0xb279, 0x15ee: 0xb279, 0x15ef: 0xb291,
+ 0x15f0: 0xb291, 0x15f1: 0xb2a9, 0x15f2: 0xb2a9, 0x15f3: 0xb2a9, 0x15f4: 0xb2a9, 0x15f5: 0xb2c1,
+ 0x15f6: 0xb2c1, 0x15f7: 0xb2c1, 0x15f8: 0xb2c1, 0x15f9: 0xb2d9, 0x15fa: 0xb2d9, 0x15fb: 0xb2d9,
+ 0x15fc: 0xb2d9, 0x15fd: 0xb2f1, 0x15fe: 0xb2f1, 0x15ff: 0xb2f1,
// Block 0x58, offset 0x1600
- 0x1600: 0x1caa, 0x1601: 0x0039, 0x1602: 0x0ee9, 0x1603: 0x1159, 0x1604: 0x0ef9, 0x1605: 0x0f09,
- 0x1606: 0x1199, 0x1607: 0x0f31, 0x1608: 0x0249, 0x1609: 0x0f41, 0x160a: 0x0259, 0x160b: 0x0f51,
- 0x160c: 0x0359, 0x160d: 0x0f61, 0x160e: 0x0f71, 0x160f: 0x00d9, 0x1610: 0x0f99, 0x1611: 0x2039,
- 0x1612: 0x0269, 0x1613: 0x01d9, 0x1614: 0x0fa9, 0x1615: 0x0fb9, 0x1616: 0x1089, 0x1617: 0x0279,
- 0x1618: 0x0369, 0x1619: 0x0289, 0x161a: 0x13d1, 0x161b: 0xaf2a, 0x161c: 0xb522, 0x161d: 0xaf3a,
- 0x161e: 0xb532, 0x161f: 0x80d5, 0x1620: 0x80f5, 0x1621: 0x29d1, 0x1622: 0x8115, 0x1623: 0x8115,
- 0x1624: 0x8135, 0x1625: 0x8155, 0x1626: 0x8175, 0x1627: 0x8195, 0x1628: 0x81b5, 0x1629: 0x81d5,
- 0x162a: 0x81f5, 0x162b: 0x8215, 0x162c: 0x8235, 0x162d: 0x8255, 0x162e: 0x8275, 0x162f: 0x8295,
- 0x1630: 0x82b5, 0x1631: 0x82d5, 0x1632: 0x82f5, 0x1633: 0x8315, 0x1634: 0x8335, 0x1635: 0x8355,
- 0x1636: 0x8375, 0x1637: 0x8395, 0x1638: 0x83b5, 0x1639: 0x83d5, 0x163a: 0x83f5, 0x163b: 0x8415,
- 0x163c: 0x81b5, 0x163d: 0x8435, 0x163e: 0x8455, 0x163f: 0x8215,
+ 0x1600: 0xb2f1, 0x1601: 0xb309, 0x1602: 0xb309, 0x1603: 0xb309, 0x1604: 0xb309, 0x1605: 0xb321,
+ 0x1606: 0xb321, 0x1607: 0xb321, 0x1608: 0xb321, 0x1609: 0xb339, 0x160a: 0xb339, 0x160b: 0xb339,
+ 0x160c: 0xb339, 0x160d: 0xb351, 0x160e: 0xb351, 0x160f: 0xb351, 0x1610: 0xb351, 0x1611: 0xb369,
+ 0x1612: 0xb369, 0x1613: 0xb369, 0x1614: 0xb369, 0x1615: 0xb381, 0x1616: 0xb381, 0x1617: 0xb381,
+ 0x1618: 0xb381, 0x1619: 0xb399, 0x161a: 0xb399, 0x161b: 0xb399, 0x161c: 0xb399, 0x161d: 0xb3b1,
+ 0x161e: 0xb3b1, 0x161f: 0xb3b1, 0x1620: 0xb3b1, 0x1621: 0xb3c9, 0x1622: 0xb3c9, 0x1623: 0xb3c9,
+ 0x1624: 0xb3c9, 0x1625: 0xb3e1, 0x1626: 0xb3e1, 0x1627: 0xb3e1, 0x1628: 0xb3e1, 0x1629: 0xb3f9,
+ 0x162a: 0xb3f9, 0x162b: 0xb3f9, 0x162c: 0xb3f9, 0x162d: 0xb411, 0x162e: 0xb411, 0x162f: 0x7ab1,
+ 0x1630: 0x7ab1, 0x1631: 0xb429, 0x1632: 0xb429, 0x1633: 0xb429, 0x1634: 0xb429, 0x1635: 0xb441,
+ 0x1636: 0xb441, 0x1637: 0xb469, 0x1638: 0xb469, 0x1639: 0xb491, 0x163a: 0xb491, 0x163b: 0xb4b9,
+ 0x163c: 0xb4b9, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0,
// Block 0x59, offset 0x1640
- 0x1640: 0x8475, 0x1641: 0x8495, 0x1642: 0x84b5, 0x1643: 0x84d5, 0x1644: 0x84f5, 0x1645: 0x8515,
- 0x1646: 0x8535, 0x1647: 0x8555, 0x1648: 0x84d5, 0x1649: 0x8575, 0x164a: 0x84d5, 0x164b: 0x8595,
- 0x164c: 0x8595, 0x164d: 0x85b5, 0x164e: 0x85b5, 0x164f: 0x85d5, 0x1650: 0x8515, 0x1651: 0x85f5,
- 0x1652: 0x8615, 0x1653: 0x85f5, 0x1654: 0x8635, 0x1655: 0x8615, 0x1656: 0x8655, 0x1657: 0x8655,
- 0x1658: 0x8675, 0x1659: 0x8675, 0x165a: 0x8695, 0x165b: 0x8695, 0x165c: 0x8615, 0x165d: 0x8115,
- 0x165e: 0x86b5, 0x165f: 0x86d5, 0x1660: 0x0040, 0x1661: 0x86f5, 0x1662: 0x8715, 0x1663: 0x8735,
- 0x1664: 0x8755, 0x1665: 0x8735, 0x1666: 0x8775, 0x1667: 0x8795, 0x1668: 0x87b5, 0x1669: 0x87b5,
- 0x166a: 0x87d5, 0x166b: 0x87d5, 0x166c: 0x87f5, 0x166d: 0x87f5, 0x166e: 0x87d5, 0x166f: 0x87d5,
- 0x1670: 0x8815, 0x1671: 0x8835, 0x1672: 0x8855, 0x1673: 0x8875, 0x1674: 0x8895, 0x1675: 0x88b5,
- 0x1676: 0x88b5, 0x1677: 0x88b5, 0x1678: 0x88d5, 0x1679: 0x88d5, 0x167a: 0x88d5, 0x167b: 0x88d5,
- 0x167c: 0x87b5, 0x167d: 0x87b5, 0x167e: 0x87b5, 0x167f: 0x0040,
+ 0x1640: 0x0040, 0x1641: 0xaefa, 0x1642: 0xb4e2, 0x1643: 0xaf6a, 0x1644: 0xafda, 0x1645: 0xafea,
+ 0x1646: 0xaf7a, 0x1647: 0xb4f2, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xaf8a, 0x164b: 0x1fb2,
+ 0x164c: 0xaeda, 0x164d: 0xaf99, 0x164e: 0x29d1, 0x164f: 0xb502, 0x1650: 0x1f41, 0x1651: 0x00c9,
+ 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81,
+ 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaeea, 0x165b: 0x03c2, 0x165c: 0xafaa, 0x165d: 0x1fc2,
+ 0x165e: 0xafba, 0x165f: 0xaf0a, 0x1660: 0xaffa, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159,
+ 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41,
+ 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9,
+ 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9,
+ 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf4a,
+ 0x167c: 0xafca, 0x167d: 0xaf5a, 0x167e: 0xb512, 0x167f: 0xaf1a,
// Block 0x5a, offset 0x1680
- 0x1680: 0x0040, 0x1681: 0x0040, 0x1682: 0x8715, 0x1683: 0x86f5, 0x1684: 0x88f5, 0x1685: 0x86f5,
- 0x1686: 0x8715, 0x1687: 0x86f5, 0x1688: 0x0040, 0x1689: 0x0040, 0x168a: 0x8915, 0x168b: 0x8715,
- 0x168c: 0x8935, 0x168d: 0x88f5, 0x168e: 0x8935, 0x168f: 0x8715, 0x1690: 0x0040, 0x1691: 0x0040,
- 0x1692: 0x8955, 0x1693: 0x8975, 0x1694: 0x8875, 0x1695: 0x8935, 0x1696: 0x88f5, 0x1697: 0x8935,
- 0x1698: 0x0040, 0x1699: 0x0040, 0x169a: 0x8995, 0x169b: 0x89b5, 0x169c: 0x8995, 0x169d: 0x0040,
- 0x169e: 0x0040, 0x169f: 0x0040, 0x16a0: 0xb541, 0x16a1: 0xb559, 0x16a2: 0xb571, 0x16a3: 0x89d6,
- 0x16a4: 0xb589, 0x16a5: 0xb5a1, 0x16a6: 0x89f5, 0x16a7: 0x0040, 0x16a8: 0x8a15, 0x16a9: 0x8a35,
- 0x16aa: 0x8a55, 0x16ab: 0x8a35, 0x16ac: 0x8a75, 0x16ad: 0x8a95, 0x16ae: 0x8ab5, 0x16af: 0x0040,
- 0x16b0: 0x0040, 0x16b1: 0x0040, 0x16b2: 0x0040, 0x16b3: 0x0040, 0x16b4: 0x0040, 0x16b5: 0x0040,
- 0x16b6: 0x0040, 0x16b7: 0x0040, 0x16b8: 0x0040, 0x16b9: 0x0340, 0x16ba: 0x0340, 0x16bb: 0x0340,
- 0x16bc: 0x0040, 0x16bd: 0x0040, 0x16be: 0x0040, 0x16bf: 0x0040,
+ 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09,
+ 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51,
+ 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039,
+ 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279,
+ 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf2a, 0x169c: 0xb522, 0x169d: 0xaf3a,
+ 0x169e: 0xb532, 0x169f: 0x80d5, 0x16a0: 0x80f5, 0x16a1: 0x29d1, 0x16a2: 0x8115, 0x16a3: 0x8115,
+ 0x16a4: 0x8135, 0x16a5: 0x8155, 0x16a6: 0x8175, 0x16a7: 0x8195, 0x16a8: 0x81b5, 0x16a9: 0x81d5,
+ 0x16aa: 0x81f5, 0x16ab: 0x8215, 0x16ac: 0x8235, 0x16ad: 0x8255, 0x16ae: 0x8275, 0x16af: 0x8295,
+ 0x16b0: 0x82b5, 0x16b1: 0x82d5, 0x16b2: 0x82f5, 0x16b3: 0x8315, 0x16b4: 0x8335, 0x16b5: 0x8355,
+ 0x16b6: 0x8375, 0x16b7: 0x8395, 0x16b8: 0x83b5, 0x16b9: 0x83d5, 0x16ba: 0x83f5, 0x16bb: 0x8415,
+ 0x16bc: 0x81b5, 0x16bd: 0x8435, 0x16be: 0x8455, 0x16bf: 0x8215,
// Block 0x5b, offset 0x16c0
- 0x16c0: 0x0208, 0x16c1: 0x0208, 0x16c2: 0x0208, 0x16c3: 0x0208, 0x16c4: 0x0208, 0x16c5: 0x0408,
- 0x16c6: 0x0008, 0x16c7: 0x0408, 0x16c8: 0x0018, 0x16c9: 0x0408, 0x16ca: 0x0408, 0x16cb: 0x0008,
- 0x16cc: 0x0008, 0x16cd: 0x0108, 0x16ce: 0x0408, 0x16cf: 0x0408, 0x16d0: 0x0408, 0x16d1: 0x0408,
- 0x16d2: 0x0408, 0x16d3: 0x0208, 0x16d4: 0x0208, 0x16d5: 0x0208, 0x16d6: 0x0208, 0x16d7: 0x0108,
- 0x16d8: 0x0208, 0x16d9: 0x0208, 0x16da: 0x0208, 0x16db: 0x0208, 0x16dc: 0x0208, 0x16dd: 0x0408,
- 0x16de: 0x0208, 0x16df: 0x0208, 0x16e0: 0x0208, 0x16e1: 0x0408, 0x16e2: 0x0008, 0x16e3: 0x0008,
- 0x16e4: 0x0408, 0x16e5: 0x1308, 0x16e6: 0x1308, 0x16e7: 0x0040, 0x16e8: 0x0040, 0x16e9: 0x0040,
- 0x16ea: 0x0040, 0x16eb: 0x0218, 0x16ec: 0x0218, 0x16ed: 0x0218, 0x16ee: 0x0218, 0x16ef: 0x0418,
- 0x16f0: 0x0018, 0x16f1: 0x0018, 0x16f2: 0x0018, 0x16f3: 0x0018, 0x16f4: 0x0018, 0x16f5: 0x0018,
- 0x16f6: 0x0018, 0x16f7: 0x0040, 0x16f8: 0x0040, 0x16f9: 0x0040, 0x16fa: 0x0040, 0x16fb: 0x0040,
- 0x16fc: 0x0040, 0x16fd: 0x0040, 0x16fe: 0x0040, 0x16ff: 0x0040,
+ 0x16c0: 0x8475, 0x16c1: 0x8495, 0x16c2: 0x84b5, 0x16c3: 0x84d5, 0x16c4: 0x84f5, 0x16c5: 0x8515,
+ 0x16c6: 0x8535, 0x16c7: 0x8555, 0x16c8: 0x84d5, 0x16c9: 0x8575, 0x16ca: 0x84d5, 0x16cb: 0x8595,
+ 0x16cc: 0x8595, 0x16cd: 0x85b5, 0x16ce: 0x85b5, 0x16cf: 0x85d5, 0x16d0: 0x8515, 0x16d1: 0x85f5,
+ 0x16d2: 0x8615, 0x16d3: 0x85f5, 0x16d4: 0x8635, 0x16d5: 0x8615, 0x16d6: 0x8655, 0x16d7: 0x8655,
+ 0x16d8: 0x8675, 0x16d9: 0x8675, 0x16da: 0x8695, 0x16db: 0x8695, 0x16dc: 0x8615, 0x16dd: 0x8115,
+ 0x16de: 0x86b5, 0x16df: 0x86d5, 0x16e0: 0x0040, 0x16e1: 0x86f5, 0x16e2: 0x8715, 0x16e3: 0x8735,
+ 0x16e4: 0x8755, 0x16e5: 0x8735, 0x16e6: 0x8775, 0x16e7: 0x8795, 0x16e8: 0x87b5, 0x16e9: 0x87b5,
+ 0x16ea: 0x87d5, 0x16eb: 0x87d5, 0x16ec: 0x87f5, 0x16ed: 0x87f5, 0x16ee: 0x87d5, 0x16ef: 0x87d5,
+ 0x16f0: 0x8815, 0x16f1: 0x8835, 0x16f2: 0x8855, 0x16f3: 0x8875, 0x16f4: 0x8895, 0x16f5: 0x88b5,
+ 0x16f6: 0x88b5, 0x16f7: 0x88b5, 0x16f8: 0x88d5, 0x16f9: 0x88d5, 0x16fa: 0x88d5, 0x16fb: 0x88d5,
+ 0x16fc: 0x87b5, 0x16fd: 0x87b5, 0x16fe: 0x87b5, 0x16ff: 0x0040,
// Block 0x5c, offset 0x1700
- 0x1700: 0x0208, 0x1701: 0x0408, 0x1702: 0x0208, 0x1703: 0x0408, 0x1704: 0x0408, 0x1705: 0x0408,
- 0x1706: 0x0208, 0x1707: 0x0208, 0x1708: 0x0208, 0x1709: 0x0408, 0x170a: 0x0208, 0x170b: 0x0208,
- 0x170c: 0x0408, 0x170d: 0x0208, 0x170e: 0x0408, 0x170f: 0x0408, 0x1710: 0x0208, 0x1711: 0x0408,
- 0x1712: 0x0040, 0x1713: 0x0040, 0x1714: 0x0040, 0x1715: 0x0040, 0x1716: 0x0040, 0x1717: 0x0040,
- 0x1718: 0x0040, 0x1719: 0x0018, 0x171a: 0x0018, 0x171b: 0x0018, 0x171c: 0x0018, 0x171d: 0x0040,
- 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0x0040, 0x1721: 0x0040, 0x1722: 0x0040, 0x1723: 0x0040,
- 0x1724: 0x0040, 0x1725: 0x0040, 0x1726: 0x0040, 0x1727: 0x0040, 0x1728: 0x0040, 0x1729: 0x0418,
- 0x172a: 0x0418, 0x172b: 0x0418, 0x172c: 0x0418, 0x172d: 0x0218, 0x172e: 0x0218, 0x172f: 0x0018,
+ 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x8715, 0x1703: 0x86f5, 0x1704: 0x88f5, 0x1705: 0x86f5,
+ 0x1706: 0x8715, 0x1707: 0x86f5, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x8915, 0x170b: 0x8715,
+ 0x170c: 0x8935, 0x170d: 0x88f5, 0x170e: 0x8935, 0x170f: 0x8715, 0x1710: 0x0040, 0x1711: 0x0040,
+ 0x1712: 0x8955, 0x1713: 0x8975, 0x1714: 0x8875, 0x1715: 0x8935, 0x1716: 0x88f5, 0x1717: 0x8935,
+ 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x8995, 0x171b: 0x89b5, 0x171c: 0x8995, 0x171d: 0x0040,
+ 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb541, 0x1721: 0xb559, 0x1722: 0xb571, 0x1723: 0x89d6,
+ 0x1724: 0xb589, 0x1725: 0xb5a1, 0x1726: 0x89f5, 0x1727: 0x0040, 0x1728: 0x8a15, 0x1729: 0x8a35,
+ 0x172a: 0x8a55, 0x172b: 0x8a35, 0x172c: 0x8a75, 0x172d: 0x8a95, 0x172e: 0x8ab5, 0x172f: 0x0040,
0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040,
- 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0040, 0x173a: 0x0040, 0x173b: 0x0040,
+ 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340,
0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040,
// Block 0x5d, offset 0x1740
- 0x1740: 0x1308, 0x1741: 0x1308, 0x1742: 0x1008, 0x1743: 0x1008, 0x1744: 0x0040, 0x1745: 0x0008,
- 0x1746: 0x0008, 0x1747: 0x0008, 0x1748: 0x0008, 0x1749: 0x0008, 0x174a: 0x0008, 0x174b: 0x0008,
- 0x174c: 0x0008, 0x174d: 0x0040, 0x174e: 0x0040, 0x174f: 0x0008, 0x1750: 0x0008, 0x1751: 0x0040,
- 0x1752: 0x0040, 0x1753: 0x0008, 0x1754: 0x0008, 0x1755: 0x0008, 0x1756: 0x0008, 0x1757: 0x0008,
- 0x1758: 0x0008, 0x1759: 0x0008, 0x175a: 0x0008, 0x175b: 0x0008, 0x175c: 0x0008, 0x175d: 0x0008,
- 0x175e: 0x0008, 0x175f: 0x0008, 0x1760: 0x0008, 0x1761: 0x0008, 0x1762: 0x0008, 0x1763: 0x0008,
- 0x1764: 0x0008, 0x1765: 0x0008, 0x1766: 0x0008, 0x1767: 0x0008, 0x1768: 0x0008, 0x1769: 0x0040,
- 0x176a: 0x0008, 0x176b: 0x0008, 0x176c: 0x0008, 0x176d: 0x0008, 0x176e: 0x0008, 0x176f: 0x0008,
- 0x1770: 0x0008, 0x1771: 0x0040, 0x1772: 0x0008, 0x1773: 0x0008, 0x1774: 0x0040, 0x1775: 0x0008,
- 0x1776: 0x0008, 0x1777: 0x0008, 0x1778: 0x0008, 0x1779: 0x0008, 0x177a: 0x0040, 0x177b: 0x0040,
- 0x177c: 0x1308, 0x177d: 0x0008, 0x177e: 0x1008, 0x177f: 0x1008,
+ 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08,
+ 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808,
+ 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08,
+ 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908,
+ 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08,
+ 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808,
+ 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040,
+ 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18,
+ 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818,
+ 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040,
+ 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040,
// Block 0x5e, offset 0x1780
- 0x1780: 0x1308, 0x1781: 0x1008, 0x1782: 0x1008, 0x1783: 0x1008, 0x1784: 0x1008, 0x1785: 0x0040,
- 0x1786: 0x0040, 0x1787: 0x1008, 0x1788: 0x1008, 0x1789: 0x0040, 0x178a: 0x0040, 0x178b: 0x1008,
- 0x178c: 0x1008, 0x178d: 0x1808, 0x178e: 0x0040, 0x178f: 0x0040, 0x1790: 0x0008, 0x1791: 0x0040,
- 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x1008,
- 0x1798: 0x0040, 0x1799: 0x0040, 0x179a: 0x0040, 0x179b: 0x0040, 0x179c: 0x0040, 0x179d: 0x0008,
- 0x179e: 0x0008, 0x179f: 0x0008, 0x17a0: 0x0008, 0x17a1: 0x0008, 0x17a2: 0x1008, 0x17a3: 0x1008,
- 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x1308, 0x17a7: 0x1308, 0x17a8: 0x1308, 0x17a9: 0x1308,
- 0x17aa: 0x1308, 0x17ab: 0x1308, 0x17ac: 0x1308, 0x17ad: 0x0040, 0x17ae: 0x0040, 0x17af: 0x0040,
- 0x17b0: 0x1308, 0x17b1: 0x1308, 0x17b2: 0x1308, 0x17b3: 0x1308, 0x17b4: 0x1308, 0x17b5: 0x0040,
+ 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08,
+ 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08,
+ 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08,
+ 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040,
+ 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040,
+ 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040,
+ 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18,
+ 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818,
+ 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040,
0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040,
0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040,
// Block 0x5f, offset 0x17c0
- 0x17c0: 0x0039, 0x17c1: 0x0ee9, 0x17c2: 0x1159, 0x17c3: 0x0ef9, 0x17c4: 0x0f09, 0x17c5: 0x1199,
- 0x17c6: 0x0f31, 0x17c7: 0x0249, 0x17c8: 0x0f41, 0x17c9: 0x0259, 0x17ca: 0x0f51, 0x17cb: 0x0359,
- 0x17cc: 0x0f61, 0x17cd: 0x0f71, 0x17ce: 0x00d9, 0x17cf: 0x0f99, 0x17d0: 0x2039, 0x17d1: 0x0269,
- 0x17d2: 0x01d9, 0x17d3: 0x0fa9, 0x17d4: 0x0fb9, 0x17d5: 0x1089, 0x17d6: 0x0279, 0x17d7: 0x0369,
- 0x17d8: 0x0289, 0x17d9: 0x13d1, 0x17da: 0x0039, 0x17db: 0x0ee9, 0x17dc: 0x1159, 0x17dd: 0x0ef9,
- 0x17de: 0x0f09, 0x17df: 0x1199, 0x17e0: 0x0f31, 0x17e1: 0x0249, 0x17e2: 0x0f41, 0x17e3: 0x0259,
- 0x17e4: 0x0f51, 0x17e5: 0x0359, 0x17e6: 0x0f61, 0x17e7: 0x0f71, 0x17e8: 0x00d9, 0x17e9: 0x0f99,
- 0x17ea: 0x2039, 0x17eb: 0x0269, 0x17ec: 0x01d9, 0x17ed: 0x0fa9, 0x17ee: 0x0fb9, 0x17ef: 0x1089,
- 0x17f0: 0x0279, 0x17f1: 0x0369, 0x17f2: 0x0289, 0x17f3: 0x13d1, 0x17f4: 0x0039, 0x17f5: 0x0ee9,
- 0x17f6: 0x1159, 0x17f7: 0x0ef9, 0x17f8: 0x0f09, 0x17f9: 0x1199, 0x17fa: 0x0f31, 0x17fb: 0x0249,
- 0x17fc: 0x0f41, 0x17fd: 0x0259, 0x17fe: 0x0f51, 0x17ff: 0x0359,
+ 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008,
+ 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008,
+ 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040,
+ 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008,
+ 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008,
+ 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008,
+ 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040,
+ 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008,
+ 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008,
+ 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x0040,
+ 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008,
// Block 0x60, offset 0x1800
- 0x1800: 0x0f61, 0x1801: 0x0f71, 0x1802: 0x00d9, 0x1803: 0x0f99, 0x1804: 0x2039, 0x1805: 0x0269,
- 0x1806: 0x01d9, 0x1807: 0x0fa9, 0x1808: 0x0fb9, 0x1809: 0x1089, 0x180a: 0x0279, 0x180b: 0x0369,
- 0x180c: 0x0289, 0x180d: 0x13d1, 0x180e: 0x0039, 0x180f: 0x0ee9, 0x1810: 0x1159, 0x1811: 0x0ef9,
- 0x1812: 0x0f09, 0x1813: 0x1199, 0x1814: 0x0f31, 0x1815: 0x0040, 0x1816: 0x0f41, 0x1817: 0x0259,
- 0x1818: 0x0f51, 0x1819: 0x0359, 0x181a: 0x0f61, 0x181b: 0x0f71, 0x181c: 0x00d9, 0x181d: 0x0f99,
- 0x181e: 0x2039, 0x181f: 0x0269, 0x1820: 0x01d9, 0x1821: 0x0fa9, 0x1822: 0x0fb9, 0x1823: 0x1089,
- 0x1824: 0x0279, 0x1825: 0x0369, 0x1826: 0x0289, 0x1827: 0x13d1, 0x1828: 0x0039, 0x1829: 0x0ee9,
- 0x182a: 0x1159, 0x182b: 0x0ef9, 0x182c: 0x0f09, 0x182d: 0x1199, 0x182e: 0x0f31, 0x182f: 0x0249,
- 0x1830: 0x0f41, 0x1831: 0x0259, 0x1832: 0x0f51, 0x1833: 0x0359, 0x1834: 0x0f61, 0x1835: 0x0f71,
- 0x1836: 0x00d9, 0x1837: 0x0f99, 0x1838: 0x2039, 0x1839: 0x0269, 0x183a: 0x01d9, 0x183b: 0x0fa9,
- 0x183c: 0x0fb9, 0x183d: 0x1089, 0x183e: 0x0279, 0x183f: 0x0369,
+ 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040,
+ 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008,
+ 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040,
+ 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008,
+ 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008,
+ 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008,
+ 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308,
+ 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040,
+ 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040,
+ 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040,
+ 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040,
// Block 0x61, offset 0x1840
- 0x1840: 0x0289, 0x1841: 0x13d1, 0x1842: 0x0039, 0x1843: 0x0ee9, 0x1844: 0x1159, 0x1845: 0x0ef9,
- 0x1846: 0x0f09, 0x1847: 0x1199, 0x1848: 0x0f31, 0x1849: 0x0249, 0x184a: 0x0f41, 0x184b: 0x0259,
- 0x184c: 0x0f51, 0x184d: 0x0359, 0x184e: 0x0f61, 0x184f: 0x0f71, 0x1850: 0x00d9, 0x1851: 0x0f99,
- 0x1852: 0x2039, 0x1853: 0x0269, 0x1854: 0x01d9, 0x1855: 0x0fa9, 0x1856: 0x0fb9, 0x1857: 0x1089,
- 0x1858: 0x0279, 0x1859: 0x0369, 0x185a: 0x0289, 0x185b: 0x13d1, 0x185c: 0x0039, 0x185d: 0x0040,
- 0x185e: 0x1159, 0x185f: 0x0ef9, 0x1860: 0x0040, 0x1861: 0x0040, 0x1862: 0x0f31, 0x1863: 0x0040,
- 0x1864: 0x0040, 0x1865: 0x0259, 0x1866: 0x0f51, 0x1867: 0x0040, 0x1868: 0x0040, 0x1869: 0x0f71,
- 0x186a: 0x00d9, 0x186b: 0x0f99, 0x186c: 0x2039, 0x186d: 0x0040, 0x186e: 0x01d9, 0x186f: 0x0fa9,
- 0x1870: 0x0fb9, 0x1871: 0x1089, 0x1872: 0x0279, 0x1873: 0x0369, 0x1874: 0x0289, 0x1875: 0x13d1,
- 0x1876: 0x0039, 0x1877: 0x0ee9, 0x1878: 0x1159, 0x1879: 0x0ef9, 0x187a: 0x0040, 0x187b: 0x1199,
- 0x187c: 0x0040, 0x187d: 0x0249, 0x187e: 0x0f41, 0x187f: 0x0259,
+ 0x1840: 0x0039, 0x1841: 0x0ee9, 0x1842: 0x1159, 0x1843: 0x0ef9, 0x1844: 0x0f09, 0x1845: 0x1199,
+ 0x1846: 0x0f31, 0x1847: 0x0249, 0x1848: 0x0f41, 0x1849: 0x0259, 0x184a: 0x0f51, 0x184b: 0x0359,
+ 0x184c: 0x0f61, 0x184d: 0x0f71, 0x184e: 0x00d9, 0x184f: 0x0f99, 0x1850: 0x2039, 0x1851: 0x0269,
+ 0x1852: 0x01d9, 0x1853: 0x0fa9, 0x1854: 0x0fb9, 0x1855: 0x1089, 0x1856: 0x0279, 0x1857: 0x0369,
+ 0x1858: 0x0289, 0x1859: 0x13d1, 0x185a: 0x0039, 0x185b: 0x0ee9, 0x185c: 0x1159, 0x185d: 0x0ef9,
+ 0x185e: 0x0f09, 0x185f: 0x1199, 0x1860: 0x0f31, 0x1861: 0x0249, 0x1862: 0x0f41, 0x1863: 0x0259,
+ 0x1864: 0x0f51, 0x1865: 0x0359, 0x1866: 0x0f61, 0x1867: 0x0f71, 0x1868: 0x00d9, 0x1869: 0x0f99,
+ 0x186a: 0x2039, 0x186b: 0x0269, 0x186c: 0x01d9, 0x186d: 0x0fa9, 0x186e: 0x0fb9, 0x186f: 0x1089,
+ 0x1870: 0x0279, 0x1871: 0x0369, 0x1872: 0x0289, 0x1873: 0x13d1, 0x1874: 0x0039, 0x1875: 0x0ee9,
+ 0x1876: 0x1159, 0x1877: 0x0ef9, 0x1878: 0x0f09, 0x1879: 0x1199, 0x187a: 0x0f31, 0x187b: 0x0249,
+ 0x187c: 0x0f41, 0x187d: 0x0259, 0x187e: 0x0f51, 0x187f: 0x0359,
// Block 0x62, offset 0x1880
- 0x1880: 0x0f51, 0x1881: 0x0359, 0x1882: 0x0f61, 0x1883: 0x0f71, 0x1884: 0x0040, 0x1885: 0x0f99,
- 0x1886: 0x2039, 0x1887: 0x0269, 0x1888: 0x01d9, 0x1889: 0x0fa9, 0x188a: 0x0fb9, 0x188b: 0x1089,
- 0x188c: 0x0279, 0x188d: 0x0369, 0x188e: 0x0289, 0x188f: 0x13d1, 0x1890: 0x0039, 0x1891: 0x0ee9,
- 0x1892: 0x1159, 0x1893: 0x0ef9, 0x1894: 0x0f09, 0x1895: 0x1199, 0x1896: 0x0f31, 0x1897: 0x0249,
- 0x1898: 0x0f41, 0x1899: 0x0259, 0x189a: 0x0f51, 0x189b: 0x0359, 0x189c: 0x0f61, 0x189d: 0x0f71,
- 0x189e: 0x00d9, 0x189f: 0x0f99, 0x18a0: 0x2039, 0x18a1: 0x0269, 0x18a2: 0x01d9, 0x18a3: 0x0fa9,
- 0x18a4: 0x0fb9, 0x18a5: 0x1089, 0x18a6: 0x0279, 0x18a7: 0x0369, 0x18a8: 0x0289, 0x18a9: 0x13d1,
- 0x18aa: 0x0039, 0x18ab: 0x0ee9, 0x18ac: 0x1159, 0x18ad: 0x0ef9, 0x18ae: 0x0f09, 0x18af: 0x1199,
- 0x18b0: 0x0f31, 0x18b1: 0x0249, 0x18b2: 0x0f41, 0x18b3: 0x0259, 0x18b4: 0x0f51, 0x18b5: 0x0359,
- 0x18b6: 0x0f61, 0x18b7: 0x0f71, 0x18b8: 0x00d9, 0x18b9: 0x0f99, 0x18ba: 0x2039, 0x18bb: 0x0269,
- 0x18bc: 0x01d9, 0x18bd: 0x0fa9, 0x18be: 0x0fb9, 0x18bf: 0x1089,
+ 0x1880: 0x0f61, 0x1881: 0x0f71, 0x1882: 0x00d9, 0x1883: 0x0f99, 0x1884: 0x2039, 0x1885: 0x0269,
+ 0x1886: 0x01d9, 0x1887: 0x0fa9, 0x1888: 0x0fb9, 0x1889: 0x1089, 0x188a: 0x0279, 0x188b: 0x0369,
+ 0x188c: 0x0289, 0x188d: 0x13d1, 0x188e: 0x0039, 0x188f: 0x0ee9, 0x1890: 0x1159, 0x1891: 0x0ef9,
+ 0x1892: 0x0f09, 0x1893: 0x1199, 0x1894: 0x0f31, 0x1895: 0x0040, 0x1896: 0x0f41, 0x1897: 0x0259,
+ 0x1898: 0x0f51, 0x1899: 0x0359, 0x189a: 0x0f61, 0x189b: 0x0f71, 0x189c: 0x00d9, 0x189d: 0x0f99,
+ 0x189e: 0x2039, 0x189f: 0x0269, 0x18a0: 0x01d9, 0x18a1: 0x0fa9, 0x18a2: 0x0fb9, 0x18a3: 0x1089,
+ 0x18a4: 0x0279, 0x18a5: 0x0369, 0x18a6: 0x0289, 0x18a7: 0x13d1, 0x18a8: 0x0039, 0x18a9: 0x0ee9,
+ 0x18aa: 0x1159, 0x18ab: 0x0ef9, 0x18ac: 0x0f09, 0x18ad: 0x1199, 0x18ae: 0x0f31, 0x18af: 0x0249,
+ 0x18b0: 0x0f41, 0x18b1: 0x0259, 0x18b2: 0x0f51, 0x18b3: 0x0359, 0x18b4: 0x0f61, 0x18b5: 0x0f71,
+ 0x18b6: 0x00d9, 0x18b7: 0x0f99, 0x18b8: 0x2039, 0x18b9: 0x0269, 0x18ba: 0x01d9, 0x18bb: 0x0fa9,
+ 0x18bc: 0x0fb9, 0x18bd: 0x1089, 0x18be: 0x0279, 0x18bf: 0x0369,
// Block 0x63, offset 0x18c0
- 0x18c0: 0x0279, 0x18c1: 0x0369, 0x18c2: 0x0289, 0x18c3: 0x13d1, 0x18c4: 0x0039, 0x18c5: 0x0ee9,
- 0x18c6: 0x0040, 0x18c7: 0x0ef9, 0x18c8: 0x0f09, 0x18c9: 0x1199, 0x18ca: 0x0f31, 0x18cb: 0x0040,
- 0x18cc: 0x0040, 0x18cd: 0x0259, 0x18ce: 0x0f51, 0x18cf: 0x0359, 0x18d0: 0x0f61, 0x18d1: 0x0f71,
- 0x18d2: 0x00d9, 0x18d3: 0x0f99, 0x18d4: 0x2039, 0x18d5: 0x0040, 0x18d6: 0x01d9, 0x18d7: 0x0fa9,
- 0x18d8: 0x0fb9, 0x18d9: 0x1089, 0x18da: 0x0279, 0x18db: 0x0369, 0x18dc: 0x0289, 0x18dd: 0x0040,
- 0x18de: 0x0039, 0x18df: 0x0ee9, 0x18e0: 0x1159, 0x18e1: 0x0ef9, 0x18e2: 0x0f09, 0x18e3: 0x1199,
- 0x18e4: 0x0f31, 0x18e5: 0x0249, 0x18e6: 0x0f41, 0x18e7: 0x0259, 0x18e8: 0x0f51, 0x18e9: 0x0359,
- 0x18ea: 0x0f61, 0x18eb: 0x0f71, 0x18ec: 0x00d9, 0x18ed: 0x0f99, 0x18ee: 0x2039, 0x18ef: 0x0269,
- 0x18f0: 0x01d9, 0x18f1: 0x0fa9, 0x18f2: 0x0fb9, 0x18f3: 0x1089, 0x18f4: 0x0279, 0x18f5: 0x0369,
- 0x18f6: 0x0289, 0x18f7: 0x13d1, 0x18f8: 0x0039, 0x18f9: 0x0ee9, 0x18fa: 0x0040, 0x18fb: 0x0ef9,
- 0x18fc: 0x0f09, 0x18fd: 0x1199, 0x18fe: 0x0f31, 0x18ff: 0x0040,
+ 0x18c0: 0x0289, 0x18c1: 0x13d1, 0x18c2: 0x0039, 0x18c3: 0x0ee9, 0x18c4: 0x1159, 0x18c5: 0x0ef9,
+ 0x18c6: 0x0f09, 0x18c7: 0x1199, 0x18c8: 0x0f31, 0x18c9: 0x0249, 0x18ca: 0x0f41, 0x18cb: 0x0259,
+ 0x18cc: 0x0f51, 0x18cd: 0x0359, 0x18ce: 0x0f61, 0x18cf: 0x0f71, 0x18d0: 0x00d9, 0x18d1: 0x0f99,
+ 0x18d2: 0x2039, 0x18d3: 0x0269, 0x18d4: 0x01d9, 0x18d5: 0x0fa9, 0x18d6: 0x0fb9, 0x18d7: 0x1089,
+ 0x18d8: 0x0279, 0x18d9: 0x0369, 0x18da: 0x0289, 0x18db: 0x13d1, 0x18dc: 0x0039, 0x18dd: 0x0040,
+ 0x18de: 0x1159, 0x18df: 0x0ef9, 0x18e0: 0x0040, 0x18e1: 0x0040, 0x18e2: 0x0f31, 0x18e3: 0x0040,
+ 0x18e4: 0x0040, 0x18e5: 0x0259, 0x18e6: 0x0f51, 0x18e7: 0x0040, 0x18e8: 0x0040, 0x18e9: 0x0f71,
+ 0x18ea: 0x00d9, 0x18eb: 0x0f99, 0x18ec: 0x2039, 0x18ed: 0x0040, 0x18ee: 0x01d9, 0x18ef: 0x0fa9,
+ 0x18f0: 0x0fb9, 0x18f1: 0x1089, 0x18f2: 0x0279, 0x18f3: 0x0369, 0x18f4: 0x0289, 0x18f5: 0x13d1,
+ 0x18f6: 0x0039, 0x18f7: 0x0ee9, 0x18f8: 0x1159, 0x18f9: 0x0ef9, 0x18fa: 0x0040, 0x18fb: 0x1199,
+ 0x18fc: 0x0040, 0x18fd: 0x0249, 0x18fe: 0x0f41, 0x18ff: 0x0259,
// Block 0x64, offset 0x1900
- 0x1900: 0x0f41, 0x1901: 0x0259, 0x1902: 0x0f51, 0x1903: 0x0359, 0x1904: 0x0f61, 0x1905: 0x0040,
- 0x1906: 0x00d9, 0x1907: 0x0040, 0x1908: 0x0040, 0x1909: 0x0040, 0x190a: 0x01d9, 0x190b: 0x0fa9,
- 0x190c: 0x0fb9, 0x190d: 0x1089, 0x190e: 0x0279, 0x190f: 0x0369, 0x1910: 0x0289, 0x1911: 0x0040,
- 0x1912: 0x0039, 0x1913: 0x0ee9, 0x1914: 0x1159, 0x1915: 0x0ef9, 0x1916: 0x0f09, 0x1917: 0x1199,
- 0x1918: 0x0f31, 0x1919: 0x0249, 0x191a: 0x0f41, 0x191b: 0x0259, 0x191c: 0x0f51, 0x191d: 0x0359,
- 0x191e: 0x0f61, 0x191f: 0x0f71, 0x1920: 0x00d9, 0x1921: 0x0f99, 0x1922: 0x2039, 0x1923: 0x0269,
- 0x1924: 0x01d9, 0x1925: 0x0fa9, 0x1926: 0x0fb9, 0x1927: 0x1089, 0x1928: 0x0279, 0x1929: 0x0369,
- 0x192a: 0x0289, 0x192b: 0x13d1, 0x192c: 0x0039, 0x192d: 0x0ee9, 0x192e: 0x1159, 0x192f: 0x0ef9,
- 0x1930: 0x0f09, 0x1931: 0x1199, 0x1932: 0x0f31, 0x1933: 0x0249, 0x1934: 0x0f41, 0x1935: 0x0259,
- 0x1936: 0x0f51, 0x1937: 0x0359, 0x1938: 0x0f61, 0x1939: 0x0f71, 0x193a: 0x00d9, 0x193b: 0x0f99,
- 0x193c: 0x2039, 0x193d: 0x0269, 0x193e: 0x01d9, 0x193f: 0x0fa9,
+ 0x1900: 0x0f51, 0x1901: 0x0359, 0x1902: 0x0f61, 0x1903: 0x0f71, 0x1904: 0x0040, 0x1905: 0x0f99,
+ 0x1906: 0x2039, 0x1907: 0x0269, 0x1908: 0x01d9, 0x1909: 0x0fa9, 0x190a: 0x0fb9, 0x190b: 0x1089,
+ 0x190c: 0x0279, 0x190d: 0x0369, 0x190e: 0x0289, 0x190f: 0x13d1, 0x1910: 0x0039, 0x1911: 0x0ee9,
+ 0x1912: 0x1159, 0x1913: 0x0ef9, 0x1914: 0x0f09, 0x1915: 0x1199, 0x1916: 0x0f31, 0x1917: 0x0249,
+ 0x1918: 0x0f41, 0x1919: 0x0259, 0x191a: 0x0f51, 0x191b: 0x0359, 0x191c: 0x0f61, 0x191d: 0x0f71,
+ 0x191e: 0x00d9, 0x191f: 0x0f99, 0x1920: 0x2039, 0x1921: 0x0269, 0x1922: 0x01d9, 0x1923: 0x0fa9,
+ 0x1924: 0x0fb9, 0x1925: 0x1089, 0x1926: 0x0279, 0x1927: 0x0369, 0x1928: 0x0289, 0x1929: 0x13d1,
+ 0x192a: 0x0039, 0x192b: 0x0ee9, 0x192c: 0x1159, 0x192d: 0x0ef9, 0x192e: 0x0f09, 0x192f: 0x1199,
+ 0x1930: 0x0f31, 0x1931: 0x0249, 0x1932: 0x0f41, 0x1933: 0x0259, 0x1934: 0x0f51, 0x1935: 0x0359,
+ 0x1936: 0x0f61, 0x1937: 0x0f71, 0x1938: 0x00d9, 0x1939: 0x0f99, 0x193a: 0x2039, 0x193b: 0x0269,
+ 0x193c: 0x01d9, 0x193d: 0x0fa9, 0x193e: 0x0fb9, 0x193f: 0x1089,
// Block 0x65, offset 0x1940
- 0x1940: 0x0fb9, 0x1941: 0x1089, 0x1942: 0x0279, 0x1943: 0x0369, 0x1944: 0x0289, 0x1945: 0x13d1,
- 0x1946: 0x0039, 0x1947: 0x0ee9, 0x1948: 0x1159, 0x1949: 0x0ef9, 0x194a: 0x0f09, 0x194b: 0x1199,
- 0x194c: 0x0f31, 0x194d: 0x0249, 0x194e: 0x0f41, 0x194f: 0x0259, 0x1950: 0x0f51, 0x1951: 0x0359,
- 0x1952: 0x0f61, 0x1953: 0x0f71, 0x1954: 0x00d9, 0x1955: 0x0f99, 0x1956: 0x2039, 0x1957: 0x0269,
- 0x1958: 0x01d9, 0x1959: 0x0fa9, 0x195a: 0x0fb9, 0x195b: 0x1089, 0x195c: 0x0279, 0x195d: 0x0369,
- 0x195e: 0x0289, 0x195f: 0x13d1, 0x1960: 0x0039, 0x1961: 0x0ee9, 0x1962: 0x1159, 0x1963: 0x0ef9,
- 0x1964: 0x0f09, 0x1965: 0x1199, 0x1966: 0x0f31, 0x1967: 0x0249, 0x1968: 0x0f41, 0x1969: 0x0259,
- 0x196a: 0x0f51, 0x196b: 0x0359, 0x196c: 0x0f61, 0x196d: 0x0f71, 0x196e: 0x00d9, 0x196f: 0x0f99,
- 0x1970: 0x2039, 0x1971: 0x0269, 0x1972: 0x01d9, 0x1973: 0x0fa9, 0x1974: 0x0fb9, 0x1975: 0x1089,
- 0x1976: 0x0279, 0x1977: 0x0369, 0x1978: 0x0289, 0x1979: 0x13d1, 0x197a: 0x0039, 0x197b: 0x0ee9,
- 0x197c: 0x1159, 0x197d: 0x0ef9, 0x197e: 0x0f09, 0x197f: 0x1199,
+ 0x1940: 0x0279, 0x1941: 0x0369, 0x1942: 0x0289, 0x1943: 0x13d1, 0x1944: 0x0039, 0x1945: 0x0ee9,
+ 0x1946: 0x0040, 0x1947: 0x0ef9, 0x1948: 0x0f09, 0x1949: 0x1199, 0x194a: 0x0f31, 0x194b: 0x0040,
+ 0x194c: 0x0040, 0x194d: 0x0259, 0x194e: 0x0f51, 0x194f: 0x0359, 0x1950: 0x0f61, 0x1951: 0x0f71,
+ 0x1952: 0x00d9, 0x1953: 0x0f99, 0x1954: 0x2039, 0x1955: 0x0040, 0x1956: 0x01d9, 0x1957: 0x0fa9,
+ 0x1958: 0x0fb9, 0x1959: 0x1089, 0x195a: 0x0279, 0x195b: 0x0369, 0x195c: 0x0289, 0x195d: 0x0040,
+ 0x195e: 0x0039, 0x195f: 0x0ee9, 0x1960: 0x1159, 0x1961: 0x0ef9, 0x1962: 0x0f09, 0x1963: 0x1199,
+ 0x1964: 0x0f31, 0x1965: 0x0249, 0x1966: 0x0f41, 0x1967: 0x0259, 0x1968: 0x0f51, 0x1969: 0x0359,
+ 0x196a: 0x0f61, 0x196b: 0x0f71, 0x196c: 0x00d9, 0x196d: 0x0f99, 0x196e: 0x2039, 0x196f: 0x0269,
+ 0x1970: 0x01d9, 0x1971: 0x0fa9, 0x1972: 0x0fb9, 0x1973: 0x1089, 0x1974: 0x0279, 0x1975: 0x0369,
+ 0x1976: 0x0289, 0x1977: 0x13d1, 0x1978: 0x0039, 0x1979: 0x0ee9, 0x197a: 0x0040, 0x197b: 0x0ef9,
+ 0x197c: 0x0f09, 0x197d: 0x1199, 0x197e: 0x0f31, 0x197f: 0x0040,
// Block 0x66, offset 0x1980
- 0x1980: 0x0f31, 0x1981: 0x0249, 0x1982: 0x0f41, 0x1983: 0x0259, 0x1984: 0x0f51, 0x1985: 0x0359,
- 0x1986: 0x0f61, 0x1987: 0x0f71, 0x1988: 0x00d9, 0x1989: 0x0f99, 0x198a: 0x2039, 0x198b: 0x0269,
- 0x198c: 0x01d9, 0x198d: 0x0fa9, 0x198e: 0x0fb9, 0x198f: 0x1089, 0x1990: 0x0279, 0x1991: 0x0369,
- 0x1992: 0x0289, 0x1993: 0x13d1, 0x1994: 0x0039, 0x1995: 0x0ee9, 0x1996: 0x1159, 0x1997: 0x0ef9,
- 0x1998: 0x0f09, 0x1999: 0x1199, 0x199a: 0x0f31, 0x199b: 0x0249, 0x199c: 0x0f41, 0x199d: 0x0259,
- 0x199e: 0x0f51, 0x199f: 0x0359, 0x19a0: 0x0f61, 0x19a1: 0x0f71, 0x19a2: 0x00d9, 0x19a3: 0x0f99,
- 0x19a4: 0x2039, 0x19a5: 0x0269, 0x19a6: 0x01d9, 0x19a7: 0x0fa9, 0x19a8: 0x0fb9, 0x19a9: 0x1089,
- 0x19aa: 0x0279, 0x19ab: 0x0369, 0x19ac: 0x0289, 0x19ad: 0x13d1, 0x19ae: 0x0039, 0x19af: 0x0ee9,
- 0x19b0: 0x1159, 0x19b1: 0x0ef9, 0x19b2: 0x0f09, 0x19b3: 0x1199, 0x19b4: 0x0f31, 0x19b5: 0x0249,
- 0x19b6: 0x0f41, 0x19b7: 0x0259, 0x19b8: 0x0f51, 0x19b9: 0x0359, 0x19ba: 0x0f61, 0x19bb: 0x0f71,
- 0x19bc: 0x00d9, 0x19bd: 0x0f99, 0x19be: 0x2039, 0x19bf: 0x0269,
+ 0x1980: 0x0f41, 0x1981: 0x0259, 0x1982: 0x0f51, 0x1983: 0x0359, 0x1984: 0x0f61, 0x1985: 0x0040,
+ 0x1986: 0x00d9, 0x1987: 0x0040, 0x1988: 0x0040, 0x1989: 0x0040, 0x198a: 0x01d9, 0x198b: 0x0fa9,
+ 0x198c: 0x0fb9, 0x198d: 0x1089, 0x198e: 0x0279, 0x198f: 0x0369, 0x1990: 0x0289, 0x1991: 0x0040,
+ 0x1992: 0x0039, 0x1993: 0x0ee9, 0x1994: 0x1159, 0x1995: 0x0ef9, 0x1996: 0x0f09, 0x1997: 0x1199,
+ 0x1998: 0x0f31, 0x1999: 0x0249, 0x199a: 0x0f41, 0x199b: 0x0259, 0x199c: 0x0f51, 0x199d: 0x0359,
+ 0x199e: 0x0f61, 0x199f: 0x0f71, 0x19a0: 0x00d9, 0x19a1: 0x0f99, 0x19a2: 0x2039, 0x19a3: 0x0269,
+ 0x19a4: 0x01d9, 0x19a5: 0x0fa9, 0x19a6: 0x0fb9, 0x19a7: 0x1089, 0x19a8: 0x0279, 0x19a9: 0x0369,
+ 0x19aa: 0x0289, 0x19ab: 0x13d1, 0x19ac: 0x0039, 0x19ad: 0x0ee9, 0x19ae: 0x1159, 0x19af: 0x0ef9,
+ 0x19b0: 0x0f09, 0x19b1: 0x1199, 0x19b2: 0x0f31, 0x19b3: 0x0249, 0x19b4: 0x0f41, 0x19b5: 0x0259,
+ 0x19b6: 0x0f51, 0x19b7: 0x0359, 0x19b8: 0x0f61, 0x19b9: 0x0f71, 0x19ba: 0x00d9, 0x19bb: 0x0f99,
+ 0x19bc: 0x2039, 0x19bd: 0x0269, 0x19be: 0x01d9, 0x19bf: 0x0fa9,
// Block 0x67, offset 0x19c0
- 0x19c0: 0x01d9, 0x19c1: 0x0fa9, 0x19c2: 0x0fb9, 0x19c3: 0x1089, 0x19c4: 0x0279, 0x19c5: 0x0369,
- 0x19c6: 0x0289, 0x19c7: 0x13d1, 0x19c8: 0x0039, 0x19c9: 0x0ee9, 0x19ca: 0x1159, 0x19cb: 0x0ef9,
- 0x19cc: 0x0f09, 0x19cd: 0x1199, 0x19ce: 0x0f31, 0x19cf: 0x0249, 0x19d0: 0x0f41, 0x19d1: 0x0259,
- 0x19d2: 0x0f51, 0x19d3: 0x0359, 0x19d4: 0x0f61, 0x19d5: 0x0f71, 0x19d6: 0x00d9, 0x19d7: 0x0f99,
- 0x19d8: 0x2039, 0x19d9: 0x0269, 0x19da: 0x01d9, 0x19db: 0x0fa9, 0x19dc: 0x0fb9, 0x19dd: 0x1089,
- 0x19de: 0x0279, 0x19df: 0x0369, 0x19e0: 0x0289, 0x19e1: 0x13d1, 0x19e2: 0x0039, 0x19e3: 0x0ee9,
- 0x19e4: 0x1159, 0x19e5: 0x0ef9, 0x19e6: 0x0f09, 0x19e7: 0x1199, 0x19e8: 0x0f31, 0x19e9: 0x0249,
- 0x19ea: 0x0f41, 0x19eb: 0x0259, 0x19ec: 0x0f51, 0x19ed: 0x0359, 0x19ee: 0x0f61, 0x19ef: 0x0f71,
- 0x19f0: 0x00d9, 0x19f1: 0x0f99, 0x19f2: 0x2039, 0x19f3: 0x0269, 0x19f4: 0x01d9, 0x19f5: 0x0fa9,
- 0x19f6: 0x0fb9, 0x19f7: 0x1089, 0x19f8: 0x0279, 0x19f9: 0x0369, 0x19fa: 0x0289, 0x19fb: 0x13d1,
- 0x19fc: 0x0039, 0x19fd: 0x0ee9, 0x19fe: 0x1159, 0x19ff: 0x0ef9,
+ 0x19c0: 0x0fb9, 0x19c1: 0x1089, 0x19c2: 0x0279, 0x19c3: 0x0369, 0x19c4: 0x0289, 0x19c5: 0x13d1,
+ 0x19c6: 0x0039, 0x19c7: 0x0ee9, 0x19c8: 0x1159, 0x19c9: 0x0ef9, 0x19ca: 0x0f09, 0x19cb: 0x1199,
+ 0x19cc: 0x0f31, 0x19cd: 0x0249, 0x19ce: 0x0f41, 0x19cf: 0x0259, 0x19d0: 0x0f51, 0x19d1: 0x0359,
+ 0x19d2: 0x0f61, 0x19d3: 0x0f71, 0x19d4: 0x00d9, 0x19d5: 0x0f99, 0x19d6: 0x2039, 0x19d7: 0x0269,
+ 0x19d8: 0x01d9, 0x19d9: 0x0fa9, 0x19da: 0x0fb9, 0x19db: 0x1089, 0x19dc: 0x0279, 0x19dd: 0x0369,
+ 0x19de: 0x0289, 0x19df: 0x13d1, 0x19e0: 0x0039, 0x19e1: 0x0ee9, 0x19e2: 0x1159, 0x19e3: 0x0ef9,
+ 0x19e4: 0x0f09, 0x19e5: 0x1199, 0x19e6: 0x0f31, 0x19e7: 0x0249, 0x19e8: 0x0f41, 0x19e9: 0x0259,
+ 0x19ea: 0x0f51, 0x19eb: 0x0359, 0x19ec: 0x0f61, 0x19ed: 0x0f71, 0x19ee: 0x00d9, 0x19ef: 0x0f99,
+ 0x19f0: 0x2039, 0x19f1: 0x0269, 0x19f2: 0x01d9, 0x19f3: 0x0fa9, 0x19f4: 0x0fb9, 0x19f5: 0x1089,
+ 0x19f6: 0x0279, 0x19f7: 0x0369, 0x19f8: 0x0289, 0x19f9: 0x13d1, 0x19fa: 0x0039, 0x19fb: 0x0ee9,
+ 0x19fc: 0x1159, 0x19fd: 0x0ef9, 0x19fe: 0x0f09, 0x19ff: 0x1199,
// Block 0x68, offset 0x1a00
- 0x1a00: 0x0f09, 0x1a01: 0x1199, 0x1a02: 0x0f31, 0x1a03: 0x0249, 0x1a04: 0x0f41, 0x1a05: 0x0259,
- 0x1a06: 0x0f51, 0x1a07: 0x0359, 0x1a08: 0x0f61, 0x1a09: 0x0f71, 0x1a0a: 0x00d9, 0x1a0b: 0x0f99,
- 0x1a0c: 0x2039, 0x1a0d: 0x0269, 0x1a0e: 0x01d9, 0x1a0f: 0x0fa9, 0x1a10: 0x0fb9, 0x1a11: 0x1089,
- 0x1a12: 0x0279, 0x1a13: 0x0369, 0x1a14: 0x0289, 0x1a15: 0x13d1, 0x1a16: 0x0039, 0x1a17: 0x0ee9,
- 0x1a18: 0x1159, 0x1a19: 0x0ef9, 0x1a1a: 0x0f09, 0x1a1b: 0x1199, 0x1a1c: 0x0f31, 0x1a1d: 0x0249,
- 0x1a1e: 0x0f41, 0x1a1f: 0x0259, 0x1a20: 0x0f51, 0x1a21: 0x0359, 0x1a22: 0x0f61, 0x1a23: 0x0f71,
- 0x1a24: 0x00d9, 0x1a25: 0x0f99, 0x1a26: 0x2039, 0x1a27: 0x0269, 0x1a28: 0x01d9, 0x1a29: 0x0fa9,
- 0x1a2a: 0x0fb9, 0x1a2b: 0x1089, 0x1a2c: 0x0279, 0x1a2d: 0x0369, 0x1a2e: 0x0289, 0x1a2f: 0x13d1,
- 0x1a30: 0x0039, 0x1a31: 0x0ee9, 0x1a32: 0x1159, 0x1a33: 0x0ef9, 0x1a34: 0x0f09, 0x1a35: 0x1199,
- 0x1a36: 0x0f31, 0x1a37: 0x0249, 0x1a38: 0x0f41, 0x1a39: 0x0259, 0x1a3a: 0x0f51, 0x1a3b: 0x0359,
- 0x1a3c: 0x0f61, 0x1a3d: 0x0f71, 0x1a3e: 0x00d9, 0x1a3f: 0x0f99,
+ 0x1a00: 0x0f31, 0x1a01: 0x0249, 0x1a02: 0x0f41, 0x1a03: 0x0259, 0x1a04: 0x0f51, 0x1a05: 0x0359,
+ 0x1a06: 0x0f61, 0x1a07: 0x0f71, 0x1a08: 0x00d9, 0x1a09: 0x0f99, 0x1a0a: 0x2039, 0x1a0b: 0x0269,
+ 0x1a0c: 0x01d9, 0x1a0d: 0x0fa9, 0x1a0e: 0x0fb9, 0x1a0f: 0x1089, 0x1a10: 0x0279, 0x1a11: 0x0369,
+ 0x1a12: 0x0289, 0x1a13: 0x13d1, 0x1a14: 0x0039, 0x1a15: 0x0ee9, 0x1a16: 0x1159, 0x1a17: 0x0ef9,
+ 0x1a18: 0x0f09, 0x1a19: 0x1199, 0x1a1a: 0x0f31, 0x1a1b: 0x0249, 0x1a1c: 0x0f41, 0x1a1d: 0x0259,
+ 0x1a1e: 0x0f51, 0x1a1f: 0x0359, 0x1a20: 0x0f61, 0x1a21: 0x0f71, 0x1a22: 0x00d9, 0x1a23: 0x0f99,
+ 0x1a24: 0x2039, 0x1a25: 0x0269, 0x1a26: 0x01d9, 0x1a27: 0x0fa9, 0x1a28: 0x0fb9, 0x1a29: 0x1089,
+ 0x1a2a: 0x0279, 0x1a2b: 0x0369, 0x1a2c: 0x0289, 0x1a2d: 0x13d1, 0x1a2e: 0x0039, 0x1a2f: 0x0ee9,
+ 0x1a30: 0x1159, 0x1a31: 0x0ef9, 0x1a32: 0x0f09, 0x1a33: 0x1199, 0x1a34: 0x0f31, 0x1a35: 0x0249,
+ 0x1a36: 0x0f41, 0x1a37: 0x0259, 0x1a38: 0x0f51, 0x1a39: 0x0359, 0x1a3a: 0x0f61, 0x1a3b: 0x0f71,
+ 0x1a3c: 0x00d9, 0x1a3d: 0x0f99, 0x1a3e: 0x2039, 0x1a3f: 0x0269,
// Block 0x69, offset 0x1a40
- 0x1a40: 0x2039, 0x1a41: 0x0269, 0x1a42: 0x01d9, 0x1a43: 0x0fa9, 0x1a44: 0x0fb9, 0x1a45: 0x1089,
- 0x1a46: 0x0279, 0x1a47: 0x0369, 0x1a48: 0x0289, 0x1a49: 0x13d1, 0x1a4a: 0x0039, 0x1a4b: 0x0ee9,
- 0x1a4c: 0x1159, 0x1a4d: 0x0ef9, 0x1a4e: 0x0f09, 0x1a4f: 0x1199, 0x1a50: 0x0f31, 0x1a51: 0x0249,
- 0x1a52: 0x0f41, 0x1a53: 0x0259, 0x1a54: 0x0f51, 0x1a55: 0x0359, 0x1a56: 0x0f61, 0x1a57: 0x0f71,
- 0x1a58: 0x00d9, 0x1a59: 0x0f99, 0x1a5a: 0x2039, 0x1a5b: 0x0269, 0x1a5c: 0x01d9, 0x1a5d: 0x0fa9,
- 0x1a5e: 0x0fb9, 0x1a5f: 0x1089, 0x1a60: 0x0279, 0x1a61: 0x0369, 0x1a62: 0x0289, 0x1a63: 0x13d1,
- 0x1a64: 0xba81, 0x1a65: 0xba99, 0x1a66: 0x0040, 0x1a67: 0x0040, 0x1a68: 0xbab1, 0x1a69: 0x1099,
- 0x1a6a: 0x10b1, 0x1a6b: 0x10c9, 0x1a6c: 0xbac9, 0x1a6d: 0xbae1, 0x1a6e: 0xbaf9, 0x1a6f: 0x1429,
- 0x1a70: 0x1a31, 0x1a71: 0xbb11, 0x1a72: 0xbb29, 0x1a73: 0xbb41, 0x1a74: 0xbb59, 0x1a75: 0xbb71,
- 0x1a76: 0xbb89, 0x1a77: 0x2109, 0x1a78: 0x1111, 0x1a79: 0x1429, 0x1a7a: 0xbba1, 0x1a7b: 0xbbb9,
- 0x1a7c: 0xbbd1, 0x1a7d: 0x10e1, 0x1a7e: 0x10f9, 0x1a7f: 0xbbe9,
+ 0x1a40: 0x01d9, 0x1a41: 0x0fa9, 0x1a42: 0x0fb9, 0x1a43: 0x1089, 0x1a44: 0x0279, 0x1a45: 0x0369,
+ 0x1a46: 0x0289, 0x1a47: 0x13d1, 0x1a48: 0x0039, 0x1a49: 0x0ee9, 0x1a4a: 0x1159, 0x1a4b: 0x0ef9,
+ 0x1a4c: 0x0f09, 0x1a4d: 0x1199, 0x1a4e: 0x0f31, 0x1a4f: 0x0249, 0x1a50: 0x0f41, 0x1a51: 0x0259,
+ 0x1a52: 0x0f51, 0x1a53: 0x0359, 0x1a54: 0x0f61, 0x1a55: 0x0f71, 0x1a56: 0x00d9, 0x1a57: 0x0f99,
+ 0x1a58: 0x2039, 0x1a59: 0x0269, 0x1a5a: 0x01d9, 0x1a5b: 0x0fa9, 0x1a5c: 0x0fb9, 0x1a5d: 0x1089,
+ 0x1a5e: 0x0279, 0x1a5f: 0x0369, 0x1a60: 0x0289, 0x1a61: 0x13d1, 0x1a62: 0x0039, 0x1a63: 0x0ee9,
+ 0x1a64: 0x1159, 0x1a65: 0x0ef9, 0x1a66: 0x0f09, 0x1a67: 0x1199, 0x1a68: 0x0f31, 0x1a69: 0x0249,
+ 0x1a6a: 0x0f41, 0x1a6b: 0x0259, 0x1a6c: 0x0f51, 0x1a6d: 0x0359, 0x1a6e: 0x0f61, 0x1a6f: 0x0f71,
+ 0x1a70: 0x00d9, 0x1a71: 0x0f99, 0x1a72: 0x2039, 0x1a73: 0x0269, 0x1a74: 0x01d9, 0x1a75: 0x0fa9,
+ 0x1a76: 0x0fb9, 0x1a77: 0x1089, 0x1a78: 0x0279, 0x1a79: 0x0369, 0x1a7a: 0x0289, 0x1a7b: 0x13d1,
+ 0x1a7c: 0x0039, 0x1a7d: 0x0ee9, 0x1a7e: 0x1159, 0x1a7f: 0x0ef9,
// Block 0x6a, offset 0x1a80
- 0x1a80: 0x2079, 0x1a81: 0xbc01, 0x1a82: 0xbab1, 0x1a83: 0x1099, 0x1a84: 0x10b1, 0x1a85: 0x10c9,
- 0x1a86: 0xbac9, 0x1a87: 0xbae1, 0x1a88: 0xbaf9, 0x1a89: 0x1429, 0x1a8a: 0x1a31, 0x1a8b: 0xbb11,
- 0x1a8c: 0xbb29, 0x1a8d: 0xbb41, 0x1a8e: 0xbb59, 0x1a8f: 0xbb71, 0x1a90: 0xbb89, 0x1a91: 0x2109,
- 0x1a92: 0x1111, 0x1a93: 0xbba1, 0x1a94: 0xbba1, 0x1a95: 0xbbb9, 0x1a96: 0xbbd1, 0x1a97: 0x10e1,
- 0x1a98: 0x10f9, 0x1a99: 0xbbe9, 0x1a9a: 0x2079, 0x1a9b: 0xbc21, 0x1a9c: 0xbac9, 0x1a9d: 0x1429,
- 0x1a9e: 0xbb11, 0x1a9f: 0x10e1, 0x1aa0: 0x1111, 0x1aa1: 0x2109, 0x1aa2: 0xbab1, 0x1aa3: 0x1099,
- 0x1aa4: 0x10b1, 0x1aa5: 0x10c9, 0x1aa6: 0xbac9, 0x1aa7: 0xbae1, 0x1aa8: 0xbaf9, 0x1aa9: 0x1429,
- 0x1aaa: 0x1a31, 0x1aab: 0xbb11, 0x1aac: 0xbb29, 0x1aad: 0xbb41, 0x1aae: 0xbb59, 0x1aaf: 0xbb71,
- 0x1ab0: 0xbb89, 0x1ab1: 0x2109, 0x1ab2: 0x1111, 0x1ab3: 0x1429, 0x1ab4: 0xbba1, 0x1ab5: 0xbbb9,
- 0x1ab6: 0xbbd1, 0x1ab7: 0x10e1, 0x1ab8: 0x10f9, 0x1ab9: 0xbbe9, 0x1aba: 0x2079, 0x1abb: 0xbc01,
- 0x1abc: 0xbab1, 0x1abd: 0x1099, 0x1abe: 0x10b1, 0x1abf: 0x10c9,
+ 0x1a80: 0x0f09, 0x1a81: 0x1199, 0x1a82: 0x0f31, 0x1a83: 0x0249, 0x1a84: 0x0f41, 0x1a85: 0x0259,
+ 0x1a86: 0x0f51, 0x1a87: 0x0359, 0x1a88: 0x0f61, 0x1a89: 0x0f71, 0x1a8a: 0x00d9, 0x1a8b: 0x0f99,
+ 0x1a8c: 0x2039, 0x1a8d: 0x0269, 0x1a8e: 0x01d9, 0x1a8f: 0x0fa9, 0x1a90: 0x0fb9, 0x1a91: 0x1089,
+ 0x1a92: 0x0279, 0x1a93: 0x0369, 0x1a94: 0x0289, 0x1a95: 0x13d1, 0x1a96: 0x0039, 0x1a97: 0x0ee9,
+ 0x1a98: 0x1159, 0x1a99: 0x0ef9, 0x1a9a: 0x0f09, 0x1a9b: 0x1199, 0x1a9c: 0x0f31, 0x1a9d: 0x0249,
+ 0x1a9e: 0x0f41, 0x1a9f: 0x0259, 0x1aa0: 0x0f51, 0x1aa1: 0x0359, 0x1aa2: 0x0f61, 0x1aa3: 0x0f71,
+ 0x1aa4: 0x00d9, 0x1aa5: 0x0f99, 0x1aa6: 0x2039, 0x1aa7: 0x0269, 0x1aa8: 0x01d9, 0x1aa9: 0x0fa9,
+ 0x1aaa: 0x0fb9, 0x1aab: 0x1089, 0x1aac: 0x0279, 0x1aad: 0x0369, 0x1aae: 0x0289, 0x1aaf: 0x13d1,
+ 0x1ab0: 0x0039, 0x1ab1: 0x0ee9, 0x1ab2: 0x1159, 0x1ab3: 0x0ef9, 0x1ab4: 0x0f09, 0x1ab5: 0x1199,
+ 0x1ab6: 0x0f31, 0x1ab7: 0x0249, 0x1ab8: 0x0f41, 0x1ab9: 0x0259, 0x1aba: 0x0f51, 0x1abb: 0x0359,
+ 0x1abc: 0x0f61, 0x1abd: 0x0f71, 0x1abe: 0x00d9, 0x1abf: 0x0f99,
// Block 0x6b, offset 0x1ac0
- 0x1ac0: 0xbac9, 0x1ac1: 0xbae1, 0x1ac2: 0xbaf9, 0x1ac3: 0x1429, 0x1ac4: 0x1a31, 0x1ac5: 0xbb11,
- 0x1ac6: 0xbb29, 0x1ac7: 0xbb41, 0x1ac8: 0xbb59, 0x1ac9: 0xbb71, 0x1aca: 0xbb89, 0x1acb: 0x2109,
- 0x1acc: 0x1111, 0x1acd: 0xbba1, 0x1ace: 0xbba1, 0x1acf: 0xbbb9, 0x1ad0: 0xbbd1, 0x1ad1: 0x10e1,
- 0x1ad2: 0x10f9, 0x1ad3: 0xbbe9, 0x1ad4: 0x2079, 0x1ad5: 0xbc21, 0x1ad6: 0xbac9, 0x1ad7: 0x1429,
- 0x1ad8: 0xbb11, 0x1ad9: 0x10e1, 0x1ada: 0x1111, 0x1adb: 0x2109, 0x1adc: 0xbab1, 0x1add: 0x1099,
- 0x1ade: 0x10b1, 0x1adf: 0x10c9, 0x1ae0: 0xbac9, 0x1ae1: 0xbae1, 0x1ae2: 0xbaf9, 0x1ae3: 0x1429,
- 0x1ae4: 0x1a31, 0x1ae5: 0xbb11, 0x1ae6: 0xbb29, 0x1ae7: 0xbb41, 0x1ae8: 0xbb59, 0x1ae9: 0xbb71,
- 0x1aea: 0xbb89, 0x1aeb: 0x2109, 0x1aec: 0x1111, 0x1aed: 0x1429, 0x1aee: 0xbba1, 0x1aef: 0xbbb9,
- 0x1af0: 0xbbd1, 0x1af1: 0x10e1, 0x1af2: 0x10f9, 0x1af3: 0xbbe9, 0x1af4: 0x2079, 0x1af5: 0xbc01,
- 0x1af6: 0xbab1, 0x1af7: 0x1099, 0x1af8: 0x10b1, 0x1af9: 0x10c9, 0x1afa: 0xbac9, 0x1afb: 0xbae1,
- 0x1afc: 0xbaf9, 0x1afd: 0x1429, 0x1afe: 0x1a31, 0x1aff: 0xbb11,
+ 0x1ac0: 0x2039, 0x1ac1: 0x0269, 0x1ac2: 0x01d9, 0x1ac3: 0x0fa9, 0x1ac4: 0x0fb9, 0x1ac5: 0x1089,
+ 0x1ac6: 0x0279, 0x1ac7: 0x0369, 0x1ac8: 0x0289, 0x1ac9: 0x13d1, 0x1aca: 0x0039, 0x1acb: 0x0ee9,
+ 0x1acc: 0x1159, 0x1acd: 0x0ef9, 0x1ace: 0x0f09, 0x1acf: 0x1199, 0x1ad0: 0x0f31, 0x1ad1: 0x0249,
+ 0x1ad2: 0x0f41, 0x1ad3: 0x0259, 0x1ad4: 0x0f51, 0x1ad5: 0x0359, 0x1ad6: 0x0f61, 0x1ad7: 0x0f71,
+ 0x1ad8: 0x00d9, 0x1ad9: 0x0f99, 0x1ada: 0x2039, 0x1adb: 0x0269, 0x1adc: 0x01d9, 0x1add: 0x0fa9,
+ 0x1ade: 0x0fb9, 0x1adf: 0x1089, 0x1ae0: 0x0279, 0x1ae1: 0x0369, 0x1ae2: 0x0289, 0x1ae3: 0x13d1,
+ 0x1ae4: 0xba81, 0x1ae5: 0xba99, 0x1ae6: 0x0040, 0x1ae7: 0x0040, 0x1ae8: 0xbab1, 0x1ae9: 0x1099,
+ 0x1aea: 0x10b1, 0x1aeb: 0x10c9, 0x1aec: 0xbac9, 0x1aed: 0xbae1, 0x1aee: 0xbaf9, 0x1aef: 0x1429,
+ 0x1af0: 0x1a31, 0x1af1: 0xbb11, 0x1af2: 0xbb29, 0x1af3: 0xbb41, 0x1af4: 0xbb59, 0x1af5: 0xbb71,
+ 0x1af6: 0xbb89, 0x1af7: 0x2109, 0x1af8: 0x1111, 0x1af9: 0x1429, 0x1afa: 0xbba1, 0x1afb: 0xbbb9,
+ 0x1afc: 0xbbd1, 0x1afd: 0x10e1, 0x1afe: 0x10f9, 0x1aff: 0xbbe9,
// Block 0x6c, offset 0x1b00
- 0x1b00: 0xbb29, 0x1b01: 0xbb41, 0x1b02: 0xbb59, 0x1b03: 0xbb71, 0x1b04: 0xbb89, 0x1b05: 0x2109,
- 0x1b06: 0x1111, 0x1b07: 0xbba1, 0x1b08: 0xbba1, 0x1b09: 0xbbb9, 0x1b0a: 0xbbd1, 0x1b0b: 0x10e1,
- 0x1b0c: 0x10f9, 0x1b0d: 0xbbe9, 0x1b0e: 0x2079, 0x1b0f: 0xbc21, 0x1b10: 0xbac9, 0x1b11: 0x1429,
- 0x1b12: 0xbb11, 0x1b13: 0x10e1, 0x1b14: 0x1111, 0x1b15: 0x2109, 0x1b16: 0xbab1, 0x1b17: 0x1099,
- 0x1b18: 0x10b1, 0x1b19: 0x10c9, 0x1b1a: 0xbac9, 0x1b1b: 0xbae1, 0x1b1c: 0xbaf9, 0x1b1d: 0x1429,
- 0x1b1e: 0x1a31, 0x1b1f: 0xbb11, 0x1b20: 0xbb29, 0x1b21: 0xbb41, 0x1b22: 0xbb59, 0x1b23: 0xbb71,
- 0x1b24: 0xbb89, 0x1b25: 0x2109, 0x1b26: 0x1111, 0x1b27: 0x1429, 0x1b28: 0xbba1, 0x1b29: 0xbbb9,
- 0x1b2a: 0xbbd1, 0x1b2b: 0x10e1, 0x1b2c: 0x10f9, 0x1b2d: 0xbbe9, 0x1b2e: 0x2079, 0x1b2f: 0xbc01,
- 0x1b30: 0xbab1, 0x1b31: 0x1099, 0x1b32: 0x10b1, 0x1b33: 0x10c9, 0x1b34: 0xbac9, 0x1b35: 0xbae1,
- 0x1b36: 0xbaf9, 0x1b37: 0x1429, 0x1b38: 0x1a31, 0x1b39: 0xbb11, 0x1b3a: 0xbb29, 0x1b3b: 0xbb41,
- 0x1b3c: 0xbb59, 0x1b3d: 0xbb71, 0x1b3e: 0xbb89, 0x1b3f: 0x2109,
+ 0x1b00: 0x2079, 0x1b01: 0xbc01, 0x1b02: 0xbab1, 0x1b03: 0x1099, 0x1b04: 0x10b1, 0x1b05: 0x10c9,
+ 0x1b06: 0xbac9, 0x1b07: 0xbae1, 0x1b08: 0xbaf9, 0x1b09: 0x1429, 0x1b0a: 0x1a31, 0x1b0b: 0xbb11,
+ 0x1b0c: 0xbb29, 0x1b0d: 0xbb41, 0x1b0e: 0xbb59, 0x1b0f: 0xbb71, 0x1b10: 0xbb89, 0x1b11: 0x2109,
+ 0x1b12: 0x1111, 0x1b13: 0xbba1, 0x1b14: 0xbba1, 0x1b15: 0xbbb9, 0x1b16: 0xbbd1, 0x1b17: 0x10e1,
+ 0x1b18: 0x10f9, 0x1b19: 0xbbe9, 0x1b1a: 0x2079, 0x1b1b: 0xbc21, 0x1b1c: 0xbac9, 0x1b1d: 0x1429,
+ 0x1b1e: 0xbb11, 0x1b1f: 0x10e1, 0x1b20: 0x1111, 0x1b21: 0x2109, 0x1b22: 0xbab1, 0x1b23: 0x1099,
+ 0x1b24: 0x10b1, 0x1b25: 0x10c9, 0x1b26: 0xbac9, 0x1b27: 0xbae1, 0x1b28: 0xbaf9, 0x1b29: 0x1429,
+ 0x1b2a: 0x1a31, 0x1b2b: 0xbb11, 0x1b2c: 0xbb29, 0x1b2d: 0xbb41, 0x1b2e: 0xbb59, 0x1b2f: 0xbb71,
+ 0x1b30: 0xbb89, 0x1b31: 0x2109, 0x1b32: 0x1111, 0x1b33: 0x1429, 0x1b34: 0xbba1, 0x1b35: 0xbbb9,
+ 0x1b36: 0xbbd1, 0x1b37: 0x10e1, 0x1b38: 0x10f9, 0x1b39: 0xbbe9, 0x1b3a: 0x2079, 0x1b3b: 0xbc01,
+ 0x1b3c: 0xbab1, 0x1b3d: 0x1099, 0x1b3e: 0x10b1, 0x1b3f: 0x10c9,
// Block 0x6d, offset 0x1b40
- 0x1b40: 0x1111, 0x1b41: 0xbba1, 0x1b42: 0xbba1, 0x1b43: 0xbbb9, 0x1b44: 0xbbd1, 0x1b45: 0x10e1,
- 0x1b46: 0x10f9, 0x1b47: 0xbbe9, 0x1b48: 0x2079, 0x1b49: 0xbc21, 0x1b4a: 0xbac9, 0x1b4b: 0x1429,
- 0x1b4c: 0xbb11, 0x1b4d: 0x10e1, 0x1b4e: 0x1111, 0x1b4f: 0x2109, 0x1b50: 0xbab1, 0x1b51: 0x1099,
- 0x1b52: 0x10b1, 0x1b53: 0x10c9, 0x1b54: 0xbac9, 0x1b55: 0xbae1, 0x1b56: 0xbaf9, 0x1b57: 0x1429,
- 0x1b58: 0x1a31, 0x1b59: 0xbb11, 0x1b5a: 0xbb29, 0x1b5b: 0xbb41, 0x1b5c: 0xbb59, 0x1b5d: 0xbb71,
- 0x1b5e: 0xbb89, 0x1b5f: 0x2109, 0x1b60: 0x1111, 0x1b61: 0x1429, 0x1b62: 0xbba1, 0x1b63: 0xbbb9,
- 0x1b64: 0xbbd1, 0x1b65: 0x10e1, 0x1b66: 0x10f9, 0x1b67: 0xbbe9, 0x1b68: 0x2079, 0x1b69: 0xbc01,
- 0x1b6a: 0xbab1, 0x1b6b: 0x1099, 0x1b6c: 0x10b1, 0x1b6d: 0x10c9, 0x1b6e: 0xbac9, 0x1b6f: 0xbae1,
- 0x1b70: 0xbaf9, 0x1b71: 0x1429, 0x1b72: 0x1a31, 0x1b73: 0xbb11, 0x1b74: 0xbb29, 0x1b75: 0xbb41,
- 0x1b76: 0xbb59, 0x1b77: 0xbb71, 0x1b78: 0xbb89, 0x1b79: 0x2109, 0x1b7a: 0x1111, 0x1b7b: 0xbba1,
- 0x1b7c: 0xbba1, 0x1b7d: 0xbbb9, 0x1b7e: 0xbbd1, 0x1b7f: 0x10e1,
+ 0x1b40: 0xbac9, 0x1b41: 0xbae1, 0x1b42: 0xbaf9, 0x1b43: 0x1429, 0x1b44: 0x1a31, 0x1b45: 0xbb11,
+ 0x1b46: 0xbb29, 0x1b47: 0xbb41, 0x1b48: 0xbb59, 0x1b49: 0xbb71, 0x1b4a: 0xbb89, 0x1b4b: 0x2109,
+ 0x1b4c: 0x1111, 0x1b4d: 0xbba1, 0x1b4e: 0xbba1, 0x1b4f: 0xbbb9, 0x1b50: 0xbbd1, 0x1b51: 0x10e1,
+ 0x1b52: 0x10f9, 0x1b53: 0xbbe9, 0x1b54: 0x2079, 0x1b55: 0xbc21, 0x1b56: 0xbac9, 0x1b57: 0x1429,
+ 0x1b58: 0xbb11, 0x1b59: 0x10e1, 0x1b5a: 0x1111, 0x1b5b: 0x2109, 0x1b5c: 0xbab1, 0x1b5d: 0x1099,
+ 0x1b5e: 0x10b1, 0x1b5f: 0x10c9, 0x1b60: 0xbac9, 0x1b61: 0xbae1, 0x1b62: 0xbaf9, 0x1b63: 0x1429,
+ 0x1b64: 0x1a31, 0x1b65: 0xbb11, 0x1b66: 0xbb29, 0x1b67: 0xbb41, 0x1b68: 0xbb59, 0x1b69: 0xbb71,
+ 0x1b6a: 0xbb89, 0x1b6b: 0x2109, 0x1b6c: 0x1111, 0x1b6d: 0x1429, 0x1b6e: 0xbba1, 0x1b6f: 0xbbb9,
+ 0x1b70: 0xbbd1, 0x1b71: 0x10e1, 0x1b72: 0x10f9, 0x1b73: 0xbbe9, 0x1b74: 0x2079, 0x1b75: 0xbc01,
+ 0x1b76: 0xbab1, 0x1b77: 0x1099, 0x1b78: 0x10b1, 0x1b79: 0x10c9, 0x1b7a: 0xbac9, 0x1b7b: 0xbae1,
+ 0x1b7c: 0xbaf9, 0x1b7d: 0x1429, 0x1b7e: 0x1a31, 0x1b7f: 0xbb11,
// Block 0x6e, offset 0x1b80
- 0x1b80: 0x10f9, 0x1b81: 0xbbe9, 0x1b82: 0x2079, 0x1b83: 0xbc21, 0x1b84: 0xbac9, 0x1b85: 0x1429,
- 0x1b86: 0xbb11, 0x1b87: 0x10e1, 0x1b88: 0x1111, 0x1b89: 0x2109, 0x1b8a: 0xbc41, 0x1b8b: 0xbc41,
- 0x1b8c: 0x0040, 0x1b8d: 0x0040, 0x1b8e: 0x1f41, 0x1b8f: 0x00c9, 0x1b90: 0x0069, 0x1b91: 0x0079,
- 0x1b92: 0x1f51, 0x1b93: 0x1f61, 0x1b94: 0x1f71, 0x1b95: 0x1f81, 0x1b96: 0x1f91, 0x1b97: 0x1fa1,
- 0x1b98: 0x1f41, 0x1b99: 0x00c9, 0x1b9a: 0x0069, 0x1b9b: 0x0079, 0x1b9c: 0x1f51, 0x1b9d: 0x1f61,
- 0x1b9e: 0x1f71, 0x1b9f: 0x1f81, 0x1ba0: 0x1f91, 0x1ba1: 0x1fa1, 0x1ba2: 0x1f41, 0x1ba3: 0x00c9,
- 0x1ba4: 0x0069, 0x1ba5: 0x0079, 0x1ba6: 0x1f51, 0x1ba7: 0x1f61, 0x1ba8: 0x1f71, 0x1ba9: 0x1f81,
- 0x1baa: 0x1f91, 0x1bab: 0x1fa1, 0x1bac: 0x1f41, 0x1bad: 0x00c9, 0x1bae: 0x0069, 0x1baf: 0x0079,
- 0x1bb0: 0x1f51, 0x1bb1: 0x1f61, 0x1bb2: 0x1f71, 0x1bb3: 0x1f81, 0x1bb4: 0x1f91, 0x1bb5: 0x1fa1,
- 0x1bb6: 0x1f41, 0x1bb7: 0x00c9, 0x1bb8: 0x0069, 0x1bb9: 0x0079, 0x1bba: 0x1f51, 0x1bbb: 0x1f61,
- 0x1bbc: 0x1f71, 0x1bbd: 0x1f81, 0x1bbe: 0x1f91, 0x1bbf: 0x1fa1,
+ 0x1b80: 0xbb29, 0x1b81: 0xbb41, 0x1b82: 0xbb59, 0x1b83: 0xbb71, 0x1b84: 0xbb89, 0x1b85: 0x2109,
+ 0x1b86: 0x1111, 0x1b87: 0xbba1, 0x1b88: 0xbba1, 0x1b89: 0xbbb9, 0x1b8a: 0xbbd1, 0x1b8b: 0x10e1,
+ 0x1b8c: 0x10f9, 0x1b8d: 0xbbe9, 0x1b8e: 0x2079, 0x1b8f: 0xbc21, 0x1b90: 0xbac9, 0x1b91: 0x1429,
+ 0x1b92: 0xbb11, 0x1b93: 0x10e1, 0x1b94: 0x1111, 0x1b95: 0x2109, 0x1b96: 0xbab1, 0x1b97: 0x1099,
+ 0x1b98: 0x10b1, 0x1b99: 0x10c9, 0x1b9a: 0xbac9, 0x1b9b: 0xbae1, 0x1b9c: 0xbaf9, 0x1b9d: 0x1429,
+ 0x1b9e: 0x1a31, 0x1b9f: 0xbb11, 0x1ba0: 0xbb29, 0x1ba1: 0xbb41, 0x1ba2: 0xbb59, 0x1ba3: 0xbb71,
+ 0x1ba4: 0xbb89, 0x1ba5: 0x2109, 0x1ba6: 0x1111, 0x1ba7: 0x1429, 0x1ba8: 0xbba1, 0x1ba9: 0xbbb9,
+ 0x1baa: 0xbbd1, 0x1bab: 0x10e1, 0x1bac: 0x10f9, 0x1bad: 0xbbe9, 0x1bae: 0x2079, 0x1baf: 0xbc01,
+ 0x1bb0: 0xbab1, 0x1bb1: 0x1099, 0x1bb2: 0x10b1, 0x1bb3: 0x10c9, 0x1bb4: 0xbac9, 0x1bb5: 0xbae1,
+ 0x1bb6: 0xbaf9, 0x1bb7: 0x1429, 0x1bb8: 0x1a31, 0x1bb9: 0xbb11, 0x1bba: 0xbb29, 0x1bbb: 0xbb41,
+ 0x1bbc: 0xbb59, 0x1bbd: 0xbb71, 0x1bbe: 0xbb89, 0x1bbf: 0x2109,
// Block 0x6f, offset 0x1bc0
- 0x1bc0: 0xe115, 0x1bc1: 0xe115, 0x1bc2: 0xe135, 0x1bc3: 0xe135, 0x1bc4: 0xe115, 0x1bc5: 0xe115,
- 0x1bc6: 0xe175, 0x1bc7: 0xe175, 0x1bc8: 0xe115, 0x1bc9: 0xe115, 0x1bca: 0xe135, 0x1bcb: 0xe135,
- 0x1bcc: 0xe115, 0x1bcd: 0xe115, 0x1bce: 0xe1f5, 0x1bcf: 0xe1f5, 0x1bd0: 0xe115, 0x1bd1: 0xe115,
- 0x1bd2: 0xe135, 0x1bd3: 0xe135, 0x1bd4: 0xe115, 0x1bd5: 0xe115, 0x1bd6: 0xe175, 0x1bd7: 0xe175,
- 0x1bd8: 0xe115, 0x1bd9: 0xe115, 0x1bda: 0xe135, 0x1bdb: 0xe135, 0x1bdc: 0xe115, 0x1bdd: 0xe115,
- 0x1bde: 0x8b05, 0x1bdf: 0x8b05, 0x1be0: 0x04b5, 0x1be1: 0x04b5, 0x1be2: 0x0208, 0x1be3: 0x0208,
- 0x1be4: 0x0208, 0x1be5: 0x0208, 0x1be6: 0x0208, 0x1be7: 0x0208, 0x1be8: 0x0208, 0x1be9: 0x0208,
- 0x1bea: 0x0208, 0x1beb: 0x0208, 0x1bec: 0x0208, 0x1bed: 0x0208, 0x1bee: 0x0208, 0x1bef: 0x0208,
- 0x1bf0: 0x0208, 0x1bf1: 0x0208, 0x1bf2: 0x0208, 0x1bf3: 0x0208, 0x1bf4: 0x0208, 0x1bf5: 0x0208,
- 0x1bf6: 0x0208, 0x1bf7: 0x0208, 0x1bf8: 0x0208, 0x1bf9: 0x0208, 0x1bfa: 0x0208, 0x1bfb: 0x0208,
- 0x1bfc: 0x0208, 0x1bfd: 0x0208, 0x1bfe: 0x0208, 0x1bff: 0x0208,
+ 0x1bc0: 0x1111, 0x1bc1: 0xbba1, 0x1bc2: 0xbba1, 0x1bc3: 0xbbb9, 0x1bc4: 0xbbd1, 0x1bc5: 0x10e1,
+ 0x1bc6: 0x10f9, 0x1bc7: 0xbbe9, 0x1bc8: 0x2079, 0x1bc9: 0xbc21, 0x1bca: 0xbac9, 0x1bcb: 0x1429,
+ 0x1bcc: 0xbb11, 0x1bcd: 0x10e1, 0x1bce: 0x1111, 0x1bcf: 0x2109, 0x1bd0: 0xbab1, 0x1bd1: 0x1099,
+ 0x1bd2: 0x10b1, 0x1bd3: 0x10c9, 0x1bd4: 0xbac9, 0x1bd5: 0xbae1, 0x1bd6: 0xbaf9, 0x1bd7: 0x1429,
+ 0x1bd8: 0x1a31, 0x1bd9: 0xbb11, 0x1bda: 0xbb29, 0x1bdb: 0xbb41, 0x1bdc: 0xbb59, 0x1bdd: 0xbb71,
+ 0x1bde: 0xbb89, 0x1bdf: 0x2109, 0x1be0: 0x1111, 0x1be1: 0x1429, 0x1be2: 0xbba1, 0x1be3: 0xbbb9,
+ 0x1be4: 0xbbd1, 0x1be5: 0x10e1, 0x1be6: 0x10f9, 0x1be7: 0xbbe9, 0x1be8: 0x2079, 0x1be9: 0xbc01,
+ 0x1bea: 0xbab1, 0x1beb: 0x1099, 0x1bec: 0x10b1, 0x1bed: 0x10c9, 0x1bee: 0xbac9, 0x1bef: 0xbae1,
+ 0x1bf0: 0xbaf9, 0x1bf1: 0x1429, 0x1bf2: 0x1a31, 0x1bf3: 0xbb11, 0x1bf4: 0xbb29, 0x1bf5: 0xbb41,
+ 0x1bf6: 0xbb59, 0x1bf7: 0xbb71, 0x1bf8: 0xbb89, 0x1bf9: 0x2109, 0x1bfa: 0x1111, 0x1bfb: 0xbba1,
+ 0x1bfc: 0xbba1, 0x1bfd: 0xbbb9, 0x1bfe: 0xbbd1, 0x1bff: 0x10e1,
// Block 0x70, offset 0x1c00
- 0x1c00: 0xb189, 0x1c01: 0xb1a1, 0x1c02: 0xb201, 0x1c03: 0xb249, 0x1c04: 0x0040, 0x1c05: 0xb411,
- 0x1c06: 0xb291, 0x1c07: 0xb219, 0x1c08: 0xb309, 0x1c09: 0xb429, 0x1c0a: 0xb399, 0x1c0b: 0xb3b1,
- 0x1c0c: 0xb3c9, 0x1c0d: 0xb3e1, 0x1c0e: 0xb2a9, 0x1c0f: 0xb339, 0x1c10: 0xb369, 0x1c11: 0xb2d9,
- 0x1c12: 0xb381, 0x1c13: 0xb279, 0x1c14: 0xb2c1, 0x1c15: 0xb1d1, 0x1c16: 0xb1e9, 0x1c17: 0xb231,
- 0x1c18: 0xb261, 0x1c19: 0xb2f1, 0x1c1a: 0xb321, 0x1c1b: 0xb351, 0x1c1c: 0xbc59, 0x1c1d: 0x7949,
- 0x1c1e: 0xbc71, 0x1c1f: 0xbc89, 0x1c20: 0x0040, 0x1c21: 0xb1a1, 0x1c22: 0xb201, 0x1c23: 0x0040,
- 0x1c24: 0xb3f9, 0x1c25: 0x0040, 0x1c26: 0x0040, 0x1c27: 0xb219, 0x1c28: 0x0040, 0x1c29: 0xb429,
- 0x1c2a: 0xb399, 0x1c2b: 0xb3b1, 0x1c2c: 0xb3c9, 0x1c2d: 0xb3e1, 0x1c2e: 0xb2a9, 0x1c2f: 0xb339,
- 0x1c30: 0xb369, 0x1c31: 0xb2d9, 0x1c32: 0xb381, 0x1c33: 0x0040, 0x1c34: 0xb2c1, 0x1c35: 0xb1d1,
- 0x1c36: 0xb1e9, 0x1c37: 0xb231, 0x1c38: 0x0040, 0x1c39: 0xb2f1, 0x1c3a: 0x0040, 0x1c3b: 0xb351,
- 0x1c3c: 0x0040, 0x1c3d: 0x0040, 0x1c3e: 0x0040, 0x1c3f: 0x0040,
+ 0x1c00: 0x10f9, 0x1c01: 0xbbe9, 0x1c02: 0x2079, 0x1c03: 0xbc21, 0x1c04: 0xbac9, 0x1c05: 0x1429,
+ 0x1c06: 0xbb11, 0x1c07: 0x10e1, 0x1c08: 0x1111, 0x1c09: 0x2109, 0x1c0a: 0xbc41, 0x1c0b: 0xbc41,
+ 0x1c0c: 0x0040, 0x1c0d: 0x0040, 0x1c0e: 0x1f41, 0x1c0f: 0x00c9, 0x1c10: 0x0069, 0x1c11: 0x0079,
+ 0x1c12: 0x1f51, 0x1c13: 0x1f61, 0x1c14: 0x1f71, 0x1c15: 0x1f81, 0x1c16: 0x1f91, 0x1c17: 0x1fa1,
+ 0x1c18: 0x1f41, 0x1c19: 0x00c9, 0x1c1a: 0x0069, 0x1c1b: 0x0079, 0x1c1c: 0x1f51, 0x1c1d: 0x1f61,
+ 0x1c1e: 0x1f71, 0x1c1f: 0x1f81, 0x1c20: 0x1f91, 0x1c21: 0x1fa1, 0x1c22: 0x1f41, 0x1c23: 0x00c9,
+ 0x1c24: 0x0069, 0x1c25: 0x0079, 0x1c26: 0x1f51, 0x1c27: 0x1f61, 0x1c28: 0x1f71, 0x1c29: 0x1f81,
+ 0x1c2a: 0x1f91, 0x1c2b: 0x1fa1, 0x1c2c: 0x1f41, 0x1c2d: 0x00c9, 0x1c2e: 0x0069, 0x1c2f: 0x0079,
+ 0x1c30: 0x1f51, 0x1c31: 0x1f61, 0x1c32: 0x1f71, 0x1c33: 0x1f81, 0x1c34: 0x1f91, 0x1c35: 0x1fa1,
+ 0x1c36: 0x1f41, 0x1c37: 0x00c9, 0x1c38: 0x0069, 0x1c39: 0x0079, 0x1c3a: 0x1f51, 0x1c3b: 0x1f61,
+ 0x1c3c: 0x1f71, 0x1c3d: 0x1f81, 0x1c3e: 0x1f91, 0x1c3f: 0x1fa1,
// Block 0x71, offset 0x1c40
- 0x1c40: 0x0040, 0x1c41: 0x0040, 0x1c42: 0xb201, 0x1c43: 0x0040, 0x1c44: 0x0040, 0x1c45: 0x0040,
- 0x1c46: 0x0040, 0x1c47: 0xb219, 0x1c48: 0x0040, 0x1c49: 0xb429, 0x1c4a: 0x0040, 0x1c4b: 0xb3b1,
- 0x1c4c: 0x0040, 0x1c4d: 0xb3e1, 0x1c4e: 0xb2a9, 0x1c4f: 0xb339, 0x1c50: 0x0040, 0x1c51: 0xb2d9,
- 0x1c52: 0xb381, 0x1c53: 0x0040, 0x1c54: 0xb2c1, 0x1c55: 0x0040, 0x1c56: 0x0040, 0x1c57: 0xb231,
- 0x1c58: 0x0040, 0x1c59: 0xb2f1, 0x1c5a: 0x0040, 0x1c5b: 0xb351, 0x1c5c: 0x0040, 0x1c5d: 0x7949,
- 0x1c5e: 0x0040, 0x1c5f: 0xbc89, 0x1c60: 0x0040, 0x1c61: 0xb1a1, 0x1c62: 0xb201, 0x1c63: 0x0040,
- 0x1c64: 0xb3f9, 0x1c65: 0x0040, 0x1c66: 0x0040, 0x1c67: 0xb219, 0x1c68: 0xb309, 0x1c69: 0xb429,
- 0x1c6a: 0xb399, 0x1c6b: 0x0040, 0x1c6c: 0xb3c9, 0x1c6d: 0xb3e1, 0x1c6e: 0xb2a9, 0x1c6f: 0xb339,
- 0x1c70: 0xb369, 0x1c71: 0xb2d9, 0x1c72: 0xb381, 0x1c73: 0x0040, 0x1c74: 0xb2c1, 0x1c75: 0xb1d1,
- 0x1c76: 0xb1e9, 0x1c77: 0xb231, 0x1c78: 0x0040, 0x1c79: 0xb2f1, 0x1c7a: 0xb321, 0x1c7b: 0xb351,
- 0x1c7c: 0xbc59, 0x1c7d: 0x0040, 0x1c7e: 0xbc71, 0x1c7f: 0x0040,
+ 0x1c40: 0xe115, 0x1c41: 0xe115, 0x1c42: 0xe135, 0x1c43: 0xe135, 0x1c44: 0xe115, 0x1c45: 0xe115,
+ 0x1c46: 0xe175, 0x1c47: 0xe175, 0x1c48: 0xe115, 0x1c49: 0xe115, 0x1c4a: 0xe135, 0x1c4b: 0xe135,
+ 0x1c4c: 0xe115, 0x1c4d: 0xe115, 0x1c4e: 0xe1f5, 0x1c4f: 0xe1f5, 0x1c50: 0xe115, 0x1c51: 0xe115,
+ 0x1c52: 0xe135, 0x1c53: 0xe135, 0x1c54: 0xe115, 0x1c55: 0xe115, 0x1c56: 0xe175, 0x1c57: 0xe175,
+ 0x1c58: 0xe115, 0x1c59: 0xe115, 0x1c5a: 0xe135, 0x1c5b: 0xe135, 0x1c5c: 0xe115, 0x1c5d: 0xe115,
+ 0x1c5e: 0x8b05, 0x1c5f: 0x8b05, 0x1c60: 0x04b5, 0x1c61: 0x04b5, 0x1c62: 0x0a08, 0x1c63: 0x0a08,
+ 0x1c64: 0x0a08, 0x1c65: 0x0a08, 0x1c66: 0x0a08, 0x1c67: 0x0a08, 0x1c68: 0x0a08, 0x1c69: 0x0a08,
+ 0x1c6a: 0x0a08, 0x1c6b: 0x0a08, 0x1c6c: 0x0a08, 0x1c6d: 0x0a08, 0x1c6e: 0x0a08, 0x1c6f: 0x0a08,
+ 0x1c70: 0x0a08, 0x1c71: 0x0a08, 0x1c72: 0x0a08, 0x1c73: 0x0a08, 0x1c74: 0x0a08, 0x1c75: 0x0a08,
+ 0x1c76: 0x0a08, 0x1c77: 0x0a08, 0x1c78: 0x0a08, 0x1c79: 0x0a08, 0x1c7a: 0x0a08, 0x1c7b: 0x0a08,
+ 0x1c7c: 0x0a08, 0x1c7d: 0x0a08, 0x1c7e: 0x0a08, 0x1c7f: 0x0a08,
// Block 0x72, offset 0x1c80
- 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0xb3f9, 0x1c85: 0xb411,
- 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0x0040, 0x1c8b: 0xb3b1,
+ 0x1c80: 0xb189, 0x1c81: 0xb1a1, 0x1c82: 0xb201, 0x1c83: 0xb249, 0x1c84: 0x0040, 0x1c85: 0xb411,
+ 0x1c86: 0xb291, 0x1c87: 0xb219, 0x1c88: 0xb309, 0x1c89: 0xb429, 0x1c8a: 0xb399, 0x1c8b: 0xb3b1,
0x1c8c: 0xb3c9, 0x1c8d: 0xb3e1, 0x1c8e: 0xb2a9, 0x1c8f: 0xb339, 0x1c90: 0xb369, 0x1c91: 0xb2d9,
0x1c92: 0xb381, 0x1c93: 0xb279, 0x1c94: 0xb2c1, 0x1c95: 0xb1d1, 0x1c96: 0xb1e9, 0x1c97: 0xb231,
- 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0x0040, 0x1c9d: 0x0040,
- 0x1c9e: 0x0040, 0x1c9f: 0x0040, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0xb249,
- 0x1ca4: 0x0040, 0x1ca5: 0xb411, 0x1ca6: 0xb291, 0x1ca7: 0xb219, 0x1ca8: 0xb309, 0x1ca9: 0xb429,
- 0x1caa: 0x0040, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339,
- 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0xb279, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1,
- 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0xb261, 0x1cb9: 0xb2f1, 0x1cba: 0xb321, 0x1cbb: 0xb351,
+ 0x1c98: 0xb261, 0x1c99: 0xb2f1, 0x1c9a: 0xb321, 0x1c9b: 0xb351, 0x1c9c: 0xbc59, 0x1c9d: 0x7949,
+ 0x1c9e: 0xbc71, 0x1c9f: 0xbc89, 0x1ca0: 0x0040, 0x1ca1: 0xb1a1, 0x1ca2: 0xb201, 0x1ca3: 0x0040,
+ 0x1ca4: 0xb3f9, 0x1ca5: 0x0040, 0x1ca6: 0x0040, 0x1ca7: 0xb219, 0x1ca8: 0x0040, 0x1ca9: 0xb429,
+ 0x1caa: 0xb399, 0x1cab: 0xb3b1, 0x1cac: 0xb3c9, 0x1cad: 0xb3e1, 0x1cae: 0xb2a9, 0x1caf: 0xb339,
+ 0x1cb0: 0xb369, 0x1cb1: 0xb2d9, 0x1cb2: 0xb381, 0x1cb3: 0x0040, 0x1cb4: 0xb2c1, 0x1cb5: 0xb1d1,
+ 0x1cb6: 0xb1e9, 0x1cb7: 0xb231, 0x1cb8: 0x0040, 0x1cb9: 0xb2f1, 0x1cba: 0x0040, 0x1cbb: 0xb351,
0x1cbc: 0x0040, 0x1cbd: 0x0040, 0x1cbe: 0x0040, 0x1cbf: 0x0040,
// Block 0x73, offset 0x1cc0
- 0x1cc0: 0x0040, 0x1cc1: 0xbca2, 0x1cc2: 0xbcba, 0x1cc3: 0xbcd2, 0x1cc4: 0xbcea, 0x1cc5: 0xbd02,
- 0x1cc6: 0xbd1a, 0x1cc7: 0xbd32, 0x1cc8: 0xbd4a, 0x1cc9: 0xbd62, 0x1cca: 0xbd7a, 0x1ccb: 0x0018,
- 0x1ccc: 0x0018, 0x1ccd: 0x0040, 0x1cce: 0x0040, 0x1ccf: 0x0040, 0x1cd0: 0xbd92, 0x1cd1: 0xbdb2,
- 0x1cd2: 0xbdd2, 0x1cd3: 0xbdf2, 0x1cd4: 0xbe12, 0x1cd5: 0xbe32, 0x1cd6: 0xbe52, 0x1cd7: 0xbe72,
- 0x1cd8: 0xbe92, 0x1cd9: 0xbeb2, 0x1cda: 0xbed2, 0x1cdb: 0xbef2, 0x1cdc: 0xbf12, 0x1cdd: 0xbf32,
- 0x1cde: 0xbf52, 0x1cdf: 0xbf72, 0x1ce0: 0xbf92, 0x1ce1: 0xbfb2, 0x1ce2: 0xbfd2, 0x1ce3: 0xbff2,
- 0x1ce4: 0xc012, 0x1ce5: 0xc032, 0x1ce6: 0xc052, 0x1ce7: 0xc072, 0x1ce8: 0xc092, 0x1ce9: 0xc0b2,
- 0x1cea: 0xc0d1, 0x1ceb: 0x1159, 0x1cec: 0x0269, 0x1ced: 0x6671, 0x1cee: 0xc111, 0x1cef: 0x0040,
- 0x1cf0: 0x0039, 0x1cf1: 0x0ee9, 0x1cf2: 0x1159, 0x1cf3: 0x0ef9, 0x1cf4: 0x0f09, 0x1cf5: 0x1199,
- 0x1cf6: 0x0f31, 0x1cf7: 0x0249, 0x1cf8: 0x0f41, 0x1cf9: 0x0259, 0x1cfa: 0x0f51, 0x1cfb: 0x0359,
- 0x1cfc: 0x0f61, 0x1cfd: 0x0f71, 0x1cfe: 0x00d9, 0x1cff: 0x0f99,
+ 0x1cc0: 0x0040, 0x1cc1: 0x0040, 0x1cc2: 0xb201, 0x1cc3: 0x0040, 0x1cc4: 0x0040, 0x1cc5: 0x0040,
+ 0x1cc6: 0x0040, 0x1cc7: 0xb219, 0x1cc8: 0x0040, 0x1cc9: 0xb429, 0x1cca: 0x0040, 0x1ccb: 0xb3b1,
+ 0x1ccc: 0x0040, 0x1ccd: 0xb3e1, 0x1cce: 0xb2a9, 0x1ccf: 0xb339, 0x1cd0: 0x0040, 0x1cd1: 0xb2d9,
+ 0x1cd2: 0xb381, 0x1cd3: 0x0040, 0x1cd4: 0xb2c1, 0x1cd5: 0x0040, 0x1cd6: 0x0040, 0x1cd7: 0xb231,
+ 0x1cd8: 0x0040, 0x1cd9: 0xb2f1, 0x1cda: 0x0040, 0x1cdb: 0xb351, 0x1cdc: 0x0040, 0x1cdd: 0x7949,
+ 0x1cde: 0x0040, 0x1cdf: 0xbc89, 0x1ce0: 0x0040, 0x1ce1: 0xb1a1, 0x1ce2: 0xb201, 0x1ce3: 0x0040,
+ 0x1ce4: 0xb3f9, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb219, 0x1ce8: 0xb309, 0x1ce9: 0xb429,
+ 0x1cea: 0xb399, 0x1ceb: 0x0040, 0x1cec: 0xb3c9, 0x1ced: 0xb3e1, 0x1cee: 0xb2a9, 0x1cef: 0xb339,
+ 0x1cf0: 0xb369, 0x1cf1: 0xb2d9, 0x1cf2: 0xb381, 0x1cf3: 0x0040, 0x1cf4: 0xb2c1, 0x1cf5: 0xb1d1,
+ 0x1cf6: 0xb1e9, 0x1cf7: 0xb231, 0x1cf8: 0x0040, 0x1cf9: 0xb2f1, 0x1cfa: 0xb321, 0x1cfb: 0xb351,
+ 0x1cfc: 0xbc59, 0x1cfd: 0x0040, 0x1cfe: 0xbc71, 0x1cff: 0x0040,
// Block 0x74, offset 0x1d00
- 0x1d00: 0x2039, 0x1d01: 0x0269, 0x1d02: 0x01d9, 0x1d03: 0x0fa9, 0x1d04: 0x0fb9, 0x1d05: 0x1089,
- 0x1d06: 0x0279, 0x1d07: 0x0369, 0x1d08: 0x0289, 0x1d09: 0x13d1, 0x1d0a: 0xc129, 0x1d0b: 0x65b1,
- 0x1d0c: 0xc141, 0x1d0d: 0x1441, 0x1d0e: 0xc159, 0x1d0f: 0xc179, 0x1d10: 0x0018, 0x1d11: 0x0018,
- 0x1d12: 0x0018, 0x1d13: 0x0018, 0x1d14: 0x0018, 0x1d15: 0x0018, 0x1d16: 0x0018, 0x1d17: 0x0018,
- 0x1d18: 0x0018, 0x1d19: 0x0018, 0x1d1a: 0x0018, 0x1d1b: 0x0018, 0x1d1c: 0x0018, 0x1d1d: 0x0018,
- 0x1d1e: 0x0018, 0x1d1f: 0x0018, 0x1d20: 0x0018, 0x1d21: 0x0018, 0x1d22: 0x0018, 0x1d23: 0x0018,
- 0x1d24: 0x0018, 0x1d25: 0x0018, 0x1d26: 0x0018, 0x1d27: 0x0018, 0x1d28: 0x0018, 0x1d29: 0x0018,
- 0x1d2a: 0xc191, 0x1d2b: 0xc1a9, 0x1d2c: 0x0040, 0x1d2d: 0x0040, 0x1d2e: 0x0040, 0x1d2f: 0x0040,
- 0x1d30: 0x0018, 0x1d31: 0x0018, 0x1d32: 0x0018, 0x1d33: 0x0018, 0x1d34: 0x0018, 0x1d35: 0x0018,
- 0x1d36: 0x0018, 0x1d37: 0x0018, 0x1d38: 0x0018, 0x1d39: 0x0018, 0x1d3a: 0x0018, 0x1d3b: 0x0018,
- 0x1d3c: 0x0018, 0x1d3d: 0x0018, 0x1d3e: 0x0018, 0x1d3f: 0x0018,
+ 0x1d00: 0xb189, 0x1d01: 0xb1a1, 0x1d02: 0xb201, 0x1d03: 0xb249, 0x1d04: 0xb3f9, 0x1d05: 0xb411,
+ 0x1d06: 0xb291, 0x1d07: 0xb219, 0x1d08: 0xb309, 0x1d09: 0xb429, 0x1d0a: 0x0040, 0x1d0b: 0xb3b1,
+ 0x1d0c: 0xb3c9, 0x1d0d: 0xb3e1, 0x1d0e: 0xb2a9, 0x1d0f: 0xb339, 0x1d10: 0xb369, 0x1d11: 0xb2d9,
+ 0x1d12: 0xb381, 0x1d13: 0xb279, 0x1d14: 0xb2c1, 0x1d15: 0xb1d1, 0x1d16: 0xb1e9, 0x1d17: 0xb231,
+ 0x1d18: 0xb261, 0x1d19: 0xb2f1, 0x1d1a: 0xb321, 0x1d1b: 0xb351, 0x1d1c: 0x0040, 0x1d1d: 0x0040,
+ 0x1d1e: 0x0040, 0x1d1f: 0x0040, 0x1d20: 0x0040, 0x1d21: 0xb1a1, 0x1d22: 0xb201, 0x1d23: 0xb249,
+ 0x1d24: 0x0040, 0x1d25: 0xb411, 0x1d26: 0xb291, 0x1d27: 0xb219, 0x1d28: 0xb309, 0x1d29: 0xb429,
+ 0x1d2a: 0x0040, 0x1d2b: 0xb3b1, 0x1d2c: 0xb3c9, 0x1d2d: 0xb3e1, 0x1d2e: 0xb2a9, 0x1d2f: 0xb339,
+ 0x1d30: 0xb369, 0x1d31: 0xb2d9, 0x1d32: 0xb381, 0x1d33: 0xb279, 0x1d34: 0xb2c1, 0x1d35: 0xb1d1,
+ 0x1d36: 0xb1e9, 0x1d37: 0xb231, 0x1d38: 0xb261, 0x1d39: 0xb2f1, 0x1d3a: 0xb321, 0x1d3b: 0xb351,
+ 0x1d3c: 0x0040, 0x1d3d: 0x0040, 0x1d3e: 0x0040, 0x1d3f: 0x0040,
// Block 0x75, offset 0x1d40
- 0x1d40: 0xc1d9, 0x1d41: 0xc211, 0x1d42: 0xc249, 0x1d43: 0x0040, 0x1d44: 0x0040, 0x1d45: 0x0040,
- 0x1d46: 0x0040, 0x1d47: 0x0040, 0x1d48: 0x0040, 0x1d49: 0x0040, 0x1d4a: 0x0040, 0x1d4b: 0x0040,
- 0x1d4c: 0x0040, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xc269, 0x1d51: 0xc289,
- 0x1d52: 0xc2a9, 0x1d53: 0xc2c9, 0x1d54: 0xc2e9, 0x1d55: 0xc309, 0x1d56: 0xc329, 0x1d57: 0xc349,
- 0x1d58: 0xc369, 0x1d59: 0xc389, 0x1d5a: 0xc3a9, 0x1d5b: 0xc3c9, 0x1d5c: 0xc3e9, 0x1d5d: 0xc409,
- 0x1d5e: 0xc429, 0x1d5f: 0xc449, 0x1d60: 0xc469, 0x1d61: 0xc489, 0x1d62: 0xc4a9, 0x1d63: 0xc4c9,
- 0x1d64: 0xc4e9, 0x1d65: 0xc509, 0x1d66: 0xc529, 0x1d67: 0xc549, 0x1d68: 0xc569, 0x1d69: 0xc589,
- 0x1d6a: 0xc5a9, 0x1d6b: 0xc5c9, 0x1d6c: 0xc5e9, 0x1d6d: 0xc609, 0x1d6e: 0xc629, 0x1d6f: 0xc649,
- 0x1d70: 0xc669, 0x1d71: 0xc689, 0x1d72: 0xc6a9, 0x1d73: 0xc6c9, 0x1d74: 0xc6e9, 0x1d75: 0xc709,
- 0x1d76: 0xc729, 0x1d77: 0xc749, 0x1d78: 0xc769, 0x1d79: 0xc789, 0x1d7a: 0xc7a9, 0x1d7b: 0xc7c9,
- 0x1d7c: 0x0040, 0x1d7d: 0x0040, 0x1d7e: 0x0040, 0x1d7f: 0x0040,
+ 0x1d40: 0x0040, 0x1d41: 0xbca2, 0x1d42: 0xbcba, 0x1d43: 0xbcd2, 0x1d44: 0xbcea, 0x1d45: 0xbd02,
+ 0x1d46: 0xbd1a, 0x1d47: 0xbd32, 0x1d48: 0xbd4a, 0x1d49: 0xbd62, 0x1d4a: 0xbd7a, 0x1d4b: 0x0018,
+ 0x1d4c: 0x0018, 0x1d4d: 0x0040, 0x1d4e: 0x0040, 0x1d4f: 0x0040, 0x1d50: 0xbd92, 0x1d51: 0xbdb2,
+ 0x1d52: 0xbdd2, 0x1d53: 0xbdf2, 0x1d54: 0xbe12, 0x1d55: 0xbe32, 0x1d56: 0xbe52, 0x1d57: 0xbe72,
+ 0x1d58: 0xbe92, 0x1d59: 0xbeb2, 0x1d5a: 0xbed2, 0x1d5b: 0xbef2, 0x1d5c: 0xbf12, 0x1d5d: 0xbf32,
+ 0x1d5e: 0xbf52, 0x1d5f: 0xbf72, 0x1d60: 0xbf92, 0x1d61: 0xbfb2, 0x1d62: 0xbfd2, 0x1d63: 0xbff2,
+ 0x1d64: 0xc012, 0x1d65: 0xc032, 0x1d66: 0xc052, 0x1d67: 0xc072, 0x1d68: 0xc092, 0x1d69: 0xc0b2,
+ 0x1d6a: 0xc0d1, 0x1d6b: 0x1159, 0x1d6c: 0x0269, 0x1d6d: 0x6671, 0x1d6e: 0xc111, 0x1d6f: 0x0040,
+ 0x1d70: 0x0039, 0x1d71: 0x0ee9, 0x1d72: 0x1159, 0x1d73: 0x0ef9, 0x1d74: 0x0f09, 0x1d75: 0x1199,
+ 0x1d76: 0x0f31, 0x1d77: 0x0249, 0x1d78: 0x0f41, 0x1d79: 0x0259, 0x1d7a: 0x0f51, 0x1d7b: 0x0359,
+ 0x1d7c: 0x0f61, 0x1d7d: 0x0f71, 0x1d7e: 0x00d9, 0x1d7f: 0x0f99,
// Block 0x76, offset 0x1d80
- 0x1d80: 0xcaf9, 0x1d81: 0xcb19, 0x1d82: 0xcb39, 0x1d83: 0x8b1d, 0x1d84: 0xcb59, 0x1d85: 0xcb79,
- 0x1d86: 0xcb99, 0x1d87: 0xcbb9, 0x1d88: 0xcbd9, 0x1d89: 0xcbf9, 0x1d8a: 0xcc19, 0x1d8b: 0xcc39,
- 0x1d8c: 0xcc59, 0x1d8d: 0x8b3d, 0x1d8e: 0xcc79, 0x1d8f: 0xcc99, 0x1d90: 0xccb9, 0x1d91: 0xccd9,
- 0x1d92: 0x8b5d, 0x1d93: 0xccf9, 0x1d94: 0xcd19, 0x1d95: 0xc429, 0x1d96: 0x8b7d, 0x1d97: 0xcd39,
- 0x1d98: 0xcd59, 0x1d99: 0xcd79, 0x1d9a: 0xcd99, 0x1d9b: 0xcdb9, 0x1d9c: 0x8b9d, 0x1d9d: 0xcdd9,
- 0x1d9e: 0xcdf9, 0x1d9f: 0xce19, 0x1da0: 0xce39, 0x1da1: 0xce59, 0x1da2: 0xc789, 0x1da3: 0xce79,
- 0x1da4: 0xce99, 0x1da5: 0xceb9, 0x1da6: 0xced9, 0x1da7: 0xcef9, 0x1da8: 0xcf19, 0x1da9: 0xcf39,
- 0x1daa: 0xcf59, 0x1dab: 0xcf79, 0x1dac: 0xcf99, 0x1dad: 0xcfb9, 0x1dae: 0xcfd9, 0x1daf: 0xcff9,
- 0x1db0: 0xd019, 0x1db1: 0xd039, 0x1db2: 0xd039, 0x1db3: 0xd039, 0x1db4: 0x8bbd, 0x1db5: 0xd059,
- 0x1db6: 0xd079, 0x1db7: 0xd099, 0x1db8: 0x8bdd, 0x1db9: 0xd0b9, 0x1dba: 0xd0d9, 0x1dbb: 0xd0f9,
- 0x1dbc: 0xd119, 0x1dbd: 0xd139, 0x1dbe: 0xd159, 0x1dbf: 0xd179,
+ 0x1d80: 0x2039, 0x1d81: 0x0269, 0x1d82: 0x01d9, 0x1d83: 0x0fa9, 0x1d84: 0x0fb9, 0x1d85: 0x1089,
+ 0x1d86: 0x0279, 0x1d87: 0x0369, 0x1d88: 0x0289, 0x1d89: 0x13d1, 0x1d8a: 0xc129, 0x1d8b: 0x65b1,
+ 0x1d8c: 0xc141, 0x1d8d: 0x1441, 0x1d8e: 0xc159, 0x1d8f: 0xc179, 0x1d90: 0x0018, 0x1d91: 0x0018,
+ 0x1d92: 0x0018, 0x1d93: 0x0018, 0x1d94: 0x0018, 0x1d95: 0x0018, 0x1d96: 0x0018, 0x1d97: 0x0018,
+ 0x1d98: 0x0018, 0x1d99: 0x0018, 0x1d9a: 0x0018, 0x1d9b: 0x0018, 0x1d9c: 0x0018, 0x1d9d: 0x0018,
+ 0x1d9e: 0x0018, 0x1d9f: 0x0018, 0x1da0: 0x0018, 0x1da1: 0x0018, 0x1da2: 0x0018, 0x1da3: 0x0018,
+ 0x1da4: 0x0018, 0x1da5: 0x0018, 0x1da6: 0x0018, 0x1da7: 0x0018, 0x1da8: 0x0018, 0x1da9: 0x0018,
+ 0x1daa: 0xc191, 0x1dab: 0xc1a9, 0x1dac: 0x0040, 0x1dad: 0x0040, 0x1dae: 0x0040, 0x1daf: 0x0040,
+ 0x1db0: 0x0018, 0x1db1: 0x0018, 0x1db2: 0x0018, 0x1db3: 0x0018, 0x1db4: 0x0018, 0x1db5: 0x0018,
+ 0x1db6: 0x0018, 0x1db7: 0x0018, 0x1db8: 0x0018, 0x1db9: 0x0018, 0x1dba: 0x0018, 0x1dbb: 0x0018,
+ 0x1dbc: 0x0018, 0x1dbd: 0x0018, 0x1dbe: 0x0018, 0x1dbf: 0x0018,
// Block 0x77, offset 0x1dc0
- 0x1dc0: 0xd199, 0x1dc1: 0xd1b9, 0x1dc2: 0xd1d9, 0x1dc3: 0xd1f9, 0x1dc4: 0xd219, 0x1dc5: 0xd239,
- 0x1dc6: 0xd239, 0x1dc7: 0xd259, 0x1dc8: 0xd279, 0x1dc9: 0xd299, 0x1dca: 0xd2b9, 0x1dcb: 0xd2d9,
- 0x1dcc: 0xd2f9, 0x1dcd: 0xd319, 0x1dce: 0xd339, 0x1dcf: 0xd359, 0x1dd0: 0xd379, 0x1dd1: 0xd399,
- 0x1dd2: 0xd3b9, 0x1dd3: 0xd3d9, 0x1dd4: 0xd3f9, 0x1dd5: 0xd419, 0x1dd6: 0xd439, 0x1dd7: 0xd459,
- 0x1dd8: 0xd479, 0x1dd9: 0x8bfd, 0x1dda: 0xd499, 0x1ddb: 0xd4b9, 0x1ddc: 0xd4d9, 0x1ddd: 0xc309,
- 0x1dde: 0xd4f9, 0x1ddf: 0xd519, 0x1de0: 0x8c1d, 0x1de1: 0x8c3d, 0x1de2: 0xd539, 0x1de3: 0xd559,
- 0x1de4: 0xd579, 0x1de5: 0xd599, 0x1de6: 0xd5b9, 0x1de7: 0xd5d9, 0x1de8: 0x0040, 0x1de9: 0xd5f9,
- 0x1dea: 0xd619, 0x1deb: 0xd619, 0x1dec: 0x8c5d, 0x1ded: 0xd639, 0x1dee: 0xd659, 0x1def: 0xd679,
- 0x1df0: 0xd699, 0x1df1: 0x8c7d, 0x1df2: 0xd6b9, 0x1df3: 0xd6d9, 0x1df4: 0x0040, 0x1df5: 0xd6f9,
- 0x1df6: 0xd719, 0x1df7: 0xd739, 0x1df8: 0xd759, 0x1df9: 0xd779, 0x1dfa: 0xd799, 0x1dfb: 0x8c9d,
- 0x1dfc: 0xd7b9, 0x1dfd: 0x8cbd, 0x1dfe: 0xd7d9, 0x1dff: 0xd7f9,
+ 0x1dc0: 0xc1d9, 0x1dc1: 0xc211, 0x1dc2: 0xc249, 0x1dc3: 0x0040, 0x1dc4: 0x0040, 0x1dc5: 0x0040,
+ 0x1dc6: 0x0040, 0x1dc7: 0x0040, 0x1dc8: 0x0040, 0x1dc9: 0x0040, 0x1dca: 0x0040, 0x1dcb: 0x0040,
+ 0x1dcc: 0x0040, 0x1dcd: 0x0040, 0x1dce: 0x0040, 0x1dcf: 0x0040, 0x1dd0: 0xc269, 0x1dd1: 0xc289,
+ 0x1dd2: 0xc2a9, 0x1dd3: 0xc2c9, 0x1dd4: 0xc2e9, 0x1dd5: 0xc309, 0x1dd6: 0xc329, 0x1dd7: 0xc349,
+ 0x1dd8: 0xc369, 0x1dd9: 0xc389, 0x1dda: 0xc3a9, 0x1ddb: 0xc3c9, 0x1ddc: 0xc3e9, 0x1ddd: 0xc409,
+ 0x1dde: 0xc429, 0x1ddf: 0xc449, 0x1de0: 0xc469, 0x1de1: 0xc489, 0x1de2: 0xc4a9, 0x1de3: 0xc4c9,
+ 0x1de4: 0xc4e9, 0x1de5: 0xc509, 0x1de6: 0xc529, 0x1de7: 0xc549, 0x1de8: 0xc569, 0x1de9: 0xc589,
+ 0x1dea: 0xc5a9, 0x1deb: 0xc5c9, 0x1dec: 0xc5e9, 0x1ded: 0xc609, 0x1dee: 0xc629, 0x1def: 0xc649,
+ 0x1df0: 0xc669, 0x1df1: 0xc689, 0x1df2: 0xc6a9, 0x1df3: 0xc6c9, 0x1df4: 0xc6e9, 0x1df5: 0xc709,
+ 0x1df6: 0xc729, 0x1df7: 0xc749, 0x1df8: 0xc769, 0x1df9: 0xc789, 0x1dfa: 0xc7a9, 0x1dfb: 0xc7c9,
+ 0x1dfc: 0x0040, 0x1dfd: 0x0040, 0x1dfe: 0x0040, 0x1dff: 0x0040,
// Block 0x78, offset 0x1e00
- 0x1e00: 0xd819, 0x1e01: 0xd839, 0x1e02: 0xd859, 0x1e03: 0xd879, 0x1e04: 0xd899, 0x1e05: 0xd8b9,
- 0x1e06: 0xd8d9, 0x1e07: 0xd8f9, 0x1e08: 0xd919, 0x1e09: 0x8cdd, 0x1e0a: 0xd939, 0x1e0b: 0xd959,
- 0x1e0c: 0xd979, 0x1e0d: 0xd999, 0x1e0e: 0xd9b9, 0x1e0f: 0x8cfd, 0x1e10: 0xd9d9, 0x1e11: 0x8d1d,
- 0x1e12: 0x8d3d, 0x1e13: 0xd9f9, 0x1e14: 0xda19, 0x1e15: 0xda19, 0x1e16: 0xda39, 0x1e17: 0x8d5d,
- 0x1e18: 0x8d7d, 0x1e19: 0xda59, 0x1e1a: 0xda79, 0x1e1b: 0xda99, 0x1e1c: 0xdab9, 0x1e1d: 0xdad9,
- 0x1e1e: 0xdaf9, 0x1e1f: 0xdb19, 0x1e20: 0xdb39, 0x1e21: 0xdb59, 0x1e22: 0xdb79, 0x1e23: 0xdb99,
- 0x1e24: 0x8d9d, 0x1e25: 0xdbb9, 0x1e26: 0xdbd9, 0x1e27: 0xdbf9, 0x1e28: 0xdc19, 0x1e29: 0xdbf9,
- 0x1e2a: 0xdc39, 0x1e2b: 0xdc59, 0x1e2c: 0xdc79, 0x1e2d: 0xdc99, 0x1e2e: 0xdcb9, 0x1e2f: 0xdcd9,
- 0x1e30: 0xdcf9, 0x1e31: 0xdd19, 0x1e32: 0xdd39, 0x1e33: 0xdd59, 0x1e34: 0xdd79, 0x1e35: 0xdd99,
- 0x1e36: 0xddb9, 0x1e37: 0xddd9, 0x1e38: 0x8dbd, 0x1e39: 0xddf9, 0x1e3a: 0xde19, 0x1e3b: 0xde39,
- 0x1e3c: 0xde59, 0x1e3d: 0xde79, 0x1e3e: 0x8ddd, 0x1e3f: 0xde99,
+ 0x1e00: 0xcaf9, 0x1e01: 0xcb19, 0x1e02: 0xcb39, 0x1e03: 0x8b1d, 0x1e04: 0xcb59, 0x1e05: 0xcb79,
+ 0x1e06: 0xcb99, 0x1e07: 0xcbb9, 0x1e08: 0xcbd9, 0x1e09: 0xcbf9, 0x1e0a: 0xcc19, 0x1e0b: 0xcc39,
+ 0x1e0c: 0xcc59, 0x1e0d: 0x8b3d, 0x1e0e: 0xcc79, 0x1e0f: 0xcc99, 0x1e10: 0xccb9, 0x1e11: 0xccd9,
+ 0x1e12: 0x8b5d, 0x1e13: 0xccf9, 0x1e14: 0xcd19, 0x1e15: 0xc429, 0x1e16: 0x8b7d, 0x1e17: 0xcd39,
+ 0x1e18: 0xcd59, 0x1e19: 0xcd79, 0x1e1a: 0xcd99, 0x1e1b: 0xcdb9, 0x1e1c: 0x8b9d, 0x1e1d: 0xcdd9,
+ 0x1e1e: 0xcdf9, 0x1e1f: 0xce19, 0x1e20: 0xce39, 0x1e21: 0xce59, 0x1e22: 0xc789, 0x1e23: 0xce79,
+ 0x1e24: 0xce99, 0x1e25: 0xceb9, 0x1e26: 0xced9, 0x1e27: 0xcef9, 0x1e28: 0xcf19, 0x1e29: 0xcf39,
+ 0x1e2a: 0xcf59, 0x1e2b: 0xcf79, 0x1e2c: 0xcf99, 0x1e2d: 0xcfb9, 0x1e2e: 0xcfd9, 0x1e2f: 0xcff9,
+ 0x1e30: 0xd019, 0x1e31: 0xd039, 0x1e32: 0xd039, 0x1e33: 0xd039, 0x1e34: 0x8bbd, 0x1e35: 0xd059,
+ 0x1e36: 0xd079, 0x1e37: 0xd099, 0x1e38: 0x8bdd, 0x1e39: 0xd0b9, 0x1e3a: 0xd0d9, 0x1e3b: 0xd0f9,
+ 0x1e3c: 0xd119, 0x1e3d: 0xd139, 0x1e3e: 0xd159, 0x1e3f: 0xd179,
// Block 0x79, offset 0x1e40
- 0x1e40: 0xe599, 0x1e41: 0xe5b9, 0x1e42: 0xe5d9, 0x1e43: 0xe5f9, 0x1e44: 0xe619, 0x1e45: 0xe639,
- 0x1e46: 0x8efd, 0x1e47: 0xe659, 0x1e48: 0xe679, 0x1e49: 0xe699, 0x1e4a: 0xe6b9, 0x1e4b: 0xe6d9,
- 0x1e4c: 0xe6f9, 0x1e4d: 0x8f1d, 0x1e4e: 0xe719, 0x1e4f: 0xe739, 0x1e50: 0x8f3d, 0x1e51: 0x8f5d,
- 0x1e52: 0xe759, 0x1e53: 0xe779, 0x1e54: 0xe799, 0x1e55: 0xe7b9, 0x1e56: 0xe7d9, 0x1e57: 0xe7f9,
- 0x1e58: 0xe819, 0x1e59: 0xe839, 0x1e5a: 0xe859, 0x1e5b: 0x8f7d, 0x1e5c: 0xe879, 0x1e5d: 0x8f9d,
- 0x1e5e: 0xe899, 0x1e5f: 0x0040, 0x1e60: 0xe8b9, 0x1e61: 0xe8d9, 0x1e62: 0xe8f9, 0x1e63: 0x8fbd,
- 0x1e64: 0xe919, 0x1e65: 0xe939, 0x1e66: 0x8fdd, 0x1e67: 0x8ffd, 0x1e68: 0xe959, 0x1e69: 0xe979,
- 0x1e6a: 0xe999, 0x1e6b: 0xe9b9, 0x1e6c: 0xe9d9, 0x1e6d: 0xe9d9, 0x1e6e: 0xe9f9, 0x1e6f: 0xea19,
- 0x1e70: 0xea39, 0x1e71: 0xea59, 0x1e72: 0xea79, 0x1e73: 0xea99, 0x1e74: 0xeab9, 0x1e75: 0x901d,
- 0x1e76: 0xead9, 0x1e77: 0x903d, 0x1e78: 0xeaf9, 0x1e79: 0x905d, 0x1e7a: 0xeb19, 0x1e7b: 0x907d,
- 0x1e7c: 0x909d, 0x1e7d: 0x90bd, 0x1e7e: 0xeb39, 0x1e7f: 0xeb59,
+ 0x1e40: 0xd199, 0x1e41: 0xd1b9, 0x1e42: 0xd1d9, 0x1e43: 0xd1f9, 0x1e44: 0xd219, 0x1e45: 0xd239,
+ 0x1e46: 0xd239, 0x1e47: 0xd259, 0x1e48: 0xd279, 0x1e49: 0xd299, 0x1e4a: 0xd2b9, 0x1e4b: 0xd2d9,
+ 0x1e4c: 0xd2f9, 0x1e4d: 0xd319, 0x1e4e: 0xd339, 0x1e4f: 0xd359, 0x1e50: 0xd379, 0x1e51: 0xd399,
+ 0x1e52: 0xd3b9, 0x1e53: 0xd3d9, 0x1e54: 0xd3f9, 0x1e55: 0xd419, 0x1e56: 0xd439, 0x1e57: 0xd459,
+ 0x1e58: 0xd479, 0x1e59: 0x8bfd, 0x1e5a: 0xd499, 0x1e5b: 0xd4b9, 0x1e5c: 0xd4d9, 0x1e5d: 0xc309,
+ 0x1e5e: 0xd4f9, 0x1e5f: 0xd519, 0x1e60: 0x8c1d, 0x1e61: 0x8c3d, 0x1e62: 0xd539, 0x1e63: 0xd559,
+ 0x1e64: 0xd579, 0x1e65: 0xd599, 0x1e66: 0xd5b9, 0x1e67: 0xd5d9, 0x1e68: 0x2040, 0x1e69: 0xd5f9,
+ 0x1e6a: 0xd619, 0x1e6b: 0xd619, 0x1e6c: 0x8c5d, 0x1e6d: 0xd639, 0x1e6e: 0xd659, 0x1e6f: 0xd679,
+ 0x1e70: 0xd699, 0x1e71: 0x8c7d, 0x1e72: 0xd6b9, 0x1e73: 0xd6d9, 0x1e74: 0x2040, 0x1e75: 0xd6f9,
+ 0x1e76: 0xd719, 0x1e77: 0xd739, 0x1e78: 0xd759, 0x1e79: 0xd779, 0x1e7a: 0xd799, 0x1e7b: 0x8c9d,
+ 0x1e7c: 0xd7b9, 0x1e7d: 0x8cbd, 0x1e7e: 0xd7d9, 0x1e7f: 0xd7f9,
// Block 0x7a, offset 0x1e80
- 0x1e80: 0xeb79, 0x1e81: 0x90dd, 0x1e82: 0x90fd, 0x1e83: 0x911d, 0x1e84: 0x913d, 0x1e85: 0xeb99,
- 0x1e86: 0xebb9, 0x1e87: 0xebb9, 0x1e88: 0xebd9, 0x1e89: 0xebf9, 0x1e8a: 0xec19, 0x1e8b: 0xec39,
- 0x1e8c: 0xec59, 0x1e8d: 0x915d, 0x1e8e: 0xec79, 0x1e8f: 0xec99, 0x1e90: 0xecb9, 0x1e91: 0xecd9,
- 0x1e92: 0x917d, 0x1e93: 0xecf9, 0x1e94: 0x919d, 0x1e95: 0x91bd, 0x1e96: 0xed19, 0x1e97: 0xed39,
- 0x1e98: 0xed59, 0x1e99: 0xed79, 0x1e9a: 0xed99, 0x1e9b: 0xedb9, 0x1e9c: 0x91dd, 0x1e9d: 0x91fd,
- 0x1e9e: 0x921d, 0x1e9f: 0x0040, 0x1ea0: 0xedd9, 0x1ea1: 0x923d, 0x1ea2: 0xedf9, 0x1ea3: 0xee19,
- 0x1ea4: 0xee39, 0x1ea5: 0x925d, 0x1ea6: 0xee59, 0x1ea7: 0xee79, 0x1ea8: 0xee99, 0x1ea9: 0xeeb9,
- 0x1eaa: 0xeed9, 0x1eab: 0x927d, 0x1eac: 0xeef9, 0x1ead: 0xef19, 0x1eae: 0xef39, 0x1eaf: 0xef59,
- 0x1eb0: 0xef79, 0x1eb1: 0xef99, 0x1eb2: 0x929d, 0x1eb3: 0x92bd, 0x1eb4: 0xefb9, 0x1eb5: 0x92dd,
- 0x1eb6: 0xefd9, 0x1eb7: 0x92fd, 0x1eb8: 0xeff9, 0x1eb9: 0xf019, 0x1eba: 0xf039, 0x1ebb: 0x931d,
- 0x1ebc: 0x933d, 0x1ebd: 0xf059, 0x1ebe: 0x935d, 0x1ebf: 0xf079,
+ 0x1e80: 0xd819, 0x1e81: 0xd839, 0x1e82: 0xd859, 0x1e83: 0xd879, 0x1e84: 0xd899, 0x1e85: 0xd8b9,
+ 0x1e86: 0xd8d9, 0x1e87: 0xd8f9, 0x1e88: 0xd919, 0x1e89: 0x8cdd, 0x1e8a: 0xd939, 0x1e8b: 0xd959,
+ 0x1e8c: 0xd979, 0x1e8d: 0xd999, 0x1e8e: 0xd9b9, 0x1e8f: 0x8cfd, 0x1e90: 0xd9d9, 0x1e91: 0x8d1d,
+ 0x1e92: 0x8d3d, 0x1e93: 0xd9f9, 0x1e94: 0xda19, 0x1e95: 0xda19, 0x1e96: 0xda39, 0x1e97: 0x8d5d,
+ 0x1e98: 0x8d7d, 0x1e99: 0xda59, 0x1e9a: 0xda79, 0x1e9b: 0xda99, 0x1e9c: 0xdab9, 0x1e9d: 0xdad9,
+ 0x1e9e: 0xdaf9, 0x1e9f: 0xdb19, 0x1ea0: 0xdb39, 0x1ea1: 0xdb59, 0x1ea2: 0xdb79, 0x1ea3: 0xdb99,
+ 0x1ea4: 0x8d9d, 0x1ea5: 0xdbb9, 0x1ea6: 0xdbd9, 0x1ea7: 0xdbf9, 0x1ea8: 0xdc19, 0x1ea9: 0xdbf9,
+ 0x1eaa: 0xdc39, 0x1eab: 0xdc59, 0x1eac: 0xdc79, 0x1ead: 0xdc99, 0x1eae: 0xdcb9, 0x1eaf: 0xdcd9,
+ 0x1eb0: 0xdcf9, 0x1eb1: 0xdd19, 0x1eb2: 0xdd39, 0x1eb3: 0xdd59, 0x1eb4: 0xdd79, 0x1eb5: 0xdd99,
+ 0x1eb6: 0xddb9, 0x1eb7: 0xddd9, 0x1eb8: 0x8dbd, 0x1eb9: 0xddf9, 0x1eba: 0xde19, 0x1ebb: 0xde39,
+ 0x1ebc: 0xde59, 0x1ebd: 0xde79, 0x1ebe: 0x8ddd, 0x1ebf: 0xde99,
// Block 0x7b, offset 0x1ec0
- 0x1ec0: 0xf6b9, 0x1ec1: 0xf6d9, 0x1ec2: 0xf6f9, 0x1ec3: 0xf719, 0x1ec4: 0xf739, 0x1ec5: 0x951d,
- 0x1ec6: 0xf759, 0x1ec7: 0xf779, 0x1ec8: 0xf799, 0x1ec9: 0xf7b9, 0x1eca: 0xf7d9, 0x1ecb: 0x953d,
- 0x1ecc: 0x955d, 0x1ecd: 0xf7f9, 0x1ece: 0xf819, 0x1ecf: 0xf839, 0x1ed0: 0xf859, 0x1ed1: 0xf879,
- 0x1ed2: 0xf899, 0x1ed3: 0x957d, 0x1ed4: 0xf8b9, 0x1ed5: 0xf8d9, 0x1ed6: 0xf8f9, 0x1ed7: 0xf919,
- 0x1ed8: 0x959d, 0x1ed9: 0x95bd, 0x1eda: 0xf939, 0x1edb: 0xf959, 0x1edc: 0xf979, 0x1edd: 0x95dd,
- 0x1ede: 0xf999, 0x1edf: 0xf9b9, 0x1ee0: 0x6815, 0x1ee1: 0x95fd, 0x1ee2: 0xf9d9, 0x1ee3: 0xf9f9,
- 0x1ee4: 0xfa19, 0x1ee5: 0x961d, 0x1ee6: 0xfa39, 0x1ee7: 0xfa59, 0x1ee8: 0xfa79, 0x1ee9: 0xfa99,
- 0x1eea: 0xfab9, 0x1eeb: 0xfad9, 0x1eec: 0xfaf9, 0x1eed: 0x963d, 0x1eee: 0xfb19, 0x1eef: 0xfb39,
- 0x1ef0: 0xfb59, 0x1ef1: 0x965d, 0x1ef2: 0xfb79, 0x1ef3: 0xfb99, 0x1ef4: 0xfbb9, 0x1ef5: 0xfbd9,
- 0x1ef6: 0x7b35, 0x1ef7: 0x967d, 0x1ef8: 0xfbf9, 0x1ef9: 0xfc19, 0x1efa: 0xfc39, 0x1efb: 0x969d,
- 0x1efc: 0xfc59, 0x1efd: 0x96bd, 0x1efe: 0xfc79, 0x1eff: 0xfc79,
+ 0x1ec0: 0xe599, 0x1ec1: 0xe5b9, 0x1ec2: 0xe5d9, 0x1ec3: 0xe5f9, 0x1ec4: 0xe619, 0x1ec5: 0xe639,
+ 0x1ec6: 0x8efd, 0x1ec7: 0xe659, 0x1ec8: 0xe679, 0x1ec9: 0xe699, 0x1eca: 0xe6b9, 0x1ecb: 0xe6d9,
+ 0x1ecc: 0xe6f9, 0x1ecd: 0x8f1d, 0x1ece: 0xe719, 0x1ecf: 0xe739, 0x1ed0: 0x8f3d, 0x1ed1: 0x8f5d,
+ 0x1ed2: 0xe759, 0x1ed3: 0xe779, 0x1ed4: 0xe799, 0x1ed5: 0xe7b9, 0x1ed6: 0xe7d9, 0x1ed7: 0xe7f9,
+ 0x1ed8: 0xe819, 0x1ed9: 0xe839, 0x1eda: 0xe859, 0x1edb: 0x8f7d, 0x1edc: 0xe879, 0x1edd: 0x8f9d,
+ 0x1ede: 0xe899, 0x1edf: 0x2040, 0x1ee0: 0xe8b9, 0x1ee1: 0xe8d9, 0x1ee2: 0xe8f9, 0x1ee3: 0x8fbd,
+ 0x1ee4: 0xe919, 0x1ee5: 0xe939, 0x1ee6: 0x8fdd, 0x1ee7: 0x8ffd, 0x1ee8: 0xe959, 0x1ee9: 0xe979,
+ 0x1eea: 0xe999, 0x1eeb: 0xe9b9, 0x1eec: 0xe9d9, 0x1eed: 0xe9d9, 0x1eee: 0xe9f9, 0x1eef: 0xea19,
+ 0x1ef0: 0xea39, 0x1ef1: 0xea59, 0x1ef2: 0xea79, 0x1ef3: 0xea99, 0x1ef4: 0xeab9, 0x1ef5: 0x901d,
+ 0x1ef6: 0xead9, 0x1ef7: 0x903d, 0x1ef8: 0xeaf9, 0x1ef9: 0x905d, 0x1efa: 0xeb19, 0x1efb: 0x907d,
+ 0x1efc: 0x909d, 0x1efd: 0x90bd, 0x1efe: 0xeb39, 0x1eff: 0xeb59,
// Block 0x7c, offset 0x1f00
- 0x1f00: 0xfc99, 0x1f01: 0x96dd, 0x1f02: 0xfcb9, 0x1f03: 0xfcd9, 0x1f04: 0xfcf9, 0x1f05: 0xfd19,
- 0x1f06: 0xfd39, 0x1f07: 0xfd59, 0x1f08: 0xfd79, 0x1f09: 0x96fd, 0x1f0a: 0xfd99, 0x1f0b: 0xfdb9,
- 0x1f0c: 0xfdd9, 0x1f0d: 0xfdf9, 0x1f0e: 0xfe19, 0x1f0f: 0xfe39, 0x1f10: 0x971d, 0x1f11: 0xfe59,
- 0x1f12: 0x973d, 0x1f13: 0x975d, 0x1f14: 0x977d, 0x1f15: 0xfe79, 0x1f16: 0xfe99, 0x1f17: 0xfeb9,
- 0x1f18: 0xfed9, 0x1f19: 0xfef9, 0x1f1a: 0xff19, 0x1f1b: 0xff39, 0x1f1c: 0xff59, 0x1f1d: 0x979d,
- 0x1f1e: 0x0040, 0x1f1f: 0x0040, 0x1f20: 0x0040, 0x1f21: 0x0040, 0x1f22: 0x0040, 0x1f23: 0x0040,
- 0x1f24: 0x0040, 0x1f25: 0x0040, 0x1f26: 0x0040, 0x1f27: 0x0040, 0x1f28: 0x0040, 0x1f29: 0x0040,
- 0x1f2a: 0x0040, 0x1f2b: 0x0040, 0x1f2c: 0x0040, 0x1f2d: 0x0040, 0x1f2e: 0x0040, 0x1f2f: 0x0040,
- 0x1f30: 0x0040, 0x1f31: 0x0040, 0x1f32: 0x0040, 0x1f33: 0x0040, 0x1f34: 0x0040, 0x1f35: 0x0040,
- 0x1f36: 0x0040, 0x1f37: 0x0040, 0x1f38: 0x0040, 0x1f39: 0x0040, 0x1f3a: 0x0040, 0x1f3b: 0x0040,
- 0x1f3c: 0x0040, 0x1f3d: 0x0040, 0x1f3e: 0x0040, 0x1f3f: 0x0040,
+ 0x1f00: 0xeb79, 0x1f01: 0x90dd, 0x1f02: 0x90fd, 0x1f03: 0x911d, 0x1f04: 0x913d, 0x1f05: 0xeb99,
+ 0x1f06: 0xebb9, 0x1f07: 0xebb9, 0x1f08: 0xebd9, 0x1f09: 0xebf9, 0x1f0a: 0xec19, 0x1f0b: 0xec39,
+ 0x1f0c: 0xec59, 0x1f0d: 0x915d, 0x1f0e: 0xec79, 0x1f0f: 0xec99, 0x1f10: 0xecb9, 0x1f11: 0xecd9,
+ 0x1f12: 0x917d, 0x1f13: 0xecf9, 0x1f14: 0x919d, 0x1f15: 0x91bd, 0x1f16: 0xed19, 0x1f17: 0xed39,
+ 0x1f18: 0xed59, 0x1f19: 0xed79, 0x1f1a: 0xed99, 0x1f1b: 0xedb9, 0x1f1c: 0x91dd, 0x1f1d: 0x91fd,
+ 0x1f1e: 0x921d, 0x1f1f: 0x2040, 0x1f20: 0xedd9, 0x1f21: 0x923d, 0x1f22: 0xedf9, 0x1f23: 0xee19,
+ 0x1f24: 0xee39, 0x1f25: 0x925d, 0x1f26: 0xee59, 0x1f27: 0xee79, 0x1f28: 0xee99, 0x1f29: 0xeeb9,
+ 0x1f2a: 0xeed9, 0x1f2b: 0x927d, 0x1f2c: 0xeef9, 0x1f2d: 0xef19, 0x1f2e: 0xef39, 0x1f2f: 0xef59,
+ 0x1f30: 0xef79, 0x1f31: 0xef99, 0x1f32: 0x929d, 0x1f33: 0x92bd, 0x1f34: 0xefb9, 0x1f35: 0x92dd,
+ 0x1f36: 0xefd9, 0x1f37: 0x92fd, 0x1f38: 0xeff9, 0x1f39: 0xf019, 0x1f3a: 0xf039, 0x1f3b: 0x931d,
+ 0x1f3c: 0x933d, 0x1f3d: 0xf059, 0x1f3e: 0x935d, 0x1f3f: 0xf079,
+ // Block 0x7d, offset 0x1f40
+ 0x1f40: 0xf6b9, 0x1f41: 0xf6d9, 0x1f42: 0xf6f9, 0x1f43: 0xf719, 0x1f44: 0xf739, 0x1f45: 0x951d,
+ 0x1f46: 0xf759, 0x1f47: 0xf779, 0x1f48: 0xf799, 0x1f49: 0xf7b9, 0x1f4a: 0xf7d9, 0x1f4b: 0x953d,
+ 0x1f4c: 0x955d, 0x1f4d: 0xf7f9, 0x1f4e: 0xf819, 0x1f4f: 0xf839, 0x1f50: 0xf859, 0x1f51: 0xf879,
+ 0x1f52: 0xf899, 0x1f53: 0x957d, 0x1f54: 0xf8b9, 0x1f55: 0xf8d9, 0x1f56: 0xf8f9, 0x1f57: 0xf919,
+ 0x1f58: 0x959d, 0x1f59: 0x95bd, 0x1f5a: 0xf939, 0x1f5b: 0xf959, 0x1f5c: 0xf979, 0x1f5d: 0x95dd,
+ 0x1f5e: 0xf999, 0x1f5f: 0xf9b9, 0x1f60: 0x6815, 0x1f61: 0x95fd, 0x1f62: 0xf9d9, 0x1f63: 0xf9f9,
+ 0x1f64: 0xfa19, 0x1f65: 0x961d, 0x1f66: 0xfa39, 0x1f67: 0xfa59, 0x1f68: 0xfa79, 0x1f69: 0xfa99,
+ 0x1f6a: 0xfab9, 0x1f6b: 0xfad9, 0x1f6c: 0xfaf9, 0x1f6d: 0x963d, 0x1f6e: 0xfb19, 0x1f6f: 0xfb39,
+ 0x1f70: 0xfb59, 0x1f71: 0x965d, 0x1f72: 0xfb79, 0x1f73: 0xfb99, 0x1f74: 0xfbb9, 0x1f75: 0xfbd9,
+ 0x1f76: 0x7b35, 0x1f77: 0x967d, 0x1f78: 0xfbf9, 0x1f79: 0xfc19, 0x1f7a: 0xfc39, 0x1f7b: 0x969d,
+ 0x1f7c: 0xfc59, 0x1f7d: 0x96bd, 0x1f7e: 0xfc79, 0x1f7f: 0xfc79,
+ // Block 0x7e, offset 0x1f80
+ 0x1f80: 0xfc99, 0x1f81: 0x96dd, 0x1f82: 0xfcb9, 0x1f83: 0xfcd9, 0x1f84: 0xfcf9, 0x1f85: 0xfd19,
+ 0x1f86: 0xfd39, 0x1f87: 0xfd59, 0x1f88: 0xfd79, 0x1f89: 0x96fd, 0x1f8a: 0xfd99, 0x1f8b: 0xfdb9,
+ 0x1f8c: 0xfdd9, 0x1f8d: 0xfdf9, 0x1f8e: 0xfe19, 0x1f8f: 0xfe39, 0x1f90: 0x971d, 0x1f91: 0xfe59,
+ 0x1f92: 0x973d, 0x1f93: 0x975d, 0x1f94: 0x977d, 0x1f95: 0xfe79, 0x1f96: 0xfe99, 0x1f97: 0xfeb9,
+ 0x1f98: 0xfed9, 0x1f99: 0xfef9, 0x1f9a: 0xff19, 0x1f9b: 0xff39, 0x1f9c: 0xff59, 0x1f9d: 0x979d,
+ 0x1f9e: 0x0040, 0x1f9f: 0x0040, 0x1fa0: 0x0040, 0x1fa1: 0x0040, 0x1fa2: 0x0040, 0x1fa3: 0x0040,
+ 0x1fa4: 0x0040, 0x1fa5: 0x0040, 0x1fa6: 0x0040, 0x1fa7: 0x0040, 0x1fa8: 0x0040, 0x1fa9: 0x0040,
+ 0x1faa: 0x0040, 0x1fab: 0x0040, 0x1fac: 0x0040, 0x1fad: 0x0040, 0x1fae: 0x0040, 0x1faf: 0x0040,
+ 0x1fb0: 0x0040, 0x1fb1: 0x0040, 0x1fb2: 0x0040, 0x1fb3: 0x0040, 0x1fb4: 0x0040, 0x1fb5: 0x0040,
+ 0x1fb6: 0x0040, 0x1fb7: 0x0040, 0x1fb8: 0x0040, 0x1fb9: 0x0040, 0x1fba: 0x0040, 0x1fbb: 0x0040,
+ 0x1fbc: 0x0040, 0x1fbd: 0x0040, 0x1fbe: 0x0040, 0x1fbf: 0x0040,
}
-// idnaIndex: 35 blocks, 2240 entries, 4480 bytes
+// idnaIndex: 36 blocks, 2304 entries, 4608 bytes
// Block 0 is the zero block.
-var idnaIndex = [2240]uint16{
+var idnaIndex = [2304]uint16{
// Block 0x0, offset 0x0
// Block 0x1, offset 0x40
// Block 0x2, offset 0x80
// Block 0x3, offset 0xc0
- 0xc2: 0x01, 0xc3: 0x7b, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,
- 0xc8: 0x06, 0xc9: 0x7c, 0xca: 0x7d, 0xcb: 0x07, 0xcc: 0x7e, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,
- 0xd0: 0x7f, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x80, 0xd6: 0x81, 0xd7: 0x82,
- 0xd8: 0x0f, 0xd9: 0x83, 0xda: 0x84, 0xdb: 0x10, 0xdc: 0x11, 0xdd: 0x85, 0xde: 0x86, 0xdf: 0x87,
+ 0xc2: 0x01, 0xc3: 0x7d, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05,
+ 0xc8: 0x06, 0xc9: 0x7e, 0xca: 0x7f, 0xcb: 0x07, 0xcc: 0x80, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a,
+ 0xd0: 0x81, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x82, 0xd6: 0x83, 0xd7: 0x84,
+ 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x85, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x86, 0xde: 0x87, 0xdf: 0x88,
0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,
0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c,
- 0xf0: 0x1c, 0xf1: 0x1d, 0xf2: 0x1d, 0xf3: 0x1f, 0xf4: 0x20,
+ 0xf0: 0x1d, 0xf1: 0x1e, 0xf2: 0x1e, 0xf3: 0x20, 0xf4: 0x21,
// Block 0x4, offset 0x100
- 0x120: 0x88, 0x121: 0x89, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x12, 0x126: 0x13, 0x127: 0x14,
- 0x128: 0x15, 0x129: 0x16, 0x12a: 0x17, 0x12b: 0x18, 0x12c: 0x19, 0x12d: 0x1a, 0x12e: 0x1b, 0x12f: 0x8d,
- 0x130: 0x8e, 0x131: 0x1c, 0x132: 0x1d, 0x133: 0x1e, 0x134: 0x8f, 0x135: 0x1f, 0x136: 0x90, 0x137: 0x91,
- 0x138: 0x92, 0x139: 0x93, 0x13a: 0x20, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x21, 0x13e: 0x22, 0x13f: 0x96,
+ 0x120: 0x89, 0x121: 0x13, 0x122: 0x8a, 0x123: 0x8b, 0x124: 0x8c, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16,
+ 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8d,
+ 0x130: 0x8e, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x8f, 0x135: 0x21, 0x136: 0x90, 0x137: 0x91,
+ 0x138: 0x92, 0x139: 0x93, 0x13a: 0x22, 0x13b: 0x94, 0x13c: 0x95, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x96,
// Block 0x5, offset 0x140
- 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9b, 0x147: 0x9b,
- 0x148: 0x9d, 0x149: 0x9e, 0x14a: 0x9f, 0x14b: 0xa0, 0x14c: 0xa1, 0x14d: 0xa2, 0x14e: 0xa3, 0x14f: 0xa4,
- 0x150: 0xa5, 0x151: 0x9d, 0x152: 0x9d, 0x153: 0x9d, 0x154: 0x9d, 0x155: 0x9d, 0x156: 0x9d, 0x157: 0x9d,
- 0x158: 0x9d, 0x159: 0xa6, 0x15a: 0xa7, 0x15b: 0xa8, 0x15c: 0xa9, 0x15d: 0xaa, 0x15e: 0xab, 0x15f: 0xac,
- 0x160: 0xad, 0x161: 0xae, 0x162: 0xaf, 0x163: 0xb0, 0x164: 0xb1, 0x165: 0xb2, 0x166: 0xb3, 0x167: 0xb4,
- 0x168: 0xb5, 0x169: 0xb6, 0x16a: 0xb7, 0x16b: 0xb8, 0x16c: 0xb9, 0x16d: 0xba, 0x16e: 0xbb, 0x16f: 0xbc,
- 0x170: 0xbd, 0x171: 0xbe, 0x172: 0xbf, 0x173: 0xc0, 0x174: 0x23, 0x175: 0x24, 0x176: 0x25, 0x177: 0xc1,
- 0x178: 0x26, 0x179: 0x26, 0x17a: 0x27, 0x17b: 0x26, 0x17c: 0xc2, 0x17d: 0x28, 0x17e: 0x29, 0x17f: 0x2a,
+ 0x140: 0x97, 0x141: 0x98, 0x142: 0x99, 0x143: 0x9a, 0x144: 0x9b, 0x145: 0x9c, 0x146: 0x9d, 0x147: 0x9e,
+ 0x148: 0x9f, 0x149: 0xa0, 0x14a: 0xa1, 0x14b: 0xa2, 0x14c: 0xa3, 0x14d: 0xa4, 0x14e: 0xa5, 0x14f: 0xa6,
+ 0x150: 0xa7, 0x151: 0x9f, 0x152: 0x9f, 0x153: 0x9f, 0x154: 0x9f, 0x155: 0x9f, 0x156: 0x9f, 0x157: 0x9f,
+ 0x158: 0x9f, 0x159: 0xa8, 0x15a: 0xa9, 0x15b: 0xaa, 0x15c: 0xab, 0x15d: 0xac, 0x15e: 0xad, 0x15f: 0xae,
+ 0x160: 0xaf, 0x161: 0xb0, 0x162: 0xb1, 0x163: 0xb2, 0x164: 0xb3, 0x165: 0xb4, 0x166: 0xb5, 0x167: 0xb6,
+ 0x168: 0xb7, 0x169: 0xb8, 0x16a: 0xb9, 0x16b: 0xba, 0x16c: 0xbb, 0x16d: 0xbc, 0x16e: 0xbd, 0x16f: 0xbe,
+ 0x170: 0xbf, 0x171: 0xc0, 0x172: 0xc1, 0x173: 0xc2, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc3,
+ 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc4, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c,
// Block 0x6, offset 0x180
- 0x180: 0x2b, 0x181: 0x2c, 0x182: 0x2d, 0x183: 0xc3, 0x184: 0x2e, 0x185: 0x2f, 0x186: 0xc4, 0x187: 0x9b,
- 0x188: 0xc5, 0x189: 0xc6, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc7, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0xc8,
- 0x190: 0xc9, 0x191: 0x30, 0x192: 0x31, 0x193: 0x32, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b,
+ 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc5, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc6, 0x187: 0x9b,
+ 0x188: 0xc7, 0x189: 0xc8, 0x18a: 0x9b, 0x18b: 0x9b, 0x18c: 0xc9, 0x18d: 0x9b, 0x18e: 0x9b, 0x18f: 0x9b,
+ 0x190: 0xca, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9b, 0x195: 0x9b, 0x196: 0x9b, 0x197: 0x9b,
0x198: 0x9b, 0x199: 0x9b, 0x19a: 0x9b, 0x19b: 0x9b, 0x19c: 0x9b, 0x19d: 0x9b, 0x19e: 0x9b, 0x19f: 0x9b,
0x1a0: 0x9b, 0x1a1: 0x9b, 0x1a2: 0x9b, 0x1a3: 0x9b, 0x1a4: 0x9b, 0x1a5: 0x9b, 0x1a6: 0x9b, 0x1a7: 0x9b,
- 0x1a8: 0xca, 0x1a9: 0xcb, 0x1aa: 0x9b, 0x1ab: 0xcc, 0x1ac: 0x9b, 0x1ad: 0xcd, 0x1ae: 0xce, 0x1af: 0xcf,
- 0x1b0: 0xd0, 0x1b1: 0x33, 0x1b2: 0x26, 0x1b3: 0x34, 0x1b4: 0xd1, 0x1b5: 0xd2, 0x1b6: 0xd3, 0x1b7: 0xd4,
- 0x1b8: 0xd5, 0x1b9: 0xd6, 0x1ba: 0xd7, 0x1bb: 0xd8, 0x1bc: 0xd9, 0x1bd: 0xda, 0x1be: 0xdb, 0x1bf: 0x35,
+ 0x1a8: 0xcb, 0x1a9: 0xcc, 0x1aa: 0x9b, 0x1ab: 0xcd, 0x1ac: 0x9b, 0x1ad: 0xce, 0x1ae: 0xcf, 0x1af: 0xd0,
+ 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5,
+ 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37,
// Block 0x7, offset 0x1c0
- 0x1c0: 0x36, 0x1c1: 0xdc, 0x1c2: 0xdd, 0x1c3: 0xde, 0x1c4: 0xdf, 0x1c5: 0x37, 0x1c6: 0x38, 0x1c7: 0xe0,
- 0x1c8: 0xe1, 0x1c9: 0x39, 0x1ca: 0x3a, 0x1cb: 0x3b, 0x1cc: 0x3c, 0x1cd: 0x3d, 0x1ce: 0x3e, 0x1cf: 0x3f,
- 0x1d0: 0x9d, 0x1d1: 0x9d, 0x1d2: 0x9d, 0x1d3: 0x9d, 0x1d4: 0x9d, 0x1d5: 0x9d, 0x1d6: 0x9d, 0x1d7: 0x9d,
- 0x1d8: 0x9d, 0x1d9: 0x9d, 0x1da: 0x9d, 0x1db: 0x9d, 0x1dc: 0x9d, 0x1dd: 0x9d, 0x1de: 0x9d, 0x1df: 0x9d,
- 0x1e0: 0x9d, 0x1e1: 0x9d, 0x1e2: 0x9d, 0x1e3: 0x9d, 0x1e4: 0x9d, 0x1e5: 0x9d, 0x1e6: 0x9d, 0x1e7: 0x9d,
- 0x1e8: 0x9d, 0x1e9: 0x9d, 0x1ea: 0x9d, 0x1eb: 0x9d, 0x1ec: 0x9d, 0x1ed: 0x9d, 0x1ee: 0x9d, 0x1ef: 0x9d,
- 0x1f0: 0x9d, 0x1f1: 0x9d, 0x1f2: 0x9d, 0x1f3: 0x9d, 0x1f4: 0x9d, 0x1f5: 0x9d, 0x1f6: 0x9d, 0x1f7: 0x9d,
- 0x1f8: 0x9d, 0x1f9: 0x9d, 0x1fa: 0x9d, 0x1fb: 0x9d, 0x1fc: 0x9d, 0x1fd: 0x9d, 0x1fe: 0x9d, 0x1ff: 0x9d,
+ 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1,
+ 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41,
+ 0x1d0: 0x9f, 0x1d1: 0x9f, 0x1d2: 0x9f, 0x1d3: 0x9f, 0x1d4: 0x9f, 0x1d5: 0x9f, 0x1d6: 0x9f, 0x1d7: 0x9f,
+ 0x1d8: 0x9f, 0x1d9: 0x9f, 0x1da: 0x9f, 0x1db: 0x9f, 0x1dc: 0x9f, 0x1dd: 0x9f, 0x1de: 0x9f, 0x1df: 0x9f,
+ 0x1e0: 0x9f, 0x1e1: 0x9f, 0x1e2: 0x9f, 0x1e3: 0x9f, 0x1e4: 0x9f, 0x1e5: 0x9f, 0x1e6: 0x9f, 0x1e7: 0x9f,
+ 0x1e8: 0x9f, 0x1e9: 0x9f, 0x1ea: 0x9f, 0x1eb: 0x9f, 0x1ec: 0x9f, 0x1ed: 0x9f, 0x1ee: 0x9f, 0x1ef: 0x9f,
+ 0x1f0: 0x9f, 0x1f1: 0x9f, 0x1f2: 0x9f, 0x1f3: 0x9f, 0x1f4: 0x9f, 0x1f5: 0x9f, 0x1f6: 0x9f, 0x1f7: 0x9f,
+ 0x1f8: 0x9f, 0x1f9: 0x9f, 0x1fa: 0x9f, 0x1fb: 0x9f, 0x1fc: 0x9f, 0x1fd: 0x9f, 0x1fe: 0x9f, 0x1ff: 0x9f,
// Block 0x8, offset 0x200
- 0x200: 0x9d, 0x201: 0x9d, 0x202: 0x9d, 0x203: 0x9d, 0x204: 0x9d, 0x205: 0x9d, 0x206: 0x9d, 0x207: 0x9d,
- 0x208: 0x9d, 0x209: 0x9d, 0x20a: 0x9d, 0x20b: 0x9d, 0x20c: 0x9d, 0x20d: 0x9d, 0x20e: 0x9d, 0x20f: 0x9d,
- 0x210: 0x9d, 0x211: 0x9d, 0x212: 0x9d, 0x213: 0x9d, 0x214: 0x9d, 0x215: 0x9d, 0x216: 0x9d, 0x217: 0x9d,
- 0x218: 0x9d, 0x219: 0x9d, 0x21a: 0x9d, 0x21b: 0x9d, 0x21c: 0x9d, 0x21d: 0x9d, 0x21e: 0x9d, 0x21f: 0x9d,
- 0x220: 0x9d, 0x221: 0x9d, 0x222: 0x9d, 0x223: 0x9d, 0x224: 0x9d, 0x225: 0x9d, 0x226: 0x9d, 0x227: 0x9d,
- 0x228: 0x9d, 0x229: 0x9d, 0x22a: 0x9d, 0x22b: 0x9d, 0x22c: 0x9d, 0x22d: 0x9d, 0x22e: 0x9d, 0x22f: 0x9d,
- 0x230: 0x9d, 0x231: 0x9d, 0x232: 0x9d, 0x233: 0x9d, 0x234: 0x9d, 0x235: 0x9d, 0x236: 0xb0, 0x237: 0x9b,
- 0x238: 0x9d, 0x239: 0x9d, 0x23a: 0x9d, 0x23b: 0x9d, 0x23c: 0x9d, 0x23d: 0x9d, 0x23e: 0x9d, 0x23f: 0x9d,
+ 0x200: 0x9f, 0x201: 0x9f, 0x202: 0x9f, 0x203: 0x9f, 0x204: 0x9f, 0x205: 0x9f, 0x206: 0x9f, 0x207: 0x9f,
+ 0x208: 0x9f, 0x209: 0x9f, 0x20a: 0x9f, 0x20b: 0x9f, 0x20c: 0x9f, 0x20d: 0x9f, 0x20e: 0x9f, 0x20f: 0x9f,
+ 0x210: 0x9f, 0x211: 0x9f, 0x212: 0x9f, 0x213: 0x9f, 0x214: 0x9f, 0x215: 0x9f, 0x216: 0x9f, 0x217: 0x9f,
+ 0x218: 0x9f, 0x219: 0x9f, 0x21a: 0x9f, 0x21b: 0x9f, 0x21c: 0x9f, 0x21d: 0x9f, 0x21e: 0x9f, 0x21f: 0x9f,
+ 0x220: 0x9f, 0x221: 0x9f, 0x222: 0x9f, 0x223: 0x9f, 0x224: 0x9f, 0x225: 0x9f, 0x226: 0x9f, 0x227: 0x9f,
+ 0x228: 0x9f, 0x229: 0x9f, 0x22a: 0x9f, 0x22b: 0x9f, 0x22c: 0x9f, 0x22d: 0x9f, 0x22e: 0x9f, 0x22f: 0x9f,
+ 0x230: 0x9f, 0x231: 0x9f, 0x232: 0x9f, 0x233: 0x9f, 0x234: 0x9f, 0x235: 0x9f, 0x236: 0xb2, 0x237: 0x9b,
+ 0x238: 0x9f, 0x239: 0x9f, 0x23a: 0x9f, 0x23b: 0x9f, 0x23c: 0x9f, 0x23d: 0x9f, 0x23e: 0x9f, 0x23f: 0x9f,
// Block 0x9, offset 0x240
- 0x240: 0x9d, 0x241: 0x9d, 0x242: 0x9d, 0x243: 0x9d, 0x244: 0x9d, 0x245: 0x9d, 0x246: 0x9d, 0x247: 0x9d,
- 0x248: 0x9d, 0x249: 0x9d, 0x24a: 0x9d, 0x24b: 0x9d, 0x24c: 0x9d, 0x24d: 0x9d, 0x24e: 0x9d, 0x24f: 0x9d,
- 0x250: 0x9d, 0x251: 0x9d, 0x252: 0x9d, 0x253: 0x9d, 0x254: 0x9d, 0x255: 0x9d, 0x256: 0x9d, 0x257: 0x9d,
- 0x258: 0x9d, 0x259: 0x9d, 0x25a: 0x9d, 0x25b: 0x9d, 0x25c: 0x9d, 0x25d: 0x9d, 0x25e: 0x9d, 0x25f: 0x9d,
- 0x260: 0x9d, 0x261: 0x9d, 0x262: 0x9d, 0x263: 0x9d, 0x264: 0x9d, 0x265: 0x9d, 0x266: 0x9d, 0x267: 0x9d,
- 0x268: 0x9d, 0x269: 0x9d, 0x26a: 0x9d, 0x26b: 0x9d, 0x26c: 0x9d, 0x26d: 0x9d, 0x26e: 0x9d, 0x26f: 0x9d,
- 0x270: 0x9d, 0x271: 0x9d, 0x272: 0x9d, 0x273: 0x9d, 0x274: 0x9d, 0x275: 0x9d, 0x276: 0x9d, 0x277: 0x9d,
- 0x278: 0x9d, 0x279: 0x9d, 0x27a: 0x9d, 0x27b: 0x9d, 0x27c: 0x9d, 0x27d: 0x9d, 0x27e: 0x9d, 0x27f: 0x9d,
+ 0x240: 0x9f, 0x241: 0x9f, 0x242: 0x9f, 0x243: 0x9f, 0x244: 0x9f, 0x245: 0x9f, 0x246: 0x9f, 0x247: 0x9f,
+ 0x248: 0x9f, 0x249: 0x9f, 0x24a: 0x9f, 0x24b: 0x9f, 0x24c: 0x9f, 0x24d: 0x9f, 0x24e: 0x9f, 0x24f: 0x9f,
+ 0x250: 0x9f, 0x251: 0x9f, 0x252: 0x9f, 0x253: 0x9f, 0x254: 0x9f, 0x255: 0x9f, 0x256: 0x9f, 0x257: 0x9f,
+ 0x258: 0x9f, 0x259: 0x9f, 0x25a: 0x9f, 0x25b: 0x9f, 0x25c: 0x9f, 0x25d: 0x9f, 0x25e: 0x9f, 0x25f: 0x9f,
+ 0x260: 0x9f, 0x261: 0x9f, 0x262: 0x9f, 0x263: 0x9f, 0x264: 0x9f, 0x265: 0x9f, 0x266: 0x9f, 0x267: 0x9f,
+ 0x268: 0x9f, 0x269: 0x9f, 0x26a: 0x9f, 0x26b: 0x9f, 0x26c: 0x9f, 0x26d: 0x9f, 0x26e: 0x9f, 0x26f: 0x9f,
+ 0x270: 0x9f, 0x271: 0x9f, 0x272: 0x9f, 0x273: 0x9f, 0x274: 0x9f, 0x275: 0x9f, 0x276: 0x9f, 0x277: 0x9f,
+ 0x278: 0x9f, 0x279: 0x9f, 0x27a: 0x9f, 0x27b: 0x9f, 0x27c: 0x9f, 0x27d: 0x9f, 0x27e: 0x9f, 0x27f: 0x9f,
// Block 0xa, offset 0x280
- 0x280: 0x9d, 0x281: 0x9d, 0x282: 0x9d, 0x283: 0x9d, 0x284: 0x9d, 0x285: 0x9d, 0x286: 0x9d, 0x287: 0x9d,
- 0x288: 0x9d, 0x289: 0x9d, 0x28a: 0x9d, 0x28b: 0x9d, 0x28c: 0x9d, 0x28d: 0x9d, 0x28e: 0x9d, 0x28f: 0x9d,
- 0x290: 0x9d, 0x291: 0x9d, 0x292: 0x9d, 0x293: 0x9d, 0x294: 0x9d, 0x295: 0x9d, 0x296: 0x9d, 0x297: 0x9d,
- 0x298: 0x9d, 0x299: 0x9d, 0x29a: 0x9d, 0x29b: 0x9d, 0x29c: 0x9d, 0x29d: 0x9d, 0x29e: 0x9d, 0x29f: 0x9d,
- 0x2a0: 0x9d, 0x2a1: 0x9d, 0x2a2: 0x9d, 0x2a3: 0x9d, 0x2a4: 0x9d, 0x2a5: 0x9d, 0x2a6: 0x9d, 0x2a7: 0x9d,
- 0x2a8: 0x9d, 0x2a9: 0x9d, 0x2aa: 0x9d, 0x2ab: 0x9d, 0x2ac: 0x9d, 0x2ad: 0x9d, 0x2ae: 0x9d, 0x2af: 0x9d,
- 0x2b0: 0x9d, 0x2b1: 0x9d, 0x2b2: 0x9d, 0x2b3: 0x9d, 0x2b4: 0x9d, 0x2b5: 0x9d, 0x2b6: 0x9d, 0x2b7: 0x9d,
- 0x2b8: 0x9d, 0x2b9: 0x9d, 0x2ba: 0x9d, 0x2bb: 0x9d, 0x2bc: 0x9d, 0x2bd: 0x9d, 0x2be: 0x9d, 0x2bf: 0xe2,
+ 0x280: 0x9f, 0x281: 0x9f, 0x282: 0x9f, 0x283: 0x9f, 0x284: 0x9f, 0x285: 0x9f, 0x286: 0x9f, 0x287: 0x9f,
+ 0x288: 0x9f, 0x289: 0x9f, 0x28a: 0x9f, 0x28b: 0x9f, 0x28c: 0x9f, 0x28d: 0x9f, 0x28e: 0x9f, 0x28f: 0x9f,
+ 0x290: 0x9f, 0x291: 0x9f, 0x292: 0x9f, 0x293: 0x9f, 0x294: 0x9f, 0x295: 0x9f, 0x296: 0x9f, 0x297: 0x9f,
+ 0x298: 0x9f, 0x299: 0x9f, 0x29a: 0x9f, 0x29b: 0x9f, 0x29c: 0x9f, 0x29d: 0x9f, 0x29e: 0x9f, 0x29f: 0x9f,
+ 0x2a0: 0x9f, 0x2a1: 0x9f, 0x2a2: 0x9f, 0x2a3: 0x9f, 0x2a4: 0x9f, 0x2a5: 0x9f, 0x2a6: 0x9f, 0x2a7: 0x9f,
+ 0x2a8: 0x9f, 0x2a9: 0x9f, 0x2aa: 0x9f, 0x2ab: 0x9f, 0x2ac: 0x9f, 0x2ad: 0x9f, 0x2ae: 0x9f, 0x2af: 0x9f,
+ 0x2b0: 0x9f, 0x2b1: 0x9f, 0x2b2: 0x9f, 0x2b3: 0x9f, 0x2b4: 0x9f, 0x2b5: 0x9f, 0x2b6: 0x9f, 0x2b7: 0x9f,
+ 0x2b8: 0x9f, 0x2b9: 0x9f, 0x2ba: 0x9f, 0x2bb: 0x9f, 0x2bc: 0x9f, 0x2bd: 0x9f, 0x2be: 0x9f, 0x2bf: 0xe3,
// Block 0xb, offset 0x2c0
- 0x2c0: 0x9d, 0x2c1: 0x9d, 0x2c2: 0x9d, 0x2c3: 0x9d, 0x2c4: 0x9d, 0x2c5: 0x9d, 0x2c6: 0x9d, 0x2c7: 0x9d,
- 0x2c8: 0x9d, 0x2c9: 0x9d, 0x2ca: 0x9d, 0x2cb: 0x9d, 0x2cc: 0x9d, 0x2cd: 0x9d, 0x2ce: 0x9d, 0x2cf: 0x9d,
- 0x2d0: 0x9d, 0x2d1: 0x9d, 0x2d2: 0xe3, 0x2d3: 0xe4, 0x2d4: 0x9d, 0x2d5: 0x9d, 0x2d6: 0x9d, 0x2d7: 0x9d,
- 0x2d8: 0xe5, 0x2d9: 0x40, 0x2da: 0x41, 0x2db: 0xe6, 0x2dc: 0x42, 0x2dd: 0x43, 0x2de: 0x44, 0x2df: 0xe7,
- 0x2e0: 0xe8, 0x2e1: 0xe9, 0x2e2: 0xea, 0x2e3: 0xeb, 0x2e4: 0xec, 0x2e5: 0xed, 0x2e6: 0xee, 0x2e7: 0xef,
- 0x2e8: 0xf0, 0x2e9: 0xf1, 0x2ea: 0xf2, 0x2eb: 0xf3, 0x2ec: 0xf4, 0x2ed: 0xf5, 0x2ee: 0xf6, 0x2ef: 0xf7,
- 0x2f0: 0x9d, 0x2f1: 0x9d, 0x2f2: 0x9d, 0x2f3: 0x9d, 0x2f4: 0x9d, 0x2f5: 0x9d, 0x2f6: 0x9d, 0x2f7: 0x9d,
- 0x2f8: 0x9d, 0x2f9: 0x9d, 0x2fa: 0x9d, 0x2fb: 0x9d, 0x2fc: 0x9d, 0x2fd: 0x9d, 0x2fe: 0x9d, 0x2ff: 0x9d,
+ 0x2c0: 0x9f, 0x2c1: 0x9f, 0x2c2: 0x9f, 0x2c3: 0x9f, 0x2c4: 0x9f, 0x2c5: 0x9f, 0x2c6: 0x9f, 0x2c7: 0x9f,
+ 0x2c8: 0x9f, 0x2c9: 0x9f, 0x2ca: 0x9f, 0x2cb: 0x9f, 0x2cc: 0x9f, 0x2cd: 0x9f, 0x2ce: 0x9f, 0x2cf: 0x9f,
+ 0x2d0: 0x9f, 0x2d1: 0x9f, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0x9f, 0x2d5: 0x9f, 0x2d6: 0x9f, 0x2d7: 0x9f,
+ 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8,
+ 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0,
+ 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8,
+ 0x2f0: 0x9f, 0x2f1: 0x9f, 0x2f2: 0x9f, 0x2f3: 0x9f, 0x2f4: 0x9f, 0x2f5: 0x9f, 0x2f6: 0x9f, 0x2f7: 0x9f,
+ 0x2f8: 0x9f, 0x2f9: 0x9f, 0x2fa: 0x9f, 0x2fb: 0x9f, 0x2fc: 0x9f, 0x2fd: 0x9f, 0x2fe: 0x9f, 0x2ff: 0x9f,
// Block 0xc, offset 0x300
- 0x300: 0x9d, 0x301: 0x9d, 0x302: 0x9d, 0x303: 0x9d, 0x304: 0x9d, 0x305: 0x9d, 0x306: 0x9d, 0x307: 0x9d,
- 0x308: 0x9d, 0x309: 0x9d, 0x30a: 0x9d, 0x30b: 0x9d, 0x30c: 0x9d, 0x30d: 0x9d, 0x30e: 0x9d, 0x30f: 0x9d,
- 0x310: 0x9d, 0x311: 0x9d, 0x312: 0x9d, 0x313: 0x9d, 0x314: 0x9d, 0x315: 0x9d, 0x316: 0x9d, 0x317: 0x9d,
- 0x318: 0x9d, 0x319: 0x9d, 0x31a: 0x9d, 0x31b: 0x9d, 0x31c: 0x9d, 0x31d: 0x9d, 0x31e: 0xf8, 0x31f: 0xf9,
+ 0x300: 0x9f, 0x301: 0x9f, 0x302: 0x9f, 0x303: 0x9f, 0x304: 0x9f, 0x305: 0x9f, 0x306: 0x9f, 0x307: 0x9f,
+ 0x308: 0x9f, 0x309: 0x9f, 0x30a: 0x9f, 0x30b: 0x9f, 0x30c: 0x9f, 0x30d: 0x9f, 0x30e: 0x9f, 0x30f: 0x9f,
+ 0x310: 0x9f, 0x311: 0x9f, 0x312: 0x9f, 0x313: 0x9f, 0x314: 0x9f, 0x315: 0x9f, 0x316: 0x9f, 0x317: 0x9f,
+ 0x318: 0x9f, 0x319: 0x9f, 0x31a: 0x9f, 0x31b: 0x9f, 0x31c: 0x9f, 0x31d: 0x9f, 0x31e: 0xf9, 0x31f: 0xfa,
// Block 0xd, offset 0x340
- 0x340: 0xb8, 0x341: 0xb8, 0x342: 0xb8, 0x343: 0xb8, 0x344: 0xb8, 0x345: 0xb8, 0x346: 0xb8, 0x347: 0xb8,
- 0x348: 0xb8, 0x349: 0xb8, 0x34a: 0xb8, 0x34b: 0xb8, 0x34c: 0xb8, 0x34d: 0xb8, 0x34e: 0xb8, 0x34f: 0xb8,
- 0x350: 0xb8, 0x351: 0xb8, 0x352: 0xb8, 0x353: 0xb8, 0x354: 0xb8, 0x355: 0xb8, 0x356: 0xb8, 0x357: 0xb8,
- 0x358: 0xb8, 0x359: 0xb8, 0x35a: 0xb8, 0x35b: 0xb8, 0x35c: 0xb8, 0x35d: 0xb8, 0x35e: 0xb8, 0x35f: 0xb8,
- 0x360: 0xb8, 0x361: 0xb8, 0x362: 0xb8, 0x363: 0xb8, 0x364: 0xb8, 0x365: 0xb8, 0x366: 0xb8, 0x367: 0xb8,
- 0x368: 0xb8, 0x369: 0xb8, 0x36a: 0xb8, 0x36b: 0xb8, 0x36c: 0xb8, 0x36d: 0xb8, 0x36e: 0xb8, 0x36f: 0xb8,
- 0x370: 0xb8, 0x371: 0xb8, 0x372: 0xb8, 0x373: 0xb8, 0x374: 0xb8, 0x375: 0xb8, 0x376: 0xb8, 0x377: 0xb8,
- 0x378: 0xb8, 0x379: 0xb8, 0x37a: 0xb8, 0x37b: 0xb8, 0x37c: 0xb8, 0x37d: 0xb8, 0x37e: 0xb8, 0x37f: 0xb8,
+ 0x340: 0xba, 0x341: 0xba, 0x342: 0xba, 0x343: 0xba, 0x344: 0xba, 0x345: 0xba, 0x346: 0xba, 0x347: 0xba,
+ 0x348: 0xba, 0x349: 0xba, 0x34a: 0xba, 0x34b: 0xba, 0x34c: 0xba, 0x34d: 0xba, 0x34e: 0xba, 0x34f: 0xba,
+ 0x350: 0xba, 0x351: 0xba, 0x352: 0xba, 0x353: 0xba, 0x354: 0xba, 0x355: 0xba, 0x356: 0xba, 0x357: 0xba,
+ 0x358: 0xba, 0x359: 0xba, 0x35a: 0xba, 0x35b: 0xba, 0x35c: 0xba, 0x35d: 0xba, 0x35e: 0xba, 0x35f: 0xba,
+ 0x360: 0xba, 0x361: 0xba, 0x362: 0xba, 0x363: 0xba, 0x364: 0xba, 0x365: 0xba, 0x366: 0xba, 0x367: 0xba,
+ 0x368: 0xba, 0x369: 0xba, 0x36a: 0xba, 0x36b: 0xba, 0x36c: 0xba, 0x36d: 0xba, 0x36e: 0xba, 0x36f: 0xba,
+ 0x370: 0xba, 0x371: 0xba, 0x372: 0xba, 0x373: 0xba, 0x374: 0xba, 0x375: 0xba, 0x376: 0xba, 0x377: 0xba,
+ 0x378: 0xba, 0x379: 0xba, 0x37a: 0xba, 0x37b: 0xba, 0x37c: 0xba, 0x37d: 0xba, 0x37e: 0xba, 0x37f: 0xba,
// Block 0xe, offset 0x380
- 0x380: 0xb8, 0x381: 0xb8, 0x382: 0xb8, 0x383: 0xb8, 0x384: 0xb8, 0x385: 0xb8, 0x386: 0xb8, 0x387: 0xb8,
- 0x388: 0xb8, 0x389: 0xb8, 0x38a: 0xb8, 0x38b: 0xb8, 0x38c: 0xb8, 0x38d: 0xb8, 0x38e: 0xb8, 0x38f: 0xb8,
- 0x390: 0xb8, 0x391: 0xb8, 0x392: 0xb8, 0x393: 0xb8, 0x394: 0xb8, 0x395: 0xb8, 0x396: 0xb8, 0x397: 0xb8,
- 0x398: 0xb8, 0x399: 0xb8, 0x39a: 0xb8, 0x39b: 0xb8, 0x39c: 0xb8, 0x39d: 0xb8, 0x39e: 0xb8, 0x39f: 0xb8,
- 0x3a0: 0xb8, 0x3a1: 0xb8, 0x3a2: 0xb8, 0x3a3: 0xb8, 0x3a4: 0xfa, 0x3a5: 0xfb, 0x3a6: 0xfc, 0x3a7: 0xfd,
- 0x3a8: 0x45, 0x3a9: 0xfe, 0x3aa: 0xff, 0x3ab: 0x46, 0x3ac: 0x47, 0x3ad: 0x48, 0x3ae: 0x49, 0x3af: 0x4a,
- 0x3b0: 0x100, 0x3b1: 0x4b, 0x3b2: 0x4c, 0x3b3: 0x4d, 0x3b4: 0x4e, 0x3b5: 0x4f, 0x3b6: 0x101, 0x3b7: 0x50,
- 0x3b8: 0x51, 0x3b9: 0x52, 0x3ba: 0x53, 0x3bb: 0x54, 0x3bc: 0x55, 0x3bd: 0x56, 0x3be: 0x57, 0x3bf: 0x58,
+ 0x380: 0xba, 0x381: 0xba, 0x382: 0xba, 0x383: 0xba, 0x384: 0xba, 0x385: 0xba, 0x386: 0xba, 0x387: 0xba,
+ 0x388: 0xba, 0x389: 0xba, 0x38a: 0xba, 0x38b: 0xba, 0x38c: 0xba, 0x38d: 0xba, 0x38e: 0xba, 0x38f: 0xba,
+ 0x390: 0xba, 0x391: 0xba, 0x392: 0xba, 0x393: 0xba, 0x394: 0xba, 0x395: 0xba, 0x396: 0xba, 0x397: 0xba,
+ 0x398: 0xba, 0x399: 0xba, 0x39a: 0xba, 0x39b: 0xba, 0x39c: 0xba, 0x39d: 0xba, 0x39e: 0xba, 0x39f: 0xba,
+ 0x3a0: 0xba, 0x3a1: 0xba, 0x3a2: 0xba, 0x3a3: 0xba, 0x3a4: 0xfb, 0x3a5: 0xfc, 0x3a6: 0xfd, 0x3a7: 0xfe,
+ 0x3a8: 0x47, 0x3a9: 0xff, 0x3aa: 0x100, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c,
+ 0x3b0: 0x101, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x102, 0x3b7: 0x52,
+ 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a,
// Block 0xf, offset 0x3c0
- 0x3c0: 0x102, 0x3c1: 0x103, 0x3c2: 0x9d, 0x3c3: 0x104, 0x3c4: 0x105, 0x3c5: 0x9b, 0x3c6: 0x106, 0x3c7: 0x107,
- 0x3c8: 0xb8, 0x3c9: 0xb8, 0x3ca: 0x108, 0x3cb: 0x109, 0x3cc: 0x10a, 0x3cd: 0x10b, 0x3ce: 0x10c, 0x3cf: 0x10d,
- 0x3d0: 0x10e, 0x3d1: 0x9d, 0x3d2: 0x10f, 0x3d3: 0x110, 0x3d4: 0x111, 0x3d5: 0x112, 0x3d6: 0xb8, 0x3d7: 0xb8,
- 0x3d8: 0x9d, 0x3d9: 0x9d, 0x3da: 0x9d, 0x3db: 0x9d, 0x3dc: 0x113, 0x3dd: 0x114, 0x3de: 0xb8, 0x3df: 0xb8,
- 0x3e0: 0x115, 0x3e1: 0x116, 0x3e2: 0x117, 0x3e3: 0x118, 0x3e4: 0x119, 0x3e5: 0xb8, 0x3e6: 0x11a, 0x3e7: 0x11b,
- 0x3e8: 0x11c, 0x3e9: 0x11d, 0x3ea: 0x11e, 0x3eb: 0x59, 0x3ec: 0x11f, 0x3ed: 0x120, 0x3ee: 0x5a, 0x3ef: 0xb8,
- 0x3f0: 0x9d, 0x3f1: 0x121, 0x3f2: 0x122, 0x3f3: 0x123, 0x3f4: 0xb8, 0x3f5: 0xb8, 0x3f6: 0xb8, 0x3f7: 0xb8,
- 0x3f8: 0xb8, 0x3f9: 0x124, 0x3fa: 0xb8, 0x3fb: 0xb8, 0x3fc: 0xb8, 0x3fd: 0xb8, 0x3fe: 0xb8, 0x3ff: 0xb8,
+ 0x3c0: 0x103, 0x3c1: 0x104, 0x3c2: 0x9f, 0x3c3: 0x105, 0x3c4: 0x106, 0x3c5: 0x9b, 0x3c6: 0x107, 0x3c7: 0x108,
+ 0x3c8: 0xba, 0x3c9: 0xba, 0x3ca: 0x109, 0x3cb: 0x10a, 0x3cc: 0x10b, 0x3cd: 0x10c, 0x3ce: 0x10d, 0x3cf: 0x10e,
+ 0x3d0: 0x10f, 0x3d1: 0x9f, 0x3d2: 0x110, 0x3d3: 0x111, 0x3d4: 0x112, 0x3d5: 0x113, 0x3d6: 0xba, 0x3d7: 0xba,
+ 0x3d8: 0x9f, 0x3d9: 0x9f, 0x3da: 0x9f, 0x3db: 0x9f, 0x3dc: 0x114, 0x3dd: 0x115, 0x3de: 0xba, 0x3df: 0xba,
+ 0x3e0: 0x116, 0x3e1: 0x117, 0x3e2: 0x118, 0x3e3: 0x119, 0x3e4: 0x11a, 0x3e5: 0xba, 0x3e6: 0x11b, 0x3e7: 0x11c,
+ 0x3e8: 0x11d, 0x3e9: 0x11e, 0x3ea: 0x11f, 0x3eb: 0x5b, 0x3ec: 0x120, 0x3ed: 0x121, 0x3ee: 0x5c, 0x3ef: 0xba,
+ 0x3f0: 0x122, 0x3f1: 0x123, 0x3f2: 0x124, 0x3f3: 0x125, 0x3f4: 0xba, 0x3f5: 0xba, 0x3f6: 0xba, 0x3f7: 0xba,
+ 0x3f8: 0xba, 0x3f9: 0x126, 0x3fa: 0xba, 0x3fb: 0xba, 0x3fc: 0xba, 0x3fd: 0xba, 0x3fe: 0xba, 0x3ff: 0xba,
// Block 0x10, offset 0x400
- 0x400: 0x125, 0x401: 0x126, 0x402: 0x127, 0x403: 0x128, 0x404: 0x129, 0x405: 0x12a, 0x406: 0x12b, 0x407: 0x12c,
- 0x408: 0x12d, 0x409: 0xb8, 0x40a: 0x12e, 0x40b: 0x12f, 0x40c: 0x5b, 0x40d: 0x5c, 0x40e: 0xb8, 0x40f: 0xb8,
- 0x410: 0x130, 0x411: 0x131, 0x412: 0x132, 0x413: 0x133, 0x414: 0xb8, 0x415: 0xb8, 0x416: 0x134, 0x417: 0x135,
- 0x418: 0x136, 0x419: 0x137, 0x41a: 0x138, 0x41b: 0x139, 0x41c: 0x13a, 0x41d: 0xb8, 0x41e: 0xb8, 0x41f: 0xb8,
- 0x420: 0xb8, 0x421: 0xb8, 0x422: 0x13b, 0x423: 0x13c, 0x424: 0xb8, 0x425: 0xb8, 0x426: 0xb8, 0x427: 0xb8,
- 0x428: 0xb8, 0x429: 0xb8, 0x42a: 0xb8, 0x42b: 0x13d, 0x42c: 0xb8, 0x42d: 0xb8, 0x42e: 0xb8, 0x42f: 0xb8,
- 0x430: 0x13e, 0x431: 0x13f, 0x432: 0x140, 0x433: 0xb8, 0x434: 0xb8, 0x435: 0xb8, 0x436: 0xb8, 0x437: 0xb8,
- 0x438: 0xb8, 0x439: 0xb8, 0x43a: 0xb8, 0x43b: 0xb8, 0x43c: 0xb8, 0x43d: 0xb8, 0x43e: 0xb8, 0x43f: 0xb8,
+ 0x400: 0x127, 0x401: 0x128, 0x402: 0x129, 0x403: 0x12a, 0x404: 0x12b, 0x405: 0x12c, 0x406: 0x12d, 0x407: 0x12e,
+ 0x408: 0x12f, 0x409: 0xba, 0x40a: 0x130, 0x40b: 0x131, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xba, 0x40f: 0xba,
+ 0x410: 0x132, 0x411: 0x133, 0x412: 0x134, 0x413: 0x135, 0x414: 0xba, 0x415: 0xba, 0x416: 0x136, 0x417: 0x137,
+ 0x418: 0x138, 0x419: 0x139, 0x41a: 0x13a, 0x41b: 0x13b, 0x41c: 0x13c, 0x41d: 0xba, 0x41e: 0xba, 0x41f: 0xba,
+ 0x420: 0xba, 0x421: 0xba, 0x422: 0x13d, 0x423: 0x13e, 0x424: 0xba, 0x425: 0xba, 0x426: 0xba, 0x427: 0xba,
+ 0x428: 0x13f, 0x429: 0x140, 0x42a: 0x141, 0x42b: 0x142, 0x42c: 0xba, 0x42d: 0xba, 0x42e: 0xba, 0x42f: 0xba,
+ 0x430: 0x143, 0x431: 0x144, 0x432: 0x145, 0x433: 0xba, 0x434: 0x146, 0x435: 0x147, 0x436: 0xba, 0x437: 0xba,
+ 0x438: 0xba, 0x439: 0xba, 0x43a: 0xba, 0x43b: 0xba, 0x43c: 0xba, 0x43d: 0xba, 0x43e: 0xba, 0x43f: 0xba,
// Block 0x11, offset 0x440
- 0x440: 0x9d, 0x441: 0x9d, 0x442: 0x9d, 0x443: 0x9d, 0x444: 0x9d, 0x445: 0x9d, 0x446: 0x9d, 0x447: 0x9d,
- 0x448: 0x9d, 0x449: 0x9d, 0x44a: 0x9d, 0x44b: 0x9d, 0x44c: 0x9d, 0x44d: 0x9d, 0x44e: 0x141, 0x44f: 0xb8,
- 0x450: 0x9b, 0x451: 0x142, 0x452: 0x9d, 0x453: 0x9d, 0x454: 0x9d, 0x455: 0x143, 0x456: 0xb8, 0x457: 0xb8,
- 0x458: 0xb8, 0x459: 0xb8, 0x45a: 0xb8, 0x45b: 0xb8, 0x45c: 0xb8, 0x45d: 0xb8, 0x45e: 0xb8, 0x45f: 0xb8,
- 0x460: 0xb8, 0x461: 0xb8, 0x462: 0xb8, 0x463: 0xb8, 0x464: 0xb8, 0x465: 0xb8, 0x466: 0xb8, 0x467: 0xb8,
- 0x468: 0xb8, 0x469: 0xb8, 0x46a: 0xb8, 0x46b: 0xb8, 0x46c: 0xb8, 0x46d: 0xb8, 0x46e: 0xb8, 0x46f: 0xb8,
- 0x470: 0xb8, 0x471: 0xb8, 0x472: 0xb8, 0x473: 0xb8, 0x474: 0xb8, 0x475: 0xb8, 0x476: 0xb8, 0x477: 0xb8,
- 0x478: 0xb8, 0x479: 0xb8, 0x47a: 0xb8, 0x47b: 0xb8, 0x47c: 0xb8, 0x47d: 0xb8, 0x47e: 0xb8, 0x47f: 0xb8,
+ 0x440: 0x9f, 0x441: 0x9f, 0x442: 0x9f, 0x443: 0x9f, 0x444: 0x9f, 0x445: 0x9f, 0x446: 0x9f, 0x447: 0x9f,
+ 0x448: 0x9f, 0x449: 0x9f, 0x44a: 0x9f, 0x44b: 0x9f, 0x44c: 0x9f, 0x44d: 0x9f, 0x44e: 0x148, 0x44f: 0xba,
+ 0x450: 0x9b, 0x451: 0x149, 0x452: 0x9f, 0x453: 0x9f, 0x454: 0x9f, 0x455: 0x14a, 0x456: 0xba, 0x457: 0xba,
+ 0x458: 0xba, 0x459: 0xba, 0x45a: 0xba, 0x45b: 0xba, 0x45c: 0xba, 0x45d: 0xba, 0x45e: 0xba, 0x45f: 0xba,
+ 0x460: 0xba, 0x461: 0xba, 0x462: 0xba, 0x463: 0xba, 0x464: 0xba, 0x465: 0xba, 0x466: 0xba, 0x467: 0xba,
+ 0x468: 0xba, 0x469: 0xba, 0x46a: 0xba, 0x46b: 0xba, 0x46c: 0xba, 0x46d: 0xba, 0x46e: 0xba, 0x46f: 0xba,
+ 0x470: 0xba, 0x471: 0xba, 0x472: 0xba, 0x473: 0xba, 0x474: 0xba, 0x475: 0xba, 0x476: 0xba, 0x477: 0xba,
+ 0x478: 0xba, 0x479: 0xba, 0x47a: 0xba, 0x47b: 0xba, 0x47c: 0xba, 0x47d: 0xba, 0x47e: 0xba, 0x47f: 0xba,
// Block 0x12, offset 0x480
- 0x480: 0x9d, 0x481: 0x9d, 0x482: 0x9d, 0x483: 0x9d, 0x484: 0x9d, 0x485: 0x9d, 0x486: 0x9d, 0x487: 0x9d,
- 0x488: 0x9d, 0x489: 0x9d, 0x48a: 0x9d, 0x48b: 0x9d, 0x48c: 0x9d, 0x48d: 0x9d, 0x48e: 0x9d, 0x48f: 0x9d,
- 0x490: 0x144, 0x491: 0xb8, 0x492: 0xb8, 0x493: 0xb8, 0x494: 0xb8, 0x495: 0xb8, 0x496: 0xb8, 0x497: 0xb8,
- 0x498: 0xb8, 0x499: 0xb8, 0x49a: 0xb8, 0x49b: 0xb8, 0x49c: 0xb8, 0x49d: 0xb8, 0x49e: 0xb8, 0x49f: 0xb8,
- 0x4a0: 0xb8, 0x4a1: 0xb8, 0x4a2: 0xb8, 0x4a3: 0xb8, 0x4a4: 0xb8, 0x4a5: 0xb8, 0x4a6: 0xb8, 0x4a7: 0xb8,
- 0x4a8: 0xb8, 0x4a9: 0xb8, 0x4aa: 0xb8, 0x4ab: 0xb8, 0x4ac: 0xb8, 0x4ad: 0xb8, 0x4ae: 0xb8, 0x4af: 0xb8,
- 0x4b0: 0xb8, 0x4b1: 0xb8, 0x4b2: 0xb8, 0x4b3: 0xb8, 0x4b4: 0xb8, 0x4b5: 0xb8, 0x4b6: 0xb8, 0x4b7: 0xb8,
- 0x4b8: 0xb8, 0x4b9: 0xb8, 0x4ba: 0xb8, 0x4bb: 0xb8, 0x4bc: 0xb8, 0x4bd: 0xb8, 0x4be: 0xb8, 0x4bf: 0xb8,
+ 0x480: 0x9f, 0x481: 0x9f, 0x482: 0x9f, 0x483: 0x9f, 0x484: 0x9f, 0x485: 0x9f, 0x486: 0x9f, 0x487: 0x9f,
+ 0x488: 0x9f, 0x489: 0x9f, 0x48a: 0x9f, 0x48b: 0x9f, 0x48c: 0x9f, 0x48d: 0x9f, 0x48e: 0x9f, 0x48f: 0x9f,
+ 0x490: 0x14b, 0x491: 0xba, 0x492: 0xba, 0x493: 0xba, 0x494: 0xba, 0x495: 0xba, 0x496: 0xba, 0x497: 0xba,
+ 0x498: 0xba, 0x499: 0xba, 0x49a: 0xba, 0x49b: 0xba, 0x49c: 0xba, 0x49d: 0xba, 0x49e: 0xba, 0x49f: 0xba,
+ 0x4a0: 0xba, 0x4a1: 0xba, 0x4a2: 0xba, 0x4a3: 0xba, 0x4a4: 0xba, 0x4a5: 0xba, 0x4a6: 0xba, 0x4a7: 0xba,
+ 0x4a8: 0xba, 0x4a9: 0xba, 0x4aa: 0xba, 0x4ab: 0xba, 0x4ac: 0xba, 0x4ad: 0xba, 0x4ae: 0xba, 0x4af: 0xba,
+ 0x4b0: 0xba, 0x4b1: 0xba, 0x4b2: 0xba, 0x4b3: 0xba, 0x4b4: 0xba, 0x4b5: 0xba, 0x4b6: 0xba, 0x4b7: 0xba,
+ 0x4b8: 0xba, 0x4b9: 0xba, 0x4ba: 0xba, 0x4bb: 0xba, 0x4bc: 0xba, 0x4bd: 0xba, 0x4be: 0xba, 0x4bf: 0xba,
// Block 0x13, offset 0x4c0
- 0x4c0: 0xb8, 0x4c1: 0xb8, 0x4c2: 0xb8, 0x4c3: 0xb8, 0x4c4: 0xb8, 0x4c5: 0xb8, 0x4c6: 0xb8, 0x4c7: 0xb8,
- 0x4c8: 0xb8, 0x4c9: 0xb8, 0x4ca: 0xb8, 0x4cb: 0xb8, 0x4cc: 0xb8, 0x4cd: 0xb8, 0x4ce: 0xb8, 0x4cf: 0xb8,
- 0x4d0: 0x9d, 0x4d1: 0x9d, 0x4d2: 0x9d, 0x4d3: 0x9d, 0x4d4: 0x9d, 0x4d5: 0x9d, 0x4d6: 0x9d, 0x4d7: 0x9d,
- 0x4d8: 0x9d, 0x4d9: 0x145, 0x4da: 0xb8, 0x4db: 0xb8, 0x4dc: 0xb8, 0x4dd: 0xb8, 0x4de: 0xb8, 0x4df: 0xb8,
- 0x4e0: 0xb8, 0x4e1: 0xb8, 0x4e2: 0xb8, 0x4e3: 0xb8, 0x4e4: 0xb8, 0x4e5: 0xb8, 0x4e6: 0xb8, 0x4e7: 0xb8,
- 0x4e8: 0xb8, 0x4e9: 0xb8, 0x4ea: 0xb8, 0x4eb: 0xb8, 0x4ec: 0xb8, 0x4ed: 0xb8, 0x4ee: 0xb8, 0x4ef: 0xb8,
- 0x4f0: 0xb8, 0x4f1: 0xb8, 0x4f2: 0xb8, 0x4f3: 0xb8, 0x4f4: 0xb8, 0x4f5: 0xb8, 0x4f6: 0xb8, 0x4f7: 0xb8,
- 0x4f8: 0xb8, 0x4f9: 0xb8, 0x4fa: 0xb8, 0x4fb: 0xb8, 0x4fc: 0xb8, 0x4fd: 0xb8, 0x4fe: 0xb8, 0x4ff: 0xb8,
+ 0x4c0: 0xba, 0x4c1: 0xba, 0x4c2: 0xba, 0x4c3: 0xba, 0x4c4: 0xba, 0x4c5: 0xba, 0x4c6: 0xba, 0x4c7: 0xba,
+ 0x4c8: 0xba, 0x4c9: 0xba, 0x4ca: 0xba, 0x4cb: 0xba, 0x4cc: 0xba, 0x4cd: 0xba, 0x4ce: 0xba, 0x4cf: 0xba,
+ 0x4d0: 0x9f, 0x4d1: 0x9f, 0x4d2: 0x9f, 0x4d3: 0x9f, 0x4d4: 0x9f, 0x4d5: 0x9f, 0x4d6: 0x9f, 0x4d7: 0x9f,
+ 0x4d8: 0x9f, 0x4d9: 0x14c, 0x4da: 0xba, 0x4db: 0xba, 0x4dc: 0xba, 0x4dd: 0xba, 0x4de: 0xba, 0x4df: 0xba,
+ 0x4e0: 0xba, 0x4e1: 0xba, 0x4e2: 0xba, 0x4e3: 0xba, 0x4e4: 0xba, 0x4e5: 0xba, 0x4e6: 0xba, 0x4e7: 0xba,
+ 0x4e8: 0xba, 0x4e9: 0xba, 0x4ea: 0xba, 0x4eb: 0xba, 0x4ec: 0xba, 0x4ed: 0xba, 0x4ee: 0xba, 0x4ef: 0xba,
+ 0x4f0: 0xba, 0x4f1: 0xba, 0x4f2: 0xba, 0x4f3: 0xba, 0x4f4: 0xba, 0x4f5: 0xba, 0x4f6: 0xba, 0x4f7: 0xba,
+ 0x4f8: 0xba, 0x4f9: 0xba, 0x4fa: 0xba, 0x4fb: 0xba, 0x4fc: 0xba, 0x4fd: 0xba, 0x4fe: 0xba, 0x4ff: 0xba,
// Block 0x14, offset 0x500
- 0x500: 0xb8, 0x501: 0xb8, 0x502: 0xb8, 0x503: 0xb8, 0x504: 0xb8, 0x505: 0xb8, 0x506: 0xb8, 0x507: 0xb8,
- 0x508: 0xb8, 0x509: 0xb8, 0x50a: 0xb8, 0x50b: 0xb8, 0x50c: 0xb8, 0x50d: 0xb8, 0x50e: 0xb8, 0x50f: 0xb8,
- 0x510: 0xb8, 0x511: 0xb8, 0x512: 0xb8, 0x513: 0xb8, 0x514: 0xb8, 0x515: 0xb8, 0x516: 0xb8, 0x517: 0xb8,
- 0x518: 0xb8, 0x519: 0xb8, 0x51a: 0xb8, 0x51b: 0xb8, 0x51c: 0xb8, 0x51d: 0xb8, 0x51e: 0xb8, 0x51f: 0xb8,
- 0x520: 0x9d, 0x521: 0x9d, 0x522: 0x9d, 0x523: 0x9d, 0x524: 0x9d, 0x525: 0x9d, 0x526: 0x9d, 0x527: 0x9d,
- 0x528: 0x13d, 0x529: 0x146, 0x52a: 0xb8, 0x52b: 0x147, 0x52c: 0x148, 0x52d: 0x149, 0x52e: 0x14a, 0x52f: 0xb8,
- 0x530: 0xb8, 0x531: 0xb8, 0x532: 0xb8, 0x533: 0xb8, 0x534: 0xb8, 0x535: 0xb8, 0x536: 0xb8, 0x537: 0xb8,
- 0x538: 0xb8, 0x539: 0xb8, 0x53a: 0xb8, 0x53b: 0xb8, 0x53c: 0x9d, 0x53d: 0x14b, 0x53e: 0x14c, 0x53f: 0x14d,
+ 0x500: 0xba, 0x501: 0xba, 0x502: 0xba, 0x503: 0xba, 0x504: 0xba, 0x505: 0xba, 0x506: 0xba, 0x507: 0xba,
+ 0x508: 0xba, 0x509: 0xba, 0x50a: 0xba, 0x50b: 0xba, 0x50c: 0xba, 0x50d: 0xba, 0x50e: 0xba, 0x50f: 0xba,
+ 0x510: 0xba, 0x511: 0xba, 0x512: 0xba, 0x513: 0xba, 0x514: 0xba, 0x515: 0xba, 0x516: 0xba, 0x517: 0xba,
+ 0x518: 0xba, 0x519: 0xba, 0x51a: 0xba, 0x51b: 0xba, 0x51c: 0xba, 0x51d: 0xba, 0x51e: 0xba, 0x51f: 0xba,
+ 0x520: 0x9f, 0x521: 0x9f, 0x522: 0x9f, 0x523: 0x9f, 0x524: 0x9f, 0x525: 0x9f, 0x526: 0x9f, 0x527: 0x9f,
+ 0x528: 0x142, 0x529: 0x14d, 0x52a: 0xba, 0x52b: 0x14e, 0x52c: 0x14f, 0x52d: 0x150, 0x52e: 0x151, 0x52f: 0xba,
+ 0x530: 0xba, 0x531: 0xba, 0x532: 0xba, 0x533: 0xba, 0x534: 0xba, 0x535: 0xba, 0x536: 0xba, 0x537: 0xba,
+ 0x538: 0xba, 0x539: 0xba, 0x53a: 0xba, 0x53b: 0xba, 0x53c: 0x9f, 0x53d: 0x152, 0x53e: 0x153, 0x53f: 0x154,
// Block 0x15, offset 0x540
- 0x540: 0x9d, 0x541: 0x9d, 0x542: 0x9d, 0x543: 0x9d, 0x544: 0x9d, 0x545: 0x9d, 0x546: 0x9d, 0x547: 0x9d,
- 0x548: 0x9d, 0x549: 0x9d, 0x54a: 0x9d, 0x54b: 0x9d, 0x54c: 0x9d, 0x54d: 0x9d, 0x54e: 0x9d, 0x54f: 0x9d,
- 0x550: 0x9d, 0x551: 0x9d, 0x552: 0x9d, 0x553: 0x9d, 0x554: 0x9d, 0x555: 0x9d, 0x556: 0x9d, 0x557: 0x9d,
- 0x558: 0x9d, 0x559: 0x9d, 0x55a: 0x9d, 0x55b: 0x9d, 0x55c: 0x9d, 0x55d: 0x9d, 0x55e: 0x9d, 0x55f: 0x14e,
- 0x560: 0x9d, 0x561: 0x9d, 0x562: 0x9d, 0x563: 0x9d, 0x564: 0x9d, 0x565: 0x9d, 0x566: 0x9d, 0x567: 0x9d,
- 0x568: 0x9d, 0x569: 0x9d, 0x56a: 0x9d, 0x56b: 0x14f, 0x56c: 0xb8, 0x56d: 0xb8, 0x56e: 0xb8, 0x56f: 0xb8,
- 0x570: 0xb8, 0x571: 0xb8, 0x572: 0xb8, 0x573: 0xb8, 0x574: 0xb8, 0x575: 0xb8, 0x576: 0xb8, 0x577: 0xb8,
- 0x578: 0xb8, 0x579: 0xb8, 0x57a: 0xb8, 0x57b: 0xb8, 0x57c: 0xb8, 0x57d: 0xb8, 0x57e: 0xb8, 0x57f: 0xb8,
+ 0x540: 0x9f, 0x541: 0x9f, 0x542: 0x9f, 0x543: 0x9f, 0x544: 0x9f, 0x545: 0x9f, 0x546: 0x9f, 0x547: 0x9f,
+ 0x548: 0x9f, 0x549: 0x9f, 0x54a: 0x9f, 0x54b: 0x9f, 0x54c: 0x9f, 0x54d: 0x9f, 0x54e: 0x9f, 0x54f: 0x9f,
+ 0x550: 0x9f, 0x551: 0x9f, 0x552: 0x9f, 0x553: 0x9f, 0x554: 0x9f, 0x555: 0x9f, 0x556: 0x9f, 0x557: 0x9f,
+ 0x558: 0x9f, 0x559: 0x9f, 0x55a: 0x9f, 0x55b: 0x9f, 0x55c: 0x9f, 0x55d: 0x9f, 0x55e: 0x9f, 0x55f: 0x155,
+ 0x560: 0x9f, 0x561: 0x9f, 0x562: 0x9f, 0x563: 0x9f, 0x564: 0x9f, 0x565: 0x9f, 0x566: 0x9f, 0x567: 0x9f,
+ 0x568: 0x9f, 0x569: 0x9f, 0x56a: 0x9f, 0x56b: 0x156, 0x56c: 0xba, 0x56d: 0xba, 0x56e: 0xba, 0x56f: 0xba,
+ 0x570: 0xba, 0x571: 0xba, 0x572: 0xba, 0x573: 0xba, 0x574: 0xba, 0x575: 0xba, 0x576: 0xba, 0x577: 0xba,
+ 0x578: 0xba, 0x579: 0xba, 0x57a: 0xba, 0x57b: 0xba, 0x57c: 0xba, 0x57d: 0xba, 0x57e: 0xba, 0x57f: 0xba,
// Block 0x16, offset 0x580
- 0x580: 0x150, 0x581: 0xb8, 0x582: 0xb8, 0x583: 0xb8, 0x584: 0xb8, 0x585: 0xb8, 0x586: 0xb8, 0x587: 0xb8,
- 0x588: 0xb8, 0x589: 0xb8, 0x58a: 0xb8, 0x58b: 0xb8, 0x58c: 0xb8, 0x58d: 0xb8, 0x58e: 0xb8, 0x58f: 0xb8,
- 0x590: 0xb8, 0x591: 0xb8, 0x592: 0xb8, 0x593: 0xb8, 0x594: 0xb8, 0x595: 0xb8, 0x596: 0xb8, 0x597: 0xb8,
- 0x598: 0xb8, 0x599: 0xb8, 0x59a: 0xb8, 0x59b: 0xb8, 0x59c: 0xb8, 0x59d: 0xb8, 0x59e: 0xb8, 0x59f: 0xb8,
- 0x5a0: 0xb8, 0x5a1: 0xb8, 0x5a2: 0xb8, 0x5a3: 0xb8, 0x5a4: 0xb8, 0x5a5: 0xb8, 0x5a6: 0xb8, 0x5a7: 0xb8,
- 0x5a8: 0xb8, 0x5a9: 0xb8, 0x5aa: 0xb8, 0x5ab: 0xb8, 0x5ac: 0xb8, 0x5ad: 0xb8, 0x5ae: 0xb8, 0x5af: 0xb8,
- 0x5b0: 0x9d, 0x5b1: 0x151, 0x5b2: 0x152, 0x5b3: 0xb8, 0x5b4: 0xb8, 0x5b5: 0xb8, 0x5b6: 0xb8, 0x5b7: 0xb8,
- 0x5b8: 0xb8, 0x5b9: 0xb8, 0x5ba: 0xb8, 0x5bb: 0xb8, 0x5bc: 0xb8, 0x5bd: 0xb8, 0x5be: 0xb8, 0x5bf: 0xb8,
+ 0x580: 0x9f, 0x581: 0x9f, 0x582: 0x9f, 0x583: 0x9f, 0x584: 0x157, 0x585: 0x158, 0x586: 0x9f, 0x587: 0x9f,
+ 0x588: 0x9f, 0x589: 0x9f, 0x58a: 0x9f, 0x58b: 0x159, 0x58c: 0xba, 0x58d: 0xba, 0x58e: 0xba, 0x58f: 0xba,
+ 0x590: 0xba, 0x591: 0xba, 0x592: 0xba, 0x593: 0xba, 0x594: 0xba, 0x595: 0xba, 0x596: 0xba, 0x597: 0xba,
+ 0x598: 0xba, 0x599: 0xba, 0x59a: 0xba, 0x59b: 0xba, 0x59c: 0xba, 0x59d: 0xba, 0x59e: 0xba, 0x59f: 0xba,
+ 0x5a0: 0xba, 0x5a1: 0xba, 0x5a2: 0xba, 0x5a3: 0xba, 0x5a4: 0xba, 0x5a5: 0xba, 0x5a6: 0xba, 0x5a7: 0xba,
+ 0x5a8: 0xba, 0x5a9: 0xba, 0x5aa: 0xba, 0x5ab: 0xba, 0x5ac: 0xba, 0x5ad: 0xba, 0x5ae: 0xba, 0x5af: 0xba,
+ 0x5b0: 0x9f, 0x5b1: 0x15a, 0x5b2: 0x15b, 0x5b3: 0xba, 0x5b4: 0xba, 0x5b5: 0xba, 0x5b6: 0xba, 0x5b7: 0xba,
+ 0x5b8: 0xba, 0x5b9: 0xba, 0x5ba: 0xba, 0x5bb: 0xba, 0x5bc: 0xba, 0x5bd: 0xba, 0x5be: 0xba, 0x5bf: 0xba,
// Block 0x17, offset 0x5c0
- 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x153, 0x5c4: 0x154, 0x5c5: 0x155, 0x5c6: 0x156, 0x5c7: 0x157,
- 0x5c8: 0x9b, 0x5c9: 0x158, 0x5ca: 0xb8, 0x5cb: 0xb8, 0x5cc: 0x9b, 0x5cd: 0x159, 0x5ce: 0xb8, 0x5cf: 0xb8,
- 0x5d0: 0x5d, 0x5d1: 0x5e, 0x5d2: 0x5f, 0x5d3: 0x60, 0x5d4: 0x61, 0x5d5: 0x62, 0x5d6: 0x63, 0x5d7: 0x64,
- 0x5d8: 0x65, 0x5d9: 0x66, 0x5da: 0x67, 0x5db: 0x68, 0x5dc: 0x69, 0x5dd: 0x6a, 0x5de: 0x6b, 0x5df: 0x6c,
+ 0x5c0: 0x9b, 0x5c1: 0x9b, 0x5c2: 0x9b, 0x5c3: 0x15c, 0x5c4: 0x15d, 0x5c5: 0x15e, 0x5c6: 0x15f, 0x5c7: 0x160,
+ 0x5c8: 0x9b, 0x5c9: 0x161, 0x5ca: 0xba, 0x5cb: 0xba, 0x5cc: 0x9b, 0x5cd: 0x162, 0x5ce: 0xba, 0x5cf: 0xba,
+ 0x5d0: 0x5f, 0x5d1: 0x60, 0x5d2: 0x61, 0x5d3: 0x62, 0x5d4: 0x63, 0x5d5: 0x64, 0x5d6: 0x65, 0x5d7: 0x66,
+ 0x5d8: 0x67, 0x5d9: 0x68, 0x5da: 0x69, 0x5db: 0x6a, 0x5dc: 0x6b, 0x5dd: 0x6c, 0x5de: 0x6d, 0x5df: 0x6e,
0x5e0: 0x9b, 0x5e1: 0x9b, 0x5e2: 0x9b, 0x5e3: 0x9b, 0x5e4: 0x9b, 0x5e5: 0x9b, 0x5e6: 0x9b, 0x5e7: 0x9b,
- 0x5e8: 0x15a, 0x5e9: 0x15b, 0x5ea: 0x15c, 0x5eb: 0xb8, 0x5ec: 0xb8, 0x5ed: 0xb8, 0x5ee: 0xb8, 0x5ef: 0xb8,
- 0x5f0: 0xb8, 0x5f1: 0xb8, 0x5f2: 0xb8, 0x5f3: 0xb8, 0x5f4: 0xb8, 0x5f5: 0xb8, 0x5f6: 0xb8, 0x5f7: 0xb8,
- 0x5f8: 0xb8, 0x5f9: 0xb8, 0x5fa: 0xb8, 0x5fb: 0xb8, 0x5fc: 0xb8, 0x5fd: 0xb8, 0x5fe: 0xb8, 0x5ff: 0xb8,
+ 0x5e8: 0x163, 0x5e9: 0x164, 0x5ea: 0x165, 0x5eb: 0xba, 0x5ec: 0xba, 0x5ed: 0xba, 0x5ee: 0xba, 0x5ef: 0xba,
+ 0x5f0: 0xba, 0x5f1: 0xba, 0x5f2: 0xba, 0x5f3: 0xba, 0x5f4: 0xba, 0x5f5: 0xba, 0x5f6: 0xba, 0x5f7: 0xba,
+ 0x5f8: 0xba, 0x5f9: 0xba, 0x5fa: 0xba, 0x5fb: 0xba, 0x5fc: 0xba, 0x5fd: 0xba, 0x5fe: 0xba, 0x5ff: 0xba,
// Block 0x18, offset 0x600
- 0x600: 0x15d, 0x601: 0xb8, 0x602: 0xb8, 0x603: 0xb8, 0x604: 0xb8, 0x605: 0xb8, 0x606: 0xb8, 0x607: 0xb8,
- 0x608: 0xb8, 0x609: 0xb8, 0x60a: 0xb8, 0x60b: 0xb8, 0x60c: 0xb8, 0x60d: 0xb8, 0x60e: 0xb8, 0x60f: 0xb8,
- 0x610: 0xb8, 0x611: 0xb8, 0x612: 0xb8, 0x613: 0xb8, 0x614: 0xb8, 0x615: 0xb8, 0x616: 0xb8, 0x617: 0xb8,
- 0x618: 0xb8, 0x619: 0xb8, 0x61a: 0xb8, 0x61b: 0xb8, 0x61c: 0xb8, 0x61d: 0xb8, 0x61e: 0xb8, 0x61f: 0xb8,
- 0x620: 0x9d, 0x621: 0x9d, 0x622: 0x9d, 0x623: 0x15e, 0x624: 0x6d, 0x625: 0x15f, 0x626: 0xb8, 0x627: 0xb8,
- 0x628: 0xb8, 0x629: 0xb8, 0x62a: 0xb8, 0x62b: 0xb8, 0x62c: 0xb8, 0x62d: 0xb8, 0x62e: 0xb8, 0x62f: 0xb8,
- 0x630: 0xb8, 0x631: 0xb8, 0x632: 0xb8, 0x633: 0xb8, 0x634: 0xb8, 0x635: 0xb8, 0x636: 0xb8, 0x637: 0xb8,
- 0x638: 0x6e, 0x639: 0x6f, 0x63a: 0x70, 0x63b: 0x160, 0x63c: 0xb8, 0x63d: 0xb8, 0x63e: 0xb8, 0x63f: 0xb8,
+ 0x600: 0x166, 0x601: 0xba, 0x602: 0xba, 0x603: 0xba, 0x604: 0xba, 0x605: 0xba, 0x606: 0xba, 0x607: 0xba,
+ 0x608: 0xba, 0x609: 0xba, 0x60a: 0xba, 0x60b: 0xba, 0x60c: 0xba, 0x60d: 0xba, 0x60e: 0xba, 0x60f: 0xba,
+ 0x610: 0xba, 0x611: 0xba, 0x612: 0xba, 0x613: 0xba, 0x614: 0xba, 0x615: 0xba, 0x616: 0xba, 0x617: 0xba,
+ 0x618: 0xba, 0x619: 0xba, 0x61a: 0xba, 0x61b: 0xba, 0x61c: 0xba, 0x61d: 0xba, 0x61e: 0xba, 0x61f: 0xba,
+ 0x620: 0x122, 0x621: 0x122, 0x622: 0x122, 0x623: 0x167, 0x624: 0x6f, 0x625: 0x168, 0x626: 0xba, 0x627: 0xba,
+ 0x628: 0xba, 0x629: 0xba, 0x62a: 0xba, 0x62b: 0xba, 0x62c: 0xba, 0x62d: 0xba, 0x62e: 0xba, 0x62f: 0xba,
+ 0x630: 0xba, 0x631: 0xba, 0x632: 0xba, 0x633: 0xba, 0x634: 0xba, 0x635: 0xba, 0x636: 0xba, 0x637: 0xba,
+ 0x638: 0x70, 0x639: 0x71, 0x63a: 0x72, 0x63b: 0x169, 0x63c: 0xba, 0x63d: 0xba, 0x63e: 0xba, 0x63f: 0xba,
// Block 0x19, offset 0x640
- 0x640: 0x161, 0x641: 0x9b, 0x642: 0x162, 0x643: 0x163, 0x644: 0x71, 0x645: 0x72, 0x646: 0x164, 0x647: 0x165,
- 0x648: 0x73, 0x649: 0x166, 0x64a: 0xb8, 0x64b: 0xb8, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b,
+ 0x640: 0x16a, 0x641: 0x9b, 0x642: 0x16b, 0x643: 0x16c, 0x644: 0x73, 0x645: 0x74, 0x646: 0x16d, 0x647: 0x16e,
+ 0x648: 0x75, 0x649: 0x16f, 0x64a: 0xba, 0x64b: 0xba, 0x64c: 0x9b, 0x64d: 0x9b, 0x64e: 0x9b, 0x64f: 0x9b,
0x650: 0x9b, 0x651: 0x9b, 0x652: 0x9b, 0x653: 0x9b, 0x654: 0x9b, 0x655: 0x9b, 0x656: 0x9b, 0x657: 0x9b,
- 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x167, 0x65c: 0x9b, 0x65d: 0x168, 0x65e: 0x9b, 0x65f: 0x169,
- 0x660: 0x16a, 0x661: 0x16b, 0x662: 0x16c, 0x663: 0xb8, 0x664: 0x16d, 0x665: 0x16e, 0x666: 0x16f, 0x667: 0x170,
- 0x668: 0xb8, 0x669: 0xb8, 0x66a: 0xb8, 0x66b: 0xb8, 0x66c: 0xb8, 0x66d: 0xb8, 0x66e: 0xb8, 0x66f: 0xb8,
- 0x670: 0xb8, 0x671: 0xb8, 0x672: 0xb8, 0x673: 0xb8, 0x674: 0xb8, 0x675: 0xb8, 0x676: 0xb8, 0x677: 0xb8,
- 0x678: 0xb8, 0x679: 0xb8, 0x67a: 0xb8, 0x67b: 0xb8, 0x67c: 0xb8, 0x67d: 0xb8, 0x67e: 0xb8, 0x67f: 0xb8,
+ 0x658: 0x9b, 0x659: 0x9b, 0x65a: 0x9b, 0x65b: 0x170, 0x65c: 0x9b, 0x65d: 0x171, 0x65e: 0x9b, 0x65f: 0x172,
+ 0x660: 0x173, 0x661: 0x174, 0x662: 0x175, 0x663: 0xba, 0x664: 0x176, 0x665: 0x177, 0x666: 0x178, 0x667: 0x179,
+ 0x668: 0xba, 0x669: 0xba, 0x66a: 0xba, 0x66b: 0xba, 0x66c: 0xba, 0x66d: 0xba, 0x66e: 0xba, 0x66f: 0xba,
+ 0x670: 0xba, 0x671: 0xba, 0x672: 0xba, 0x673: 0xba, 0x674: 0xba, 0x675: 0xba, 0x676: 0xba, 0x677: 0xba,
+ 0x678: 0xba, 0x679: 0xba, 0x67a: 0xba, 0x67b: 0xba, 0x67c: 0xba, 0x67d: 0xba, 0x67e: 0xba, 0x67f: 0xba,
// Block 0x1a, offset 0x680
- 0x680: 0x9d, 0x681: 0x9d, 0x682: 0x9d, 0x683: 0x9d, 0x684: 0x9d, 0x685: 0x9d, 0x686: 0x9d, 0x687: 0x9d,
- 0x688: 0x9d, 0x689: 0x9d, 0x68a: 0x9d, 0x68b: 0x9d, 0x68c: 0x9d, 0x68d: 0x9d, 0x68e: 0x9d, 0x68f: 0x9d,
- 0x690: 0x9d, 0x691: 0x9d, 0x692: 0x9d, 0x693: 0x9d, 0x694: 0x9d, 0x695: 0x9d, 0x696: 0x9d, 0x697: 0x9d,
- 0x698: 0x9d, 0x699: 0x9d, 0x69a: 0x9d, 0x69b: 0x171, 0x69c: 0x9d, 0x69d: 0x9d, 0x69e: 0x9d, 0x69f: 0x9d,
- 0x6a0: 0x9d, 0x6a1: 0x9d, 0x6a2: 0x9d, 0x6a3: 0x9d, 0x6a4: 0x9d, 0x6a5: 0x9d, 0x6a6: 0x9d, 0x6a7: 0x9d,
- 0x6a8: 0x9d, 0x6a9: 0x9d, 0x6aa: 0x9d, 0x6ab: 0x9d, 0x6ac: 0x9d, 0x6ad: 0x9d, 0x6ae: 0x9d, 0x6af: 0x9d,
- 0x6b0: 0x9d, 0x6b1: 0x9d, 0x6b2: 0x9d, 0x6b3: 0x9d, 0x6b4: 0x9d, 0x6b5: 0x9d, 0x6b6: 0x9d, 0x6b7: 0x9d,
- 0x6b8: 0x9d, 0x6b9: 0x9d, 0x6ba: 0x9d, 0x6bb: 0x9d, 0x6bc: 0x9d, 0x6bd: 0x9d, 0x6be: 0x9d, 0x6bf: 0x9d,
+ 0x680: 0x9f, 0x681: 0x9f, 0x682: 0x9f, 0x683: 0x9f, 0x684: 0x9f, 0x685: 0x9f, 0x686: 0x9f, 0x687: 0x9f,
+ 0x688: 0x9f, 0x689: 0x9f, 0x68a: 0x9f, 0x68b: 0x9f, 0x68c: 0x9f, 0x68d: 0x9f, 0x68e: 0x9f, 0x68f: 0x9f,
+ 0x690: 0x9f, 0x691: 0x9f, 0x692: 0x9f, 0x693: 0x9f, 0x694: 0x9f, 0x695: 0x9f, 0x696: 0x9f, 0x697: 0x9f,
+ 0x698: 0x9f, 0x699: 0x9f, 0x69a: 0x9f, 0x69b: 0x17a, 0x69c: 0x9f, 0x69d: 0x9f, 0x69e: 0x9f, 0x69f: 0x9f,
+ 0x6a0: 0x9f, 0x6a1: 0x9f, 0x6a2: 0x9f, 0x6a3: 0x9f, 0x6a4: 0x9f, 0x6a5: 0x9f, 0x6a6: 0x9f, 0x6a7: 0x9f,
+ 0x6a8: 0x9f, 0x6a9: 0x9f, 0x6aa: 0x9f, 0x6ab: 0x9f, 0x6ac: 0x9f, 0x6ad: 0x9f, 0x6ae: 0x9f, 0x6af: 0x9f,
+ 0x6b0: 0x9f, 0x6b1: 0x9f, 0x6b2: 0x9f, 0x6b3: 0x9f, 0x6b4: 0x9f, 0x6b5: 0x9f, 0x6b6: 0x9f, 0x6b7: 0x9f,
+ 0x6b8: 0x9f, 0x6b9: 0x9f, 0x6ba: 0x9f, 0x6bb: 0x9f, 0x6bc: 0x9f, 0x6bd: 0x9f, 0x6be: 0x9f, 0x6bf: 0x9f,
// Block 0x1b, offset 0x6c0
- 0x6c0: 0x9d, 0x6c1: 0x9d, 0x6c2: 0x9d, 0x6c3: 0x9d, 0x6c4: 0x9d, 0x6c5: 0x9d, 0x6c6: 0x9d, 0x6c7: 0x9d,
- 0x6c8: 0x9d, 0x6c9: 0x9d, 0x6ca: 0x9d, 0x6cb: 0x9d, 0x6cc: 0x9d, 0x6cd: 0x9d, 0x6ce: 0x9d, 0x6cf: 0x9d,
- 0x6d0: 0x9d, 0x6d1: 0x9d, 0x6d2: 0x9d, 0x6d3: 0x9d, 0x6d4: 0x9d, 0x6d5: 0x9d, 0x6d6: 0x9d, 0x6d7: 0x9d,
- 0x6d8: 0x9d, 0x6d9: 0x9d, 0x6da: 0x9d, 0x6db: 0x9d, 0x6dc: 0x172, 0x6dd: 0x9d, 0x6de: 0x9d, 0x6df: 0x9d,
- 0x6e0: 0x173, 0x6e1: 0x9d, 0x6e2: 0x9d, 0x6e3: 0x9d, 0x6e4: 0x9d, 0x6e5: 0x9d, 0x6e6: 0x9d, 0x6e7: 0x9d,
- 0x6e8: 0x9d, 0x6e9: 0x9d, 0x6ea: 0x9d, 0x6eb: 0x9d, 0x6ec: 0x9d, 0x6ed: 0x9d, 0x6ee: 0x9d, 0x6ef: 0x9d,
- 0x6f0: 0x9d, 0x6f1: 0x9d, 0x6f2: 0x9d, 0x6f3: 0x9d, 0x6f4: 0x9d, 0x6f5: 0x9d, 0x6f6: 0x9d, 0x6f7: 0x9d,
- 0x6f8: 0x9d, 0x6f9: 0x9d, 0x6fa: 0x9d, 0x6fb: 0x9d, 0x6fc: 0x9d, 0x6fd: 0x9d, 0x6fe: 0x9d, 0x6ff: 0x9d,
+ 0x6c0: 0x9f, 0x6c1: 0x9f, 0x6c2: 0x9f, 0x6c3: 0x9f, 0x6c4: 0x9f, 0x6c5: 0x9f, 0x6c6: 0x9f, 0x6c7: 0x9f,
+ 0x6c8: 0x9f, 0x6c9: 0x9f, 0x6ca: 0x9f, 0x6cb: 0x9f, 0x6cc: 0x9f, 0x6cd: 0x9f, 0x6ce: 0x9f, 0x6cf: 0x9f,
+ 0x6d0: 0x9f, 0x6d1: 0x9f, 0x6d2: 0x9f, 0x6d3: 0x9f, 0x6d4: 0x9f, 0x6d5: 0x9f, 0x6d6: 0x9f, 0x6d7: 0x9f,
+ 0x6d8: 0x9f, 0x6d9: 0x9f, 0x6da: 0x9f, 0x6db: 0x9f, 0x6dc: 0x17b, 0x6dd: 0x9f, 0x6de: 0x9f, 0x6df: 0x9f,
+ 0x6e0: 0x17c, 0x6e1: 0x9f, 0x6e2: 0x9f, 0x6e3: 0x9f, 0x6e4: 0x9f, 0x6e5: 0x9f, 0x6e6: 0x9f, 0x6e7: 0x9f,
+ 0x6e8: 0x9f, 0x6e9: 0x9f, 0x6ea: 0x9f, 0x6eb: 0x9f, 0x6ec: 0x9f, 0x6ed: 0x9f, 0x6ee: 0x9f, 0x6ef: 0x9f,
+ 0x6f0: 0x9f, 0x6f1: 0x9f, 0x6f2: 0x9f, 0x6f3: 0x9f, 0x6f4: 0x9f, 0x6f5: 0x9f, 0x6f6: 0x9f, 0x6f7: 0x9f,
+ 0x6f8: 0x9f, 0x6f9: 0x9f, 0x6fa: 0x9f, 0x6fb: 0x9f, 0x6fc: 0x9f, 0x6fd: 0x9f, 0x6fe: 0x9f, 0x6ff: 0x9f,
// Block 0x1c, offset 0x700
- 0x700: 0x9d, 0x701: 0x9d, 0x702: 0x9d, 0x703: 0x9d, 0x704: 0x9d, 0x705: 0x9d, 0x706: 0x9d, 0x707: 0x9d,
- 0x708: 0x9d, 0x709: 0x9d, 0x70a: 0x9d, 0x70b: 0x9d, 0x70c: 0x9d, 0x70d: 0x9d, 0x70e: 0x9d, 0x70f: 0x9d,
- 0x710: 0x9d, 0x711: 0x9d, 0x712: 0x9d, 0x713: 0x9d, 0x714: 0x9d, 0x715: 0x9d, 0x716: 0x9d, 0x717: 0x9d,
- 0x718: 0x9d, 0x719: 0x9d, 0x71a: 0x9d, 0x71b: 0x9d, 0x71c: 0x9d, 0x71d: 0x9d, 0x71e: 0x9d, 0x71f: 0x9d,
- 0x720: 0x9d, 0x721: 0x9d, 0x722: 0x9d, 0x723: 0x9d, 0x724: 0x9d, 0x725: 0x9d, 0x726: 0x9d, 0x727: 0x9d,
- 0x728: 0x9d, 0x729: 0x9d, 0x72a: 0x9d, 0x72b: 0x9d, 0x72c: 0x9d, 0x72d: 0x9d, 0x72e: 0x9d, 0x72f: 0x9d,
- 0x730: 0x9d, 0x731: 0x9d, 0x732: 0x9d, 0x733: 0x9d, 0x734: 0x9d, 0x735: 0x9d, 0x736: 0x9d, 0x737: 0x9d,
- 0x738: 0x9d, 0x739: 0x9d, 0x73a: 0x174, 0x73b: 0xb8, 0x73c: 0xb8, 0x73d: 0xb8, 0x73e: 0xb8, 0x73f: 0xb8,
+ 0x700: 0x9f, 0x701: 0x9f, 0x702: 0x9f, 0x703: 0x9f, 0x704: 0x9f, 0x705: 0x9f, 0x706: 0x9f, 0x707: 0x9f,
+ 0x708: 0x9f, 0x709: 0x9f, 0x70a: 0x9f, 0x70b: 0x9f, 0x70c: 0x9f, 0x70d: 0x9f, 0x70e: 0x9f, 0x70f: 0x9f,
+ 0x710: 0x9f, 0x711: 0x9f, 0x712: 0x9f, 0x713: 0x9f, 0x714: 0x9f, 0x715: 0x9f, 0x716: 0x9f, 0x717: 0x9f,
+ 0x718: 0x9f, 0x719: 0x9f, 0x71a: 0x9f, 0x71b: 0x9f, 0x71c: 0x9f, 0x71d: 0x9f, 0x71e: 0x9f, 0x71f: 0x9f,
+ 0x720: 0x9f, 0x721: 0x9f, 0x722: 0x9f, 0x723: 0x9f, 0x724: 0x9f, 0x725: 0x9f, 0x726: 0x9f, 0x727: 0x9f,
+ 0x728: 0x9f, 0x729: 0x9f, 0x72a: 0x9f, 0x72b: 0x9f, 0x72c: 0x9f, 0x72d: 0x9f, 0x72e: 0x9f, 0x72f: 0x9f,
+ 0x730: 0x9f, 0x731: 0x9f, 0x732: 0x9f, 0x733: 0x9f, 0x734: 0x9f, 0x735: 0x9f, 0x736: 0x9f, 0x737: 0x9f,
+ 0x738: 0x9f, 0x739: 0x9f, 0x73a: 0x17d, 0x73b: 0x9f, 0x73c: 0x9f, 0x73d: 0x9f, 0x73e: 0x9f, 0x73f: 0x9f,
// Block 0x1d, offset 0x740
- 0x740: 0xb8, 0x741: 0xb8, 0x742: 0xb8, 0x743: 0xb8, 0x744: 0xb8, 0x745: 0xb8, 0x746: 0xb8, 0x747: 0xb8,
- 0x748: 0xb8, 0x749: 0xb8, 0x74a: 0xb8, 0x74b: 0xb8, 0x74c: 0xb8, 0x74d: 0xb8, 0x74e: 0xb8, 0x74f: 0xb8,
- 0x750: 0xb8, 0x751: 0xb8, 0x752: 0xb8, 0x753: 0xb8, 0x754: 0xb8, 0x755: 0xb8, 0x756: 0xb8, 0x757: 0xb8,
- 0x758: 0xb8, 0x759: 0xb8, 0x75a: 0xb8, 0x75b: 0xb8, 0x75c: 0xb8, 0x75d: 0xb8, 0x75e: 0xb8, 0x75f: 0xb8,
- 0x760: 0x74, 0x761: 0x75, 0x762: 0x76, 0x763: 0x175, 0x764: 0x77, 0x765: 0x78, 0x766: 0x176, 0x767: 0x79,
- 0x768: 0x7a, 0x769: 0xb8, 0x76a: 0xb8, 0x76b: 0xb8, 0x76c: 0xb8, 0x76d: 0xb8, 0x76e: 0xb8, 0x76f: 0xb8,
- 0x770: 0xb8, 0x771: 0xb8, 0x772: 0xb8, 0x773: 0xb8, 0x774: 0xb8, 0x775: 0xb8, 0x776: 0xb8, 0x777: 0xb8,
- 0x778: 0xb8, 0x779: 0xb8, 0x77a: 0xb8, 0x77b: 0xb8, 0x77c: 0xb8, 0x77d: 0xb8, 0x77e: 0xb8, 0x77f: 0xb8,
+ 0x740: 0x9f, 0x741: 0x9f, 0x742: 0x9f, 0x743: 0x9f, 0x744: 0x9f, 0x745: 0x9f, 0x746: 0x9f, 0x747: 0x9f,
+ 0x748: 0x9f, 0x749: 0x9f, 0x74a: 0x9f, 0x74b: 0x9f, 0x74c: 0x9f, 0x74d: 0x9f, 0x74e: 0x9f, 0x74f: 0x9f,
+ 0x750: 0x9f, 0x751: 0x9f, 0x752: 0x9f, 0x753: 0x9f, 0x754: 0x9f, 0x755: 0x9f, 0x756: 0x9f, 0x757: 0x9f,
+ 0x758: 0x9f, 0x759: 0x9f, 0x75a: 0x9f, 0x75b: 0x9f, 0x75c: 0x9f, 0x75d: 0x9f, 0x75e: 0x9f, 0x75f: 0x9f,
+ 0x760: 0x9f, 0x761: 0x9f, 0x762: 0x9f, 0x763: 0x9f, 0x764: 0x9f, 0x765: 0x9f, 0x766: 0x9f, 0x767: 0x9f,
+ 0x768: 0x9f, 0x769: 0x9f, 0x76a: 0x9f, 0x76b: 0x9f, 0x76c: 0x9f, 0x76d: 0x9f, 0x76e: 0x9f, 0x76f: 0x17e,
+ 0x770: 0xba, 0x771: 0xba, 0x772: 0xba, 0x773: 0xba, 0x774: 0xba, 0x775: 0xba, 0x776: 0xba, 0x777: 0xba,
+ 0x778: 0xba, 0x779: 0xba, 0x77a: 0xba, 0x77b: 0xba, 0x77c: 0xba, 0x77d: 0xba, 0x77e: 0xba, 0x77f: 0xba,
// Block 0x1e, offset 0x780
- 0x790: 0x0d, 0x791: 0x0e, 0x792: 0x0f, 0x793: 0x10, 0x794: 0x11, 0x795: 0x0b, 0x796: 0x12, 0x797: 0x07,
- 0x798: 0x13, 0x799: 0x0b, 0x79a: 0x0b, 0x79b: 0x14, 0x79c: 0x0b, 0x79d: 0x15, 0x79e: 0x16, 0x79f: 0x17,
- 0x7a0: 0x07, 0x7a1: 0x07, 0x7a2: 0x07, 0x7a3: 0x07, 0x7a4: 0x07, 0x7a5: 0x07, 0x7a6: 0x07, 0x7a7: 0x07,
- 0x7a8: 0x07, 0x7a9: 0x07, 0x7aa: 0x18, 0x7ab: 0x19, 0x7ac: 0x1a, 0x7ad: 0x0b, 0x7ae: 0x0b, 0x7af: 0x1b,
- 0x7b0: 0x0b, 0x7b1: 0x0b, 0x7b2: 0x0b, 0x7b3: 0x0b, 0x7b4: 0x0b, 0x7b5: 0x0b, 0x7b6: 0x0b, 0x7b7: 0x0b,
- 0x7b8: 0x0b, 0x7b9: 0x0b, 0x7ba: 0x0b, 0x7bb: 0x0b, 0x7bc: 0x0b, 0x7bd: 0x0b, 0x7be: 0x0b, 0x7bf: 0x0b,
+ 0x780: 0xba, 0x781: 0xba, 0x782: 0xba, 0x783: 0xba, 0x784: 0xba, 0x785: 0xba, 0x786: 0xba, 0x787: 0xba,
+ 0x788: 0xba, 0x789: 0xba, 0x78a: 0xba, 0x78b: 0xba, 0x78c: 0xba, 0x78d: 0xba, 0x78e: 0xba, 0x78f: 0xba,
+ 0x790: 0xba, 0x791: 0xba, 0x792: 0xba, 0x793: 0xba, 0x794: 0xba, 0x795: 0xba, 0x796: 0xba, 0x797: 0xba,
+ 0x798: 0xba, 0x799: 0xba, 0x79a: 0xba, 0x79b: 0xba, 0x79c: 0xba, 0x79d: 0xba, 0x79e: 0xba, 0x79f: 0xba,
+ 0x7a0: 0x76, 0x7a1: 0x77, 0x7a2: 0x78, 0x7a3: 0x17f, 0x7a4: 0x79, 0x7a5: 0x7a, 0x7a6: 0x180, 0x7a7: 0x7b,
+ 0x7a8: 0x7c, 0x7a9: 0xba, 0x7aa: 0xba, 0x7ab: 0xba, 0x7ac: 0xba, 0x7ad: 0xba, 0x7ae: 0xba, 0x7af: 0xba,
+ 0x7b0: 0xba, 0x7b1: 0xba, 0x7b2: 0xba, 0x7b3: 0xba, 0x7b4: 0xba, 0x7b5: 0xba, 0x7b6: 0xba, 0x7b7: 0xba,
+ 0x7b8: 0xba, 0x7b9: 0xba, 0x7ba: 0xba, 0x7bb: 0xba, 0x7bc: 0xba, 0x7bd: 0xba, 0x7be: 0xba, 0x7bf: 0xba,
// Block 0x1f, offset 0x7c0
- 0x7c0: 0x0b, 0x7c1: 0x0b, 0x7c2: 0x0b, 0x7c3: 0x0b, 0x7c4: 0x0b, 0x7c5: 0x0b, 0x7c6: 0x0b, 0x7c7: 0x0b,
- 0x7c8: 0x0b, 0x7c9: 0x0b, 0x7ca: 0x0b, 0x7cb: 0x0b, 0x7cc: 0x0b, 0x7cd: 0x0b, 0x7ce: 0x0b, 0x7cf: 0x0b,
- 0x7d0: 0x0b, 0x7d1: 0x0b, 0x7d2: 0x0b, 0x7d3: 0x0b, 0x7d4: 0x0b, 0x7d5: 0x0b, 0x7d6: 0x0b, 0x7d7: 0x0b,
- 0x7d8: 0x0b, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x0b, 0x7dc: 0x0b, 0x7dd: 0x0b, 0x7de: 0x0b, 0x7df: 0x0b,
- 0x7e0: 0x0b, 0x7e1: 0x0b, 0x7e2: 0x0b, 0x7e3: 0x0b, 0x7e4: 0x0b, 0x7e5: 0x0b, 0x7e6: 0x0b, 0x7e7: 0x0b,
- 0x7e8: 0x0b, 0x7e9: 0x0b, 0x7ea: 0x0b, 0x7eb: 0x0b, 0x7ec: 0x0b, 0x7ed: 0x0b, 0x7ee: 0x0b, 0x7ef: 0x0b,
+ 0x7d0: 0x0d, 0x7d1: 0x0e, 0x7d2: 0x0f, 0x7d3: 0x10, 0x7d4: 0x11, 0x7d5: 0x0b, 0x7d6: 0x12, 0x7d7: 0x07,
+ 0x7d8: 0x13, 0x7d9: 0x0b, 0x7da: 0x0b, 0x7db: 0x14, 0x7dc: 0x0b, 0x7dd: 0x15, 0x7de: 0x16, 0x7df: 0x17,
+ 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07,
+ 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x18, 0x7eb: 0x19, 0x7ec: 0x1a, 0x7ed: 0x07, 0x7ee: 0x1b, 0x7ef: 0x1c,
0x7f0: 0x0b, 0x7f1: 0x0b, 0x7f2: 0x0b, 0x7f3: 0x0b, 0x7f4: 0x0b, 0x7f5: 0x0b, 0x7f6: 0x0b, 0x7f7: 0x0b,
0x7f8: 0x0b, 0x7f9: 0x0b, 0x7fa: 0x0b, 0x7fb: 0x0b, 0x7fc: 0x0b, 0x7fd: 0x0b, 0x7fe: 0x0b, 0x7ff: 0x0b,
// Block 0x20, offset 0x800
- 0x800: 0x177, 0x801: 0x178, 0x802: 0xb8, 0x803: 0xb8, 0x804: 0x179, 0x805: 0x179, 0x806: 0x179, 0x807: 0x17a,
- 0x808: 0xb8, 0x809: 0xb8, 0x80a: 0xb8, 0x80b: 0xb8, 0x80c: 0xb8, 0x80d: 0xb8, 0x80e: 0xb8, 0x80f: 0xb8,
- 0x810: 0xb8, 0x811: 0xb8, 0x812: 0xb8, 0x813: 0xb8, 0x814: 0xb8, 0x815: 0xb8, 0x816: 0xb8, 0x817: 0xb8,
- 0x818: 0xb8, 0x819: 0xb8, 0x81a: 0xb8, 0x81b: 0xb8, 0x81c: 0xb8, 0x81d: 0xb8, 0x81e: 0xb8, 0x81f: 0xb8,
- 0x820: 0xb8, 0x821: 0xb8, 0x822: 0xb8, 0x823: 0xb8, 0x824: 0xb8, 0x825: 0xb8, 0x826: 0xb8, 0x827: 0xb8,
- 0x828: 0xb8, 0x829: 0xb8, 0x82a: 0xb8, 0x82b: 0xb8, 0x82c: 0xb8, 0x82d: 0xb8, 0x82e: 0xb8, 0x82f: 0xb8,
- 0x830: 0xb8, 0x831: 0xb8, 0x832: 0xb8, 0x833: 0xb8, 0x834: 0xb8, 0x835: 0xb8, 0x836: 0xb8, 0x837: 0xb8,
- 0x838: 0xb8, 0x839: 0xb8, 0x83a: 0xb8, 0x83b: 0xb8, 0x83c: 0xb8, 0x83d: 0xb8, 0x83e: 0xb8, 0x83f: 0xb8,
+ 0x800: 0x0b, 0x801: 0x0b, 0x802: 0x0b, 0x803: 0x0b, 0x804: 0x0b, 0x805: 0x0b, 0x806: 0x0b, 0x807: 0x0b,
+ 0x808: 0x0b, 0x809: 0x0b, 0x80a: 0x0b, 0x80b: 0x0b, 0x80c: 0x0b, 0x80d: 0x0b, 0x80e: 0x0b, 0x80f: 0x0b,
+ 0x810: 0x0b, 0x811: 0x0b, 0x812: 0x0b, 0x813: 0x0b, 0x814: 0x0b, 0x815: 0x0b, 0x816: 0x0b, 0x817: 0x0b,
+ 0x818: 0x0b, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x0b, 0x81c: 0x0b, 0x81d: 0x0b, 0x81e: 0x0b, 0x81f: 0x0b,
+ 0x820: 0x0b, 0x821: 0x0b, 0x822: 0x0b, 0x823: 0x0b, 0x824: 0x0b, 0x825: 0x0b, 0x826: 0x0b, 0x827: 0x0b,
+ 0x828: 0x0b, 0x829: 0x0b, 0x82a: 0x0b, 0x82b: 0x0b, 0x82c: 0x0b, 0x82d: 0x0b, 0x82e: 0x0b, 0x82f: 0x0b,
+ 0x830: 0x0b, 0x831: 0x0b, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b,
+ 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b,
// Block 0x21, offset 0x840
- 0x840: 0x0b, 0x841: 0x0b, 0x842: 0x0b, 0x843: 0x0b, 0x844: 0x0b, 0x845: 0x0b, 0x846: 0x0b, 0x847: 0x0b,
- 0x848: 0x0b, 0x849: 0x0b, 0x84a: 0x0b, 0x84b: 0x0b, 0x84c: 0x0b, 0x84d: 0x0b, 0x84e: 0x0b, 0x84f: 0x0b,
- 0x850: 0x0b, 0x851: 0x0b, 0x852: 0x0b, 0x853: 0x0b, 0x854: 0x0b, 0x855: 0x0b, 0x856: 0x0b, 0x857: 0x0b,
- 0x858: 0x0b, 0x859: 0x0b, 0x85a: 0x0b, 0x85b: 0x0b, 0x85c: 0x0b, 0x85d: 0x0b, 0x85e: 0x0b, 0x85f: 0x0b,
- 0x860: 0x1e, 0x861: 0x0b, 0x862: 0x0b, 0x863: 0x0b, 0x864: 0x0b, 0x865: 0x0b, 0x866: 0x0b, 0x867: 0x0b,
- 0x868: 0x0b, 0x869: 0x0b, 0x86a: 0x0b, 0x86b: 0x0b, 0x86c: 0x0b, 0x86d: 0x0b, 0x86e: 0x0b, 0x86f: 0x0b,
- 0x870: 0x0b, 0x871: 0x0b, 0x872: 0x0b, 0x873: 0x0b, 0x874: 0x0b, 0x875: 0x0b, 0x876: 0x0b, 0x877: 0x0b,
- 0x878: 0x0b, 0x879: 0x0b, 0x87a: 0x0b, 0x87b: 0x0b, 0x87c: 0x0b, 0x87d: 0x0b, 0x87e: 0x0b, 0x87f: 0x0b,
+ 0x840: 0x181, 0x841: 0x182, 0x842: 0xba, 0x843: 0xba, 0x844: 0x183, 0x845: 0x183, 0x846: 0x183, 0x847: 0x184,
+ 0x848: 0xba, 0x849: 0xba, 0x84a: 0xba, 0x84b: 0xba, 0x84c: 0xba, 0x84d: 0xba, 0x84e: 0xba, 0x84f: 0xba,
+ 0x850: 0xba, 0x851: 0xba, 0x852: 0xba, 0x853: 0xba, 0x854: 0xba, 0x855: 0xba, 0x856: 0xba, 0x857: 0xba,
+ 0x858: 0xba, 0x859: 0xba, 0x85a: 0xba, 0x85b: 0xba, 0x85c: 0xba, 0x85d: 0xba, 0x85e: 0xba, 0x85f: 0xba,
+ 0x860: 0xba, 0x861: 0xba, 0x862: 0xba, 0x863: 0xba, 0x864: 0xba, 0x865: 0xba, 0x866: 0xba, 0x867: 0xba,
+ 0x868: 0xba, 0x869: 0xba, 0x86a: 0xba, 0x86b: 0xba, 0x86c: 0xba, 0x86d: 0xba, 0x86e: 0xba, 0x86f: 0xba,
+ 0x870: 0xba, 0x871: 0xba, 0x872: 0xba, 0x873: 0xba, 0x874: 0xba, 0x875: 0xba, 0x876: 0xba, 0x877: 0xba,
+ 0x878: 0xba, 0x879: 0xba, 0x87a: 0xba, 0x87b: 0xba, 0x87c: 0xba, 0x87d: 0xba, 0x87e: 0xba, 0x87f: 0xba,
// Block 0x22, offset 0x880
0x880: 0x0b, 0x881: 0x0b, 0x882: 0x0b, 0x883: 0x0b, 0x884: 0x0b, 0x885: 0x0b, 0x886: 0x0b, 0x887: 0x0b,
0x888: 0x0b, 0x889: 0x0b, 0x88a: 0x0b, 0x88b: 0x0b, 0x88c: 0x0b, 0x88d: 0x0b, 0x88e: 0x0b, 0x88f: 0x0b,
+ 0x890: 0x0b, 0x891: 0x0b, 0x892: 0x0b, 0x893: 0x0b, 0x894: 0x0b, 0x895: 0x0b, 0x896: 0x0b, 0x897: 0x0b,
+ 0x898: 0x0b, 0x899: 0x0b, 0x89a: 0x0b, 0x89b: 0x0b, 0x89c: 0x0b, 0x89d: 0x0b, 0x89e: 0x0b, 0x89f: 0x0b,
+ 0x8a0: 0x1f, 0x8a1: 0x0b, 0x8a2: 0x0b, 0x8a3: 0x0b, 0x8a4: 0x0b, 0x8a5: 0x0b, 0x8a6: 0x0b, 0x8a7: 0x0b,
+ 0x8a8: 0x0b, 0x8a9: 0x0b, 0x8aa: 0x0b, 0x8ab: 0x0b, 0x8ac: 0x0b, 0x8ad: 0x0b, 0x8ae: 0x0b, 0x8af: 0x0b,
+ 0x8b0: 0x0b, 0x8b1: 0x0b, 0x8b2: 0x0b, 0x8b3: 0x0b, 0x8b4: 0x0b, 0x8b5: 0x0b, 0x8b6: 0x0b, 0x8b7: 0x0b,
+ 0x8b8: 0x0b, 0x8b9: 0x0b, 0x8ba: 0x0b, 0x8bb: 0x0b, 0x8bc: 0x0b, 0x8bd: 0x0b, 0x8be: 0x0b, 0x8bf: 0x0b,
+ // Block 0x23, offset 0x8c0
+ 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b,
+ 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b,
}
-// idnaSparseOffset: 256 entries, 512 bytes
-var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x5c, 0x60, 0x6f, 0x74, 0x7b, 0x87, 0x95, 0xa3, 0xa8, 0xb1, 0xc1, 0xcf, 0xdc, 0xe8, 0xf9, 0x103, 0x10a, 0x117, 0x128, 0x12f, 0x13a, 0x149, 0x157, 0x161, 0x163, 0x167, 0x169, 0x175, 0x180, 0x188, 0x18e, 0x194, 0x199, 0x19e, 0x1a1, 0x1a5, 0x1ab, 0x1b0, 0x1bc, 0x1c6, 0x1cc, 0x1dd, 0x1e7, 0x1ea, 0x1f2, 0x1f5, 0x202, 0x20a, 0x20e, 0x215, 0x21d, 0x22d, 0x239, 0x23b, 0x245, 0x251, 0x25d, 0x269, 0x271, 0x276, 0x280, 0x291, 0x295, 0x2a0, 0x2a4, 0x2ad, 0x2b5, 0x2bb, 0x2c0, 0x2c3, 0x2c6, 0x2ca, 0x2d0, 0x2d4, 0x2d8, 0x2de, 0x2e5, 0x2eb, 0x2f3, 0x2fa, 0x305, 0x30f, 0x313, 0x316, 0x31c, 0x320, 0x322, 0x325, 0x327, 0x32a, 0x334, 0x337, 0x346, 0x34a, 0x34f, 0x352, 0x356, 0x35b, 0x360, 0x366, 0x36c, 0x37b, 0x381, 0x385, 0x394, 0x399, 0x3a1, 0x3ab, 0x3b6, 0x3be, 0x3cf, 0x3d8, 0x3e8, 0x3f5, 0x3ff, 0x404, 0x411, 0x415, 0x41a, 0x41c, 0x420, 0x422, 0x426, 0x42f, 0x435, 0x439, 0x449, 0x453, 0x458, 0x45b, 0x461, 0x468, 0x46d, 0x471, 0x477, 0x47c, 0x485, 0x48a, 0x490, 0x497, 0x49e, 0x4a5, 0x4a9, 0x4ae, 0x4b1, 0x4b6, 0x4c2, 0x4c8, 0x4cd, 0x4d4, 0x4dc, 0x4e1, 0x4e5, 0x4f5, 0x4fc, 0x500, 0x504, 0x50b, 0x50e, 0x511, 0x515, 0x519, 0x51f, 0x528, 0x534, 0x53b, 0x544, 0x54c, 0x553, 0x561, 0x56e, 0x57b, 0x584, 0x588, 0x596, 0x59e, 0x5a9, 0x5b2, 0x5b8, 0x5c0, 0x5c9, 0x5d3, 0x5d6, 0x5e2, 0x5e5, 0x5ea, 0x5ed, 0x5f7, 0x600, 0x60c, 0x60f, 0x614, 0x617, 0x61a, 0x61d, 0x624, 0x62b, 0x62f, 0x63a, 0x63d, 0x643, 0x648, 0x64c, 0x64f, 0x652, 0x655, 0x65a, 0x664, 0x667, 0x66b, 0x67a, 0x686, 0x68a, 0x68f, 0x694, 0x698, 0x69d, 0x6a6, 0x6b1, 0x6b7, 0x6bf, 0x6c3, 0x6c7, 0x6cd, 0x6d3, 0x6d8, 0x6db, 0x6e9, 0x6f0, 0x6f3, 0x6f6, 0x6fa, 0x700, 0x705, 0x70f, 0x714, 0x717, 0x71a, 0x71d, 0x720, 0x724, 0x727, 0x737, 0x748, 0x74d, 0x74f, 0x751}
+// idnaSparseOffset: 264 entries, 528 bytes
+var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x34, 0x3f, 0x4b, 0x4f, 0x5e, 0x63, 0x6b, 0x77, 0x85, 0x8a, 0x93, 0xa3, 0xb1, 0xbd, 0xc9, 0xda, 0xe4, 0xeb, 0xf8, 0x109, 0x110, 0x11b, 0x12a, 0x138, 0x142, 0x144, 0x149, 0x14c, 0x14f, 0x151, 0x15d, 0x168, 0x170, 0x176, 0x17c, 0x181, 0x186, 0x189, 0x18d, 0x193, 0x198, 0x1a4, 0x1ae, 0x1b4, 0x1c5, 0x1cf, 0x1d2, 0x1da, 0x1dd, 0x1ea, 0x1f2, 0x1f6, 0x1fd, 0x205, 0x215, 0x221, 0x223, 0x22d, 0x239, 0x245, 0x251, 0x259, 0x25e, 0x268, 0x279, 0x27d, 0x288, 0x28c, 0x295, 0x29d, 0x2a3, 0x2a8, 0x2ab, 0x2af, 0x2b5, 0x2b9, 0x2bd, 0x2c3, 0x2ca, 0x2d0, 0x2d8, 0x2df, 0x2ea, 0x2f4, 0x2f8, 0x2fb, 0x301, 0x305, 0x307, 0x30a, 0x30c, 0x30f, 0x319, 0x31c, 0x32b, 0x32f, 0x334, 0x337, 0x33b, 0x340, 0x345, 0x34b, 0x351, 0x360, 0x366, 0x36a, 0x379, 0x37e, 0x386, 0x390, 0x39b, 0x3a3, 0x3b4, 0x3bd, 0x3cd, 0x3da, 0x3e4, 0x3e9, 0x3f6, 0x3fa, 0x3ff, 0x401, 0x405, 0x407, 0x40b, 0x414, 0x41a, 0x41e, 0x42e, 0x438, 0x43d, 0x440, 0x446, 0x44d, 0x452, 0x456, 0x45c, 0x461, 0x46a, 0x46f, 0x475, 0x47c, 0x483, 0x48a, 0x48e, 0x493, 0x496, 0x49b, 0x4a7, 0x4ad, 0x4b2, 0x4b9, 0x4c1, 0x4c6, 0x4ca, 0x4da, 0x4e1, 0x4e5, 0x4e9, 0x4f0, 0x4f2, 0x4f5, 0x4f8, 0x4fc, 0x500, 0x506, 0x50f, 0x51b, 0x522, 0x52b, 0x533, 0x53a, 0x548, 0x555, 0x562, 0x56b, 0x56f, 0x57d, 0x585, 0x590, 0x599, 0x59f, 0x5a7, 0x5b0, 0x5ba, 0x5bd, 0x5c9, 0x5cc, 0x5d1, 0x5de, 0x5e7, 0x5f3, 0x5f6, 0x600, 0x609, 0x615, 0x622, 0x62a, 0x62d, 0x632, 0x635, 0x638, 0x63b, 0x642, 0x649, 0x64d, 0x658, 0x65b, 0x661, 0x666, 0x66a, 0x66d, 0x670, 0x673, 0x676, 0x679, 0x67e, 0x688, 0x68b, 0x68f, 0x69e, 0x6aa, 0x6ae, 0x6b3, 0x6b8, 0x6bc, 0x6c1, 0x6ca, 0x6d5, 0x6db, 0x6e3, 0x6e7, 0x6eb, 0x6f1, 0x6f7, 0x6fc, 0x6ff, 0x70f, 0x716, 0x719, 0x71c, 0x720, 0x726, 0x72b, 0x730, 0x735, 0x738, 0x73d, 0x740, 0x743, 0x747, 0x74b, 0x74e, 0x75e, 0x76f, 0x774, 0x776, 0x778}
-// idnaSparseValues: 1876 entries, 7504 bytes
-var idnaSparseValues = [1876]valueRange{
+// idnaSparseValues: 1915 entries, 7660 bytes
+var idnaSparseValues = [1915]valueRange{
// Block 0x0, offset 0x0
{value: 0x0000, lo: 0x07},
{value: 0xe105, lo: 0x80, hi: 0x96},
@@ -2382,7 +2415,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0xb9, hi: 0xbf},
// Block 0x3, offset 0x25
{value: 0x0000, lo: 0x01},
- {value: 0x1308, lo: 0x80, hi: 0xbf},
+ {value: 0x3308, lo: 0x80, hi: 0xbf},
// Block 0x4, offset 0x27
{value: 0x0000, lo: 0x04},
{value: 0x03f5, lo: 0x80, hi: 0x8f},
@@ -2407,155 +2440,123 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0x8b, hi: 0x8c},
{value: 0x0018, lo: 0x8d, hi: 0x8f},
{value: 0x0040, lo: 0x90, hi: 0x90},
- {value: 0x1308, lo: 0x91, hi: 0xbd},
- {value: 0x0018, lo: 0xbe, hi: 0xbe},
- {value: 0x1308, lo: 0xbf, hi: 0xbf},
+ {value: 0x3308, lo: 0x91, hi: 0xbd},
+ {value: 0x0818, lo: 0xbe, hi: 0xbe},
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
// Block 0x7, offset 0x3f
{value: 0x0000, lo: 0x0b},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x1308, lo: 0x81, hi: 0x82},
- {value: 0x0018, lo: 0x83, hi: 0x83},
- {value: 0x1308, lo: 0x84, hi: 0x85},
- {value: 0x0018, lo: 0x86, hi: 0x86},
- {value: 0x1308, lo: 0x87, hi: 0x87},
+ {value: 0x0818, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x82},
+ {value: 0x0818, lo: 0x83, hi: 0x83},
+ {value: 0x3308, lo: 0x84, hi: 0x85},
+ {value: 0x0818, lo: 0x86, hi: 0x86},
+ {value: 0x3308, lo: 0x87, hi: 0x87},
{value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0xaa},
+ {value: 0x0808, lo: 0x90, hi: 0xaa},
{value: 0x0040, lo: 0xab, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xb4},
+ {value: 0x0808, lo: 0xb0, hi: 0xb4},
{value: 0x0040, lo: 0xb5, hi: 0xbf},
// Block 0x8, offset 0x4b
- {value: 0x0000, lo: 0x10},
- {value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0208, lo: 0x81, hi: 0x87},
- {value: 0x0408, lo: 0x88, hi: 0x88},
- {value: 0x0208, lo: 0x89, hi: 0x8a},
- {value: 0x1308, lo: 0x8b, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa9},
- {value: 0x0018, lo: 0xaa, hi: 0xad},
- {value: 0x0208, lo: 0xae, hi: 0xaf},
- {value: 0x1308, lo: 0xb0, hi: 0xb0},
- {value: 0x0408, lo: 0xb1, hi: 0xb3},
- {value: 0x0008, lo: 0xb4, hi: 0xb4},
- {value: 0x0429, lo: 0xb5, hi: 0xb5},
- {value: 0x0451, lo: 0xb6, hi: 0xb6},
- {value: 0x0479, lo: 0xb7, hi: 0xb7},
- {value: 0x04a1, lo: 0xb8, hi: 0xb8},
- {value: 0x0208, lo: 0xb9, hi: 0xbf},
- // Block 0x9, offset 0x5c
{value: 0x0000, lo: 0x03},
- {value: 0x0208, lo: 0x80, hi: 0x87},
- {value: 0x0408, lo: 0x88, hi: 0x99},
- {value: 0x0208, lo: 0x9a, hi: 0xbf},
- // Block 0xa, offset 0x60
+ {value: 0x0a08, lo: 0x80, hi: 0x87},
+ {value: 0x0c08, lo: 0x88, hi: 0x99},
+ {value: 0x0a08, lo: 0x9a, hi: 0xbf},
+ // Block 0x9, offset 0x4f
{value: 0x0000, lo: 0x0e},
- {value: 0x1308, lo: 0x80, hi: 0x8a},
+ {value: 0x3308, lo: 0x80, hi: 0x8a},
{value: 0x0040, lo: 0x8b, hi: 0x8c},
- {value: 0x0408, lo: 0x8d, hi: 0x8d},
- {value: 0x0208, lo: 0x8e, hi: 0x98},
- {value: 0x0408, lo: 0x99, hi: 0x9b},
- {value: 0x0208, lo: 0x9c, hi: 0xaa},
- {value: 0x0408, lo: 0xab, hi: 0xac},
- {value: 0x0208, lo: 0xad, hi: 0xb0},
- {value: 0x0408, lo: 0xb1, hi: 0xb1},
- {value: 0x0208, lo: 0xb2, hi: 0xb2},
- {value: 0x0408, lo: 0xb3, hi: 0xb4},
- {value: 0x0208, lo: 0xb5, hi: 0xb7},
- {value: 0x0408, lo: 0xb8, hi: 0xb9},
- {value: 0x0208, lo: 0xba, hi: 0xbf},
- // Block 0xb, offset 0x6f
+ {value: 0x0c08, lo: 0x8d, hi: 0x8d},
+ {value: 0x0a08, lo: 0x8e, hi: 0x98},
+ {value: 0x0c08, lo: 0x99, hi: 0x9b},
+ {value: 0x0a08, lo: 0x9c, hi: 0xaa},
+ {value: 0x0c08, lo: 0xab, hi: 0xac},
+ {value: 0x0a08, lo: 0xad, hi: 0xb0},
+ {value: 0x0c08, lo: 0xb1, hi: 0xb1},
+ {value: 0x0a08, lo: 0xb2, hi: 0xb2},
+ {value: 0x0c08, lo: 0xb3, hi: 0xb4},
+ {value: 0x0a08, lo: 0xb5, hi: 0xb7},
+ {value: 0x0c08, lo: 0xb8, hi: 0xb9},
+ {value: 0x0a08, lo: 0xba, hi: 0xbf},
+ // Block 0xa, offset 0x5e
{value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x1308, lo: 0xa6, hi: 0xb0},
- {value: 0x0008, lo: 0xb1, hi: 0xb1},
+ {value: 0x0808, lo: 0x80, hi: 0xa5},
+ {value: 0x3308, lo: 0xa6, hi: 0xb0},
+ {value: 0x0808, lo: 0xb1, hi: 0xb1},
{value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xc, offset 0x74
- {value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x89},
- {value: 0x0208, lo: 0x8a, hi: 0xaa},
- {value: 0x1308, lo: 0xab, hi: 0xb3},
- {value: 0x0008, lo: 0xb4, hi: 0xb5},
- {value: 0x0018, lo: 0xb6, hi: 0xba},
+ // Block 0xb, offset 0x63
+ {value: 0x0000, lo: 0x07},
+ {value: 0x0808, lo: 0x80, hi: 0x89},
+ {value: 0x0a08, lo: 0x8a, hi: 0xaa},
+ {value: 0x3308, lo: 0xab, hi: 0xb3},
+ {value: 0x0808, lo: 0xb4, hi: 0xb5},
+ {value: 0x0018, lo: 0xb6, hi: 0xb9},
+ {value: 0x0818, lo: 0xba, hi: 0xba},
{value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0xd, offset 0x7b
+ // Block 0xc, offset 0x6b
{value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x1308, lo: 0x96, hi: 0x99},
- {value: 0x0008, lo: 0x9a, hi: 0x9a},
- {value: 0x1308, lo: 0x9b, hi: 0xa3},
- {value: 0x0008, lo: 0xa4, hi: 0xa4},
- {value: 0x1308, lo: 0xa5, hi: 0xa7},
- {value: 0x0008, lo: 0xa8, hi: 0xa8},
- {value: 0x1308, lo: 0xa9, hi: 0xad},
+ {value: 0x0808, lo: 0x80, hi: 0x95},
+ {value: 0x3308, lo: 0x96, hi: 0x99},
+ {value: 0x0808, lo: 0x9a, hi: 0x9a},
+ {value: 0x3308, lo: 0x9b, hi: 0xa3},
+ {value: 0x0808, lo: 0xa4, hi: 0xa4},
+ {value: 0x3308, lo: 0xa5, hi: 0xa7},
+ {value: 0x0808, lo: 0xa8, hi: 0xa8},
+ {value: 0x3308, lo: 0xa9, hi: 0xad},
{value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xbe},
+ {value: 0x0818, lo: 0xb0, hi: 0xbe},
{value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xe, offset 0x87
- {value: 0x0000, lo: 0x0d},
- {value: 0x0408, lo: 0x80, hi: 0x80},
- {value: 0x0208, lo: 0x81, hi: 0x85},
- {value: 0x0408, lo: 0x86, hi: 0x87},
- {value: 0x0208, lo: 0x88, hi: 0x88},
- {value: 0x0408, lo: 0x89, hi: 0x89},
- {value: 0x0208, lo: 0x8a, hi: 0x93},
- {value: 0x0408, lo: 0x94, hi: 0x94},
- {value: 0x0208, lo: 0x95, hi: 0x95},
- {value: 0x0008, lo: 0x96, hi: 0x98},
- {value: 0x1308, lo: 0x99, hi: 0x9b},
- {value: 0x0040, lo: 0x9c, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xbf},
- // Block 0xf, offset 0x95
+ // Block 0xd, offset 0x77
{value: 0x0000, lo: 0x0d},
{value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0208, lo: 0xa0, hi: 0xa9},
- {value: 0x0408, lo: 0xaa, hi: 0xac},
- {value: 0x0008, lo: 0xad, hi: 0xad},
- {value: 0x0408, lo: 0xae, hi: 0xae},
- {value: 0x0208, lo: 0xaf, hi: 0xb0},
- {value: 0x0408, lo: 0xb1, hi: 0xb2},
- {value: 0x0208, lo: 0xb3, hi: 0xb4},
+ {value: 0x0a08, lo: 0xa0, hi: 0xa9},
+ {value: 0x0c08, lo: 0xaa, hi: 0xac},
+ {value: 0x0808, lo: 0xad, hi: 0xad},
+ {value: 0x0c08, lo: 0xae, hi: 0xae},
+ {value: 0x0a08, lo: 0xaf, hi: 0xb0},
+ {value: 0x0c08, lo: 0xb1, hi: 0xb2},
+ {value: 0x0a08, lo: 0xb3, hi: 0xb4},
{value: 0x0040, lo: 0xb5, hi: 0xb5},
- {value: 0x0208, lo: 0xb6, hi: 0xb8},
- {value: 0x0408, lo: 0xb9, hi: 0xb9},
- {value: 0x0208, lo: 0xba, hi: 0xbd},
+ {value: 0x0a08, lo: 0xb6, hi: 0xb8},
+ {value: 0x0c08, lo: 0xb9, hi: 0xb9},
+ {value: 0x0a08, lo: 0xba, hi: 0xbd},
{value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x10, offset 0xa3
+ // Block 0xe, offset 0x85
{value: 0x0000, lo: 0x04},
{value: 0x0040, lo: 0x80, hi: 0x93},
- {value: 0x1308, lo: 0x94, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x1308, lo: 0xa3, hi: 0xbf},
- // Block 0x11, offset 0xa8
+ {value: 0x3308, lo: 0x94, hi: 0xa1},
+ {value: 0x0840, lo: 0xa2, hi: 0xa2},
+ {value: 0x3308, lo: 0xa3, hi: 0xbf},
+ // Block 0xf, offset 0x8a
{value: 0x0000, lo: 0x08},
- {value: 0x1308, lo: 0x80, hi: 0x82},
- {value: 0x1008, lo: 0x83, hi: 0x83},
+ {value: 0x3308, lo: 0x80, hi: 0x82},
+ {value: 0x3008, lo: 0x83, hi: 0x83},
{value: 0x0008, lo: 0x84, hi: 0xb9},
- {value: 0x1308, lo: 0xba, hi: 0xba},
- {value: 0x1008, lo: 0xbb, hi: 0xbb},
- {value: 0x1308, lo: 0xbc, hi: 0xbc},
+ {value: 0x3308, lo: 0xba, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbc},
{value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x1008, lo: 0xbe, hi: 0xbf},
- // Block 0x12, offset 0xb1
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0x10, offset 0x93
{value: 0x0000, lo: 0x0f},
- {value: 0x1308, lo: 0x80, hi: 0x80},
- {value: 0x1008, lo: 0x81, hi: 0x82},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x3008, lo: 0x81, hi: 0x82},
{value: 0x0040, lo: 0x83, hi: 0x85},
- {value: 0x1008, lo: 0x86, hi: 0x88},
+ {value: 0x3008, lo: 0x86, hi: 0x88},
{value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x1008, lo: 0x8a, hi: 0x8c},
- {value: 0x1b08, lo: 0x8d, hi: 0x8d},
+ {value: 0x3008, lo: 0x8a, hi: 0x8c},
+ {value: 0x3b08, lo: 0x8d, hi: 0x8d},
{value: 0x0040, lo: 0x8e, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x90},
{value: 0x0040, lo: 0x91, hi: 0x96},
- {value: 0x1008, lo: 0x97, hi: 0x97},
+ {value: 0x3008, lo: 0x97, hi: 0x97},
{value: 0x0040, lo: 0x98, hi: 0xa5},
{value: 0x0008, lo: 0xa6, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xba},
{value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x13, offset 0xc1
+ // Block 0x11, offset 0xa3
{value: 0x0000, lo: 0x0d},
- {value: 0x1308, lo: 0x80, hi: 0x80},
- {value: 0x1008, lo: 0x81, hi: 0x83},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x3008, lo: 0x81, hi: 0x83},
{value: 0x0040, lo: 0x84, hi: 0x84},
{value: 0x0008, lo: 0x85, hi: 0x8c},
{value: 0x0040, lo: 0x8d, hi: 0x8d},
@@ -2566,25 +2567,24 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0xaa, hi: 0xb9},
{value: 0x0040, lo: 0xba, hi: 0xbc},
{value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x1308, lo: 0xbe, hi: 0xbf},
- // Block 0x14, offset 0xcf
- {value: 0x0000, lo: 0x0c},
- {value: 0x0040, lo: 0x80, hi: 0x80},
- {value: 0x1308, lo: 0x81, hi: 0x81},
- {value: 0x1008, lo: 0x82, hi: 0x83},
+ {value: 0x3308, lo: 0xbe, hi: 0xbf},
+ // Block 0x12, offset 0xb1
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x3308, lo: 0x80, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x83},
{value: 0x0040, lo: 0x84, hi: 0x84},
{value: 0x0008, lo: 0x85, hi: 0x8c},
{value: 0x0040, lo: 0x8d, hi: 0x8d},
{value: 0x0008, lo: 0x8e, hi: 0x90},
{value: 0x0040, lo: 0x91, hi: 0x91},
{value: 0x0008, lo: 0x92, hi: 0xba},
- {value: 0x0040, lo: 0xbb, hi: 0xbc},
+ {value: 0x3b08, lo: 0xbb, hi: 0xbc},
{value: 0x0008, lo: 0xbd, hi: 0xbd},
- {value: 0x1008, lo: 0xbe, hi: 0xbf},
- // Block 0x15, offset 0xdc
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0x13, offset 0xbd
{value: 0x0000, lo: 0x0b},
{value: 0x0040, lo: 0x80, hi: 0x81},
- {value: 0x1008, lo: 0x82, hi: 0x83},
+ {value: 0x3008, lo: 0x82, hi: 0x83},
{value: 0x0040, lo: 0x84, hi: 0x84},
{value: 0x0008, lo: 0x85, hi: 0x96},
{value: 0x0040, lo: 0x97, hi: 0x99},
@@ -2594,50 +2594,50 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xbc, hi: 0xbc},
{value: 0x0008, lo: 0xbd, hi: 0xbd},
{value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x16, offset 0xe8
+ // Block 0x14, offset 0xc9
{value: 0x0000, lo: 0x10},
{value: 0x0008, lo: 0x80, hi: 0x86},
{value: 0x0040, lo: 0x87, hi: 0x89},
- {value: 0x1b08, lo: 0x8a, hi: 0x8a},
+ {value: 0x3b08, lo: 0x8a, hi: 0x8a},
{value: 0x0040, lo: 0x8b, hi: 0x8e},
- {value: 0x1008, lo: 0x8f, hi: 0x91},
- {value: 0x1308, lo: 0x92, hi: 0x94},
+ {value: 0x3008, lo: 0x8f, hi: 0x91},
+ {value: 0x3308, lo: 0x92, hi: 0x94},
{value: 0x0040, lo: 0x95, hi: 0x95},
- {value: 0x1308, lo: 0x96, hi: 0x96},
+ {value: 0x3308, lo: 0x96, hi: 0x96},
{value: 0x0040, lo: 0x97, hi: 0x97},
- {value: 0x1008, lo: 0x98, hi: 0x9f},
+ {value: 0x3008, lo: 0x98, hi: 0x9f},
{value: 0x0040, lo: 0xa0, hi: 0xa5},
{value: 0x0008, lo: 0xa6, hi: 0xaf},
{value: 0x0040, lo: 0xb0, hi: 0xb1},
- {value: 0x1008, lo: 0xb2, hi: 0xb3},
+ {value: 0x3008, lo: 0xb2, hi: 0xb3},
{value: 0x0018, lo: 0xb4, hi: 0xb4},
{value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x17, offset 0xf9
+ // Block 0x15, offset 0xda
{value: 0x0000, lo: 0x09},
{value: 0x0040, lo: 0x80, hi: 0x80},
{value: 0x0008, lo: 0x81, hi: 0xb0},
- {value: 0x1308, lo: 0xb1, hi: 0xb1},
+ {value: 0x3308, lo: 0xb1, hi: 0xb1},
{value: 0x0008, lo: 0xb2, hi: 0xb2},
{value: 0x08f1, lo: 0xb3, hi: 0xb3},
- {value: 0x1308, lo: 0xb4, hi: 0xb9},
- {value: 0x1b08, lo: 0xba, hi: 0xba},
+ {value: 0x3308, lo: 0xb4, hi: 0xb9},
+ {value: 0x3b08, lo: 0xba, hi: 0xba},
{value: 0x0040, lo: 0xbb, hi: 0xbe},
{value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0x18, offset 0x103
+ // Block 0x16, offset 0xe4
{value: 0x0000, lo: 0x06},
{value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x1308, lo: 0x87, hi: 0x8e},
+ {value: 0x3308, lo: 0x87, hi: 0x8e},
{value: 0x0018, lo: 0x8f, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
{value: 0x0018, lo: 0x9a, hi: 0x9b},
{value: 0x0040, lo: 0x9c, hi: 0xbf},
- // Block 0x19, offset 0x10a
+ // Block 0x17, offset 0xeb
{value: 0x0000, lo: 0x0c},
{value: 0x0008, lo: 0x80, hi: 0x84},
{value: 0x0040, lo: 0x85, hi: 0x85},
{value: 0x0008, lo: 0x86, hi: 0x86},
{value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x1308, lo: 0x88, hi: 0x8d},
+ {value: 0x3308, lo: 0x88, hi: 0x8d},
{value: 0x0040, lo: 0x8e, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9b},
@@ -2645,76 +2645,76 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0999, lo: 0x9d, hi: 0x9d},
{value: 0x0008, lo: 0x9e, hi: 0x9f},
{value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x1a, offset 0x117
+ // Block 0x18, offset 0xf8
{value: 0x0000, lo: 0x10},
{value: 0x0008, lo: 0x80, hi: 0x80},
{value: 0x0018, lo: 0x81, hi: 0x8a},
{value: 0x0008, lo: 0x8b, hi: 0x8b},
{value: 0xe03d, lo: 0x8c, hi: 0x8c},
{value: 0x0018, lo: 0x8d, hi: 0x97},
- {value: 0x1308, lo: 0x98, hi: 0x99},
+ {value: 0x3308, lo: 0x98, hi: 0x99},
{value: 0x0018, lo: 0x9a, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xa9},
{value: 0x0018, lo: 0xaa, hi: 0xb4},
- {value: 0x1308, lo: 0xb5, hi: 0xb5},
+ {value: 0x3308, lo: 0xb5, hi: 0xb5},
{value: 0x0018, lo: 0xb6, hi: 0xb6},
- {value: 0x1308, lo: 0xb7, hi: 0xb7},
+ {value: 0x3308, lo: 0xb7, hi: 0xb7},
{value: 0x0018, lo: 0xb8, hi: 0xb8},
- {value: 0x1308, lo: 0xb9, hi: 0xb9},
+ {value: 0x3308, lo: 0xb9, hi: 0xb9},
{value: 0x0018, lo: 0xba, hi: 0xbd},
- {value: 0x1008, lo: 0xbe, hi: 0xbf},
- // Block 0x1b, offset 0x128
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0x19, offset 0x109
{value: 0x0000, lo: 0x06},
{value: 0x0018, lo: 0x80, hi: 0x85},
- {value: 0x1308, lo: 0x86, hi: 0x86},
+ {value: 0x3308, lo: 0x86, hi: 0x86},
{value: 0x0018, lo: 0x87, hi: 0x8c},
{value: 0x0040, lo: 0x8d, hi: 0x8d},
{value: 0x0018, lo: 0x8e, hi: 0x9a},
{value: 0x0040, lo: 0x9b, hi: 0xbf},
- // Block 0x1c, offset 0x12f
+ // Block 0x1a, offset 0x110
{value: 0x0000, lo: 0x0a},
{value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x1008, lo: 0xab, hi: 0xac},
- {value: 0x1308, lo: 0xad, hi: 0xb0},
- {value: 0x1008, lo: 0xb1, hi: 0xb1},
- {value: 0x1308, lo: 0xb2, hi: 0xb7},
- {value: 0x1008, lo: 0xb8, hi: 0xb8},
- {value: 0x1b08, lo: 0xb9, hi: 0xba},
- {value: 0x1008, lo: 0xbb, hi: 0xbc},
- {value: 0x1308, lo: 0xbd, hi: 0xbe},
+ {value: 0x3008, lo: 0xab, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xb0},
+ {value: 0x3008, lo: 0xb1, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb7},
+ {value: 0x3008, lo: 0xb8, hi: 0xb8},
+ {value: 0x3b08, lo: 0xb9, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbc},
+ {value: 0x3308, lo: 0xbd, hi: 0xbe},
{value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x1d, offset 0x13a
+ // Block 0x1b, offset 0x11b
{value: 0x0000, lo: 0x0e},
{value: 0x0008, lo: 0x80, hi: 0x89},
{value: 0x0018, lo: 0x8a, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x95},
- {value: 0x1008, lo: 0x96, hi: 0x97},
- {value: 0x1308, lo: 0x98, hi: 0x99},
+ {value: 0x3008, lo: 0x96, hi: 0x97},
+ {value: 0x3308, lo: 0x98, hi: 0x99},
{value: 0x0008, lo: 0x9a, hi: 0x9d},
- {value: 0x1308, lo: 0x9e, hi: 0xa0},
+ {value: 0x3308, lo: 0x9e, hi: 0xa0},
{value: 0x0008, lo: 0xa1, hi: 0xa1},
- {value: 0x1008, lo: 0xa2, hi: 0xa4},
+ {value: 0x3008, lo: 0xa2, hi: 0xa4},
{value: 0x0008, lo: 0xa5, hi: 0xa6},
- {value: 0x1008, lo: 0xa7, hi: 0xad},
+ {value: 0x3008, lo: 0xa7, hi: 0xad},
{value: 0x0008, lo: 0xae, hi: 0xb0},
- {value: 0x1308, lo: 0xb1, hi: 0xb4},
+ {value: 0x3308, lo: 0xb1, hi: 0xb4},
{value: 0x0008, lo: 0xb5, hi: 0xbf},
- // Block 0x1e, offset 0x149
+ // Block 0x1c, offset 0x12a
{value: 0x0000, lo: 0x0d},
{value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x1308, lo: 0x82, hi: 0x82},
- {value: 0x1008, lo: 0x83, hi: 0x84},
- {value: 0x1308, lo: 0x85, hi: 0x86},
- {value: 0x1008, lo: 0x87, hi: 0x8c},
- {value: 0x1308, lo: 0x8d, hi: 0x8d},
+ {value: 0x3308, lo: 0x82, hi: 0x82},
+ {value: 0x3008, lo: 0x83, hi: 0x84},
+ {value: 0x3308, lo: 0x85, hi: 0x86},
+ {value: 0x3008, lo: 0x87, hi: 0x8c},
+ {value: 0x3308, lo: 0x8d, hi: 0x8d},
{value: 0x0008, lo: 0x8e, hi: 0x8e},
- {value: 0x1008, lo: 0x8f, hi: 0x8f},
+ {value: 0x3008, lo: 0x8f, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
- {value: 0x1008, lo: 0x9a, hi: 0x9c},
- {value: 0x1308, lo: 0x9d, hi: 0x9d},
+ {value: 0x3008, lo: 0x9a, hi: 0x9c},
+ {value: 0x3308, lo: 0x9d, hi: 0x9d},
{value: 0x0018, lo: 0x9e, hi: 0x9f},
{value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0x1f, offset 0x157
+ // Block 0x1d, offset 0x138
{value: 0x0000, lo: 0x09},
{value: 0x0040, lo: 0x80, hi: 0x86},
{value: 0x055d, lo: 0x87, hi: 0x87},
@@ -2725,18 +2725,27 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0018, lo: 0xbb, hi: 0xbb},
{value: 0xe105, lo: 0xbc, hi: 0xbc},
{value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0x20, offset 0x161
+ // Block 0x1e, offset 0x142
{value: 0x0000, lo: 0x01},
{value: 0x0018, lo: 0x80, hi: 0xbf},
- // Block 0x21, offset 0x163
- {value: 0x0000, lo: 0x03},
+ // Block 0x1f, offset 0x144
+ {value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0x9e},
{value: 0x0040, lo: 0x9f, hi: 0xa0},
- {value: 0x0018, lo: 0xa1, hi: 0xbf},
- // Block 0x22, offset 0x167
+ {value: 0x2018, lo: 0xa1, hi: 0xb5},
+ {value: 0x0018, lo: 0xb6, hi: 0xbf},
+ // Block 0x20, offset 0x149
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0018, lo: 0x80, hi: 0xa7},
+ {value: 0x2018, lo: 0xa8, hi: 0xbf},
+ // Block 0x21, offset 0x14c
+ {value: 0x0000, lo: 0x02},
+ {value: 0x2018, lo: 0x80, hi: 0x82},
+ {value: 0x0018, lo: 0x83, hi: 0xbf},
+ // Block 0x22, offset 0x14f
{value: 0x0000, lo: 0x01},
{value: 0x0008, lo: 0x80, hi: 0xbf},
- // Block 0x23, offset 0x169
+ // Block 0x23, offset 0x151
{value: 0x0000, lo: 0x0b},
{value: 0x0008, lo: 0x80, hi: 0x88},
{value: 0x0040, lo: 0x89, hi: 0x89},
@@ -2749,7 +2758,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0x9a, hi: 0x9d},
{value: 0x0040, lo: 0x9e, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x24, offset 0x175
+ // Block 0x24, offset 0x15d
{value: 0x0000, lo: 0x0a},
{value: 0x0008, lo: 0x80, hi: 0x88},
{value: 0x0040, lo: 0x89, hi: 0x89},
@@ -2761,7 +2770,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xb6, hi: 0xb7},
{value: 0x0008, lo: 0xb8, hi: 0xbe},
{value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x25, offset 0x180
+ // Block 0x25, offset 0x168
{value: 0x0000, lo: 0x07},
{value: 0x0008, lo: 0x80, hi: 0x80},
{value: 0x0040, lo: 0x81, hi: 0x81},
@@ -2770,146 +2779,146 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0x88, hi: 0x96},
{value: 0x0040, lo: 0x97, hi: 0x97},
{value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x26, offset 0x188
+ // Block 0x26, offset 0x170
{value: 0x0000, lo: 0x05},
{value: 0x0008, lo: 0x80, hi: 0x90},
{value: 0x0040, lo: 0x91, hi: 0x91},
{value: 0x0008, lo: 0x92, hi: 0x95},
{value: 0x0040, lo: 0x96, hi: 0x97},
{value: 0x0008, lo: 0x98, hi: 0xbf},
- // Block 0x27, offset 0x18e
+ // Block 0x27, offset 0x176
{value: 0x0000, lo: 0x05},
{value: 0x0008, lo: 0x80, hi: 0x9a},
{value: 0x0040, lo: 0x9b, hi: 0x9c},
- {value: 0x1308, lo: 0x9d, hi: 0x9f},
+ {value: 0x3308, lo: 0x9d, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xbc},
{value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x28, offset 0x194
+ // Block 0x28, offset 0x17c
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0x8f},
{value: 0x0018, lo: 0x90, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x29, offset 0x199
+ // Block 0x29, offset 0x181
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0xb5},
{value: 0x0040, lo: 0xb6, hi: 0xb7},
{value: 0xe045, lo: 0xb8, hi: 0xbd},
{value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x2a, offset 0x19e
+ // Block 0x2a, offset 0x186
{value: 0x0000, lo: 0x02},
{value: 0x0018, lo: 0x80, hi: 0x80},
{value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x2b, offset 0x1a1
+ // Block 0x2b, offset 0x189
{value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0xac},
{value: 0x0018, lo: 0xad, hi: 0xae},
{value: 0x0008, lo: 0xaf, hi: 0xbf},
- // Block 0x2c, offset 0x1a5
+ // Block 0x2c, offset 0x18d
{value: 0x0000, lo: 0x05},
{value: 0x0040, lo: 0x80, hi: 0x80},
{value: 0x0008, lo: 0x81, hi: 0x9a},
{value: 0x0018, lo: 0x9b, hi: 0x9c},
{value: 0x0040, lo: 0x9d, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x2d, offset 0x1ab
+ // Block 0x2d, offset 0x193
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0xaa},
{value: 0x0018, lo: 0xab, hi: 0xb0},
{value: 0x0008, lo: 0xb1, hi: 0xb8},
{value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0x2e, offset 0x1b0
+ // Block 0x2e, offset 0x198
{value: 0x0000, lo: 0x0b},
{value: 0x0008, lo: 0x80, hi: 0x8c},
{value: 0x0040, lo: 0x8d, hi: 0x8d},
{value: 0x0008, lo: 0x8e, hi: 0x91},
- {value: 0x1308, lo: 0x92, hi: 0x93},
- {value: 0x1b08, lo: 0x94, hi: 0x94},
+ {value: 0x3308, lo: 0x92, hi: 0x93},
+ {value: 0x3b08, lo: 0x94, hi: 0x94},
{value: 0x0040, lo: 0x95, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xb1},
- {value: 0x1308, lo: 0xb2, hi: 0xb3},
- {value: 0x1b08, lo: 0xb4, hi: 0xb4},
+ {value: 0x3308, lo: 0xb2, hi: 0xb3},
+ {value: 0x3b08, lo: 0xb4, hi: 0xb4},
{value: 0x0018, lo: 0xb5, hi: 0xb6},
{value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x2f, offset 0x1bc
+ // Block 0x2f, offset 0x1a4
{value: 0x0000, lo: 0x09},
{value: 0x0008, lo: 0x80, hi: 0x91},
- {value: 0x1308, lo: 0x92, hi: 0x93},
+ {value: 0x3308, lo: 0x92, hi: 0x93},
{value: 0x0040, lo: 0x94, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xac},
{value: 0x0040, lo: 0xad, hi: 0xad},
{value: 0x0008, lo: 0xae, hi: 0xb0},
{value: 0x0040, lo: 0xb1, hi: 0xb1},
- {value: 0x1308, lo: 0xb2, hi: 0xb3},
+ {value: 0x3308, lo: 0xb2, hi: 0xb3},
{value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x30, offset 0x1c6
+ // Block 0x30, offset 0x1ae
{value: 0x0000, lo: 0x05},
{value: 0x0008, lo: 0x80, hi: 0xb3},
- {value: 0x1340, lo: 0xb4, hi: 0xb5},
- {value: 0x1008, lo: 0xb6, hi: 0xb6},
- {value: 0x1308, lo: 0xb7, hi: 0xbd},
- {value: 0x1008, lo: 0xbe, hi: 0xbf},
- // Block 0x31, offset 0x1cc
+ {value: 0x3340, lo: 0xb4, hi: 0xb5},
+ {value: 0x3008, lo: 0xb6, hi: 0xb6},
+ {value: 0x3308, lo: 0xb7, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbf},
+ // Block 0x31, offset 0x1b4
{value: 0x0000, lo: 0x10},
- {value: 0x1008, lo: 0x80, hi: 0x85},
- {value: 0x1308, lo: 0x86, hi: 0x86},
- {value: 0x1008, lo: 0x87, hi: 0x88},
- {value: 0x1308, lo: 0x89, hi: 0x91},
- {value: 0x1b08, lo: 0x92, hi: 0x92},
- {value: 0x1308, lo: 0x93, hi: 0x93},
+ {value: 0x3008, lo: 0x80, hi: 0x85},
+ {value: 0x3308, lo: 0x86, hi: 0x86},
+ {value: 0x3008, lo: 0x87, hi: 0x88},
+ {value: 0x3308, lo: 0x89, hi: 0x91},
+ {value: 0x3b08, lo: 0x92, hi: 0x92},
+ {value: 0x3308, lo: 0x93, hi: 0x93},
{value: 0x0018, lo: 0x94, hi: 0x96},
{value: 0x0008, lo: 0x97, hi: 0x97},
{value: 0x0018, lo: 0x98, hi: 0x9b},
{value: 0x0008, lo: 0x9c, hi: 0x9c},
- {value: 0x1308, lo: 0x9d, hi: 0x9d},
+ {value: 0x3308, lo: 0x9d, hi: 0x9d},
{value: 0x0040, lo: 0x9e, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xa9},
{value: 0x0040, lo: 0xaa, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xb9},
{value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x32, offset 0x1dd
+ // Block 0x32, offset 0x1c5
{value: 0x0000, lo: 0x09},
{value: 0x0018, lo: 0x80, hi: 0x85},
{value: 0x0040, lo: 0x86, hi: 0x86},
{value: 0x0218, lo: 0x87, hi: 0x87},
{value: 0x0018, lo: 0x88, hi: 0x8a},
- {value: 0x13c0, lo: 0x8b, hi: 0x8d},
+ {value: 0x33c0, lo: 0x8b, hi: 0x8d},
{value: 0x0040, lo: 0x8e, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9f},
{value: 0x0208, lo: 0xa0, hi: 0xbf},
- // Block 0x33, offset 0x1e7
+ // Block 0x33, offset 0x1cf
{value: 0x0000, lo: 0x02},
{value: 0x0208, lo: 0x80, hi: 0xb7},
{value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x34, offset 0x1ea
+ // Block 0x34, offset 0x1d2
{value: 0x0000, lo: 0x07},
{value: 0x0008, lo: 0x80, hi: 0x84},
- {value: 0x1308, lo: 0x85, hi: 0x86},
+ {value: 0x3308, lo: 0x85, hi: 0x86},
{value: 0x0208, lo: 0x87, hi: 0xa8},
- {value: 0x1308, lo: 0xa9, hi: 0xa9},
+ {value: 0x3308, lo: 0xa9, hi: 0xa9},
{value: 0x0208, lo: 0xaa, hi: 0xaa},
{value: 0x0040, lo: 0xab, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x35, offset 0x1f2
+ // Block 0x35, offset 0x1da
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0xb5},
{value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0x36, offset 0x1f5
+ // Block 0x36, offset 0x1dd
{value: 0x0000, lo: 0x0c},
{value: 0x0008, lo: 0x80, hi: 0x9e},
{value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x1308, lo: 0xa0, hi: 0xa2},
- {value: 0x1008, lo: 0xa3, hi: 0xa6},
- {value: 0x1308, lo: 0xa7, hi: 0xa8},
- {value: 0x1008, lo: 0xa9, hi: 0xab},
+ {value: 0x3308, lo: 0xa0, hi: 0xa2},
+ {value: 0x3008, lo: 0xa3, hi: 0xa6},
+ {value: 0x3308, lo: 0xa7, hi: 0xa8},
+ {value: 0x3008, lo: 0xa9, hi: 0xab},
{value: 0x0040, lo: 0xac, hi: 0xaf},
- {value: 0x1008, lo: 0xb0, hi: 0xb1},
- {value: 0x1308, lo: 0xb2, hi: 0xb2},
- {value: 0x1008, lo: 0xb3, hi: 0xb8},
- {value: 0x1308, lo: 0xb9, hi: 0xbb},
+ {value: 0x3008, lo: 0xb0, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb2},
+ {value: 0x3008, lo: 0xb3, hi: 0xb8},
+ {value: 0x3308, lo: 0xb9, hi: 0xbb},
{value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x37, offset 0x202
+ // Block 0x37, offset 0x1ea
{value: 0x0000, lo: 0x07},
{value: 0x0018, lo: 0x80, hi: 0x80},
{value: 0x0040, lo: 0x81, hi: 0x83},
@@ -2918,12 +2927,12 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xae, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xb4},
{value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0x38, offset 0x20a
+ // Block 0x38, offset 0x1f2
{value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0xab},
{value: 0x0040, lo: 0xac, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x39, offset 0x20e
+ // Block 0x39, offset 0x1f6
{value: 0x0000, lo: 0x06},
{value: 0x0008, lo: 0x80, hi: 0x89},
{value: 0x0040, lo: 0x8a, hi: 0x8f},
@@ -2931,33 +2940,33 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0028, lo: 0x9a, hi: 0x9a},
{value: 0x0040, lo: 0x9b, hi: 0x9d},
{value: 0x0018, lo: 0x9e, hi: 0xbf},
- // Block 0x3a, offset 0x215
+ // Block 0x3a, offset 0x1fd
{value: 0x0000, lo: 0x07},
{value: 0x0008, lo: 0x80, hi: 0x96},
- {value: 0x1308, lo: 0x97, hi: 0x98},
- {value: 0x1008, lo: 0x99, hi: 0x9a},
- {value: 0x1308, lo: 0x9b, hi: 0x9b},
+ {value: 0x3308, lo: 0x97, hi: 0x98},
+ {value: 0x3008, lo: 0x99, hi: 0x9a},
+ {value: 0x3308, lo: 0x9b, hi: 0x9b},
{value: 0x0040, lo: 0x9c, hi: 0x9d},
{value: 0x0018, lo: 0x9e, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x3b, offset 0x21d
+ // Block 0x3b, offset 0x205
{value: 0x0000, lo: 0x0f},
{value: 0x0008, lo: 0x80, hi: 0x94},
- {value: 0x1008, lo: 0x95, hi: 0x95},
- {value: 0x1308, lo: 0x96, hi: 0x96},
- {value: 0x1008, lo: 0x97, hi: 0x97},
- {value: 0x1308, lo: 0x98, hi: 0x9e},
+ {value: 0x3008, lo: 0x95, hi: 0x95},
+ {value: 0x3308, lo: 0x96, hi: 0x96},
+ {value: 0x3008, lo: 0x97, hi: 0x97},
+ {value: 0x3308, lo: 0x98, hi: 0x9e},
{value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x1b08, lo: 0xa0, hi: 0xa0},
- {value: 0x1008, lo: 0xa1, hi: 0xa1},
- {value: 0x1308, lo: 0xa2, hi: 0xa2},
- {value: 0x1008, lo: 0xa3, hi: 0xa4},
- {value: 0x1308, lo: 0xa5, hi: 0xac},
- {value: 0x1008, lo: 0xad, hi: 0xb2},
- {value: 0x1308, lo: 0xb3, hi: 0xbc},
+ {value: 0x3b08, lo: 0xa0, hi: 0xa0},
+ {value: 0x3008, lo: 0xa1, hi: 0xa1},
+ {value: 0x3308, lo: 0xa2, hi: 0xa2},
+ {value: 0x3008, lo: 0xa3, hi: 0xa4},
+ {value: 0x3308, lo: 0xa5, hi: 0xac},
+ {value: 0x3008, lo: 0xad, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xbc},
{value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x1308, lo: 0xbf, hi: 0xbf},
- // Block 0x3c, offset 0x22d
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
+ // Block 0x3c, offset 0x215
{value: 0x0000, lo: 0x0b},
{value: 0x0008, lo: 0x80, hi: 0x89},
{value: 0x0040, lo: 0x8a, hi: 0x8f},
@@ -2967,78 +2976,78 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0xa7, hi: 0xa7},
{value: 0x0018, lo: 0xa8, hi: 0xad},
{value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x1308, lo: 0xb0, hi: 0xbd},
- {value: 0x1318, lo: 0xbe, hi: 0xbe},
+ {value: 0x3308, lo: 0xb0, hi: 0xbd},
+ {value: 0x3318, lo: 0xbe, hi: 0xbe},
{value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x3d, offset 0x239
+ // Block 0x3d, offset 0x221
{value: 0x0000, lo: 0x01},
{value: 0x0040, lo: 0x80, hi: 0xbf},
- // Block 0x3e, offset 0x23b
+ // Block 0x3e, offset 0x223
{value: 0x0000, lo: 0x09},
- {value: 0x1308, lo: 0x80, hi: 0x83},
- {value: 0x1008, lo: 0x84, hi: 0x84},
+ {value: 0x3308, lo: 0x80, hi: 0x83},
+ {value: 0x3008, lo: 0x84, hi: 0x84},
{value: 0x0008, lo: 0x85, hi: 0xb3},
- {value: 0x1308, lo: 0xb4, hi: 0xb4},
- {value: 0x1008, lo: 0xb5, hi: 0xb5},
- {value: 0x1308, lo: 0xb6, hi: 0xba},
- {value: 0x1008, lo: 0xbb, hi: 0xbb},
- {value: 0x1308, lo: 0xbc, hi: 0xbc},
- {value: 0x1008, lo: 0xbd, hi: 0xbf},
- // Block 0x3f, offset 0x245
+ {value: 0x3308, lo: 0xb4, hi: 0xb4},
+ {value: 0x3008, lo: 0xb5, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbc},
+ {value: 0x3008, lo: 0xbd, hi: 0xbf},
+ // Block 0x3f, offset 0x22d
{value: 0x0000, lo: 0x0b},
- {value: 0x1008, lo: 0x80, hi: 0x81},
- {value: 0x1308, lo: 0x82, hi: 0x82},
- {value: 0x1008, lo: 0x83, hi: 0x83},
- {value: 0x1808, lo: 0x84, hi: 0x84},
+ {value: 0x3008, lo: 0x80, hi: 0x81},
+ {value: 0x3308, lo: 0x82, hi: 0x82},
+ {value: 0x3008, lo: 0x83, hi: 0x83},
+ {value: 0x3808, lo: 0x84, hi: 0x84},
{value: 0x0008, lo: 0x85, hi: 0x8b},
{value: 0x0040, lo: 0x8c, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
{value: 0x0018, lo: 0x9a, hi: 0xaa},
- {value: 0x1308, lo: 0xab, hi: 0xb3},
+ {value: 0x3308, lo: 0xab, hi: 0xb3},
{value: 0x0018, lo: 0xb4, hi: 0xbc},
{value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x40, offset 0x251
+ // Block 0x40, offset 0x239
{value: 0x0000, lo: 0x0b},
- {value: 0x1308, lo: 0x80, hi: 0x81},
- {value: 0x1008, lo: 0x82, hi: 0x82},
+ {value: 0x3308, lo: 0x80, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x82},
{value: 0x0008, lo: 0x83, hi: 0xa0},
- {value: 0x1008, lo: 0xa1, hi: 0xa1},
- {value: 0x1308, lo: 0xa2, hi: 0xa5},
- {value: 0x1008, lo: 0xa6, hi: 0xa7},
- {value: 0x1308, lo: 0xa8, hi: 0xa9},
- {value: 0x1808, lo: 0xaa, hi: 0xaa},
- {value: 0x1b08, lo: 0xab, hi: 0xab},
- {value: 0x1308, lo: 0xac, hi: 0xad},
+ {value: 0x3008, lo: 0xa1, hi: 0xa1},
+ {value: 0x3308, lo: 0xa2, hi: 0xa5},
+ {value: 0x3008, lo: 0xa6, hi: 0xa7},
+ {value: 0x3308, lo: 0xa8, hi: 0xa9},
+ {value: 0x3808, lo: 0xaa, hi: 0xaa},
+ {value: 0x3b08, lo: 0xab, hi: 0xab},
+ {value: 0x3308, lo: 0xac, hi: 0xad},
{value: 0x0008, lo: 0xae, hi: 0xbf},
- // Block 0x41, offset 0x25d
+ // Block 0x41, offset 0x245
{value: 0x0000, lo: 0x0b},
{value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x1308, lo: 0xa6, hi: 0xa6},
- {value: 0x1008, lo: 0xa7, hi: 0xa7},
- {value: 0x1308, lo: 0xa8, hi: 0xa9},
- {value: 0x1008, lo: 0xaa, hi: 0xac},
- {value: 0x1308, lo: 0xad, hi: 0xad},
- {value: 0x1008, lo: 0xae, hi: 0xae},
- {value: 0x1308, lo: 0xaf, hi: 0xb1},
- {value: 0x1808, lo: 0xb2, hi: 0xb3},
+ {value: 0x3308, lo: 0xa6, hi: 0xa6},
+ {value: 0x3008, lo: 0xa7, hi: 0xa7},
+ {value: 0x3308, lo: 0xa8, hi: 0xa9},
+ {value: 0x3008, lo: 0xaa, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xad},
+ {value: 0x3008, lo: 0xae, hi: 0xae},
+ {value: 0x3308, lo: 0xaf, hi: 0xb1},
+ {value: 0x3808, lo: 0xb2, hi: 0xb3},
{value: 0x0040, lo: 0xb4, hi: 0xbb},
{value: 0x0018, lo: 0xbc, hi: 0xbf},
- // Block 0x42, offset 0x269
+ // Block 0x42, offset 0x251
{value: 0x0000, lo: 0x07},
{value: 0x0008, lo: 0x80, hi: 0xa3},
- {value: 0x1008, lo: 0xa4, hi: 0xab},
- {value: 0x1308, lo: 0xac, hi: 0xb3},
- {value: 0x1008, lo: 0xb4, hi: 0xb5},
- {value: 0x1308, lo: 0xb6, hi: 0xb7},
+ {value: 0x3008, lo: 0xa4, hi: 0xab},
+ {value: 0x3308, lo: 0xac, hi: 0xb3},
+ {value: 0x3008, lo: 0xb4, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xb7},
{value: 0x0040, lo: 0xb8, hi: 0xba},
{value: 0x0018, lo: 0xbb, hi: 0xbf},
- // Block 0x43, offset 0x271
+ // Block 0x43, offset 0x259
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0x89},
{value: 0x0040, lo: 0x8a, hi: 0x8c},
{value: 0x0008, lo: 0x8d, hi: 0xbd},
{value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x44, offset 0x276
+ // Block 0x44, offset 0x25e
{value: 0x0000, lo: 0x09},
{value: 0x0e29, lo: 0x80, hi: 0x80},
{value: 0x0e41, lo: 0x81, hi: 0x81},
@@ -3049,30 +3058,30 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0eb9, lo: 0x87, hi: 0x87},
{value: 0x057d, lo: 0x88, hi: 0x88},
{value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0x45, offset 0x280
+ // Block 0x45, offset 0x268
{value: 0x0000, lo: 0x10},
{value: 0x0018, lo: 0x80, hi: 0x87},
{value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x1308, lo: 0x90, hi: 0x92},
+ {value: 0x3308, lo: 0x90, hi: 0x92},
{value: 0x0018, lo: 0x93, hi: 0x93},
- {value: 0x1308, lo: 0x94, hi: 0xa0},
- {value: 0x1008, lo: 0xa1, hi: 0xa1},
- {value: 0x1308, lo: 0xa2, hi: 0xa8},
+ {value: 0x3308, lo: 0x94, hi: 0xa0},
+ {value: 0x3008, lo: 0xa1, hi: 0xa1},
+ {value: 0x3308, lo: 0xa2, hi: 0xa8},
{value: 0x0008, lo: 0xa9, hi: 0xac},
- {value: 0x1308, lo: 0xad, hi: 0xad},
+ {value: 0x3308, lo: 0xad, hi: 0xad},
{value: 0x0008, lo: 0xae, hi: 0xb1},
- {value: 0x1008, lo: 0xb2, hi: 0xb3},
- {value: 0x1308, lo: 0xb4, hi: 0xb4},
+ {value: 0x3008, lo: 0xb2, hi: 0xb3},
+ {value: 0x3308, lo: 0xb4, hi: 0xb4},
{value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x1308, lo: 0xb8, hi: 0xb9},
+ {value: 0x3008, lo: 0xb7, hi: 0xb7},
+ {value: 0x3308, lo: 0xb8, hi: 0xb9},
{value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x46, offset 0x291
+ // Block 0x46, offset 0x279
{value: 0x0000, lo: 0x03},
- {value: 0x1308, lo: 0x80, hi: 0xb5},
- {value: 0x0040, lo: 0xb6, hi: 0xba},
- {value: 0x1308, lo: 0xbb, hi: 0xbf},
- // Block 0x47, offset 0x295
+ {value: 0x3308, lo: 0x80, hi: 0xb9},
+ {value: 0x0040, lo: 0xba, hi: 0xba},
+ {value: 0x3308, lo: 0xbb, hi: 0xbf},
+ // Block 0x47, offset 0x27d
{value: 0x0000, lo: 0x0a},
{value: 0x0008, lo: 0x80, hi: 0x87},
{value: 0xe045, lo: 0x88, hi: 0x8f},
@@ -3084,12 +3093,12 @@ var idnaSparseValues = [1876]valueRange{
{value: 0xe045, lo: 0xa8, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xb7},
{value: 0xe045, lo: 0xb8, hi: 0xbf},
- // Block 0x48, offset 0x2a0
+ // Block 0x48, offset 0x288
{value: 0x0000, lo: 0x03},
{value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x1318, lo: 0x90, hi: 0xb0},
+ {value: 0x3318, lo: 0x90, hi: 0xb0},
{value: 0x0040, lo: 0xb1, hi: 0xbf},
- // Block 0x49, offset 0x2a4
+ // Block 0x49, offset 0x28c
{value: 0x0000, lo: 0x08},
{value: 0x0018, lo: 0x80, hi: 0x82},
{value: 0x0040, lo: 0x83, hi: 0x83},
@@ -3099,7 +3108,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0018, lo: 0x8a, hi: 0x8b},
{value: 0x0040, lo: 0x8c, hi: 0x8f},
{value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x4a, offset 0x2ad
+ // Block 0x4a, offset 0x295
{value: 0x0000, lo: 0x07},
{value: 0x0018, lo: 0x80, hi: 0xab},
{value: 0x24f1, lo: 0xac, hi: 0xac},
@@ -3108,72 +3117,68 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x2579, lo: 0xaf, hi: 0xaf},
{value: 0x25b1, lo: 0xb0, hi: 0xb0},
{value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0x4b, offset 0x2b5
+ // Block 0x4b, offset 0x29d
{value: 0x0000, lo: 0x05},
{value: 0x0018, lo: 0x80, hi: 0x9f},
{value: 0x0080, lo: 0xa0, hi: 0xa0},
{value: 0x0018, lo: 0xa1, hi: 0xad},
{value: 0x0080, lo: 0xae, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x4c, offset 0x2bb
+ // Block 0x4c, offset 0x2a3
{value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0xa8},
{value: 0x09c5, lo: 0xa9, hi: 0xa9},
{value: 0x09e5, lo: 0xaa, hi: 0xaa},
{value: 0x0018, lo: 0xab, hi: 0xbf},
- // Block 0x4d, offset 0x2c0
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x4e, offset 0x2c3
+ // Block 0x4d, offset 0x2a8
{value: 0x0000, lo: 0x02},
{value: 0x0018, lo: 0x80, hi: 0xa6},
{value: 0x0040, lo: 0xa7, hi: 0xbf},
- // Block 0x4f, offset 0x2c6
+ // Block 0x4e, offset 0x2ab
{value: 0x0000, lo: 0x03},
{value: 0x0018, lo: 0x80, hi: 0x8b},
{value: 0x28c1, lo: 0x8c, hi: 0x8c},
{value: 0x0018, lo: 0x8d, hi: 0xbf},
- // Block 0x50, offset 0x2ca
+ // Block 0x4f, offset 0x2af
{value: 0x0000, lo: 0x05},
{value: 0x0018, lo: 0x80, hi: 0xb3},
{value: 0x0e66, lo: 0xb4, hi: 0xb4},
{value: 0x292a, lo: 0xb5, hi: 0xb5},
{value: 0x0e86, lo: 0xb6, hi: 0xb6},
{value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x51, offset 0x2d0
+ // Block 0x50, offset 0x2b5
{value: 0x0000, lo: 0x03},
{value: 0x0018, lo: 0x80, hi: 0x9b},
{value: 0x2941, lo: 0x9c, hi: 0x9c},
{value: 0x0018, lo: 0x9d, hi: 0xbf},
- // Block 0x52, offset 0x2d4
+ // Block 0x51, offset 0x2b9
{value: 0x0000, lo: 0x03},
{value: 0x0018, lo: 0x80, hi: 0xb3},
{value: 0x0040, lo: 0xb4, hi: 0xb5},
{value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0x53, offset 0x2d8
+ // Block 0x52, offset 0x2bd
{value: 0x0000, lo: 0x05},
{value: 0x0018, lo: 0x80, hi: 0x95},
{value: 0x0040, lo: 0x96, hi: 0x97},
{value: 0x0018, lo: 0x98, hi: 0xb9},
{value: 0x0040, lo: 0xba, hi: 0xbc},
{value: 0x0018, lo: 0xbd, hi: 0xbf},
- // Block 0x54, offset 0x2de
+ // Block 0x53, offset 0x2c3
{value: 0x0000, lo: 0x06},
{value: 0x0018, lo: 0x80, hi: 0x88},
{value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0018, lo: 0x8a, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0xab},
+ {value: 0x0018, lo: 0x8a, hi: 0x92},
+ {value: 0x0040, lo: 0x93, hi: 0xab},
{value: 0x0018, lo: 0xac, hi: 0xaf},
{value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x55, offset 0x2e5
+ // Block 0x54, offset 0x2ca
{value: 0x0000, lo: 0x05},
{value: 0xe185, lo: 0x80, hi: 0x8f},
{value: 0x03f5, lo: 0x90, hi: 0x9f},
{value: 0x0ea5, lo: 0xa0, hi: 0xae},
{value: 0x0040, lo: 0xaf, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x56, offset 0x2eb
+ // Block 0x55, offset 0x2d0
{value: 0x0000, lo: 0x07},
{value: 0x0008, lo: 0x80, hi: 0xa5},
{value: 0x0040, lo: 0xa6, hi: 0xa6},
@@ -3182,15 +3187,15 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0xad, hi: 0xad},
{value: 0x0040, lo: 0xae, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x57, offset 0x2f3
+ // Block 0x56, offset 0x2d8
{value: 0x0000, lo: 0x06},
{value: 0x0008, lo: 0x80, hi: 0xa7},
{value: 0x0040, lo: 0xa8, hi: 0xae},
{value: 0xe075, lo: 0xaf, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xb0},
{value: 0x0040, lo: 0xb1, hi: 0xbe},
- {value: 0x1b08, lo: 0xbf, hi: 0xbf},
- // Block 0x58, offset 0x2fa
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0x57, offset 0x2df
{value: 0x0000, lo: 0x0a},
{value: 0x0008, lo: 0x80, hi: 0x96},
{value: 0x0040, lo: 0x97, hi: 0x9f},
@@ -3202,7 +3207,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xb7, hi: 0xb7},
{value: 0x0008, lo: 0xb8, hi: 0xbe},
{value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x59, offset 0x305
+ // Block 0x58, offset 0x2ea
{value: 0x0000, lo: 0x09},
{value: 0x0008, lo: 0x80, hi: 0x86},
{value: 0x0040, lo: 0x87, hi: 0x87},
@@ -3212,62 +3217,62 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0x97, hi: 0x97},
{value: 0x0008, lo: 0x98, hi: 0x9e},
{value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x1308, lo: 0xa0, hi: 0xbf},
- // Block 0x5a, offset 0x30f
+ {value: 0x3308, lo: 0xa0, hi: 0xbf},
+ // Block 0x59, offset 0x2f4
{value: 0x0000, lo: 0x03},
{value: 0x0018, lo: 0x80, hi: 0xae},
{value: 0x0008, lo: 0xaf, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x5b, offset 0x313
+ // Block 0x5a, offset 0x2f8
{value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x84},
- {value: 0x0040, lo: 0x85, hi: 0xbf},
- // Block 0x5c, offset 0x316
+ {value: 0x0018, lo: 0x80, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0xbf},
+ // Block 0x5b, offset 0x2fb
{value: 0x0000, lo: 0x05},
{value: 0x0018, lo: 0x80, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9a},
{value: 0x0018, lo: 0x9b, hi: 0x9e},
{value: 0x0edd, lo: 0x9f, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0x5d, offset 0x31c
+ // Block 0x5c, offset 0x301
{value: 0x0000, lo: 0x03},
{value: 0x0018, lo: 0x80, hi: 0xb2},
{value: 0x0efd, lo: 0xb3, hi: 0xb3},
{value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0x5e, offset 0x320
+ // Block 0x5d, offset 0x305
{value: 0x0020, lo: 0x01},
{value: 0x0f1d, lo: 0x80, hi: 0xbf},
- // Block 0x5f, offset 0x322
+ // Block 0x5e, offset 0x307
{value: 0x0020, lo: 0x02},
{value: 0x171d, lo: 0x80, hi: 0x8f},
{value: 0x18fd, lo: 0x90, hi: 0xbf},
- // Block 0x60, offset 0x325
+ // Block 0x5f, offset 0x30a
{value: 0x0020, lo: 0x01},
{value: 0x1efd, lo: 0x80, hi: 0xbf},
- // Block 0x61, offset 0x327
+ // Block 0x60, offset 0x30c
{value: 0x0000, lo: 0x02},
{value: 0x0040, lo: 0x80, hi: 0x80},
{value: 0x0008, lo: 0x81, hi: 0xbf},
- // Block 0x62, offset 0x32a
+ // Block 0x61, offset 0x30f
{value: 0x0000, lo: 0x09},
{value: 0x0008, lo: 0x80, hi: 0x96},
{value: 0x0040, lo: 0x97, hi: 0x98},
- {value: 0x1308, lo: 0x99, hi: 0x9a},
+ {value: 0x3308, lo: 0x99, hi: 0x9a},
{value: 0x29e2, lo: 0x9b, hi: 0x9b},
{value: 0x2a0a, lo: 0x9c, hi: 0x9c},
{value: 0x0008, lo: 0x9d, hi: 0x9e},
{value: 0x2a31, lo: 0x9f, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xa0},
{value: 0x0008, lo: 0xa1, hi: 0xbf},
- // Block 0x63, offset 0x334
+ // Block 0x62, offset 0x319
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0xbe},
{value: 0x2a69, lo: 0xbf, hi: 0xbf},
- // Block 0x64, offset 0x337
+ // Block 0x63, offset 0x31c
{value: 0x0000, lo: 0x0e},
{value: 0x0040, lo: 0x80, hi: 0x84},
- {value: 0x0008, lo: 0x85, hi: 0xad},
- {value: 0x0040, lo: 0xae, hi: 0xb0},
+ {value: 0x0008, lo: 0x85, hi: 0xae},
+ {value: 0x0040, lo: 0xaf, hi: 0xb0},
{value: 0x2a1d, lo: 0xb1, hi: 0xb1},
{value: 0x2a3d, lo: 0xb2, hi: 0xb2},
{value: 0x2a5d, lo: 0xb3, hi: 0xb3},
@@ -3279,150 +3284,150 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x2afd, lo: 0xba, hi: 0xbb},
{value: 0x2b1d, lo: 0xbc, hi: 0xbd},
{value: 0x2afd, lo: 0xbe, hi: 0xbf},
- // Block 0x65, offset 0x346
+ // Block 0x64, offset 0x32b
{value: 0x0000, lo: 0x03},
{value: 0x0018, lo: 0x80, hi: 0xa3},
{value: 0x0040, lo: 0xa4, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x66, offset 0x34a
+ // Block 0x65, offset 0x32f
{value: 0x0030, lo: 0x04},
{value: 0x2aa2, lo: 0x80, hi: 0x9d},
{value: 0x305a, lo: 0x9e, hi: 0x9e},
{value: 0x0040, lo: 0x9f, hi: 0x9f},
{value: 0x30a2, lo: 0xa0, hi: 0xbf},
- // Block 0x67, offset 0x34f
+ // Block 0x66, offset 0x334
{value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0x68, offset 0x352
+ {value: 0x0008, lo: 0x80, hi: 0xaa},
+ {value: 0x0040, lo: 0xab, hi: 0xbf},
+ // Block 0x67, offset 0x337
{value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0x8c},
{value: 0x0040, lo: 0x8d, hi: 0x8f},
{value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0x69, offset 0x356
+ // Block 0x68, offset 0x33b
{value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0x86},
{value: 0x0040, lo: 0x87, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0xbd},
{value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0x6a, offset 0x35b
+ // Block 0x69, offset 0x340
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0x8c},
{value: 0x0018, lo: 0x8d, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0xab},
{value: 0x0040, lo: 0xac, hi: 0xbf},
- // Block 0x6b, offset 0x360
+ // Block 0x6a, offset 0x345
{value: 0x0000, lo: 0x05},
{value: 0x0008, lo: 0x80, hi: 0xa5},
{value: 0x0018, lo: 0xa6, hi: 0xaf},
- {value: 0x1308, lo: 0xb0, hi: 0xb1},
+ {value: 0x3308, lo: 0xb0, hi: 0xb1},
{value: 0x0018, lo: 0xb2, hi: 0xb7},
{value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6c, offset 0x366
+ // Block 0x6b, offset 0x34b
{value: 0x0000, lo: 0x05},
{value: 0x0040, lo: 0x80, hi: 0xb6},
{value: 0x0008, lo: 0xb7, hi: 0xb7},
{value: 0x2009, lo: 0xb8, hi: 0xb8},
{value: 0x6e89, lo: 0xb9, hi: 0xb9},
{value: 0x0008, lo: 0xba, hi: 0xbf},
- // Block 0x6d, offset 0x36c
+ // Block 0x6c, offset 0x351
{value: 0x0000, lo: 0x0e},
{value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x1308, lo: 0x82, hi: 0x82},
+ {value: 0x3308, lo: 0x82, hi: 0x82},
{value: 0x0008, lo: 0x83, hi: 0x85},
- {value: 0x1b08, lo: 0x86, hi: 0x86},
+ {value: 0x3b08, lo: 0x86, hi: 0x86},
{value: 0x0008, lo: 0x87, hi: 0x8a},
- {value: 0x1308, lo: 0x8b, hi: 0x8b},
+ {value: 0x3308, lo: 0x8b, hi: 0x8b},
{value: 0x0008, lo: 0x8c, hi: 0xa2},
- {value: 0x1008, lo: 0xa3, hi: 0xa4},
- {value: 0x1308, lo: 0xa5, hi: 0xa6},
- {value: 0x1008, lo: 0xa7, hi: 0xa7},
+ {value: 0x3008, lo: 0xa3, hi: 0xa4},
+ {value: 0x3308, lo: 0xa5, hi: 0xa6},
+ {value: 0x3008, lo: 0xa7, hi: 0xa7},
{value: 0x0018, lo: 0xa8, hi: 0xab},
{value: 0x0040, lo: 0xac, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xb9},
{value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x6e, offset 0x37b
+ // Block 0x6d, offset 0x360
{value: 0x0000, lo: 0x05},
{value: 0x0208, lo: 0x80, hi: 0xb1},
{value: 0x0108, lo: 0xb2, hi: 0xb2},
{value: 0x0008, lo: 0xb3, hi: 0xb3},
{value: 0x0018, lo: 0xb4, hi: 0xb7},
{value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0x6f, offset 0x381
+ // Block 0x6e, offset 0x366
{value: 0x0000, lo: 0x03},
- {value: 0x1008, lo: 0x80, hi: 0x81},
+ {value: 0x3008, lo: 0x80, hi: 0x81},
{value: 0x0008, lo: 0x82, hi: 0xb3},
- {value: 0x1008, lo: 0xb4, hi: 0xbf},
- // Block 0x70, offset 0x385
+ {value: 0x3008, lo: 0xb4, hi: 0xbf},
+ // Block 0x6f, offset 0x36a
{value: 0x0000, lo: 0x0e},
- {value: 0x1008, lo: 0x80, hi: 0x83},
- {value: 0x1b08, lo: 0x84, hi: 0x84},
- {value: 0x1308, lo: 0x85, hi: 0x85},
+ {value: 0x3008, lo: 0x80, hi: 0x83},
+ {value: 0x3b08, lo: 0x84, hi: 0x84},
+ {value: 0x3308, lo: 0x85, hi: 0x85},
{value: 0x0040, lo: 0x86, hi: 0x8d},
{value: 0x0018, lo: 0x8e, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9f},
- {value: 0x1308, lo: 0xa0, hi: 0xb1},
+ {value: 0x3308, lo: 0xa0, hi: 0xb1},
{value: 0x0008, lo: 0xb2, hi: 0xb7},
{value: 0x0018, lo: 0xb8, hi: 0xba},
{value: 0x0008, lo: 0xbb, hi: 0xbb},
{value: 0x0018, lo: 0xbc, hi: 0xbc},
{value: 0x0008, lo: 0xbd, hi: 0xbd},
{value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x71, offset 0x394
+ // Block 0x70, offset 0x379
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0xa5},
- {value: 0x1308, lo: 0xa6, hi: 0xad},
+ {value: 0x3308, lo: 0xa6, hi: 0xad},
{value: 0x0018, lo: 0xae, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x72, offset 0x399
+ // Block 0x71, offset 0x37e
{value: 0x0000, lo: 0x07},
{value: 0x0008, lo: 0x80, hi: 0x86},
- {value: 0x1308, lo: 0x87, hi: 0x91},
- {value: 0x1008, lo: 0x92, hi: 0x92},
- {value: 0x1808, lo: 0x93, hi: 0x93},
+ {value: 0x3308, lo: 0x87, hi: 0x91},
+ {value: 0x3008, lo: 0x92, hi: 0x92},
+ {value: 0x3808, lo: 0x93, hi: 0x93},
{value: 0x0040, lo: 0x94, hi: 0x9e},
{value: 0x0018, lo: 0x9f, hi: 0xbc},
{value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0x73, offset 0x3a1
+ // Block 0x72, offset 0x386
{value: 0x0000, lo: 0x09},
- {value: 0x1308, lo: 0x80, hi: 0x82},
- {value: 0x1008, lo: 0x83, hi: 0x83},
+ {value: 0x3308, lo: 0x80, hi: 0x82},
+ {value: 0x3008, lo: 0x83, hi: 0x83},
{value: 0x0008, lo: 0x84, hi: 0xb2},
- {value: 0x1308, lo: 0xb3, hi: 0xb3},
- {value: 0x1008, lo: 0xb4, hi: 0xb5},
- {value: 0x1308, lo: 0xb6, hi: 0xb9},
- {value: 0x1008, lo: 0xba, hi: 0xbb},
- {value: 0x1308, lo: 0xbc, hi: 0xbc},
- {value: 0x1008, lo: 0xbd, hi: 0xbf},
- // Block 0x74, offset 0x3ab
+ {value: 0x3308, lo: 0xb3, hi: 0xb3},
+ {value: 0x3008, lo: 0xb4, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xb9},
+ {value: 0x3008, lo: 0xba, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbc},
+ {value: 0x3008, lo: 0xbd, hi: 0xbf},
+ // Block 0x73, offset 0x390
{value: 0x0000, lo: 0x0a},
- {value: 0x1808, lo: 0x80, hi: 0x80},
+ {value: 0x3808, lo: 0x80, hi: 0x80},
{value: 0x0018, lo: 0x81, hi: 0x8d},
{value: 0x0040, lo: 0x8e, hi: 0x8e},
{value: 0x0008, lo: 0x8f, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9d},
{value: 0x0018, lo: 0x9e, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xa4},
- {value: 0x1308, lo: 0xa5, hi: 0xa5},
+ {value: 0x3308, lo: 0xa5, hi: 0xa5},
{value: 0x0008, lo: 0xa6, hi: 0xbe},
{value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0x75, offset 0x3b6
+ // Block 0x74, offset 0x39b
{value: 0x0000, lo: 0x07},
{value: 0x0008, lo: 0x80, hi: 0xa8},
- {value: 0x1308, lo: 0xa9, hi: 0xae},
- {value: 0x1008, lo: 0xaf, hi: 0xb0},
- {value: 0x1308, lo: 0xb1, hi: 0xb2},
- {value: 0x1008, lo: 0xb3, hi: 0xb4},
- {value: 0x1308, lo: 0xb5, hi: 0xb6},
+ {value: 0x3308, lo: 0xa9, hi: 0xae},
+ {value: 0x3008, lo: 0xaf, hi: 0xb0},
+ {value: 0x3308, lo: 0xb1, hi: 0xb2},
+ {value: 0x3008, lo: 0xb3, hi: 0xb4},
+ {value: 0x3308, lo: 0xb5, hi: 0xb6},
{value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x76, offset 0x3be
+ // Block 0x75, offset 0x3a3
{value: 0x0000, lo: 0x10},
{value: 0x0008, lo: 0x80, hi: 0x82},
- {value: 0x1308, lo: 0x83, hi: 0x83},
+ {value: 0x3308, lo: 0x83, hi: 0x83},
{value: 0x0008, lo: 0x84, hi: 0x8b},
- {value: 0x1308, lo: 0x8c, hi: 0x8c},
- {value: 0x1008, lo: 0x8d, hi: 0x8d},
+ {value: 0x3308, lo: 0x8c, hi: 0x8c},
+ {value: 0x3008, lo: 0x8d, hi: 0x8d},
{value: 0x0040, lo: 0x8e, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9b},
@@ -3430,38 +3435,38 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0xa0, hi: 0xb6},
{value: 0x0018, lo: 0xb7, hi: 0xb9},
{value: 0x0008, lo: 0xba, hi: 0xba},
- {value: 0x1008, lo: 0xbb, hi: 0xbb},
- {value: 0x1308, lo: 0xbc, hi: 0xbc},
- {value: 0x1008, lo: 0xbd, hi: 0xbd},
+ {value: 0x3008, lo: 0xbb, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbc},
+ {value: 0x3008, lo: 0xbd, hi: 0xbd},
{value: 0x0008, lo: 0xbe, hi: 0xbf},
- // Block 0x77, offset 0x3cf
+ // Block 0x76, offset 0x3b4
{value: 0x0000, lo: 0x08},
{value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x1308, lo: 0xb0, hi: 0xb0},
+ {value: 0x3308, lo: 0xb0, hi: 0xb0},
{value: 0x0008, lo: 0xb1, hi: 0xb1},
- {value: 0x1308, lo: 0xb2, hi: 0xb4},
+ {value: 0x3308, lo: 0xb2, hi: 0xb4},
{value: 0x0008, lo: 0xb5, hi: 0xb6},
- {value: 0x1308, lo: 0xb7, hi: 0xb8},
+ {value: 0x3308, lo: 0xb7, hi: 0xb8},
{value: 0x0008, lo: 0xb9, hi: 0xbd},
- {value: 0x1308, lo: 0xbe, hi: 0xbf},
- // Block 0x78, offset 0x3d8
+ {value: 0x3308, lo: 0xbe, hi: 0xbf},
+ // Block 0x77, offset 0x3bd
{value: 0x0000, lo: 0x0f},
{value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x1308, lo: 0x81, hi: 0x81},
+ {value: 0x3308, lo: 0x81, hi: 0x81},
{value: 0x0008, lo: 0x82, hi: 0x82},
{value: 0x0040, lo: 0x83, hi: 0x9a},
{value: 0x0008, lo: 0x9b, hi: 0x9d},
{value: 0x0018, lo: 0x9e, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xaa},
- {value: 0x1008, lo: 0xab, hi: 0xab},
- {value: 0x1308, lo: 0xac, hi: 0xad},
- {value: 0x1008, lo: 0xae, hi: 0xaf},
+ {value: 0x3008, lo: 0xab, hi: 0xab},
+ {value: 0x3308, lo: 0xac, hi: 0xad},
+ {value: 0x3008, lo: 0xae, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xb1},
{value: 0x0008, lo: 0xb2, hi: 0xb4},
- {value: 0x1008, lo: 0xb5, hi: 0xb5},
- {value: 0x1b08, lo: 0xb6, hi: 0xb6},
+ {value: 0x3008, lo: 0xb5, hi: 0xb5},
+ {value: 0x3b08, lo: 0xb6, hi: 0xb6},
{value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x79, offset 0x3e8
+ // Block 0x78, offset 0x3cd
{value: 0x0000, lo: 0x0c},
{value: 0x0040, lo: 0x80, hi: 0x80},
{value: 0x0008, lo: 0x81, hi: 0x86},
@@ -3475,7 +3480,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0xa8, hi: 0xae},
{value: 0x0040, lo: 0xaf, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x7a, offset 0x3f5
+ // Block 0x79, offset 0x3da
{value: 0x0000, lo: 0x09},
{value: 0x0008, lo: 0x80, hi: 0x9a},
{value: 0x0018, lo: 0x9b, hi: 0x9b},
@@ -3486,54 +3491,54 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0xa0, hi: 0xa5},
{value: 0x0040, lo: 0xa6, hi: 0xaf},
{value: 0x4495, lo: 0xb0, hi: 0xbf},
- // Block 0x7b, offset 0x3ff
+ // Block 0x7a, offset 0x3e4
{value: 0x0000, lo: 0x04},
{value: 0x44b5, lo: 0x80, hi: 0x8f},
{value: 0x44d5, lo: 0x90, hi: 0x9f},
{value: 0x44f5, lo: 0xa0, hi: 0xaf},
{value: 0x44d5, lo: 0xb0, hi: 0xbf},
- // Block 0x7c, offset 0x404
+ // Block 0x7b, offset 0x3e9
{value: 0x0000, lo: 0x0c},
{value: 0x0008, lo: 0x80, hi: 0xa2},
- {value: 0x1008, lo: 0xa3, hi: 0xa4},
- {value: 0x1308, lo: 0xa5, hi: 0xa5},
- {value: 0x1008, lo: 0xa6, hi: 0xa7},
- {value: 0x1308, lo: 0xa8, hi: 0xa8},
- {value: 0x1008, lo: 0xa9, hi: 0xaa},
+ {value: 0x3008, lo: 0xa3, hi: 0xa4},
+ {value: 0x3308, lo: 0xa5, hi: 0xa5},
+ {value: 0x3008, lo: 0xa6, hi: 0xa7},
+ {value: 0x3308, lo: 0xa8, hi: 0xa8},
+ {value: 0x3008, lo: 0xa9, hi: 0xaa},
{value: 0x0018, lo: 0xab, hi: 0xab},
- {value: 0x1008, lo: 0xac, hi: 0xac},
- {value: 0x1b08, lo: 0xad, hi: 0xad},
+ {value: 0x3008, lo: 0xac, hi: 0xac},
+ {value: 0x3b08, lo: 0xad, hi: 0xad},
{value: 0x0040, lo: 0xae, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xb9},
{value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0x7d, offset 0x411
+ // Block 0x7c, offset 0x3f6
{value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0xa3},
{value: 0x0040, lo: 0xa4, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0x7e, offset 0x415
+ // Block 0x7d, offset 0x3fa
{value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0x86},
{value: 0x0040, lo: 0x87, hi: 0x8a},
{value: 0x0018, lo: 0x8b, hi: 0xbb},
{value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x7f, offset 0x41a
+ // Block 0x7e, offset 0x3ff
{value: 0x0020, lo: 0x01},
{value: 0x4515, lo: 0x80, hi: 0xbf},
- // Block 0x80, offset 0x41c
+ // Block 0x7f, offset 0x401
{value: 0x0020, lo: 0x03},
{value: 0x4d15, lo: 0x80, hi: 0x94},
{value: 0x4ad5, lo: 0x95, hi: 0x95},
{value: 0x4fb5, lo: 0x96, hi: 0xbf},
- // Block 0x81, offset 0x420
+ // Block 0x80, offset 0x405
{value: 0x0020, lo: 0x01},
{value: 0x54f5, lo: 0x80, hi: 0xbf},
- // Block 0x82, offset 0x422
+ // Block 0x81, offset 0x407
{value: 0x0020, lo: 0x03},
{value: 0x5cf5, lo: 0x80, hi: 0x84},
{value: 0x5655, lo: 0x85, hi: 0x85},
{value: 0x5d95, lo: 0x86, hi: 0xbf},
- // Block 0x83, offset 0x426
+ // Block 0x82, offset 0x40b
{value: 0x0020, lo: 0x08},
{value: 0x6b55, lo: 0x80, hi: 0x8f},
{value: 0x6d15, lo: 0x90, hi: 0x90},
@@ -3543,19 +3548,19 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xae, hi: 0xae},
{value: 0x0040, lo: 0xaf, hi: 0xaf},
{value: 0x70d5, lo: 0xb0, hi: 0xbf},
- // Block 0x84, offset 0x42f
+ // Block 0x83, offset 0x414
{value: 0x0020, lo: 0x05},
{value: 0x72d5, lo: 0x80, hi: 0xad},
{value: 0x6535, lo: 0xae, hi: 0xae},
{value: 0x7895, lo: 0xaf, hi: 0xb5},
{value: 0x6f55, lo: 0xb6, hi: 0xb6},
{value: 0x7975, lo: 0xb7, hi: 0xbf},
- // Block 0x85, offset 0x435
+ // Block 0x84, offset 0x41a
{value: 0x0028, lo: 0x03},
{value: 0x7c21, lo: 0x80, hi: 0x82},
{value: 0x7be1, lo: 0x83, hi: 0x83},
{value: 0x7c99, lo: 0x84, hi: 0xbf},
- // Block 0x86, offset 0x439
+ // Block 0x85, offset 0x41e
{value: 0x0038, lo: 0x0f},
{value: 0x9db1, lo: 0x80, hi: 0x83},
{value: 0x9e59, lo: 0x84, hi: 0x85},
@@ -3572,7 +3577,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0xa869, lo: 0xbc, hi: 0xbc},
{value: 0xa7f9, lo: 0xbd, hi: 0xbd},
{value: 0xa8d9, lo: 0xbe, hi: 0xbf},
- // Block 0x87, offset 0x449
+ // Block 0x86, offset 0x42e
{value: 0x0000, lo: 0x09},
{value: 0x0008, lo: 0x80, hi: 0x8b},
{value: 0x0040, lo: 0x8c, hi: 0x8c},
@@ -3583,24 +3588,24 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0xbc, hi: 0xbd},
{value: 0x0040, lo: 0xbe, hi: 0xbe},
{value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x88, offset 0x453
+ // Block 0x87, offset 0x438
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0x8d},
{value: 0x0040, lo: 0x8e, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x9d},
{value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0x89, offset 0x458
+ // Block 0x88, offset 0x43d
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0xba},
{value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x8a, offset 0x45b
+ // Block 0x89, offset 0x440
{value: 0x0000, lo: 0x05},
{value: 0x0018, lo: 0x80, hi: 0x82},
{value: 0x0040, lo: 0x83, hi: 0x86},
{value: 0x0018, lo: 0x87, hi: 0xb3},
{value: 0x0040, lo: 0xb4, hi: 0xb6},
{value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x8b, offset 0x461
+ // Block 0x8a, offset 0x446
{value: 0x0000, lo: 0x06},
{value: 0x0018, lo: 0x80, hi: 0x8e},
{value: 0x0040, lo: 0x8f, hi: 0x8f},
@@ -3608,31 +3613,31 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0x9c, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xa0},
{value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0x8c, offset 0x468
+ // Block 0x8b, offset 0x44d
{value: 0x0000, lo: 0x04},
{value: 0x0040, lo: 0x80, hi: 0x8f},
{value: 0x0018, lo: 0x90, hi: 0xbc},
- {value: 0x1308, lo: 0xbd, hi: 0xbd},
+ {value: 0x3308, lo: 0xbd, hi: 0xbd},
{value: 0x0040, lo: 0xbe, hi: 0xbf},
- // Block 0x8d, offset 0x46d
+ // Block 0x8c, offset 0x452
{value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0x9c},
{value: 0x0040, lo: 0x9d, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x8e, offset 0x471
+ // Block 0x8d, offset 0x456
{value: 0x0000, lo: 0x05},
{value: 0x0008, lo: 0x80, hi: 0x90},
{value: 0x0040, lo: 0x91, hi: 0x9f},
- {value: 0x1308, lo: 0xa0, hi: 0xa0},
+ {value: 0x3308, lo: 0xa0, hi: 0xa0},
{value: 0x0018, lo: 0xa1, hi: 0xbb},
{value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x8f, offset 0x477
+ // Block 0x8e, offset 0x45c
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xa3},
- {value: 0x0040, lo: 0xa4, hi: 0xaf},
- {value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x90, offset 0x47c
+ {value: 0x0040, lo: 0xa4, hi: 0xac},
+ {value: 0x0008, lo: 0xad, hi: 0xbf},
+ // Block 0x8f, offset 0x461
{value: 0x0000, lo: 0x08},
{value: 0x0008, lo: 0x80, hi: 0x80},
{value: 0x0018, lo: 0x81, hi: 0x81},
@@ -3640,22 +3645,22 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0018, lo: 0x8a, hi: 0x8a},
{value: 0x0040, lo: 0x8b, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0xb5},
- {value: 0x1308, lo: 0xb6, hi: 0xba},
+ {value: 0x3308, lo: 0xb6, hi: 0xba},
{value: 0x0040, lo: 0xbb, hi: 0xbf},
- // Block 0x91, offset 0x485
+ // Block 0x90, offset 0x46a
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0x9d},
{value: 0x0040, lo: 0x9e, hi: 0x9e},
{value: 0x0018, lo: 0x9f, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0x92, offset 0x48a
+ // Block 0x91, offset 0x46f
{value: 0x0000, lo: 0x05},
{value: 0x0008, lo: 0x80, hi: 0x83},
{value: 0x0040, lo: 0x84, hi: 0x87},
{value: 0x0008, lo: 0x88, hi: 0x8f},
{value: 0x0018, lo: 0x90, hi: 0x95},
{value: 0x0040, lo: 0x96, hi: 0xbf},
- // Block 0x93, offset 0x490
+ // Block 0x92, offset 0x475
{value: 0x0000, lo: 0x06},
{value: 0xe145, lo: 0x80, hi: 0x87},
{value: 0xe1c5, lo: 0x88, hi: 0x8f},
@@ -3663,7 +3668,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x8ad5, lo: 0x98, hi: 0x9f},
{value: 0x8aed, lo: 0xa0, hi: 0xa7},
{value: 0x0008, lo: 0xa8, hi: 0xbf},
- // Block 0x94, offset 0x497
+ // Block 0x93, offset 0x47c
{value: 0x0000, lo: 0x06},
{value: 0x0008, lo: 0x80, hi: 0x9d},
{value: 0x0040, lo: 0x9e, hi: 0x9f},
@@ -3671,7 +3676,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xaa, hi: 0xaf},
{value: 0x8aed, lo: 0xb0, hi: 0xb7},
{value: 0x8ad5, lo: 0xb8, hi: 0xbf},
- // Block 0x95, offset 0x49e
+ // Block 0x94, offset 0x483
{value: 0x0000, lo: 0x06},
{value: 0xe145, lo: 0x80, hi: 0x87},
{value: 0xe1c5, lo: 0x88, hi: 0x8f},
@@ -3679,173 +3684,176 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0x94, hi: 0x97},
{value: 0x0008, lo: 0x98, hi: 0xbb},
{value: 0x0040, lo: 0xbc, hi: 0xbf},
- // Block 0x96, offset 0x4a5
+ // Block 0x95, offset 0x48a
{value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0xa7},
{value: 0x0040, lo: 0xa8, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0x97, offset 0x4a9
+ // Block 0x96, offset 0x48e
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0xa3},
{value: 0x0040, lo: 0xa4, hi: 0xae},
{value: 0x0018, lo: 0xaf, hi: 0xaf},
{value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x98, offset 0x4ae
+ // Block 0x97, offset 0x493
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0xb6},
{value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0x99, offset 0x4b1
+ // Block 0x98, offset 0x496
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0x95},
{value: 0x0040, lo: 0x96, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xa7},
{value: 0x0040, lo: 0xa8, hi: 0xbf},
- // Block 0x9a, offset 0x4b6
+ // Block 0x99, offset 0x49b
{value: 0x0000, lo: 0x0b},
- {value: 0x0008, lo: 0x80, hi: 0x85},
+ {value: 0x0808, lo: 0x80, hi: 0x85},
{value: 0x0040, lo: 0x86, hi: 0x87},
- {value: 0x0008, lo: 0x88, hi: 0x88},
+ {value: 0x0808, lo: 0x88, hi: 0x88},
{value: 0x0040, lo: 0x89, hi: 0x89},
- {value: 0x0008, lo: 0x8a, hi: 0xb5},
+ {value: 0x0808, lo: 0x8a, hi: 0xb5},
{value: 0x0040, lo: 0xb6, hi: 0xb6},
- {value: 0x0008, lo: 0xb7, hi: 0xb8},
+ {value: 0x0808, lo: 0xb7, hi: 0xb8},
{value: 0x0040, lo: 0xb9, hi: 0xbb},
- {value: 0x0008, lo: 0xbc, hi: 0xbc},
+ {value: 0x0808, lo: 0xbc, hi: 0xbc},
{value: 0x0040, lo: 0xbd, hi: 0xbe},
- {value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0x9b, offset 0x4c2
+ {value: 0x0808, lo: 0xbf, hi: 0xbf},
+ // Block 0x9a, offset 0x4a7
{value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x95},
+ {value: 0x0808, lo: 0x80, hi: 0x95},
{value: 0x0040, lo: 0x96, hi: 0x96},
- {value: 0x0018, lo: 0x97, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb6},
- {value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0x9c, offset 0x4c8
+ {value: 0x0818, lo: 0x97, hi: 0x9f},
+ {value: 0x0808, lo: 0xa0, hi: 0xb6},
+ {value: 0x0818, lo: 0xb7, hi: 0xbf},
+ // Block 0x9b, offset 0x4ad
{value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0x9e},
+ {value: 0x0808, lo: 0x80, hi: 0x9e},
{value: 0x0040, lo: 0x9f, hi: 0xa6},
- {value: 0x0018, lo: 0xa7, hi: 0xaf},
+ {value: 0x0818, lo: 0xa7, hi: 0xaf},
{value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0x9d, offset 0x4cd
+ // Block 0x9c, offset 0x4b2
{value: 0x0000, lo: 0x06},
{value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb2},
+ {value: 0x0808, lo: 0xa0, hi: 0xb2},
{value: 0x0040, lo: 0xb3, hi: 0xb3},
- {value: 0x0008, lo: 0xb4, hi: 0xb5},
+ {value: 0x0808, lo: 0xb4, hi: 0xb5},
{value: 0x0040, lo: 0xb6, hi: 0xba},
- {value: 0x0018, lo: 0xbb, hi: 0xbf},
- // Block 0x9e, offset 0x4d4
+ {value: 0x0818, lo: 0xbb, hi: 0xbf},
+ // Block 0x9d, offset 0x4b9
{value: 0x0000, lo: 0x07},
- {value: 0x0008, lo: 0x80, hi: 0x95},
- {value: 0x0018, lo: 0x96, hi: 0x9b},
+ {value: 0x0808, lo: 0x80, hi: 0x95},
+ {value: 0x0818, lo: 0x96, hi: 0x9b},
{value: 0x0040, lo: 0x9c, hi: 0x9e},
{value: 0x0018, lo: 0x9f, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb9},
+ {value: 0x0808, lo: 0xa0, hi: 0xb9},
{value: 0x0040, lo: 0xba, hi: 0xbe},
- {value: 0x0018, lo: 0xbf, hi: 0xbf},
- // Block 0x9f, offset 0x4dc
+ {value: 0x0818, lo: 0xbf, hi: 0xbf},
+ // Block 0x9e, offset 0x4c1
{value: 0x0000, lo: 0x04},
- {value: 0x0008, lo: 0x80, hi: 0xb7},
+ {value: 0x0808, lo: 0x80, hi: 0xb7},
{value: 0x0040, lo: 0xb8, hi: 0xbb},
- {value: 0x0018, lo: 0xbc, hi: 0xbd},
- {value: 0x0008, lo: 0xbe, hi: 0xbf},
- // Block 0xa0, offset 0x4e1
+ {value: 0x0818, lo: 0xbc, hi: 0xbd},
+ {value: 0x0808, lo: 0xbe, hi: 0xbf},
+ // Block 0x9f, offset 0x4c6
{value: 0x0000, lo: 0x03},
- {value: 0x0018, lo: 0x80, hi: 0x8f},
+ {value: 0x0818, lo: 0x80, hi: 0x8f},
{value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x0018, lo: 0x92, hi: 0xbf},
- // Block 0xa1, offset 0x4e5
+ {value: 0x0818, lo: 0x92, hi: 0xbf},
+ // Block 0xa0, offset 0x4ca
{value: 0x0000, lo: 0x0f},
- {value: 0x0008, lo: 0x80, hi: 0x80},
- {value: 0x1308, lo: 0x81, hi: 0x83},
+ {value: 0x0808, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x83},
{value: 0x0040, lo: 0x84, hi: 0x84},
- {value: 0x1308, lo: 0x85, hi: 0x86},
+ {value: 0x3308, lo: 0x85, hi: 0x86},
{value: 0x0040, lo: 0x87, hi: 0x8b},
- {value: 0x1308, lo: 0x8c, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x93},
+ {value: 0x3308, lo: 0x8c, hi: 0x8f},
+ {value: 0x0808, lo: 0x90, hi: 0x93},
{value: 0x0040, lo: 0x94, hi: 0x94},
- {value: 0x0008, lo: 0x95, hi: 0x97},
+ {value: 0x0808, lo: 0x95, hi: 0x97},
{value: 0x0040, lo: 0x98, hi: 0x98},
- {value: 0x0008, lo: 0x99, hi: 0xb3},
+ {value: 0x0808, lo: 0x99, hi: 0xb3},
{value: 0x0040, lo: 0xb4, hi: 0xb7},
- {value: 0x1308, lo: 0xb8, hi: 0xba},
+ {value: 0x3308, lo: 0xb8, hi: 0xba},
{value: 0x0040, lo: 0xbb, hi: 0xbe},
- {value: 0x1b08, lo: 0xbf, hi: 0xbf},
- // Block 0xa2, offset 0x4f5
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0xa1, offset 0x4da
{value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x87},
+ {value: 0x0818, lo: 0x80, hi: 0x87},
{value: 0x0040, lo: 0x88, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x98},
+ {value: 0x0818, lo: 0x90, hi: 0x98},
{value: 0x0040, lo: 0x99, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xbc},
- {value: 0x0018, lo: 0xbd, hi: 0xbf},
- // Block 0xa3, offset 0x4fc
+ {value: 0x0808, lo: 0xa0, hi: 0xbc},
+ {value: 0x0818, lo: 0xbd, hi: 0xbf},
+ // Block 0xa2, offset 0x4e1
{value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0x9c},
- {value: 0x0018, lo: 0x9d, hi: 0x9f},
+ {value: 0x0808, lo: 0x80, hi: 0x9c},
+ {value: 0x0818, lo: 0x9d, hi: 0x9f},
{value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xa4, offset 0x500
+ // Block 0xa3, offset 0x4e5
{value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xb5},
+ {value: 0x0808, lo: 0x80, hi: 0xb5},
{value: 0x0040, lo: 0xb6, hi: 0xb8},
{value: 0x0018, lo: 0xb9, hi: 0xbf},
- // Block 0xa5, offset 0x504
+ // Block 0xa4, offset 0x4e9
{value: 0x0000, lo: 0x06},
- {value: 0x0008, lo: 0x80, hi: 0x95},
+ {value: 0x0808, lo: 0x80, hi: 0x95},
{value: 0x0040, lo: 0x96, hi: 0x97},
- {value: 0x0018, lo: 0x98, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xb2},
+ {value: 0x0818, lo: 0x98, hi: 0x9f},
+ {value: 0x0808, lo: 0xa0, hi: 0xb2},
{value: 0x0040, lo: 0xb3, hi: 0xb7},
- {value: 0x0018, lo: 0xb8, hi: 0xbf},
- // Block 0xa6, offset 0x50b
+ {value: 0x0818, lo: 0xb8, hi: 0xbf},
+ // Block 0xa5, offset 0x4f0
+ {value: 0x0000, lo: 0x01},
+ {value: 0x0808, lo: 0x80, hi: 0xbf},
+ // Block 0xa6, offset 0x4f2
{value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x88},
+ {value: 0x0808, lo: 0x80, hi: 0x88},
{value: 0x0040, lo: 0x89, hi: 0xbf},
- // Block 0xa7, offset 0x50e
+ // Block 0xa7, offset 0x4f5
{value: 0x0000, lo: 0x02},
{value: 0x03dd, lo: 0x80, hi: 0xb2},
{value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xa8, offset 0x511
+ // Block 0xa8, offset 0x4f8
{value: 0x0000, lo: 0x03},
- {value: 0x0008, lo: 0x80, hi: 0xb2},
+ {value: 0x0808, lo: 0x80, hi: 0xb2},
{value: 0x0040, lo: 0xb3, hi: 0xb9},
- {value: 0x0018, lo: 0xba, hi: 0xbf},
- // Block 0xa9, offset 0x515
+ {value: 0x0818, lo: 0xba, hi: 0xbf},
+ // Block 0xa9, offset 0x4fc
{value: 0x0000, lo: 0x03},
{value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xbe},
+ {value: 0x0818, lo: 0xa0, hi: 0xbe},
{value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xaa, offset 0x519
+ // Block 0xaa, offset 0x500
{value: 0x0000, lo: 0x05},
- {value: 0x1008, lo: 0x80, hi: 0x80},
- {value: 0x1308, lo: 0x81, hi: 0x81},
- {value: 0x1008, lo: 0x82, hi: 0x82},
+ {value: 0x3008, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x82},
{value: 0x0008, lo: 0x83, hi: 0xb7},
- {value: 0x1308, lo: 0xb8, hi: 0xbf},
- // Block 0xab, offset 0x51f
+ {value: 0x3308, lo: 0xb8, hi: 0xbf},
+ // Block 0xab, offset 0x506
{value: 0x0000, lo: 0x08},
- {value: 0x1308, lo: 0x80, hi: 0x85},
- {value: 0x1b08, lo: 0x86, hi: 0x86},
+ {value: 0x3308, lo: 0x80, hi: 0x85},
+ {value: 0x3b08, lo: 0x86, hi: 0x86},
{value: 0x0018, lo: 0x87, hi: 0x8d},
{value: 0x0040, lo: 0x8e, hi: 0x91},
{value: 0x0018, lo: 0x92, hi: 0xa5},
{value: 0x0008, lo: 0xa6, hi: 0xaf},
{value: 0x0040, lo: 0xb0, hi: 0xbe},
- {value: 0x1b08, lo: 0xbf, hi: 0xbf},
- // Block 0xac, offset 0x528
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0xac, offset 0x50f
{value: 0x0000, lo: 0x0b},
- {value: 0x1308, lo: 0x80, hi: 0x81},
- {value: 0x1008, lo: 0x82, hi: 0x82},
+ {value: 0x3308, lo: 0x80, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x82},
{value: 0x0008, lo: 0x83, hi: 0xaf},
- {value: 0x1008, lo: 0xb0, hi: 0xb2},
- {value: 0x1308, lo: 0xb3, hi: 0xb6},
- {value: 0x1008, lo: 0xb7, hi: 0xb8},
- {value: 0x1b08, lo: 0xb9, hi: 0xb9},
- {value: 0x1308, lo: 0xba, hi: 0xba},
+ {value: 0x3008, lo: 0xb0, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb6},
+ {value: 0x3008, lo: 0xb7, hi: 0xb8},
+ {value: 0x3b08, lo: 0xb9, hi: 0xb9},
+ {value: 0x3308, lo: 0xba, hi: 0xba},
{value: 0x0018, lo: 0xbb, hi: 0xbc},
{value: 0x0340, lo: 0xbd, hi: 0xbd},
{value: 0x0018, lo: 0xbe, hi: 0xbf},
- // Block 0xad, offset 0x534
+ // Block 0xad, offset 0x51b
{value: 0x0000, lo: 0x06},
{value: 0x0018, lo: 0x80, hi: 0x81},
{value: 0x0040, lo: 0x82, hi: 0x8f},
@@ -3853,39 +3861,39 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xa9, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xb9},
{value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xae, offset 0x53b
+ // Block 0xae, offset 0x522
{value: 0x0000, lo: 0x08},
- {value: 0x1308, lo: 0x80, hi: 0x82},
+ {value: 0x3308, lo: 0x80, hi: 0x82},
{value: 0x0008, lo: 0x83, hi: 0xa6},
- {value: 0x1308, lo: 0xa7, hi: 0xab},
- {value: 0x1008, lo: 0xac, hi: 0xac},
- {value: 0x1308, lo: 0xad, hi: 0xb2},
- {value: 0x1b08, lo: 0xb3, hi: 0xb4},
+ {value: 0x3308, lo: 0xa7, hi: 0xab},
+ {value: 0x3008, lo: 0xac, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xb2},
+ {value: 0x3b08, lo: 0xb3, hi: 0xb4},
{value: 0x0040, lo: 0xb5, hi: 0xb5},
{value: 0x0008, lo: 0xb6, hi: 0xbf},
- // Block 0xaf, offset 0x544
+ // Block 0xaf, offset 0x52b
{value: 0x0000, lo: 0x07},
{value: 0x0018, lo: 0x80, hi: 0x83},
{value: 0x0040, lo: 0x84, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0xb2},
- {value: 0x1308, lo: 0xb3, hi: 0xb3},
+ {value: 0x3308, lo: 0xb3, hi: 0xb3},
{value: 0x0018, lo: 0xb4, hi: 0xb5},
{value: 0x0008, lo: 0xb6, hi: 0xb6},
{value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xb0, offset 0x54c
+ // Block 0xb0, offset 0x533
{value: 0x0000, lo: 0x06},
- {value: 0x1308, lo: 0x80, hi: 0x81},
- {value: 0x1008, lo: 0x82, hi: 0x82},
+ {value: 0x3308, lo: 0x80, hi: 0x81},
+ {value: 0x3008, lo: 0x82, hi: 0x82},
{value: 0x0008, lo: 0x83, hi: 0xb2},
- {value: 0x1008, lo: 0xb3, hi: 0xb5},
- {value: 0x1308, lo: 0xb6, hi: 0xbe},
- {value: 0x1008, lo: 0xbf, hi: 0xbf},
- // Block 0xb1, offset 0x553
+ {value: 0x3008, lo: 0xb3, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xbe},
+ {value: 0x3008, lo: 0xbf, hi: 0xbf},
+ // Block 0xb1, offset 0x53a
{value: 0x0000, lo: 0x0d},
- {value: 0x1808, lo: 0x80, hi: 0x80},
+ {value: 0x3808, lo: 0x80, hi: 0x80},
{value: 0x0008, lo: 0x81, hi: 0x84},
{value: 0x0018, lo: 0x85, hi: 0x89},
- {value: 0x1308, lo: 0x8a, hi: 0x8c},
+ {value: 0x3308, lo: 0x8a, hi: 0x8c},
{value: 0x0018, lo: 0x8d, hi: 0x8d},
{value: 0x0040, lo: 0x8e, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x9a},
@@ -3895,21 +3903,21 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xa0, hi: 0xa0},
{value: 0x0018, lo: 0xa1, hi: 0xb4},
{value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xb2, offset 0x561
+ // Block 0xb2, offset 0x548
{value: 0x0000, lo: 0x0c},
{value: 0x0008, lo: 0x80, hi: 0x91},
{value: 0x0040, lo: 0x92, hi: 0x92},
{value: 0x0008, lo: 0x93, hi: 0xab},
- {value: 0x1008, lo: 0xac, hi: 0xae},
- {value: 0x1308, lo: 0xaf, hi: 0xb1},
- {value: 0x1008, lo: 0xb2, hi: 0xb3},
- {value: 0x1308, lo: 0xb4, hi: 0xb4},
- {value: 0x1808, lo: 0xb5, hi: 0xb5},
- {value: 0x1308, lo: 0xb6, hi: 0xb7},
+ {value: 0x3008, lo: 0xac, hi: 0xae},
+ {value: 0x3308, lo: 0xaf, hi: 0xb1},
+ {value: 0x3008, lo: 0xb2, hi: 0xb3},
+ {value: 0x3308, lo: 0xb4, hi: 0xb4},
+ {value: 0x3808, lo: 0xb5, hi: 0xb5},
+ {value: 0x3308, lo: 0xb6, hi: 0xb7},
{value: 0x0018, lo: 0xb8, hi: 0xbd},
- {value: 0x1308, lo: 0xbe, hi: 0xbe},
+ {value: 0x3308, lo: 0xbe, hi: 0xbe},
{value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xb3, offset 0x56e
+ // Block 0xb3, offset 0x555
{value: 0x0000, lo: 0x0c},
{value: 0x0008, lo: 0x80, hi: 0x86},
{value: 0x0040, lo: 0x87, hi: 0x87},
@@ -3923,28 +3931,28 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0018, lo: 0xa9, hi: 0xa9},
{value: 0x0040, lo: 0xaa, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbf},
- // Block 0xb4, offset 0x57b
+ // Block 0xb4, offset 0x562
{value: 0x0000, lo: 0x08},
{value: 0x0008, lo: 0x80, hi: 0x9e},
- {value: 0x1308, lo: 0x9f, hi: 0x9f},
- {value: 0x1008, lo: 0xa0, hi: 0xa2},
- {value: 0x1308, lo: 0xa3, hi: 0xa9},
- {value: 0x1b08, lo: 0xaa, hi: 0xaa},
+ {value: 0x3308, lo: 0x9f, hi: 0x9f},
+ {value: 0x3008, lo: 0xa0, hi: 0xa2},
+ {value: 0x3308, lo: 0xa3, hi: 0xa9},
+ {value: 0x3b08, lo: 0xaa, hi: 0xaa},
{value: 0x0040, lo: 0xab, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xb9},
{value: 0x0040, lo: 0xba, hi: 0xbf},
- // Block 0xb5, offset 0x584
+ // Block 0xb5, offset 0x56b
{value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0xb4},
- {value: 0x1008, lo: 0xb5, hi: 0xb7},
- {value: 0x1308, lo: 0xb8, hi: 0xbf},
- // Block 0xb6, offset 0x588
+ {value: 0x3008, lo: 0xb5, hi: 0xb7},
+ {value: 0x3308, lo: 0xb8, hi: 0xbf},
+ // Block 0xb6, offset 0x56f
{value: 0x0000, lo: 0x0d},
- {value: 0x1008, lo: 0x80, hi: 0x81},
- {value: 0x1b08, lo: 0x82, hi: 0x82},
- {value: 0x1308, lo: 0x83, hi: 0x84},
- {value: 0x1008, lo: 0x85, hi: 0x85},
- {value: 0x1308, lo: 0x86, hi: 0x86},
+ {value: 0x3008, lo: 0x80, hi: 0x81},
+ {value: 0x3b08, lo: 0x82, hi: 0x82},
+ {value: 0x3308, lo: 0x83, hi: 0x84},
+ {value: 0x3008, lo: 0x85, hi: 0x85},
+ {value: 0x3308, lo: 0x86, hi: 0x86},
{value: 0x0008, lo: 0x87, hi: 0x8a},
{value: 0x0018, lo: 0x8b, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
@@ -3953,56 +3961,56 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0x9c, hi: 0x9c},
{value: 0x0018, lo: 0x9d, hi: 0x9d},
{value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0xb7, offset 0x596
+ // Block 0xb7, offset 0x57d
{value: 0x0000, lo: 0x07},
{value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x1008, lo: 0xb0, hi: 0xb2},
- {value: 0x1308, lo: 0xb3, hi: 0xb8},
- {value: 0x1008, lo: 0xb9, hi: 0xb9},
- {value: 0x1308, lo: 0xba, hi: 0xba},
- {value: 0x1008, lo: 0xbb, hi: 0xbe},
- {value: 0x1308, lo: 0xbf, hi: 0xbf},
- // Block 0xb8, offset 0x59e
+ {value: 0x3008, lo: 0xb0, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb8},
+ {value: 0x3008, lo: 0xb9, hi: 0xb9},
+ {value: 0x3308, lo: 0xba, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbe},
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
+ // Block 0xb8, offset 0x585
{value: 0x0000, lo: 0x0a},
- {value: 0x1308, lo: 0x80, hi: 0x80},
- {value: 0x1008, lo: 0x81, hi: 0x81},
- {value: 0x1b08, lo: 0x82, hi: 0x82},
- {value: 0x1308, lo: 0x83, hi: 0x83},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
+ {value: 0x3008, lo: 0x81, hi: 0x81},
+ {value: 0x3b08, lo: 0x82, hi: 0x82},
+ {value: 0x3308, lo: 0x83, hi: 0x83},
{value: 0x0008, lo: 0x84, hi: 0x85},
{value: 0x0018, lo: 0x86, hi: 0x86},
{value: 0x0008, lo: 0x87, hi: 0x87},
{value: 0x0040, lo: 0x88, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xb9, offset 0x5a9
+ // Block 0xb9, offset 0x590
{value: 0x0000, lo: 0x08},
{value: 0x0008, lo: 0x80, hi: 0xae},
- {value: 0x1008, lo: 0xaf, hi: 0xb1},
- {value: 0x1308, lo: 0xb2, hi: 0xb5},
+ {value: 0x3008, lo: 0xaf, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb5},
{value: 0x0040, lo: 0xb6, hi: 0xb7},
- {value: 0x1008, lo: 0xb8, hi: 0xbb},
- {value: 0x1308, lo: 0xbc, hi: 0xbd},
- {value: 0x1008, lo: 0xbe, hi: 0xbe},
- {value: 0x1b08, lo: 0xbf, hi: 0xbf},
- // Block 0xba, offset 0x5b2
+ {value: 0x3008, lo: 0xb8, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbe},
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0xba, offset 0x599
{value: 0x0000, lo: 0x05},
- {value: 0x1308, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
{value: 0x0018, lo: 0x81, hi: 0x97},
{value: 0x0008, lo: 0x98, hi: 0x9b},
- {value: 0x1308, lo: 0x9c, hi: 0x9d},
+ {value: 0x3308, lo: 0x9c, hi: 0x9d},
{value: 0x0040, lo: 0x9e, hi: 0xbf},
- // Block 0xbb, offset 0x5b8
+ // Block 0xbb, offset 0x59f
{value: 0x0000, lo: 0x07},
{value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x1008, lo: 0xb0, hi: 0xb2},
- {value: 0x1308, lo: 0xb3, hi: 0xba},
- {value: 0x1008, lo: 0xbb, hi: 0xbc},
- {value: 0x1308, lo: 0xbd, hi: 0xbd},
- {value: 0x1008, lo: 0xbe, hi: 0xbe},
- {value: 0x1b08, lo: 0xbf, hi: 0xbf},
- // Block 0xbc, offset 0x5c0
+ {value: 0x3008, lo: 0xb0, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xba},
+ {value: 0x3008, lo: 0xbb, hi: 0xbc},
+ {value: 0x3308, lo: 0xbd, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbe},
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0xbc, offset 0x5a7
{value: 0x0000, lo: 0x08},
- {value: 0x1308, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x80, hi: 0x80},
{value: 0x0018, lo: 0x81, hi: 0x83},
{value: 0x0008, lo: 0x84, hi: 0x84},
{value: 0x0040, lo: 0x85, hi: 0x8f},
@@ -4010,60 +4018,97 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0x9a, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xac},
{value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xbd, offset 0x5c9
+ // Block 0xbd, offset 0x5b0
{value: 0x0000, lo: 0x09},
{value: 0x0008, lo: 0x80, hi: 0xaa},
- {value: 0x1308, lo: 0xab, hi: 0xab},
- {value: 0x1008, lo: 0xac, hi: 0xac},
- {value: 0x1308, lo: 0xad, hi: 0xad},
- {value: 0x1008, lo: 0xae, hi: 0xaf},
- {value: 0x1308, lo: 0xb0, hi: 0xb5},
- {value: 0x1808, lo: 0xb6, hi: 0xb6},
- {value: 0x1308, lo: 0xb7, hi: 0xb7},
+ {value: 0x3308, lo: 0xab, hi: 0xab},
+ {value: 0x3008, lo: 0xac, hi: 0xac},
+ {value: 0x3308, lo: 0xad, hi: 0xad},
+ {value: 0x3008, lo: 0xae, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xb5},
+ {value: 0x3808, lo: 0xb6, hi: 0xb6},
+ {value: 0x3308, lo: 0xb7, hi: 0xb7},
{value: 0x0040, lo: 0xb8, hi: 0xbf},
- // Block 0xbe, offset 0x5d3
+ // Block 0xbe, offset 0x5ba
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0x89},
{value: 0x0040, lo: 0x8a, hi: 0xbf},
- // Block 0xbf, offset 0x5d6
+ // Block 0xbf, offset 0x5bd
{value: 0x0000, lo: 0x0b},
{value: 0x0008, lo: 0x80, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9c},
- {value: 0x1308, lo: 0x9d, hi: 0x9f},
- {value: 0x1008, lo: 0xa0, hi: 0xa1},
- {value: 0x1308, lo: 0xa2, hi: 0xa5},
- {value: 0x1008, lo: 0xa6, hi: 0xa6},
- {value: 0x1308, lo: 0xa7, hi: 0xaa},
- {value: 0x1b08, lo: 0xab, hi: 0xab},
+ {value: 0x3308, lo: 0x9d, hi: 0x9f},
+ {value: 0x3008, lo: 0xa0, hi: 0xa1},
+ {value: 0x3308, lo: 0xa2, hi: 0xa5},
+ {value: 0x3008, lo: 0xa6, hi: 0xa6},
+ {value: 0x3308, lo: 0xa7, hi: 0xaa},
+ {value: 0x3b08, lo: 0xab, hi: 0xab},
{value: 0x0040, lo: 0xac, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xb9},
{value: 0x0018, lo: 0xba, hi: 0xbf},
- // Block 0xc0, offset 0x5e2
+ // Block 0xc0, offset 0x5c9
{value: 0x0000, lo: 0x02},
{value: 0x0040, lo: 0x80, hi: 0x9f},
{value: 0x049d, lo: 0xa0, hi: 0xbf},
- // Block 0xc1, offset 0x5e5
+ // Block 0xc1, offset 0x5cc
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0xa9},
{value: 0x0018, lo: 0xaa, hi: 0xb2},
{value: 0x0040, lo: 0xb3, hi: 0xbe},
{value: 0x0008, lo: 0xbf, hi: 0xbf},
- // Block 0xc2, offset 0x5ea
+ // Block 0xc2, offset 0x5d1
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0x80},
+ {value: 0x3308, lo: 0x81, hi: 0x86},
+ {value: 0x3008, lo: 0x87, hi: 0x88},
+ {value: 0x3308, lo: 0x89, hi: 0x8a},
+ {value: 0x0008, lo: 0x8b, hi: 0xb2},
+ {value: 0x3308, lo: 0xb3, hi: 0xb3},
+ {value: 0x3b08, lo: 0xb4, hi: 0xb4},
+ {value: 0x3308, lo: 0xb5, hi: 0xb8},
+ {value: 0x3008, lo: 0xb9, hi: 0xb9},
+ {value: 0x0008, lo: 0xba, hi: 0xba},
+ {value: 0x3308, lo: 0xbb, hi: 0xbe},
+ {value: 0x0018, lo: 0xbf, hi: 0xbf},
+ // Block 0xc3, offset 0x5de
+ {value: 0x0000, lo: 0x08},
+ {value: 0x0018, lo: 0x80, hi: 0x86},
+ {value: 0x3b08, lo: 0x87, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x90},
+ {value: 0x3308, lo: 0x91, hi: 0x96},
+ {value: 0x3008, lo: 0x97, hi: 0x98},
+ {value: 0x3308, lo: 0x99, hi: 0x9b},
+ {value: 0x0008, lo: 0x9c, hi: 0xbf},
+ // Block 0xc4, offset 0x5e7
+ {value: 0x0000, lo: 0x0b},
+ {value: 0x0008, lo: 0x80, hi: 0x83},
+ {value: 0x0040, lo: 0x84, hi: 0x85},
+ {value: 0x0008, lo: 0x86, hi: 0x89},
+ {value: 0x3308, lo: 0x8a, hi: 0x96},
+ {value: 0x3008, lo: 0x97, hi: 0x97},
+ {value: 0x3308, lo: 0x98, hi: 0x98},
+ {value: 0x3b08, lo: 0x99, hi: 0x99},
+ {value: 0x0018, lo: 0x9a, hi: 0x9c},
+ {value: 0x0040, lo: 0x9d, hi: 0x9d},
+ {value: 0x0018, lo: 0x9e, hi: 0xa2},
+ {value: 0x0040, lo: 0xa3, hi: 0xbf},
+ // Block 0xc5, offset 0x5f3
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0xb8},
{value: 0x0040, lo: 0xb9, hi: 0xbf},
- // Block 0xc3, offset 0x5ed
+ // Block 0xc6, offset 0x5f6
{value: 0x0000, lo: 0x09},
{value: 0x0008, lo: 0x80, hi: 0x88},
{value: 0x0040, lo: 0x89, hi: 0x89},
{value: 0x0008, lo: 0x8a, hi: 0xae},
- {value: 0x1008, lo: 0xaf, hi: 0xaf},
- {value: 0x1308, lo: 0xb0, hi: 0xb6},
+ {value: 0x3008, lo: 0xaf, hi: 0xaf},
+ {value: 0x3308, lo: 0xb0, hi: 0xb6},
{value: 0x0040, lo: 0xb7, hi: 0xb7},
- {value: 0x1308, lo: 0xb8, hi: 0xbd},
- {value: 0x1008, lo: 0xbe, hi: 0xbe},
- {value: 0x1b08, lo: 0xbf, hi: 0xbf},
- // Block 0xc4, offset 0x5f7
+ {value: 0x3308, lo: 0xb8, hi: 0xbd},
+ {value: 0x3008, lo: 0xbe, hi: 0xbe},
+ {value: 0x3b08, lo: 0xbf, hi: 0xbf},
+ // Block 0xc7, offset 0x600
{value: 0x0000, lo: 0x08},
{value: 0x0008, lo: 0x80, hi: 0x80},
{value: 0x0018, lo: 0x81, hi: 0x85},
@@ -4073,42 +4118,65 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xad, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xb1},
{value: 0x0008, lo: 0xb2, hi: 0xbf},
- // Block 0xc5, offset 0x600
+ // Block 0xc8, offset 0x609
{value: 0x0000, lo: 0x0b},
{value: 0x0008, lo: 0x80, hi: 0x8f},
{value: 0x0040, lo: 0x90, hi: 0x91},
- {value: 0x1308, lo: 0x92, hi: 0xa7},
+ {value: 0x3308, lo: 0x92, hi: 0xa7},
{value: 0x0040, lo: 0xa8, hi: 0xa8},
- {value: 0x1008, lo: 0xa9, hi: 0xa9},
- {value: 0x1308, lo: 0xaa, hi: 0xb0},
- {value: 0x1008, lo: 0xb1, hi: 0xb1},
- {value: 0x1308, lo: 0xb2, hi: 0xb3},
- {value: 0x1008, lo: 0xb4, hi: 0xb4},
- {value: 0x1308, lo: 0xb5, hi: 0xb6},
+ {value: 0x3008, lo: 0xa9, hi: 0xa9},
+ {value: 0x3308, lo: 0xaa, hi: 0xb0},
+ {value: 0x3008, lo: 0xb1, hi: 0xb1},
+ {value: 0x3308, lo: 0xb2, hi: 0xb3},
+ {value: 0x3008, lo: 0xb4, hi: 0xb4},
+ {value: 0x3308, lo: 0xb5, hi: 0xb6},
{value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xc6, offset 0x60c
+ // Block 0xc9, offset 0x615
+ {value: 0x0000, lo: 0x0c},
+ {value: 0x0008, lo: 0x80, hi: 0x86},
+ {value: 0x0040, lo: 0x87, hi: 0x87},
+ {value: 0x0008, lo: 0x88, hi: 0x89},
+ {value: 0x0040, lo: 0x8a, hi: 0x8a},
+ {value: 0x0008, lo: 0x8b, hi: 0xb0},
+ {value: 0x3308, lo: 0xb1, hi: 0xb6},
+ {value: 0x0040, lo: 0xb7, hi: 0xb9},
+ {value: 0x3308, lo: 0xba, hi: 0xba},
+ {value: 0x0040, lo: 0xbb, hi: 0xbb},
+ {value: 0x3308, lo: 0xbc, hi: 0xbd},
+ {value: 0x0040, lo: 0xbe, hi: 0xbe},
+ {value: 0x3308, lo: 0xbf, hi: 0xbf},
+ // Block 0xca, offset 0x622
+ {value: 0x0000, lo: 0x07},
+ {value: 0x3308, lo: 0x80, hi: 0x83},
+ {value: 0x3b08, lo: 0x84, hi: 0x85},
+ {value: 0x0008, lo: 0x86, hi: 0x86},
+ {value: 0x3308, lo: 0x87, hi: 0x87},
+ {value: 0x0040, lo: 0x88, hi: 0x8f},
+ {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0040, lo: 0x9a, hi: 0xbf},
+ // Block 0xcb, offset 0x62a
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0xbf},
- // Block 0xc7, offset 0x60f
+ // Block 0xcc, offset 0x62d
{value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0xae},
{value: 0x0040, lo: 0xaf, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xb4},
{value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xc8, offset 0x614
+ // Block 0xcd, offset 0x632
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0x83},
{value: 0x0040, lo: 0x84, hi: 0xbf},
- // Block 0xc9, offset 0x617
+ // Block 0xce, offset 0x635
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0xae},
{value: 0x0040, lo: 0xaf, hi: 0xbf},
- // Block 0xca, offset 0x61a
+ // Block 0xcf, offset 0x638
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0x86},
{value: 0x0040, lo: 0x87, hi: 0xbf},
- // Block 0xcb, offset 0x61d
+ // Block 0xd0, offset 0x63b
{value: 0x0000, lo: 0x06},
{value: 0x0008, lo: 0x80, hi: 0x9e},
{value: 0x0040, lo: 0x9f, hi: 0x9f},
@@ -4116,20 +4184,20 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0xaa, hi: 0xad},
{value: 0x0018, lo: 0xae, hi: 0xaf},
{value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xcc, offset 0x624
+ // Block 0xd1, offset 0x642
{value: 0x0000, lo: 0x06},
{value: 0x0040, lo: 0x80, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0xad},
{value: 0x0040, lo: 0xae, hi: 0xaf},
- {value: 0x1308, lo: 0xb0, hi: 0xb4},
+ {value: 0x3308, lo: 0xb0, hi: 0xb4},
{value: 0x0018, lo: 0xb5, hi: 0xb5},
{value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xcd, offset 0x62b
+ // Block 0xd2, offset 0x649
{value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0xaf},
- {value: 0x1308, lo: 0xb0, hi: 0xb6},
+ {value: 0x3308, lo: 0xb0, hi: 0xb6},
{value: 0x0018, lo: 0xb7, hi: 0xbf},
- // Block 0xce, offset 0x62f
+ // Block 0xd3, offset 0x64d
{value: 0x0000, lo: 0x0a},
{value: 0x0008, lo: 0x80, hi: 0x83},
{value: 0x0018, lo: 0x84, hi: 0x85},
@@ -4141,67 +4209,75 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0008, lo: 0xa3, hi: 0xb7},
{value: 0x0040, lo: 0xb8, hi: 0xbc},
{value: 0x0008, lo: 0xbd, hi: 0xbf},
- // Block 0xcf, offset 0x63a
+ // Block 0xd4, offset 0x658
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0x8f},
{value: 0x0040, lo: 0x90, hi: 0xbf},
- // Block 0xd0, offset 0x63d
+ // Block 0xd5, offset 0x65b
{value: 0x0000, lo: 0x05},
{value: 0x0008, lo: 0x80, hi: 0x84},
{value: 0x0040, lo: 0x85, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x90},
- {value: 0x1008, lo: 0x91, hi: 0xbe},
+ {value: 0x3008, lo: 0x91, hi: 0xbe},
{value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xd1, offset 0x643
+ // Block 0xd6, offset 0x661
{value: 0x0000, lo: 0x04},
{value: 0x0040, lo: 0x80, hi: 0x8e},
- {value: 0x1308, lo: 0x8f, hi: 0x92},
+ {value: 0x3308, lo: 0x8f, hi: 0x92},
{value: 0x0008, lo: 0x93, hi: 0x9f},
{value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xd2, offset 0x648
+ // Block 0xd7, offset 0x666
{value: 0x0000, lo: 0x03},
{value: 0x0040, lo: 0x80, hi: 0x9f},
- {value: 0x0008, lo: 0xa0, hi: 0xa0},
- {value: 0x0040, lo: 0xa1, hi: 0xbf},
- // Block 0xd3, offset 0x64c
+ {value: 0x0008, lo: 0xa0, hi: 0xa1},
+ {value: 0x0040, lo: 0xa2, hi: 0xbf},
+ // Block 0xd8, offset 0x66a
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0xac},
{value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xd4, offset 0x64f
+ // Block 0xd9, offset 0x66d
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0xb2},
{value: 0x0040, lo: 0xb3, hi: 0xbf},
- // Block 0xd5, offset 0x652
+ // Block 0xda, offset 0x670
{value: 0x0000, lo: 0x02},
- {value: 0x0008, lo: 0x80, hi: 0x81},
- {value: 0x0040, lo: 0x82, hi: 0xbf},
- // Block 0xd6, offset 0x655
+ {value: 0x0008, lo: 0x80, hi: 0x9e},
+ {value: 0x0040, lo: 0x9f, hi: 0xbf},
+ // Block 0xdb, offset 0x673
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0040, lo: 0x80, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0xdc, offset 0x676
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xbb},
+ {value: 0x0040, lo: 0xbc, hi: 0xbf},
+ // Block 0xdd, offset 0x679
{value: 0x0000, lo: 0x04},
{value: 0x0008, lo: 0x80, hi: 0xaa},
{value: 0x0040, lo: 0xab, hi: 0xaf},
{value: 0x0008, lo: 0xb0, hi: 0xbc},
{value: 0x0040, lo: 0xbd, hi: 0xbf},
- // Block 0xd7, offset 0x65a
+ // Block 0xde, offset 0x67e
{value: 0x0000, lo: 0x09},
{value: 0x0008, lo: 0x80, hi: 0x88},
{value: 0x0040, lo: 0x89, hi: 0x8f},
{value: 0x0008, lo: 0x90, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9b},
{value: 0x0018, lo: 0x9c, hi: 0x9c},
- {value: 0x1308, lo: 0x9d, hi: 0x9e},
+ {value: 0x3308, lo: 0x9d, hi: 0x9e},
{value: 0x0018, lo: 0x9f, hi: 0x9f},
{value: 0x03c0, lo: 0xa0, hi: 0xa3},
{value: 0x0040, lo: 0xa4, hi: 0xbf},
- // Block 0xd8, offset 0x664
+ // Block 0xdf, offset 0x688
{value: 0x0000, lo: 0x02},
{value: 0x0018, lo: 0x80, hi: 0xb5},
{value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xd9, offset 0x667
+ // Block 0xe0, offset 0x68b
{value: 0x0000, lo: 0x03},
{value: 0x0018, lo: 0x80, hi: 0xa6},
{value: 0x0040, lo: 0xa7, hi: 0xa8},
{value: 0x0018, lo: 0xa9, hi: 0xbf},
- // Block 0xda, offset 0x66b
+ // Block 0xe1, offset 0x68f
{value: 0x0000, lo: 0x0e},
{value: 0x0018, lo: 0x80, hi: 0x9d},
{value: 0xb5b9, lo: 0x9e, hi: 0x9e},
@@ -4211,127 +4287,127 @@ var idnaSparseValues = [1876]valueRange{
{value: 0xb719, lo: 0xa2, hi: 0xa2},
{value: 0xb781, lo: 0xa3, hi: 0xa3},
{value: 0xb7e9, lo: 0xa4, hi: 0xa4},
- {value: 0x1018, lo: 0xa5, hi: 0xa6},
- {value: 0x1318, lo: 0xa7, hi: 0xa9},
+ {value: 0x3018, lo: 0xa5, hi: 0xa6},
+ {value: 0x3318, lo: 0xa7, hi: 0xa9},
{value: 0x0018, lo: 0xaa, hi: 0xac},
- {value: 0x1018, lo: 0xad, hi: 0xb2},
+ {value: 0x3018, lo: 0xad, hi: 0xb2},
{value: 0x0340, lo: 0xb3, hi: 0xba},
- {value: 0x1318, lo: 0xbb, hi: 0xbf},
- // Block 0xdb, offset 0x67a
+ {value: 0x3318, lo: 0xbb, hi: 0xbf},
+ // Block 0xe2, offset 0x69e
{value: 0x0000, lo: 0x0b},
- {value: 0x1318, lo: 0x80, hi: 0x82},
+ {value: 0x3318, lo: 0x80, hi: 0x82},
{value: 0x0018, lo: 0x83, hi: 0x84},
- {value: 0x1318, lo: 0x85, hi: 0x8b},
+ {value: 0x3318, lo: 0x85, hi: 0x8b},
{value: 0x0018, lo: 0x8c, hi: 0xa9},
- {value: 0x1318, lo: 0xaa, hi: 0xad},
+ {value: 0x3318, lo: 0xaa, hi: 0xad},
{value: 0x0018, lo: 0xae, hi: 0xba},
{value: 0xb851, lo: 0xbb, hi: 0xbb},
{value: 0xb899, lo: 0xbc, hi: 0xbc},
{value: 0xb8e1, lo: 0xbd, hi: 0xbd},
{value: 0xb949, lo: 0xbe, hi: 0xbe},
{value: 0xb9b1, lo: 0xbf, hi: 0xbf},
- // Block 0xdc, offset 0x686
+ // Block 0xe3, offset 0x6aa
{value: 0x0000, lo: 0x03},
{value: 0xba19, lo: 0x80, hi: 0x80},
{value: 0x0018, lo: 0x81, hi: 0xa8},
{value: 0x0040, lo: 0xa9, hi: 0xbf},
- // Block 0xdd, offset 0x68a
+ // Block 0xe4, offset 0x6ae
{value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0x81},
- {value: 0x1318, lo: 0x82, hi: 0x84},
+ {value: 0x3318, lo: 0x82, hi: 0x84},
{value: 0x0018, lo: 0x85, hi: 0x85},
{value: 0x0040, lo: 0x86, hi: 0xbf},
- // Block 0xde, offset 0x68f
+ // Block 0xe5, offset 0x6b3
{value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0x96},
{value: 0x0040, lo: 0x97, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xb1},
{value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xdf, offset 0x694
+ // Block 0xe6, offset 0x6b8
{value: 0x0000, lo: 0x03},
- {value: 0x1308, lo: 0x80, hi: 0xb6},
+ {value: 0x3308, lo: 0x80, hi: 0xb6},
{value: 0x0018, lo: 0xb7, hi: 0xba},
- {value: 0x1308, lo: 0xbb, hi: 0xbf},
- // Block 0xe0, offset 0x698
+ {value: 0x3308, lo: 0xbb, hi: 0xbf},
+ // Block 0xe7, offset 0x6bc
{value: 0x0000, lo: 0x04},
- {value: 0x1308, lo: 0x80, hi: 0xac},
+ {value: 0x3308, lo: 0x80, hi: 0xac},
{value: 0x0018, lo: 0xad, hi: 0xb4},
- {value: 0x1308, lo: 0xb5, hi: 0xb5},
+ {value: 0x3308, lo: 0xb5, hi: 0xb5},
{value: 0x0018, lo: 0xb6, hi: 0xbf},
- // Block 0xe1, offset 0x69d
+ // Block 0xe8, offset 0x6c1
{value: 0x0000, lo: 0x08},
{value: 0x0018, lo: 0x80, hi: 0x83},
- {value: 0x1308, lo: 0x84, hi: 0x84},
+ {value: 0x3308, lo: 0x84, hi: 0x84},
{value: 0x0018, lo: 0x85, hi: 0x8b},
{value: 0x0040, lo: 0x8c, hi: 0x9a},
- {value: 0x1308, lo: 0x9b, hi: 0x9f},
+ {value: 0x3308, lo: 0x9b, hi: 0x9f},
{value: 0x0040, lo: 0xa0, hi: 0xa0},
- {value: 0x1308, lo: 0xa1, hi: 0xaf},
+ {value: 0x3308, lo: 0xa1, hi: 0xaf},
{value: 0x0040, lo: 0xb0, hi: 0xbf},
- // Block 0xe2, offset 0x6a6
+ // Block 0xe9, offset 0x6ca
{value: 0x0000, lo: 0x0a},
- {value: 0x1308, lo: 0x80, hi: 0x86},
+ {value: 0x3308, lo: 0x80, hi: 0x86},
{value: 0x0040, lo: 0x87, hi: 0x87},
- {value: 0x1308, lo: 0x88, hi: 0x98},
+ {value: 0x3308, lo: 0x88, hi: 0x98},
{value: 0x0040, lo: 0x99, hi: 0x9a},
- {value: 0x1308, lo: 0x9b, hi: 0xa1},
+ {value: 0x3308, lo: 0x9b, hi: 0xa1},
{value: 0x0040, lo: 0xa2, hi: 0xa2},
- {value: 0x1308, lo: 0xa3, hi: 0xa4},
+ {value: 0x3308, lo: 0xa3, hi: 0xa4},
{value: 0x0040, lo: 0xa5, hi: 0xa5},
- {value: 0x1308, lo: 0xa6, hi: 0xaa},
+ {value: 0x3308, lo: 0xa6, hi: 0xaa},
{value: 0x0040, lo: 0xab, hi: 0xbf},
- // Block 0xe3, offset 0x6b1
+ // Block 0xea, offset 0x6d5
{value: 0x0000, lo: 0x05},
- {value: 0x0008, lo: 0x80, hi: 0x84},
+ {value: 0x0808, lo: 0x80, hi: 0x84},
{value: 0x0040, lo: 0x85, hi: 0x86},
- {value: 0x0018, lo: 0x87, hi: 0x8f},
- {value: 0x1308, lo: 0x90, hi: 0x96},
+ {value: 0x0818, lo: 0x87, hi: 0x8f},
+ {value: 0x3308, lo: 0x90, hi: 0x96},
{value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0xe4, offset 0x6b7
+ // Block 0xeb, offset 0x6db
{value: 0x0000, lo: 0x07},
- {value: 0x0208, lo: 0x80, hi: 0x83},
- {value: 0x1308, lo: 0x84, hi: 0x8a},
+ {value: 0x0a08, lo: 0x80, hi: 0x83},
+ {value: 0x3308, lo: 0x84, hi: 0x8a},
{value: 0x0040, lo: 0x8b, hi: 0x8f},
- {value: 0x0008, lo: 0x90, hi: 0x99},
+ {value: 0x0808, lo: 0x90, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9d},
- {value: 0x0018, lo: 0x9e, hi: 0x9f},
+ {value: 0x0818, lo: 0x9e, hi: 0x9f},
{value: 0x0040, lo: 0xa0, hi: 0xbf},
- // Block 0xe5, offset 0x6bf
+ // Block 0xec, offset 0x6e3
{value: 0x0000, lo: 0x03},
{value: 0x0040, lo: 0x80, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xb1},
{value: 0x0040, lo: 0xb2, hi: 0xbf},
- // Block 0xe6, offset 0x6c3
+ // Block 0xed, offset 0x6e7
{value: 0x0000, lo: 0x03},
{value: 0x0018, lo: 0x80, hi: 0xab},
{value: 0x0040, lo: 0xac, hi: 0xaf},
{value: 0x0018, lo: 0xb0, hi: 0xbf},
- // Block 0xe7, offset 0x6c7
+ // Block 0xee, offset 0x6eb
{value: 0x0000, lo: 0x05},
{value: 0x0018, lo: 0x80, hi: 0x93},
{value: 0x0040, lo: 0x94, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xae},
{value: 0x0040, lo: 0xaf, hi: 0xb0},
{value: 0x0018, lo: 0xb1, hi: 0xbf},
- // Block 0xe8, offset 0x6cd
+ // Block 0xef, offset 0x6f1
{value: 0x0000, lo: 0x05},
{value: 0x0040, lo: 0x80, hi: 0x80},
{value: 0x0018, lo: 0x81, hi: 0x8f},
{value: 0x0040, lo: 0x90, hi: 0x90},
{value: 0x0018, lo: 0x91, hi: 0xb5},
{value: 0x0040, lo: 0xb6, hi: 0xbf},
- // Block 0xe9, offset 0x6d3
+ // Block 0xf0, offset 0x6f7
{value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0x8f},
{value: 0xc1c1, lo: 0x90, hi: 0x90},
{value: 0x0018, lo: 0x91, hi: 0xac},
{value: 0x0040, lo: 0xad, hi: 0xbf},
- // Block 0xea, offset 0x6d8
+ // Block 0xf1, offset 0x6fc
{value: 0x0000, lo: 0x02},
{value: 0x0040, lo: 0x80, hi: 0xa5},
{value: 0x0018, lo: 0xa6, hi: 0xbf},
- // Block 0xeb, offset 0x6db
- {value: 0x0000, lo: 0x0d},
+ // Block 0xf2, offset 0x6ff
+ {value: 0x0000, lo: 0x0f},
{value: 0xc7e9, lo: 0x80, hi: 0x80},
{value: 0xc839, lo: 0x81, hi: 0x81},
{value: 0xc889, lo: 0x82, hi: 0x82},
@@ -4344,84 +4420,88 @@ var idnaSparseValues = [1876]valueRange{
{value: 0x0040, lo: 0x89, hi: 0x8f},
{value: 0xcab9, lo: 0x90, hi: 0x90},
{value: 0xcad9, lo: 0x91, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0xbf},
- // Block 0xec, offset 0x6e9
+ {value: 0x0040, lo: 0x92, hi: 0x9f},
+ {value: 0x0018, lo: 0xa0, hi: 0xa5},
+ {value: 0x0040, lo: 0xa6, hi: 0xbf},
+ // Block 0xf3, offset 0x70f
{value: 0x0000, lo: 0x06},
- {value: 0x0018, lo: 0x80, hi: 0x92},
- {value: 0x0040, lo: 0x93, hi: 0x9f},
+ {value: 0x0018, lo: 0x80, hi: 0x94},
+ {value: 0x0040, lo: 0x95, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xac},
{value: 0x0040, lo: 0xad, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb6},
- {value: 0x0040, lo: 0xb7, hi: 0xbf},
- // Block 0xed, offset 0x6f0
+ {value: 0x0018, lo: 0xb0, hi: 0xb8},
+ {value: 0x0040, lo: 0xb9, hi: 0xbf},
+ // Block 0xf4, offset 0x716
{value: 0x0000, lo: 0x02},
{value: 0x0018, lo: 0x80, hi: 0xb3},
{value: 0x0040, lo: 0xb4, hi: 0xbf},
- // Block 0xee, offset 0x6f3
+ // Block 0xf5, offset 0x719
{value: 0x0000, lo: 0x02},
{value: 0x0018, lo: 0x80, hi: 0x94},
{value: 0x0040, lo: 0x95, hi: 0xbf},
- // Block 0xef, offset 0x6f6
+ // Block 0xf6, offset 0x71c
{value: 0x0000, lo: 0x03},
{value: 0x0018, lo: 0x80, hi: 0x8b},
{value: 0x0040, lo: 0x8c, hi: 0x8f},
{value: 0x0018, lo: 0x90, hi: 0xbf},
- // Block 0xf0, offset 0x6fa
+ // Block 0xf7, offset 0x720
{value: 0x0000, lo: 0x05},
{value: 0x0018, lo: 0x80, hi: 0x87},
{value: 0x0040, lo: 0x88, hi: 0x8f},
{value: 0x0018, lo: 0x90, hi: 0x99},
{value: 0x0040, lo: 0x9a, hi: 0x9f},
{value: 0x0018, lo: 0xa0, hi: 0xbf},
- // Block 0xf1, offset 0x700
+ // Block 0xf8, offset 0x726
{value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0x87},
{value: 0x0040, lo: 0x88, hi: 0x8f},
{value: 0x0018, lo: 0x90, hi: 0xad},
{value: 0x0040, lo: 0xae, hi: 0xbf},
- // Block 0xf2, offset 0x705
- {value: 0x0000, lo: 0x09},
- {value: 0x0040, lo: 0x80, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0x9f},
- {value: 0x0018, lo: 0xa0, hi: 0xa7},
- {value: 0x0040, lo: 0xa8, hi: 0xaf},
- {value: 0x0018, lo: 0xb0, hi: 0xb0},
- {value: 0x0040, lo: 0xb1, hi: 0xb2},
- {value: 0x0018, lo: 0xb3, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xf3, offset 0x70f
+ // Block 0xf9, offset 0x72b
{value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0x8b},
{value: 0x0040, lo: 0x8c, hi: 0x8f},
- {value: 0x0018, lo: 0x90, hi: 0x9e},
- {value: 0x0040, lo: 0x9f, hi: 0xbf},
- // Block 0xf4, offset 0x714
- {value: 0x0000, lo: 0x02},
- {value: 0x0018, lo: 0x80, hi: 0x91},
- {value: 0x0040, lo: 0x92, hi: 0xbf},
- // Block 0xf5, offset 0x717
+ {value: 0x0018, lo: 0x90, hi: 0xbe},
+ {value: 0x0040, lo: 0xbf, hi: 0xbf},
+ // Block 0xfa, offset 0x730
+ {value: 0x0000, lo: 0x04},
+ {value: 0x0018, lo: 0x80, hi: 0x8c},
+ {value: 0x0040, lo: 0x8d, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0xab},
+ {value: 0x0040, lo: 0xac, hi: 0xbf},
+ // Block 0xfb, offset 0x735
{value: 0x0000, lo: 0x02},
+ {value: 0x0018, lo: 0x80, hi: 0x97},
+ {value: 0x0040, lo: 0x98, hi: 0xbf},
+ // Block 0xfc, offset 0x738
+ {value: 0x0000, lo: 0x04},
{value: 0x0018, lo: 0x80, hi: 0x80},
- {value: 0x0040, lo: 0x81, hi: 0xbf},
- // Block 0xf6, offset 0x71a
+ {value: 0x0040, lo: 0x81, hi: 0x8f},
+ {value: 0x0018, lo: 0x90, hi: 0xa6},
+ {value: 0x0040, lo: 0xa7, hi: 0xbf},
+ // Block 0xfd, offset 0x73d
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0x96},
{value: 0x0040, lo: 0x97, hi: 0xbf},
- // Block 0xf7, offset 0x71d
+ // Block 0xfe, offset 0x740
{value: 0x0000, lo: 0x02},
{value: 0x0008, lo: 0x80, hi: 0xb4},
{value: 0x0040, lo: 0xb5, hi: 0xbf},
- // Block 0xf8, offset 0x720
+ // Block 0xff, offset 0x743
{value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0x9d},
{value: 0x0040, lo: 0x9e, hi: 0x9f},
{value: 0x0008, lo: 0xa0, hi: 0xbf},
- // Block 0xf9, offset 0x724
- {value: 0x0000, lo: 0x02},
+ // Block 0x100, offset 0x747
+ {value: 0x0000, lo: 0x03},
{value: 0x0008, lo: 0x80, hi: 0xa1},
- {value: 0x0040, lo: 0xa2, hi: 0xbf},
- // Block 0xfa, offset 0x727
+ {value: 0x0040, lo: 0xa2, hi: 0xaf},
+ {value: 0x0008, lo: 0xb0, hi: 0xbf},
+ // Block 0x101, offset 0x74b
+ {value: 0x0000, lo: 0x02},
+ {value: 0x0008, lo: 0x80, hi: 0xa0},
+ {value: 0x0040, lo: 0xa1, hi: 0xbf},
+ // Block 0x102, offset 0x74e
{value: 0x0020, lo: 0x0f},
{value: 0xdeb9, lo: 0x80, hi: 0x89},
{value: 0x8dfd, lo: 0x8a, hi: 0x8a},
@@ -4438,7 +4518,7 @@ var idnaSparseValues = [1876]valueRange{
{value: 0xe4f9, lo: 0xba, hi: 0xba},
{value: 0x8edd, lo: 0xbb, hi: 0xbb},
{value: 0xe519, lo: 0xbc, hi: 0xbf},
- // Block 0xfb, offset 0x737
+ // Block 0x103, offset 0x75e
{value: 0x0020, lo: 0x10},
{value: 0x937d, lo: 0x80, hi: 0x80},
{value: 0xf099, lo: 0x81, hi: 0x86},
@@ -4455,23 +4535,23 @@ var idnaSparseValues = [1876]valueRange{
{value: 0xf4d9, lo: 0xae, hi: 0xaf},
{value: 0x94dd, lo: 0xb0, hi: 0xb1},
{value: 0xf519, lo: 0xb2, hi: 0xbe},
- {value: 0x0040, lo: 0xbf, hi: 0xbf},
- // Block 0xfc, offset 0x748
+ {value: 0x2040, lo: 0xbf, hi: 0xbf},
+ // Block 0x104, offset 0x76f
{value: 0x0000, lo: 0x04},
{value: 0x0040, lo: 0x80, hi: 0x80},
{value: 0x0340, lo: 0x81, hi: 0x81},
{value: 0x0040, lo: 0x82, hi: 0x9f},
{value: 0x0340, lo: 0xa0, hi: 0xbf},
- // Block 0xfd, offset 0x74d
+ // Block 0x105, offset 0x774
{value: 0x0000, lo: 0x01},
{value: 0x0340, lo: 0x80, hi: 0xbf},
- // Block 0xfe, offset 0x74f
+ // Block 0x106, offset 0x776
{value: 0x0000, lo: 0x01},
- {value: 0x13c0, lo: 0x80, hi: 0xbf},
- // Block 0xff, offset 0x751
+ {value: 0x33c0, lo: 0x80, hi: 0xbf},
+ // Block 0x107, offset 0x778
{value: 0x0000, lo: 0x02},
- {value: 0x13c0, lo: 0x80, hi: 0xaf},
+ {value: 0x33c0, lo: 0x80, hi: 0xaf},
{value: 0x0040, lo: 0xb0, hi: 0xbf},
}
-// Total table size 41559 bytes (40KiB); checksum: F4A1FA4E
+// Total table size 42115 bytes (41KiB); checksum: F4A1FA4E
diff --git a/vendor/golang.org/x/text/internal/export/idna/trieval.go b/vendor/golang.org/x/text/internal/export/idna/trieval.go
index 63cb03b59..7a8cf889b 100644
--- a/vendor/golang.org/x/text/internal/export/idna/trieval.go
+++ b/vendor/golang.org/x/text/internal/export/idna/trieval.go
@@ -26,9 +26,9 @@ package idna
// 15..3 index into xor or mapping table
// }
// } else {
-// 15..13 unused
-// 12 modifier (including virama)
-// 11 virama modifier
+// 15..14 unused
+// 13 mayNeedNorm
+// 12..11 attributes
// 10..8 joining type
// 7..3 category type
// }
@@ -49,15 +49,20 @@ const (
joinShift = 8
joinMask = 0x07
- viramaModifier = 0x0800
+ // Attributes
+ attributesMask = 0x1800
+ viramaModifier = 0x1800
modifier = 0x1000
+ rtl = 0x0800
+
+ mayNeedNorm = 0x2000
)
// A category corresponds to a category defined in the IDNA mapping table.
type category uint16
const (
- unknown category = 0 // not defined currently in unicode.
+ unknown category = 0 // not currently defined in unicode.
mapped category = 1
disallowedSTD3Mapped category = 2
deviation category = 3
@@ -110,5 +115,5 @@ func (c info) isModifier() bool {
}
func (c info) isViramaModifier() bool {
- return c&(viramaModifier|catSmallMask) == viramaModifier
+ return c&(attributesMask|catSmallMask) == viramaModifier
}
diff --git a/vendor/golang.org/x/text/internal/format/format.go b/vendor/golang.org/x/text/internal/format/format.go
index c70bc0fe2..ee1c57a3c 100644
--- a/vendor/golang.org/x/text/internal/format/format.go
+++ b/vendor/golang.org/x/text/internal/format/format.go
@@ -24,20 +24,18 @@ type State interface {
// Language reports the requested language in which to render a message.
Language() language.Tag
+ // TODO: consider this and removing rune from the Format method in the
+ // Formatter interface.
+ //
+ // Verb returns the format variant to render, analogous to the types used
+ // in fmt. Use 'v' for the default or only variant.
+ // Verb() rune
+
// TODO: more info:
- // - sentence context
- // - user preferences, like measurement systems
- // - options
+ // - sentence context such as linguistic features passed by the translator.
}
-// A Statement is a Var or an Expression.
-type Statement interface {
- statement()
+// Formatter is analogous to fmt.Formatter.
+type Formatter interface {
+ Format(state State, verb rune)
}
-
-// A String a literal string format.
-type String string
-
-func (String) statement() {}
-
-// TODO: Select, Var, Case, StatementSequence
diff --git a/vendor/golang.org/x/text/internal/number/decimal.go b/vendor/golang.org/x/text/internal/number/decimal.go
index 199c7e416..62074e7d7 100644
--- a/vendor/golang.org/x/text/internal/number/decimal.go
+++ b/vendor/golang.org/x/text/internal/number/decimal.go
@@ -25,22 +25,39 @@ const (
numModes
)
-// A RoundingContext indicates how a number should be converted to digits.
-type RoundingContext struct {
- Mode RoundingMode
- Increment int32 // if > 0, round to Increment * 10^-Scale
+const maxIntDigits = 20
+
+// A Decimal represents a floating point number in decimal format.
+// Digits represents a number [0, 1.0), and the absolute value represented by
+// Decimal is Digits * 10^Exp. Leading and trailing zeros may be omitted and Exp
+// may point outside a valid position in Digits.
+//
+// Examples:
+// Number Decimal
+// 12345 Digits: [1, 2, 3, 4, 5], Exp: 5
+// 12.345 Digits: [1, 2, 3, 4, 5], Exp: 2
+// 12000 Digits: [1, 2], Exp: 5
+// 12000.00 Digits: [1, 2], Exp: 5
+// 0.00123 Digits: [1, 2, 3], Exp: -2
+// 0 Digits: [], Exp: 0
+type Decimal struct {
+ digits
- Precision int32 // maximum number of significant digits.
- Scale int32 // maximum number of decimals after the dot.
+ buf [maxIntDigits]byte
}
-const maxIntDigits = 20
+type digits struct {
+ Digits []byte // mantissa digits, big-endian
+ Exp int32 // exponent
+ Neg bool
+ Inf bool // Takes precedence over Digits and Exp.
+ NaN bool // Takes precedence over Inf.
+}
-// A Decimal represents floating point number represented in digits of the base
-// in which a number is to be displayed. Digits represents a number [0, 1.0),
-// and the absolute value represented by Decimal is Digits * 10^Exp.
-// Leading and trailing zeros may be omitted and Exp may point outside a valid
-// position in Digits.
+// Digits represents a floating point number represented in digits of the
+// base in which a number is to be displayed. It is similar to Decimal, but
+// keeps track of trailing fraction zeros and the comma placement for
+// engineering notation. Digits must have at least one digit.
//
// Examples:
// Number Decimal
@@ -51,25 +68,31 @@ const maxIntDigits = 20
// 12000.00 Digits: [1, 2], Exp: 5 End: 7
// 0.00123 Digits: [1, 2, 3], Exp: -2 End: 3
// 0 Digits: [], Exp: 0 End: 1
-// scientific:
-// 0 Digits: [], Exp: 0, End: 1, Comma: 0
+// scientific (actual exp is Exp - Comma)
+// 0e0 Digits: [0], Exp: 1, End: 1, Comma: 1
+// .0e0 Digits: [0], Exp: 0, End: 1, Comma: 0
+// 0.0e0 Digits: [0], Exp: 1, End: 2, Comma: 1
// 1.23e4 Digits: [1, 2, 3], Exp: 5, End: 3, Comma: 1
+// .123e5 Digits: [1, 2, 3], Exp: 5, End: 3, Comma: 0
// engineering
// 12.3e3 Digits: [1, 2, 3], Exp: 5, End: 3, Comma: 2
-type Decimal struct {
- Digits []byte // mantissa digits, big-endian
- Exp int32 // exponent
+type Digits struct {
+ digits
// End indicates the end position of the number.
End int32 // For decimals Exp <= End. For scientific len(Digits) <= End.
// Comma is used for the comma position for scientific (always 0 or 1) and
// engineering notation (always 0, 1, 2, or 3).
Comma uint8
+ // IsScientific indicates whether this number is to be rendered as a
+ // scientific number.
+ IsScientific bool
+}
- Neg bool
- Inf bool // Takes precedence over Digits and Exp.
- NaN bool // Takes precedence over Inf.
-
- buf [maxIntDigits]byte
+func (d *Digits) NumFracDigits() int {
+ if d.Exp >= d.End {
+ return 0
+ }
+ return int(d.End - d.Exp)
}
// normalize returns a new Decimal with leading and trailing zeros removed.
@@ -151,7 +174,7 @@ func appendZeros(buf []byte, n int) []byte {
return buf
}
-func (d *Decimal) round(mode RoundingMode, n int) {
+func (d *digits) round(mode RoundingMode, n int) {
if n >= len(d.Digits) {
return
}
@@ -227,7 +250,7 @@ func (r RoundingMode) roundFloat(x float64) float64 {
return i
}
-func (x *Decimal) roundUp(n int) {
+func (x *digits) roundUp(n int) {
if n < 0 || n >= len(x.Digits) {
return // nothing to do
}
@@ -248,7 +271,7 @@ func (x *Decimal) roundUp(n int) {
// x already trimmed
}
-func (x *Decimal) roundDown(n int) {
+func (x *digits) roundDown(n int) {
if n < 0 || n >= len(x.Digits) {
return // nothing to do
}
@@ -258,7 +281,7 @@ func (x *Decimal) roundDown(n int) {
// trim cuts off any trailing zeros from x's mantissa;
// they are meaningless for the value of x.
-func trim(x *Decimal) {
+func trim(x *digits) {
i := len(x.Digits)
for i > 0 && x.Digits[i-1] == 0 {
i--
@@ -272,7 +295,7 @@ func trim(x *Decimal) {
// A Converter converts a number into decimals according to the given rounding
// criteria.
type Converter interface {
- Convert(d *Decimal, r *RoundingContext)
+ Convert(d *Decimal, r RoundingContext)
}
const (
@@ -282,7 +305,7 @@ const (
// Convert converts the given number to the decimal representation using the
// supplied RoundingContext.
-func (d *Decimal) Convert(r *RoundingContext, number interface{}) {
+func (d *Decimal) Convert(r RoundingContext, number interface{}) {
switch f := number.(type) {
case Converter:
d.clear()
@@ -312,6 +335,8 @@ func (d *Decimal) Convert(r *RoundingContext, number interface{}) {
case uint64:
d.ConvertInt(r, unsigned, f)
+ default:
+ d.NaN = true
// TODO:
// case string: if produced by strconv, allows for easy arbitrary pos.
// case reflect.Value:
@@ -324,7 +349,7 @@ func (d *Decimal) Convert(r *RoundingContext, number interface{}) {
}
// ConvertInt converts an integer to decimals.
-func (d *Decimal) ConvertInt(r *RoundingContext, signed bool, x uint64) {
+func (d *Decimal) ConvertInt(r RoundingContext, signed bool, x uint64) {
if r.Increment > 0 {
// TODO: if uint64 is too large, fall back to float64
if signed {
@@ -344,12 +369,30 @@ func (d *Decimal) ConvertInt(r *RoundingContext, signed bool, x uint64) {
}
// ConvertFloat converts a floating point number to decimals.
-func (d *Decimal) ConvertFloat(r *RoundingContext, x float64, size int) {
+func (d *Decimal) ConvertFloat(r RoundingContext, x float64, size int) {
d.clear()
if math.IsNaN(x) {
d.NaN = true
return
}
+ // Simple case: decimal notation
+ if r.Increment > 0 {
+ scale := int(r.IncrementScale)
+ mult := 1.0
+ if scale > len(scales) {
+ mult = math.Pow(10, float64(scale))
+ } else {
+ mult = scales[scale]
+ }
+ // We multiply x instead of dividing inc as it gives less rounding
+ // issues.
+ x *= mult
+ x /= float64(r.Increment)
+ x = r.Mode.roundFloat(x)
+ x *= float64(r.Increment)
+ x /= mult
+ }
+
abs := x
if x < 0 {
d.Neg = true
@@ -359,63 +402,59 @@ func (d *Decimal) ConvertFloat(r *RoundingContext, x float64, size int) {
d.Inf = true
return
}
- // Simple case: decimal notation
- if r.Scale > 0 || r.Increment > 0 || r.Precision == 0 {
- if int(r.Scale) > len(scales) {
- x *= math.Pow(10, float64(r.Scale))
- } else {
- x *= scales[r.Scale]
- }
- if r.Increment > 0 {
- inc := float64(r.Increment)
- x /= float64(inc)
- x = r.Mode.roundFloat(x)
- x *= inc
- } else {
- x = r.Mode.roundFloat(x)
- }
- d.fillIntDigits(uint64(math.Abs(x)))
- d.Exp = int32(len(d.Digits)) - r.Scale
- return
- }
- // Nasty case (for non-decimal notation).
- // Asides from being inefficient, this result is also wrong as it will
- // apply ToNearestEven rounding regardless of the user setting.
- // TODO: expose functionality in strconv so we can avoid this hack.
+ // By default we get the exact decimal representation.
+ verb := byte('g')
+ prec := -1
+ // Determine rounding, if possible. As the strconv API does not return the
+ // rounding accuracy (exact/rounded up|down), we can only round using
+ // ToNearestEven.
// Something like this would work:
// AppendDigits(dst []byte, x float64, base, size, prec int) (digits []byte, exp, accuracy int)
- // TODO: This only supports the nearest even rounding mode.
-
- prec := int(r.Precision)
- if prec > 0 {
- prec--
- }
- b := strconv.AppendFloat(d.Digits, abs, 'e', prec, size)
+ //
+ // TODO: At this point strconv's rounding is imprecise to the point that it
+ // is not useable for this purpose.
+ // See https://github.com/golang/go/issues/21714
+ // if r.Mode == ToNearestEven {
+ // if n := r.RoundSignificantDigits(); n >= 0 {
+ // prec = n
+ // } else if n = r.RoundFractionDigits(); n >= 0 {
+ // prec = n
+ // verb = 'f'
+ // }
+ // }
+
+ b := strconv.AppendFloat(d.Digits[:0], abs, verb, prec, size)
i := 0
k := 0
- // No need to check i < len(b) as we always have an 'e'.
- for {
+ beforeDot := 1
+ for i < len(b) {
if c := b[i]; '0' <= c && c <= '9' {
b[k] = c - '0'
k++
- } else if c != '.' {
+ d.Exp += int32(beforeDot)
+ } else if c == '.' {
+ beforeDot = 0
+ d.Exp = int32(k)
+ } else {
break
}
i++
}
d.Digits = b[:k]
- i += len("e")
- pSign := i
- exp := 0
- for i++; i < len(b); i++ {
- exp *= 10
- exp += int(b[i] - '0')
- }
- if b[pSign] == '-' {
- exp = -exp
+ if i != len(b) {
+ i += len("e")
+ pSign := i
+ exp := 0
+ for i++; i < len(b); i++ {
+ exp *= 10
+ exp += int(b[i] - '0')
+ }
+ if b[pSign] == '-' {
+ exp = -exp
+ }
+ d.Exp = int32(exp) + 1
}
- d.Exp = int32(exp) + 1
}
func (d *Decimal) fillIntDigits(x uint64) {
diff --git a/vendor/golang.org/x/text/internal/number/decimal_test.go b/vendor/golang.org/x/text/internal/number/decimal_test.go
index 5c8170049..04aa8b2c8 100644
--- a/vendor/golang.org/x/text/internal/number/decimal_test.go
+++ b/vendor/golang.org/x/text/internal/number/decimal_test.go
@@ -22,6 +22,15 @@ func mkfloat(num string) float64 {
// digits are shifted. Numbers may have an additional exponent or be the special
// value NaN, Inf, or -Inf.
func mkdec(num string) (d Decimal) {
+ var r RoundingContext
+ d.Convert(r, dec(num))
+ return
+}
+
+type dec string
+
+func (s dec) Convert(d *Decimal, _ RoundingContext) {
+ num := string(s)
if num[0] == '-' {
d.Neg = true
num = num[1:]
@@ -52,7 +61,7 @@ func mkdec(num string) (d Decimal) {
for i := range d.Digits {
d.Digits[i] -= '0'
}
- return d.normalize()
+ *d = d.normalize()
}
func byteNum(s string) []byte {
@@ -77,11 +86,11 @@ func TestDecimalString(t *testing.T) {
want string
}{
{want: "0"},
- {Decimal{Digits: nil, Exp: 1000}, "0"}, // exponent of 1000 is ignored
- {Decimal{Digits: byteNum("12345"), Exp: 0}, "0.12345"},
- {Decimal{Digits: byteNum("12345"), Exp: -3}, "0.00012345"},
- {Decimal{Digits: byteNum("12345"), Exp: +3}, "123.45"},
- {Decimal{Digits: byteNum("12345"), Exp: +10}, "1234500000"},
+ {Decimal{digits: digits{Digits: nil, Exp: 1000}}, "0"}, // exponent of 1000 is ignored
+ {Decimal{digits: digits{Digits: byteNum("12345"), Exp: 0}}, "0.12345"},
+ {Decimal{digits: digits{Digits: byteNum("12345"), Exp: -3}}, "0.00012345"},
+ {Decimal{digits: digits{Digits: byteNum("12345"), Exp: +3}}, "123.45"},
+ {Decimal{digits: digits{Digits: byteNum("12345"), Exp: +10}}, "1234500000"},
} {
if got := test.x.String(); got != test.want {
t.Errorf("%v == %q; want %q", test.x, got, test.want)
@@ -232,16 +241,28 @@ func TestRounding(t *testing.T) {
}
func TestConvert(t *testing.T) {
- scale2 := &RoundingContext{Scale: 2}
- scale2away := &RoundingContext{Scale: 2, Mode: AwayFromZero}
- inc0_05 := &RoundingContext{Increment: 5, Scale: 2}
- inc50 := &RoundingContext{Increment: 50}
- prec3 := &RoundingContext{Precision: 3}
+ scale2 := RoundingContext{}
+ scale2.SetScale(2)
+ scale2away := RoundingContext{Mode: AwayFromZero}
+ scale2away.SetScale(2)
+ inc0_05 := RoundingContext{Increment: 5, IncrementScale: 2}
+ inc0_05.SetScale(2)
+ inc50 := RoundingContext{Increment: 50}
+ prec3 := RoundingContext{}
+ prec3.SetPrecision(3)
+ roundShift := RoundingContext{DigitShift: 2, MaxFractionDigits: 2}
testCases := []struct {
x interface{}
- rc *RoundingContext
+ rc RoundingContext
out string
}{
+ // TODO: uncommented tests can be restored when convert does its own
+ // rounding.
+ // {-0.001, scale2, "-0.00"}, // not normalized
+ // {0.1234, prec3, "0.123"},
+ // {1234.0, prec3, "1230"},
+ // {1.2345e10, prec3, "12300000000"},
+
{int8(-34), scale2, "-34"},
{int16(-234), scale2, "-234"},
{int32(-234), scale2, "-234"},
@@ -252,25 +273,25 @@ func TestConvert(t *testing.T) {
{uint32(234), scale2, "234"},
{uint64(234), scale2, "234"},
{uint(234), scale2, "234"},
- {-0.001, scale2, "-0"},
- {-1e9, scale2, "-1000000000.00"},
- {0.234, scale2, "0.23"},
- {0.234, scale2away, "0.24"},
- {0.1234, prec3, "0.123"},
- {1234.0, prec3, "1230"},
- {1.2345e10, prec3, "12300000000"},
+ {-1e9, scale2, "-1000000000"},
+ {0.234, scale2away, "0.234"}, // rounding postponed as not ToNearestEven
{0.03, inc0_05, "0.05"},
{0.025, inc0_05, "0"},
- {0.075, inc0_05, "0.10"},
+ {0.075, inc0_05, "0.1"},
{325, inc50, "300"},
{375, inc50, "400"},
+ // Here the scale is 2, but the digits get shifted left. As we use
+ // AppendFloat to do the rounding an exta 0 gets added.
+ {0.123, roundShift, "0.123"},
+
{converter(3), scale2, "100"},
{math.Inf(1), inc50, "Inf"},
{math.Inf(-1), inc50, "-Inf"},
{math.NaN(), inc50, "NaN"},
+ {"clearly not a number", scale2, "NaN"},
}
for _, tc := range testCases {
var d Decimal
@@ -285,7 +306,7 @@ func TestConvert(t *testing.T) {
type converter int
-func (c converter) Convert(d *Decimal, r *RoundingContext) {
+func (c converter) Convert(d *Decimal, r RoundingContext) {
d.Digits = append(d.Digits, 1, 0, 0)
d.Exp = 3
}
diff --git a/vendor/golang.org/x/text/internal/number/format.go b/vendor/golang.org/x/text/internal/number/format.go
index 533a85a28..910bdeb02 100755
--- a/vendor/golang.org/x/text/internal/number/format.go
+++ b/vendor/golang.org/x/text/internal/number/format.go
@@ -16,6 +16,13 @@ import (
// - allow user-defined superscript notation (such as <sup>4</sup>)
// - same for non-breaking spaces, like &nbsp;
+// A VisibleDigits computes digits, comma placement and trailing zeros as they
+// will be shown to the user.
+type VisibleDigits interface {
+ Digits(buf []byte, t language.Tag, scale int) Digits
+ // TODO: Do we also need to add the verb or pass a format.State?
+}
+
// Formatting proceeds along the following lines:
// 0) Compose rounding information from format and context.
// 1) Convert a number into a Decimal.
@@ -28,7 +35,6 @@ import (
type Formatter struct {
Pattern
Info
- RoundingContext
}
func (f *Formatter) init(t language.Tag, index []uint8) {
@@ -57,12 +63,16 @@ func (f *Formatter) InitDecimal(t language.Tag) {
// given language.
func (f *Formatter) InitScientific(t language.Tag) {
f.init(t, tagToScientific)
+ f.Pattern.MinFractionDigits = 0
+ f.Pattern.MaxFractionDigits = -1
}
// InitEngineering initializes a Formatter using the default Pattern for the
// given language.
func (f *Formatter) InitEngineering(t language.Tag) {
f.init(t, tagToScientific)
+ f.Pattern.MinFractionDigits = 0
+ f.Pattern.MaxFractionDigits = -1
f.Pattern.MaxIntegerDigits = 3
f.Pattern.MinIntegerDigits = 1
}
@@ -82,17 +92,29 @@ func (f *Formatter) InitPerMille(t language.Tag) {
func (f *Formatter) Append(dst []byte, x interface{}) []byte {
var d Decimal
- d.Convert(&f.RoundingContext, x)
- return f.Format(dst, &d)
+ r := f.RoundingContext
+ d.Convert(r, x)
+ return f.Render(dst, FormatDigits(&d, r))
+}
+
+func FormatDigits(d *Decimal, r RoundingContext) Digits {
+ if r.isScientific() {
+ return scientificVisibleDigits(r, d)
+ }
+ return decimalVisibleDigits(r, d)
}
func (f *Formatter) Format(dst []byte, d *Decimal) []byte {
+ return f.Render(dst, FormatDigits(d, f.RoundingContext))
+}
+
+func (f *Formatter) Render(dst []byte, d Digits) []byte {
var result []byte
var postPrefix, preSuffix int
- if f.MinExponentDigits > 0 {
- result, postPrefix, preSuffix = appendScientific(dst, f, d)
+ if d.IsScientific {
+ result, postPrefix, preSuffix = appendScientific(dst, f, &d)
} else {
- result, postPrefix, preSuffix = appendDecimal(dst, f, d)
+ result, postPrefix, preSuffix = appendDecimal(dst, f, &d)
}
if f.PadRune == 0 {
return result
@@ -131,80 +153,79 @@ func (f *Formatter) Format(dst []byte, d *Decimal) []byte {
return result
}
-// TODO: just return visible digits.
-func decimalVisibleDigits(f *Formatter, d *Decimal) Decimal {
+// decimalVisibleDigits converts d according to the RoundingContext. Note that
+// the exponent may change as a result of this operation.
+func decimalVisibleDigits(r RoundingContext, d *Decimal) Digits {
if d.NaN || d.Inf {
- return *d
+ return Digits{digits: digits{Neg: d.Neg, NaN: d.NaN, Inf: d.Inf}}
}
- n := d.normalize()
- if maxSig := int(f.MaxSignificantDigits); maxSig > 0 {
- // TODO: really round to zero?
- n.round(ToZero, maxSig)
- }
- digits := n.Digits
+ n := Digits{digits: d.normalize().digits}
+
exp := n.Exp
- exp += int32(f.Pattern.DigitShift)
+ exp += int32(r.DigitShift)
// Cap integer digits. Remove *most-significant* digits.
- if f.MaxIntegerDigits > 0 {
- if p := int(exp) - int(f.MaxIntegerDigits); p > 0 {
- if p > len(digits) {
- p = len(digits)
+ if r.MaxIntegerDigits > 0 {
+ if p := int(exp) - int(r.MaxIntegerDigits); p > 0 {
+ if p > len(n.Digits) {
+ p = len(n.Digits)
}
- if digits = digits[p:]; len(digits) == 0 {
+ if n.Digits = n.Digits[p:]; len(n.Digits) == 0 {
exp = 0
} else {
exp -= int32(p)
}
// Strip leading zeros.
- for len(digits) > 0 && digits[0] == 0 {
- digits = digits[1:]
+ for len(n.Digits) > 0 && n.Digits[0] == 0 {
+ n.Digits = n.Digits[1:]
exp--
}
}
}
- // Rounding usually is done by convert, but we don't rely on it.
- numFrac := len(digits) - int(exp)
- if f.MaxSignificantDigits == 0 && int(f.MaxFractionDigits) < numFrac {
- p := int(exp) + int(f.MaxFractionDigits)
- if p <= 0 {
+ // Rounding if not already done by Convert.
+ p := len(n.Digits)
+ if maxSig := int(r.MaxSignificantDigits); maxSig > 0 {
+ p = maxSig
+ }
+ if maxFrac := int(r.MaxFractionDigits); maxFrac >= 0 {
+ if cap := int(exp) + maxFrac; cap < p {
+ p = int(exp) + maxFrac
+ }
+ if p < 0 {
p = 0
- } else if p >= len(digits) {
- p = len(digits)
}
- digits = digits[:p] // TODO: round
}
+ n.round(r.Mode, p)
// set End (trailing zeros)
- n.End = int32(len(digits))
- if len(digits) == 0 {
- if f.MinFractionDigits > 0 {
- n.End = int32(f.MinFractionDigits)
+ n.End = int32(len(n.Digits))
+ if n.End == 0 {
+ exp = 0
+ if r.MinFractionDigits > 0 {
+ n.End = int32(r.MinFractionDigits)
}
- if p := int32(f.MinSignificantDigits) - 1; p > n.End {
+ if p := int32(r.MinSignificantDigits) - 1; p > n.End {
n.End = p
}
} else {
- if end := exp + int32(f.MinFractionDigits); end > n.End {
+ if end := exp + int32(r.MinFractionDigits); end > n.End {
n.End = end
}
- if n.End < int32(f.MinSignificantDigits) {
- n.End = int32(f.MinSignificantDigits)
+ if n.End < int32(r.MinSignificantDigits) {
+ n.End = int32(r.MinSignificantDigits)
}
}
- n.Digits = digits
n.Exp = exp
return n
}
// appendDecimal appends a formatted number to dst. It returns two possible
// insertion points for padding.
-func appendDecimal(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, preSuf int) {
- if dst, ok := f.renderSpecial(dst, d); ok {
+func appendDecimal(dst []byte, f *Formatter, n *Digits) (b []byte, postPre, preSuf int) {
+ if dst, ok := f.renderSpecial(dst, n); ok {
return dst, 0, len(dst)
}
- n := decimalVisibleDigits(f, d)
digits := n.Digits
exp := n.Exp
@@ -224,7 +245,7 @@ func appendDecimal(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, pre
fracDigits = digits
}
- neg := d.Neg
+ neg := n.Neg
affix, suffix := f.getAffixes(neg)
dst = appendAffix(dst, f, affix, neg)
savedLen := len(dst)
@@ -257,7 +278,7 @@ func appendDecimal(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, pre
if numFrac > 0 || f.Flags&AlwaysDecimalSeparator != 0 {
dst = append(dst, f.Symbol(SymDecimal)...)
}
- // Add leading zeros
+ // Add trailing zeros
i = 0
for n := -int(n.Exp); i < n; i++ {
dst = f.AppendDigit(dst, 0)
@@ -272,69 +293,65 @@ func appendDecimal(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, pre
return appendAffix(dst, f, suffix, neg), savedLen, len(dst)
}
-func scientificVisibleDigits(f *Formatter, d *Decimal) Decimal {
+func scientificVisibleDigits(r RoundingContext, d *Decimal) Digits {
if d.NaN || d.Inf {
- return *d
+ return Digits{digits: digits{Neg: d.Neg, NaN: d.NaN, Inf: d.Inf}}
+ }
+ n := Digits{digits: d.normalize().digits, IsScientific: true}
+
+ // Normalize to have at least one digit. This simplifies engineering
+ // notation.
+ if len(n.Digits) == 0 {
+ n.Digits = append(n.Digits, 0)
+ n.Exp = 1
}
- n := d.normalize()
// Significant digits are transformed by the parser for scientific notation
// and do not need to be handled here.
- maxInt, numInt := int(f.MaxIntegerDigits), int(f.MinIntegerDigits)
+ maxInt, numInt := int(r.MaxIntegerDigits), int(r.MinIntegerDigits)
if numInt == 0 {
numInt = 1
}
- maxSig := int(f.MaxFractionDigits) + numInt
- minSig := int(f.MinFractionDigits) + numInt
-
- if maxSig > 0 {
- // TODO: really round to zero?
- n.round(ToZero, maxSig)
- }
- digits := n.Digits
- exp := n.Exp
// If a maximum number of integers is specified, the minimum must be 1
// and the exponent is grouped by this number (e.g. for engineering)
- if len(digits) == 0 {
- exp = 0
- } else if maxInt > numInt {
+ if maxInt > numInt {
// Correct the exponent to reflect a single integer digit.
- exp--
numInt = 1
// engineering
// 0.01234 ([12345]e-1) -> 1.2345e-2 12.345e-3
// 12345 ([12345]e+5) -> 1.2345e4 12.345e3
- d := int(exp) % maxInt
+ d := int(n.Exp-1) % maxInt
if d < 0 {
d += maxInt
}
- exp -= int32(d)
numInt += d
- } else {
- exp -= int32(numInt)
}
+ p := len(n.Digits)
+ if maxSig := int(r.MaxSignificantDigits); maxSig > 0 {
+ p = maxSig
+ }
+ if maxFrac := int(r.MaxFractionDigits); maxFrac >= 0 && numInt+maxFrac < p {
+ p = numInt + maxFrac
+ }
+ n.round(r.Mode, p)
+
n.Comma = uint8(numInt)
- n.End = int32(len(digits))
- if n.End < int32(minSig) {
- n.End = int32(minSig)
+ n.End = int32(len(n.Digits))
+ if minSig := int32(r.MinFractionDigits) + int32(numInt); n.End < minSig {
+ n.End = minSig
}
- n.Digits = digits
- n.Exp = exp
return n
}
// appendScientific appends a formatted number to dst. It returns two possible
// insertion points for padding.
-func appendScientific(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre, preSuf int) {
- if dst, ok := f.renderSpecial(dst, d); ok {
+func appendScientific(dst []byte, f *Formatter, n *Digits) (b []byte, postPre, preSuf int) {
+ if dst, ok := f.renderSpecial(dst, n); ok {
return dst, 0, 0
}
- // n := d.normalize()
- n := scientificVisibleDigits(f, d)
digits := n.Digits
- exp := n.Exp
numInt := int(n.Comma)
numFrac := int(n.End) - int(n.Comma)
@@ -345,7 +362,7 @@ func appendScientific(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre,
} else {
intDigits = digits
}
- neg := d.Neg
+ neg := n.Neg
affix, suffix := f.getAffixes(neg)
dst = appendAffix(dst, f, affix, neg)
savedLen := len(dst)
@@ -379,6 +396,7 @@ func appendScientific(dst []byte, f *Formatter, d *Decimal) (b []byte, postPre,
buf := [12]byte{}
// TODO: use exponential if superscripting is not available (no Latin
// numbers or no tags) and use exponential in all other cases.
+ exp := n.Exp - int32(n.Comma)
exponential := f.Symbol(SymExponential)
if exponential == "E" {
dst = append(dst, "\u202f"...) // NARROW NO-BREAK SPACE
@@ -463,7 +481,7 @@ func (f *Formatter) getAffixes(neg bool) (affix, suffix string) {
return affix, suffix
}
-func (f *Formatter) renderSpecial(dst []byte, d *Decimal) (b []byte, ok bool) {
+func (f *Formatter) renderSpecial(dst []byte, d *Digits) (b []byte, ok bool) {
if d.NaN {
return fmtNaN(dst, f), true
}
@@ -477,7 +495,7 @@ func fmtNaN(dst []byte, f *Formatter) []byte {
return append(dst, f.Symbol(SymNan)...)
}
-func fmtInfinite(dst []byte, f *Formatter, d *Decimal) []byte {
+func fmtInfinite(dst []byte, f *Formatter, d *Digits) []byte {
affix, suffix := f.getAffixes(d.Neg)
dst = appendAffix(dst, f, affix, d.Neg)
dst = append(dst, f.Symbol(SymInfinity)...)
diff --git a/vendor/golang.org/x/text/internal/number/format_test.go b/vendor/golang.org/x/text/internal/number/format_test.go
index 4c47bc568..01a089430 100755
--- a/vendor/golang.org/x/text/internal/number/format_test.go
+++ b/vendor/golang.org/x/text/internal/number/format_test.go
@@ -112,7 +112,7 @@ func TestAppendDecimal(t *testing.T) {
test: pairs{
"0": "0",
"1234.5678": "1234.5678",
- "0.123456789": "0.123456",
+ "0.123456789": "0.123457",
"NaN": "NaN",
"Inf": "∞",
},
@@ -142,7 +142,7 @@ func TestAppendDecimal(t *testing.T) {
pattern: "#,##0.###",
test: pairs{
"0": "0",
- "1234.5678": "1,234.567",
+ "1234.5678": "1,234.568",
"0.123456789": "0.123",
},
}, {
@@ -157,7 +157,7 @@ func TestAppendDecimal(t *testing.T) {
test: pairs{
"0": "0,00,000",
"123456789012": "1,23,45,67,89,012",
- "12.3456789": "0,00,012.345",
+ "12.3456789": "0,00,012.346",
"0.123456789": "0,00,000.123",
},
@@ -193,7 +193,9 @@ func TestAppendDecimal(t *testing.T) {
}, {
pattern: "#,max_int=2",
pat: &Pattern{
- MaxIntegerDigits: 2,
+ RoundingContext: RoundingContext{
+ MaxIntegerDigits: 2,
+ },
},
test: pairs{
"2017": "17",
@@ -201,8 +203,10 @@ func TestAppendDecimal(t *testing.T) {
}, {
pattern: "0,max_int=2",
pat: &Pattern{
- MaxIntegerDigits: 2,
- MinIntegerDigits: 1,
+ RoundingContext: RoundingContext{
+ MaxIntegerDigits: 2,
+ MinIntegerDigits: 1,
+ },
},
test: pairs{
"2000": "0",
@@ -212,8 +216,10 @@ func TestAppendDecimal(t *testing.T) {
}, {
pattern: "00,max_int=2",
pat: &Pattern{
- MaxIntegerDigits: 2,
- MinIntegerDigits: 2,
+ RoundingContext: RoundingContext{
+ MaxIntegerDigits: 2,
+ MinIntegerDigits: 2,
+ },
},
test: pairs{
"2000": "00",
@@ -223,8 +229,10 @@ func TestAppendDecimal(t *testing.T) {
}, {
pattern: "@@@@,max_int=2",
pat: &Pattern{
- MaxIntegerDigits: 2,
- MinSignificantDigits: 4,
+ RoundingContext: RoundingContext{
+ MaxIntegerDigits: 2,
+ MinSignificantDigits: 4,
+ },
},
test: pairs{
"2017": "17.00",
@@ -237,7 +245,7 @@ func TestAppendDecimal(t *testing.T) {
pattern: "@@##",
test: pairs{
"1": "1.0",
- "0.1": "0.10",
+ "0.1": "0.10", // leading zero does not count as significant digit
"123": "123",
"1234": "1234",
"12345": "12340",
@@ -281,22 +289,25 @@ func TestAppendDecimal(t *testing.T) {
pattern: "##0E00",
test: pairs{
"100": "100\u202f×\u202f10⁰⁰",
- "12345": "10\u202f×\u202f10⁰³",
- "123.456": "100\u202f×\u202f10⁰⁰",
+ "12345": "12\u202f×\u202f10⁰³",
+ "123.456": "123\u202f×\u202f10⁰⁰",
},
}, {
pattern: "##0.###E00",
test: pairs{
- "100": "100\u202f×\u202f10⁰⁰",
- "12345": "12.34\u202f×\u202f10⁰³",
- "123.456": "123.4\u202f×\u202f10⁰⁰",
+ "100": "100\u202f×\u202f10⁰⁰",
+ "12345": "12.345\u202f×\u202f10⁰³",
+ "123456": "123.456\u202f×\u202f10⁰³",
+ "123.456": "123.456\u202f×\u202f10⁰⁰",
+ "123.4567": "123.457\u202f×\u202f10⁰⁰",
},
}, {
pattern: "##0.000E00",
test: pairs{
- "100": "100.0\u202f×\u202f10⁰⁰",
- "12345": "12.34\u202f×\u202f10⁰³",
- "123.456": "123.4\u202f×\u202f10⁰⁰",
+ "100": "100.000\u202f×\u202f10⁰⁰",
+ "12345": "12.345\u202f×\u202f10⁰³",
+ "123.456": "123.456\u202f×\u202f10⁰⁰",
+ "12.3456": "12.346\u202f×\u202f10⁰⁰",
},
}, {
pattern: "@@E0",
@@ -441,11 +452,12 @@ func TestAppendDecimal(t *testing.T) {
}
var f Formatter
f.InitPattern(language.English, pat)
- for dec, want := range tc.test {
+ for num, want := range tc.test {
buf := make([]byte, 100)
- t.Run(tc.pattern+"/"+dec, func(t *testing.T) {
- dec := mkdec(dec)
- buf = f.Format(buf[:0], &dec)
+ t.Run(tc.pattern+"/"+num, func(t *testing.T) {
+ var d Decimal
+ d.Convert(f.RoundingContext, dec(num))
+ buf = f.Format(buf[:0], &d)
if got := string(buf); got != want {
t.Errorf("\n got %[1]q (%[1]s)\nwant %[2]q (%[2]s)", got, want)
}
@@ -470,7 +482,8 @@ func TestLocales(t *testing.T) {
t.Run(fmt.Sprint(tc.tag, "/", tc.num), func(t *testing.T) {
var f Formatter
f.InitDecimal(tc.tag)
- d := mkdec(tc.num)
+ var d Decimal
+ d.Convert(f.RoundingContext, dec(tc.num))
b := f.Format(nil, &d)
if got := string(b); got != tc.want {
t.Errorf("got %[1]q (%[1]s); want %[2]q (%[2]s)", got, tc.want)
@@ -488,7 +501,8 @@ func TestFormatters(t *testing.T) {
}{
{f.InitDecimal, "123456.78", "123,456.78"},
{f.InitScientific, "123456.78", "1.23\u202f×\u202f10⁵"},
- {f.InitEngineering, "123456.78", "123\u202f×\u202f10³"},
+ {f.InitEngineering, "123456.78", "123.46\u202f×\u202f10³"},
+ {f.InitEngineering, "1234", "1.23\u202f×\u202f10³"},
{f.InitPercent, "0.1234", "12.34%"},
{f.InitPerMille, "0.1234", "123.40‰"},
@@ -496,9 +510,9 @@ func TestFormatters(t *testing.T) {
for i, tc := range testCases {
t.Run(fmt.Sprint(i, "/", tc.num), func(t *testing.T) {
tc.init(language.English)
- f.Pattern.MinFractionDigits = 2
- f.Pattern.MaxFractionDigits = 2
- d := mkdec(tc.num)
+ f.SetScale(2)
+ var d Decimal
+ d.Convert(f.RoundingContext, dec(tc.num))
b := f.Format(nil, &d)
if got := string(b); got != tc.want {
t.Errorf("got %[1]q (%[1]s); want %[2]q (%[2]s)", got, tc.want)
diff --git a/vendor/golang.org/x/text/internal/number/pattern.go b/vendor/golang.org/x/text/internal/number/pattern.go
index ef7f087fe..b95ca40e8 100644
--- a/vendor/golang.org/x/text/internal/number/pattern.go
+++ b/vendor/golang.org/x/text/internal/number/pattern.go
@@ -39,31 +39,84 @@ import (
//
// This type is only intended for internal use.
type Pattern struct {
- // TODO: this struct can be packed a lot better than it is now. Should be
- // possible to make it 32 bytes.
-
- Affix string // includes prefix and suffix. First byte is prefix length.
- Offset uint16 // Offset into Affix for prefix and suffix
- NegOffset uint16 // Offset into Affix for negative prefix and suffix or 0.
+ RoundingContext
+ Affix string // includes prefix and suffix. First byte is prefix length.
+ Offset uint16 // Offset into Affix for prefix and suffix
+ NegOffset uint16 // Offset into Affix for negative prefix and suffix or 0.
+ PadRune rune
FormatWidth uint16
- RoundIncrement uint32 // Use Min*Digits to determine scale
- PadRune rune
- DigitShift uint8 // Number of decimals to shift. Used for % and ‰.
-
GroupingSize [2]uint8
Flags PatternFlag
+}
+
+// A RoundingContext indicates how a number should be converted to digits.
+// It contains all information needed to determine the "visible digits" as
+// required by the pluralization rules.
+type RoundingContext struct {
+ // TODO: unify these two fields so that there is a more unambiguous meaning
+ // of how precision is handled.
+ MaxSignificantDigits int16 // -1 is unlimited
+ MaxFractionDigits int16 // -1 is unlimited
+
+ Increment uint32
+ IncrementScale uint8 // May differ from printed scale.
+
+ Mode RoundingMode
+
+ DigitShift uint8 // Number of decimals to shift. Used for % and ‰.
// Number of digits.
- // TODO: consider using uint32
- MinIntegerDigits uint8
+ MinIntegerDigits uint8
+
MaxIntegerDigits uint8
MinFractionDigits uint8
- MaxFractionDigits uint8
MinSignificantDigits uint8
- MaxSignificantDigits uint8
- MinExponentDigits uint8
+
+ MinExponentDigits uint8
+}
+
+// RoundSignificantDigits returns the number of significant digits an
+// implementation of Convert may round to or n < 0 if there is no maximum or
+// a maximum is not recommended.
+func (r *RoundingContext) RoundSignificantDigits() (n int) {
+ if r.MaxFractionDigits == 0 && r.MaxSignificantDigits > 0 {
+ return int(r.MaxSignificantDigits)
+ } else if r.isScientific() && r.MaxIntegerDigits == 1 {
+ if r.MaxSignificantDigits == 0 ||
+ int(r.MaxFractionDigits+1) == int(r.MaxSignificantDigits) {
+ // Note: don't add DigitShift: it is only used for decimals.
+ return int(r.MaxFractionDigits) + 1
+ }
+ }
+ return -1
+}
+
+// RoundFractionDigits returns the number of fraction digits an implementation
+// of Convert may round to or n < 0 if there is no maximum or a maximum is not
+// recommended.
+func (r *RoundingContext) RoundFractionDigits() (n int) {
+ if r.MinExponentDigits == 0 &&
+ r.MaxSignificantDigits == 0 &&
+ r.MaxFractionDigits >= 0 {
+ return int(r.MaxFractionDigits) + int(r.DigitShift)
+ }
+ return -1
+}
+
+// SetScale fixes the RoundingContext to a fixed number of fraction digits.
+func (r *RoundingContext) SetScale(scale int) {
+ r.MinFractionDigits = uint8(scale)
+ r.MaxFractionDigits = int16(scale)
+}
+
+func (r *RoundingContext) SetPrecision(prec int) {
+ r.MaxSignificantDigits = int16(prec)
+}
+
+func (r *RoundingContext) isScientific() bool {
+ return r.MinExponentDigits > 0
}
func (f *Pattern) needsSep(pos int) bool {
@@ -177,6 +230,9 @@ func ParsePattern(s string) (f *Pattern, err error) {
} else {
p.Affix = affix
}
+ if p.Increment == 0 {
+ p.IncrementScale = 0
+ }
return p.Pattern, nil
}
@@ -302,6 +358,7 @@ func (p *parser) number(r rune) state {
case '@':
p.groupingCount++
p.leadingSharps = 0
+ p.MaxFractionDigits = -1
return p.sigDigits(r)
case ',':
if p.leadingSharps == 0 { // no leading commas
@@ -339,7 +396,7 @@ func (p *parser) integer(r rune) state {
p.updateGrouping()
return next
}
- p.RoundIncrement = p.RoundIncrement*10 + uint32(r-'0')
+ p.Increment = p.Increment*10 + uint32(r-'0')
p.groupingCount++
p.MinIntegerDigits++
return p.integer
@@ -389,7 +446,8 @@ func (p *parser) normalizeSigDigitsWithExponent() state {
func (p *parser) fraction(r rune) state {
switch r {
case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':
- p.RoundIncrement = p.RoundIncrement*10 + uint32(r-'0')
+ p.Increment = p.Increment*10 + uint32(r-'0')
+ p.IncrementScale++
p.MinFractionDigits++
p.MaxFractionDigits++
case '#':
diff --git a/vendor/golang.org/x/text/internal/number/pattern_test.go b/vendor/golang.org/x/text/internal/number/pattern_test.go
index 97ff64d55..a7517d004 100644
--- a/vendor/golang.org/x/text/internal/number/pattern_test.go
+++ b/vendor/golang.org/x/text/internal/number/pattern_test.go
@@ -22,96 +22,122 @@ var testCases = []struct {
}, {
"0",
&Pattern{
- FormatWidth: 1,
- MinIntegerDigits: 1,
+ FormatWidth: 1,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ },
},
}, {
"+0",
&Pattern{
- Affix: "\x01+\x00",
- FormatWidth: 2,
- MinIntegerDigits: 1,
+ Affix: "\x01+\x00",
+ FormatWidth: 2,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ },
},
}, {
"0+",
&Pattern{
- Affix: "\x00\x01+",
- FormatWidth: 2,
- MinIntegerDigits: 1,
+ Affix: "\x00\x01+",
+ FormatWidth: 2,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ },
},
}, {
"0000",
&Pattern{
- FormatWidth: 4,
- MinIntegerDigits: 4,
+ FormatWidth: 4,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 4,
+ },
},
}, {
".#",
&Pattern{
- FormatWidth: 2,
- MaxFractionDigits: 1,
+ FormatWidth: 2,
+ RoundingContext: RoundingContext{
+ MaxFractionDigits: 1,
+ },
},
}, {
"#0.###",
&Pattern{
- FormatWidth: 6,
- MinIntegerDigits: 1,
- MaxFractionDigits: 3,
+ FormatWidth: 6,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MaxFractionDigits: 3,
+ },
},
}, {
"#0.######",
&Pattern{
- FormatWidth: 9,
- MinIntegerDigits: 1,
- MaxFractionDigits: 6,
+ FormatWidth: 9,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MaxFractionDigits: 6,
+ },
},
}, {
"#,0",
&Pattern{
- FormatWidth: 3,
- GroupingSize: [2]uint8{1, 0},
- MinIntegerDigits: 1,
+ FormatWidth: 3,
+ GroupingSize: [2]uint8{1, 0},
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ },
},
}, {
"#,0.00",
&Pattern{
- FormatWidth: 6,
- GroupingSize: [2]uint8{1, 0},
- MinIntegerDigits: 1,
- MinFractionDigits: 2,
- MaxFractionDigits: 2,
+ FormatWidth: 6,
+ GroupingSize: [2]uint8{1, 0},
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MinFractionDigits: 2,
+ MaxFractionDigits: 2,
+ },
},
}, {
"#,##0.###",
&Pattern{
- FormatWidth: 9,
- GroupingSize: [2]uint8{3, 0},
- MinIntegerDigits: 1,
- MaxFractionDigits: 3,
+ FormatWidth: 9,
+ GroupingSize: [2]uint8{3, 0},
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MaxFractionDigits: 3,
+ },
},
}, {
"#,##,##0.###",
&Pattern{
- FormatWidth: 12,
- GroupingSize: [2]uint8{3, 2},
- MinIntegerDigits: 1,
- MaxFractionDigits: 3,
+ FormatWidth: 12,
+ GroupingSize: [2]uint8{3, 2},
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MaxFractionDigits: 3,
+ },
},
}, {
// Ignore additional separators.
"#,####,##,##0.###",
&Pattern{
- FormatWidth: 17,
- GroupingSize: [2]uint8{3, 2},
- MinIntegerDigits: 1,
- MaxFractionDigits: 3,
+ FormatWidth: 17,
+ GroupingSize: [2]uint8{3, 2},
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MaxFractionDigits: 3,
+ },
},
}, {
"#E0",
&Pattern{
- FormatWidth: 3,
- MaxIntegerDigits: 1,
- MinExponentDigits: 1,
+ FormatWidth: 3,
+ RoundingContext: RoundingContext{
+ MaxIntegerDigits: 1,
+ MinExponentDigits: 1,
+ },
},
}, {
// At least one exponent digit is required. As long as this is true, one can
@@ -121,30 +147,47 @@ var testCases = []struct {
}, {
"0E0",
&Pattern{
- FormatWidth: 3,
- MinIntegerDigits: 1,
- MinExponentDigits: 1,
+ FormatWidth: 3,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MinExponentDigits: 1,
+ },
+ },
+}, {
+ "##0.###E00",
+ &Pattern{
+ FormatWidth: 10,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MaxIntegerDigits: 3,
+ MaxFractionDigits: 3,
+ MinExponentDigits: 2,
+ },
},
}, {
"##00.0#E0",
&Pattern{
- FormatWidth: 9,
- MinIntegerDigits: 2,
- MaxIntegerDigits: 4,
- MinFractionDigits: 1,
- MaxFractionDigits: 2,
- MinExponentDigits: 1,
+ FormatWidth: 9,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 2,
+ MaxIntegerDigits: 4,
+ MinFractionDigits: 1,
+ MaxFractionDigits: 2,
+ MinExponentDigits: 1,
+ },
},
}, {
"#00.0E+0",
&Pattern{
- FormatWidth: 8,
- Flags: AlwaysExpSign,
- MinIntegerDigits: 2,
- MaxIntegerDigits: 3,
- MinFractionDigits: 1,
- MaxFractionDigits: 1,
- MinExponentDigits: 1,
+ FormatWidth: 8,
+ Flags: AlwaysExpSign,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 2,
+ MaxIntegerDigits: 3,
+ MinFractionDigits: 1,
+ MaxFractionDigits: 1,
+ MinExponentDigits: 1,
+ },
},
}, {
"0.0E++0",
@@ -156,45 +199,58 @@ var testCases = []struct {
// significant digits
"@",
&Pattern{
- FormatWidth: 1,
- MinSignificantDigits: 1,
- MaxSignificantDigits: 1,
+ FormatWidth: 1,
+ RoundingContext: RoundingContext{
+ MinSignificantDigits: 1,
+ MaxSignificantDigits: 1,
+ MaxFractionDigits: -1,
+ },
},
}, {
// significant digits
"@@@@",
&Pattern{
- FormatWidth: 4,
- MinSignificantDigits: 4,
- MaxSignificantDigits: 4,
+ FormatWidth: 4,
+ RoundingContext: RoundingContext{
+ MinSignificantDigits: 4,
+ MaxSignificantDigits: 4,
+ MaxFractionDigits: -1,
+ },
},
}, {
"@###",
&Pattern{
- FormatWidth: 4,
- MinSignificantDigits: 1,
- MaxSignificantDigits: 4,
+ FormatWidth: 4,
+ RoundingContext: RoundingContext{
+ MinSignificantDigits: 1,
+ MaxSignificantDigits: 4,
+ MaxFractionDigits: -1,
+ },
},
}, {
// Exponents in significant digits mode gets normalized.
"@@E0",
&Pattern{
- FormatWidth: 4,
- MinIntegerDigits: 1,
- MaxIntegerDigits: 1,
- MinFractionDigits: 1,
- MaxFractionDigits: 1,
- MinExponentDigits: 1,
+ FormatWidth: 4,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MaxIntegerDigits: 1,
+ MinFractionDigits: 1,
+ MaxFractionDigits: 1,
+ MinExponentDigits: 1,
+ },
},
}, {
"@###E00",
&Pattern{
- FormatWidth: 7,
- MinIntegerDigits: 1,
- MaxIntegerDigits: 1,
- MinFractionDigits: 0,
- MaxFractionDigits: 3,
- MinExponentDigits: 2,
+ FormatWidth: 7,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MaxIntegerDigits: 1,
+ MinFractionDigits: 0,
+ MaxFractionDigits: 3,
+ MinExponentDigits: 2,
+ },
},
}, {
// The significant digits mode does not allow fractions.
@@ -204,73 +260,89 @@ var testCases = []struct {
//alternative negative pattern
"#0.###;(#0.###)",
&Pattern{
- Affix: "\x00\x00\x01(\x01)",
- NegOffset: 2,
- FormatWidth: 6,
- MinIntegerDigits: 1,
- MaxFractionDigits: 3,
+ Affix: "\x00\x00\x01(\x01)",
+ NegOffset: 2,
+ FormatWidth: 6,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MaxFractionDigits: 3,
+ },
},
}, {
// Rounding increment
"1.05",
&Pattern{
- RoundIncrement: 105,
- FormatWidth: 4,
- MinIntegerDigits: 1,
- MinFractionDigits: 2,
- MaxFractionDigits: 2,
+ FormatWidth: 4,
+ RoundingContext: RoundingContext{
+ Increment: 105,
+ IncrementScale: 2,
+ MinIntegerDigits: 1,
+ MinFractionDigits: 2,
+ MaxFractionDigits: 2,
+ },
},
}, {
// Rounding increment with grouping
"1,05",
&Pattern{
- RoundIncrement: 105,
- FormatWidth: 4,
- GroupingSize: [2]uint8{2, 0},
- MinIntegerDigits: 3,
- MinFractionDigits: 0,
- MaxFractionDigits: 0,
+ FormatWidth: 4,
+ GroupingSize: [2]uint8{2, 0},
+ RoundingContext: RoundingContext{
+ Increment: 105,
+ IncrementScale: 0,
+ MinIntegerDigits: 3,
+ MinFractionDigits: 0,
+ MaxFractionDigits: 0,
+ },
},
}, {
"0.0%",
&Pattern{
- Affix: "\x00\x01%",
- DigitShift: 2,
- FormatWidth: 4,
- MinIntegerDigits: 1,
- MinFractionDigits: 1,
- MaxFractionDigits: 1,
+ Affix: "\x00\x01%",
+ FormatWidth: 4,
+ RoundingContext: RoundingContext{
+ DigitShift: 2,
+ MinIntegerDigits: 1,
+ MinFractionDigits: 1,
+ MaxFractionDigits: 1,
+ },
},
}, {
"0.0‰",
&Pattern{
- Affix: "\x00\x03‰",
- DigitShift: 3,
- FormatWidth: 4,
- MinIntegerDigits: 1,
- MinFractionDigits: 1,
- MaxFractionDigits: 1,
+ Affix: "\x00\x03‰",
+ FormatWidth: 4,
+ RoundingContext: RoundingContext{
+ DigitShift: 3,
+ MinIntegerDigits: 1,
+ MinFractionDigits: 1,
+ MaxFractionDigits: 1,
+ },
},
}, {
"#,##0.00¤",
&Pattern{
- Affix: "\x00\x02¤",
- FormatWidth: 9,
- GroupingSize: [2]uint8{3, 0},
- MinIntegerDigits: 1,
- MinFractionDigits: 2,
- MaxFractionDigits: 2,
+ Affix: "\x00\x02¤",
+ FormatWidth: 9,
+ GroupingSize: [2]uint8{3, 0},
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 1,
+ MinFractionDigits: 2,
+ MaxFractionDigits: 2,
+ },
},
}, {
"#,##0.00 ¤;(#,##0.00 ¤)",
&Pattern{Affix: "\x00\x04\u00a0¤\x01(\x05\u00a0¤)",
- NegOffset: 6,
- DigitShift: 0,
- FormatWidth: 10,
- GroupingSize: [2]uint8{3, 0},
- MinIntegerDigits: 1,
- MinFractionDigits: 2,
- MaxFractionDigits: 2,
+ NegOffset: 6,
+ FormatWidth: 10,
+ GroupingSize: [2]uint8{3, 0},
+ RoundingContext: RoundingContext{
+ DigitShift: 0,
+ MinIntegerDigits: 1,
+ MinFractionDigits: 2,
+ MaxFractionDigits: 2,
+ },
},
}, {
// padding
@@ -321,16 +393,21 @@ var testCases = []struct {
}, {
`* #0 o''clock`,
&Pattern{Affix: "\x00\x09 o\\'clock",
- FormatWidth: 10,
- PadRune: 32,
- MinIntegerDigits: 0x1},
+ FormatWidth: 10,
+ PadRune: 32,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 0x1,
+ },
+ },
}, {
`'123'* #0'456'`,
&Pattern{Affix: "\x05'123'\x05'456'",
- FormatWidth: 8,
- PadRune: 32,
- MinIntegerDigits: 0x1,
- Flags: PadAfterPrefix},
+ FormatWidth: 8,
+ PadRune: 32,
+ RoundingContext: RoundingContext{
+ MinIntegerDigits: 0x1,
+ },
+ Flags: PadAfterPrefix},
}, {
// no duplicate padding
"*xpre#suf*x", nil,
@@ -354,8 +431,8 @@ func TestParsePattern(t *testing.T) {
}
func TestPatternSize(t *testing.T) {
- if sz := unsafe.Sizeof(Pattern{}); sz > 48 {
- t.Errorf("got %d; want <= 48", sz)
+ if sz := unsafe.Sizeof(Pattern{}); sz > 56 {
+ t.Errorf("got %d; want <= 56", sz)
}
}
diff --git a/vendor/golang.org/x/text/internal/number/tables.go b/vendor/golang.org/x/text/internal/number/tables.go
index b08acc48c..286712b17 100644
--- a/vendor/golang.org/x/text/internal/number/tables.go
+++ b/vendor/golang.org/x/text/internal/number/tables.go
@@ -846,277 +846,309 @@ var tagToPercent = []uint8{ // 754 elements
0x04, 0x04,
} // Size: 778 bytes
-var formats = []Pattern{Pattern{Affix: "",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x0,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x0,
- GroupingSize: [2]uint8{0x0,
- 0x0},
- Flags: 0x0,
+var formats = []Pattern{Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x0,
MinIntegerDigits: 0x0,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x9,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x0,
- GroupingSize: [2]uint8{0x3,
- 0x0},
- Flags: 0x0,
+ Affix: "",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x0,
+ GroupingSize: [2]uint8{0x0,
+ 0x0},
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 3,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x0,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x3,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x3,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x0,
- GroupingSize: [2]uint8{0x0,
+ Affix: "",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x9,
+ GroupingSize: [2]uint8{0x3,
0x0},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x0,
MinIntegerDigits: 0x0,
MaxIntegerDigits: 0x1,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x1},
- Pattern{Affix: "\x00\x03\u00a0%",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x7,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x2,
- GroupingSize: [2]uint8{0x3,
+ Affix: "",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x3,
+ GroupingSize: [2]uint8{0x0,
0x0},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x2,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "\x00\x01%",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x6,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x2,
+ Affix: "\x00\x03\u00a0%",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x7,
GroupingSize: [2]uint8{0x3,
0x0},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x2,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0xc,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x0,
+ Affix: "\x00\x01%",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x6,
GroupingSize: [2]uint8{0x3,
- 0x2},
- Flags: 0x0,
+ 0x0},
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 3,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x0,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x3,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "\x00\x01%",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x9,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x2,
+ Affix: "",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0xc,
GroupingSize: [2]uint8{0x3,
0x2},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x2,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "\x00\x03\u00a0%",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0xa,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x2,
+ Affix: "\x00\x01%",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x9,
GroupingSize: [2]uint8{0x3,
0x2},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x2,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x9,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x0,
- GroupingSize: [2]uint8{0x0,
- 0x0},
- Flags: 0x0,
+ Affix: "\x00\x03\u00a0%",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0xa,
+ GroupingSize: [2]uint8{0x3,
+ 0x2},
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 6,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x0,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x6,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0xd,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x0,
+ Affix: "",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x9,
GroupingSize: [2]uint8{0x0,
0x0},
- Flags: 0x4,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 6,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x0,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x6,
- MaxFractionDigits: 0x6,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x3},
- Pattern{Affix: "\x00\x01%",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x3,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x2,
+ Affix: "",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0xd,
GroupingSize: [2]uint8{0x0,
0x0},
- Flags: 0x0,
+ Flags: 0x4},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x2,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "\x03%\u00a0\x00",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x7,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x2,
- GroupingSize: [2]uint8{0x3,
+ Affix: "\x00\x01%",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x3,
+ GroupingSize: [2]uint8{0x0,
0x0},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x2,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "\x03%\u00a0\x00\x04%\u00a0-\x00",
- Offset: 0x0,
- NegOffset: 0x5,
- FormatWidth: 0x7,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x2,
+ Affix: "\x03%\u00a0\x00",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x7,
GroupingSize: [2]uint8{0x3,
0x0},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x2,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "\x01[\x01]",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x5,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x0,
- GroupingSize: [2]uint8{0x0,
+ Affix: "\x03%\u00a0\x00\x04%\u00a0-\x00",
+ Offset: 0x0,
+ NegOffset: 0x5,
+ PadRune: 0,
+ FormatWidth: 0x7,
+ GroupingSize: [2]uint8{0x3,
0x0},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x0,
MinIntegerDigits: 0x0,
MaxIntegerDigits: 0x1,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x1},
- Pattern{Affix: "",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x1,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x0,
+ Affix: "\x01[\x01]",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x5,
GroupingSize: [2]uint8{0x0,
0x0},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x0,
MinIntegerDigits: 0x0,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
MinExponentDigits: 0x0},
- Pattern{Affix: "\x01%\x00",
- Offset: 0x0,
- NegOffset: 0x0,
- FormatWidth: 0x6,
- RoundIncrement: 0x0,
- PadRune: 0,
- DigitShift: 0x2,
- GroupingSize: [2]uint8{0x3,
+ Affix: "",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x1,
+ GroupingSize: [2]uint8{0x0,
0x0},
- Flags: 0x0,
+ Flags: 0x0},
+ Pattern{RoundingContext: RoundingContext{MaxSignificantDigits: 0,
+ MaxFractionDigits: 0,
+ Increment: 0x0,
+ IncrementScale: 0x0,
+ Mode: 0x0,
+ DigitShift: 0x2,
MinIntegerDigits: 0x1,
MaxIntegerDigits: 0x0,
MinFractionDigits: 0x0,
- MaxFractionDigits: 0x0,
MinSignificantDigits: 0x0,
- MaxSignificantDigits: 0x0,
- MinExponentDigits: 0x0}}
+ MinExponentDigits: 0x0},
+ Affix: "\x01%\x00",
+ Offset: 0x0,
+ NegOffset: 0x0,
+ PadRune: 0,
+ FormatWidth: 0x6,
+ GroupingSize: [2]uint8{0x3,
+ 0x0},
+ Flags: 0x0}}
// Total table size 7101 bytes (6KiB); checksum: 5190D0B3
diff --git a/vendor/golang.org/x/text/internal/ucd/ucd.go b/vendor/golang.org/x/text/internal/ucd/ucd.go
index 309e8d8b1..8c45b5f3d 100644
--- a/vendor/golang.org/x/text/internal/ucd/ucd.go
+++ b/vendor/golang.org/x/text/internal/ucd/ucd.go
@@ -11,8 +11,8 @@ package ucd // import "golang.org/x/text/internal/ucd"
import (
"bufio"
- "bytes"
"errors"
+ "fmt"
"io"
"log"
"regexp"
@@ -92,10 +92,11 @@ type Parser struct {
keepRanges bool // Don't expand rune ranges in field 0.
err error
- comment []byte
- field [][]byte
+ comment string
+ field []string
// parsedRange is needed in case Range(0) is called more than once for one
// field. In some cases this requires scanning ahead.
+ line int
parsedRange bool
rangeStart, rangeEnd rune
@@ -103,15 +104,19 @@ type Parser struct {
commentHandler func(s string)
}
-func (p *Parser) setError(err error) {
- if p.err == nil {
- p.err = err
+func (p *Parser) setError(err error, msg string) {
+ if p.err == nil && err != nil {
+ if msg == "" {
+ p.err = fmt.Errorf("ucd:line:%d: %v", p.line, err)
+ } else {
+ p.err = fmt.Errorf("ucd:line:%d:%s: %v", p.line, msg, err)
+ }
}
}
-func (p *Parser) getField(i int) []byte {
+func (p *Parser) getField(i int) string {
if i >= len(p.field) {
- return nil
+ return ""
}
return p.field[i]
}
@@ -139,65 +144,66 @@ func (p *Parser) Next() bool {
p.rangeStart++
return true
}
- p.comment = nil
+ p.comment = ""
p.field = p.field[:0]
p.parsedRange = false
- for p.scanner.Scan() {
- b := p.scanner.Bytes()
- if len(b) == 0 {
+ for p.scanner.Scan() && p.err == nil {
+ p.line++
+ s := p.scanner.Text()
+ if s == "" {
continue
}
- if b[0] == '#' {
+ if s[0] == '#' {
if p.commentHandler != nil {
- p.commentHandler(strings.TrimSpace(string(b[1:])))
+ p.commentHandler(strings.TrimSpace(s[1:]))
}
continue
}
// Parse line
- if i := bytes.IndexByte(b, '#'); i != -1 {
- p.comment = bytes.TrimSpace(b[i+1:])
- b = b[:i]
+ if i := strings.IndexByte(s, '#'); i != -1 {
+ p.comment = strings.TrimSpace(s[i+1:])
+ s = s[:i]
}
- if b[0] == '@' {
+ if s[0] == '@' {
if p.partHandler != nil {
- p.field = append(p.field, bytes.TrimSpace(b[1:]))
+ p.field = append(p.field, strings.TrimSpace(s[1:]))
p.partHandler(p)
p.field = p.field[:0]
}
- p.comment = nil
+ p.comment = ""
continue
}
for {
- i := bytes.IndexByte(b, ';')
+ i := strings.IndexByte(s, ';')
if i == -1 {
- p.field = append(p.field, bytes.TrimSpace(b))
+ p.field = append(p.field, strings.TrimSpace(s))
break
}
- p.field = append(p.field, bytes.TrimSpace(b[:i]))
- b = b[i+1:]
+ p.field = append(p.field, strings.TrimSpace(s[:i]))
+ s = s[i+1:]
}
if !p.keepRanges {
p.rangeStart, p.rangeEnd = p.getRange(0)
}
return true
}
- p.setError(p.scanner.Err())
+ p.setError(p.scanner.Err(), "scanner failed")
return false
}
-func parseRune(b []byte) (rune, error) {
+func parseRune(b string) (rune, error) {
if len(b) > 2 && b[0] == 'U' && b[1] == '+' {
b = b[2:]
}
- x, err := strconv.ParseUint(string(b), 16, 32)
+ x, err := strconv.ParseUint(b, 16, 32)
return rune(x), err
}
-func (p *Parser) parseRune(b []byte) rune {
- x, err := parseRune(b)
- p.setError(err)
+func (p *Parser) parseRune(s string) rune {
+ x, err := parseRune(s)
+ p.setError(err, "failed to parse rune")
return x
}
@@ -211,13 +217,13 @@ func (p *Parser) Rune(i int) rune {
// Runes interprets and returns field i as a sequence of runes.
func (p *Parser) Runes(i int) (runes []rune) {
- add := func(b []byte) {
- if b = bytes.TrimSpace(b); len(b) > 0 {
- runes = append(runes, p.parseRune(b))
+ add := func(s string) {
+ if s = strings.TrimSpace(s); len(s) > 0 {
+ runes = append(runes, p.parseRune(s))
}
}
for b := p.getField(i); ; {
- i := bytes.IndexByte(b, ' ')
+ i := strings.IndexByte(b, ' ')
if i == -1 {
add(b)
break
@@ -247,7 +253,7 @@ func (p *Parser) Range(i int) (first, last rune) {
func (p *Parser) getRange(i int) (first, last rune) {
b := p.getField(i)
- if k := bytes.Index(b, []byte("..")); k != -1 {
+ if k := strings.Index(b, ".."); k != -1 {
return p.parseRune(b[:k]), p.parseRune(b[k+2:])
}
// The first field may not be a rune, in which case we may ignore any error
@@ -260,23 +266,24 @@ func (p *Parser) getRange(i int) (first, last rune) {
p.keepRanges = true
}
// Special case for UnicodeData that was retained for backwards compatibility.
- if i == 0 && len(p.field) > 1 && bytes.HasSuffix(p.field[1], []byte("First>")) {
+ if i == 0 && len(p.field) > 1 && strings.HasSuffix(p.field[1], "First>") {
if p.parsedRange {
return p.rangeStart, p.rangeEnd
}
mf := reRange.FindStringSubmatch(p.scanner.Text())
+ p.line++
if mf == nil || !p.scanner.Scan() {
- p.setError(errIncorrectLegacyRange)
+ p.setError(errIncorrectLegacyRange, "")
return x, x
}
// Using Bytes would be more efficient here, but Text is a lot easier
// and this is not a frequent case.
ml := reRange.FindStringSubmatch(p.scanner.Text())
if ml == nil || mf[2] != ml[2] || ml[3] != "Last" || mf[4] != ml[4] {
- p.setError(errIncorrectLegacyRange)
+ p.setError(errIncorrectLegacyRange, "")
return x, x
}
- p.rangeStart, p.rangeEnd = x, p.parseRune(p.scanner.Bytes()[:len(ml[1])])
+ p.rangeStart, p.rangeEnd = x, p.parseRune(p.scanner.Text()[:len(ml[1])])
p.parsedRange = true
return p.rangeStart, p.rangeEnd
}
@@ -298,34 +305,34 @@ var bools = map[string]bool{
// Bool parses and returns field i as a boolean value.
func (p *Parser) Bool(i int) bool {
- b := p.getField(i)
+ f := p.getField(i)
for s, v := range bools {
- if bstrEq(b, s) {
+ if f == s {
return v
}
}
- p.setError(strconv.ErrSyntax)
+ p.setError(strconv.ErrSyntax, "error parsing bool")
return false
}
// Int parses and returns field i as an integer value.
func (p *Parser) Int(i int) int {
x, err := strconv.ParseInt(string(p.getField(i)), 10, 64)
- p.setError(err)
+ p.setError(err, "error parsing int")
return int(x)
}
// Uint parses and returns field i as an unsigned integer value.
func (p *Parser) Uint(i int) uint {
x, err := strconv.ParseUint(string(p.getField(i)), 10, 64)
- p.setError(err)
+ p.setError(err, "error parsing uint")
return uint(x)
}
// Float parses and returns field i as a decimal value.
func (p *Parser) Float(i int) float64 {
x, err := strconv.ParseFloat(string(p.getField(i)), 64)
- p.setError(err)
+ p.setError(err, "error parsing float")
return x
}
@@ -353,24 +360,12 @@ var errUndefinedEnum = errors.New("ucd: undefined enum value")
// Enum interprets and returns field i as a value that must be one of the values
// in enum.
func (p *Parser) Enum(i int, enum ...string) string {
- b := p.getField(i)
+ f := p.getField(i)
for _, s := range enum {
- if bstrEq(b, s) {
+ if f == s {
return s
}
}
- p.setError(errUndefinedEnum)
+ p.setError(errUndefinedEnum, "error parsing enum")
return ""
}
-
-func bstrEq(b []byte, s string) bool {
- if len(b) != len(s) {
- return false
- }
- for i, c := range b {
- if c != s[i] {
- return false
- }
- }
- return true
-}
diff --git a/vendor/golang.org/x/text/language/data_test.go b/vendor/golang.org/x/text/language/data_test.go
deleted file mode 100644
index a1203f2f5..000000000
--- a/vendor/golang.org/x/text/language/data_test.go
+++ /dev/null
@@ -1,425 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package language
-
-type matchTest struct {
- comment string
- supported string
- test []struct{ match, desired string }
-}
-
-var matchTests = []matchTest{
- {
- "basics",
- "fr, en-GB, en",
- []struct{ match, desired string }{
- {"en-GB", "en-GB"},
- {"en", "en-US"},
- {"fr", "fr-FR"},
- {"fr", "ja-JP"},
- },
- },
- {
- "script fallbacks",
- "zh-CN, zh-TW, iw",
- []struct{ match, desired string }{
- {"zh-TW", "zh-Hant"},
- {"zh-CN", "zh"},
- {"zh-CN", "zh-Hans-CN"},
- {"zh-TW", "zh-Hant-HK"},
- {"iw", "he-IT"},
- },
- },
- {
- "language-specific script fallbacks 1",
- "en, sr, nl",
- []struct{ match, desired string }{
- {"sr", "sr-Latn"},
- {"en", "sh"},
- {"en", "hr"},
- {"en", "bs"},
- // TODO: consider if the following match is a good one.
- // Due to new script first rule, which maybe should be an option.
- {"sr", "nl-Cyrl"},
- },
- },
- {
- "language-specific script fallbacks 2",
- "en, sh",
- []struct{ match, desired string }{
- {"sh", "sr"},
- {"sh", "sr-Cyrl"},
- {"sh", "hr"},
- },
- },
- {
- "both deprecated and not",
- "fil, tl, iw, he",
- []struct{ match, desired string }{
- {"he", "he-IT"},
- {"he", "he"},
- {"iw", "iw"},
- {"fil", "fil-IT"},
- {"fil", "fil"},
- {"tl", "tl"},
- },
- },
- {
- "nearby languages",
- "en, fil, ro, nn",
- []struct{ match, desired string }{
- {"fil", "tl"},
- {"ro", "mo"},
- {"nn", "nb"},
- {"en", "ja"}, // make sure default works
- },
- },
- {
- "nearby languages: Nynorsk to Bokmål",
- "en, nb",
- []struct{ match, desired string }{
- {"nb", "nn"},
- },
- },
- {
- "nearby languages: Danish does not match nn",
- "en, nn",
- []struct{ match, desired string }{
- {"en", "da"},
- },
- },
- {
- "nearby languages: Danish matches no",
- "en, no",
- []struct{ match, desired string }{
- {"no", "da"},
- },
- },
- {
- "nearby languages: Danish matches nb",
- "en, nb",
- []struct{ match, desired string }{
- {"nb", "da"},
- },
- },
- {
- "prefer matching languages over language variants.",
- "nn, en-GB",
- []struct{ match, desired string }{
- {"en-GB", "no, en-US"},
- {"en-GB", "nb, en-US"},
- },
- },
- {
- "deprecated version is closer than same language with other differences",
- "nl, he, en-GB",
- []struct{ match, desired string }{
- {"he", "iw, en-US"},
- },
- },
- {
- "macro equivalent is closer than same language with other differences",
- "nl, zh, en-GB, no",
- []struct{ match, desired string }{
- {"zh", "cmn, en-US"},
- {"no", "nb, en-US"},
- },
- },
- {
- "legacy equivalent is closer than same language with other differences",
- "nl, fil, en-GB",
- []struct{ match, desired string }{
- {"fil", "tl, en-US"},
- },
- },
- {
- "exact over equivalent",
- "en, ro, mo, ro-MD",
- []struct{ match, desired string }{
- {"ro", "ro"},
- {"mo", "mo"},
- {"ro-MD", "ro-MD"},
- },
- },
- {
- "maximization of legacy",
- "sr-Cyrl, sr-Latn, ro, ro-MD",
- []struct{ match, desired string }{
- {"sr-Latn", "sh"},
- {"ro-MD", "mo"},
- },
- },
- {
- "empty",
- "",
- []struct{ match, desired string }{
- {"und", "fr"},
- {"und", "en"},
- },
- },
- {
- "private use subtags",
- "fr, en-GB, x-bork, es-ES, es-419",
- []struct{ match, desired string }{
- {"fr", "x-piglatin"},
- {"x-bork", "x-bork"},
- },
- },
- {
- "grandfathered codes",
- "fr, i-klingon, en-Latn-US",
- []struct{ match, desired string }{
- {"en-Latn-US", "en-GB-oed"},
- {"tlh", "i-klingon"},
- },
- },
- {
- "exact match",
- "fr, en-GB, ja, es-ES, es-MX",
- []struct{ match, desired string }{
- {"ja", "ja, de"},
- },
- },
- {
- "simple variant match",
- "fr, en-GB, ja, es-ES, es-MX",
- []struct{ match, desired string }{
- // Intentionally avoiding a perfect-match or two candidates for variant matches.
- {"en-GB", "de, en-US"},
- // Fall back.
- {"fr", "de, zh"},
- },
- },
- {
- "best match for traditional Chinese",
- // Scenario: An application that only supports Simplified Chinese (and some
- // other languages), but does not support Traditional Chinese. zh-Hans-CN
- // could be replaced with zh-CN, zh, or zh-Hans, it wouldn't make much of
- // a difference.
- "fr, zh-Hans-CN, en-US",
- []struct{ match, desired string }{
- {"zh-Hans-CN", "zh-TW"},
- {"zh-Hans-CN", "zh-Hant"},
- // One can avoid a zh-Hant to zh-Hans match by including a second language
- // preference which is a better match.
- {"en-US", "zh-TW, en"},
- {"en-US", "zh-Hant-CN, en"},
- {"zh-Hans-CN", "zh-Hans, en"},
- },
- },
- // More specific region and script tie-breakers.
- {
- "more specific script should win in case regions are identical",
- "af, af-Latn, af-Arab",
- []struct{ match, desired string }{
- {"af", "af"},
- {"af", "af-ZA"},
- {"af-Latn", "af-Latn-ZA"},
- {"af-Latn", "af-Latn"},
- },
- },
- {
- "more specific region should win",
- "nl, nl-NL, nl-BE",
- []struct{ match, desired string }{
- {"nl", "nl"},
- {"nl", "nl-Latn"},
- {"nl-NL", "nl-Latn-NL"},
- {"nl-NL", "nl-NL"},
- },
- },
- {
- "region may replace matched if matched is enclosing",
- "es-419,es",
- []struct{ match, desired string }{
- {"es-MX", "es-MX"},
- {"es", "es-SG"},
- },
- },
- {
- "more specific region wins over more specific script",
- "nl, nl-Latn, nl-NL, nl-BE",
- []struct{ match, desired string }{
- {"nl", "nl"},
- {"nl-Latn", "nl-Latn"},
- {"nl-NL", "nl-NL"},
- {"nl-NL", "nl-Latn-NL"},
- },
- },
- // Region distance tie-breakers.
- {
- "region distance Portuguese",
- "pt, pt-PT",
- []struct{ match, desired string }{
- {"pt-PT", "pt-ES"},
- },
- },
- {
- "region distance French",
- "en, fr, fr-CA, fr-CH",
- []struct{ match, desired string }{
- {"fr-CA", "fr-US"},
- },
- },
- {
- "region distance German",
- "de-AT, de-DE, de-CH",
- []struct{ match, desired string }{
- {"de-DE", "de"},
- },
- },
- {
- "en-AU is closer to en-GB than to en (which is en-US)",
- "en, en-GB, es-ES, es-419",
- []struct{ match, desired string }{
- {"en-GB", "en-AU"},
- {"es-MX", "es-MX"},
- {"es-ES", "es-PT"},
- },
- },
- // Test exceptions with "und".
- // When the undefined language doesn't match anything in the list, return the default, as usual.
- // max("und") = "en-Latn-US", and since matching is based on maximized tags, the undefined
- // language would normally match English. But that would produce the counterintuitive results.
- // Matching "und" to "it,en" would be "en" matching "en" to "it,und" would be "und".
- // To avoid this max("und") is defined as "und"
- {
- "undefined",
- "it, fr",
- []struct{ match, desired string }{
- {"it", "und"},
- },
- },
- {
- "und does not match en",
- "it, en",
- []struct{ match, desired string }{
- {"it", "und"},
- },
- },
- {
- "undefined in priority list",
- "it, und",
- []struct{ match, desired string }{
- {"und", "und"},
- {"it", "en"},
- },
- },
- // Undefined scripts and regions.
- {
- "undefined",
- "it, fr, zh",
- []struct{ match, desired string }{
- {"fr", "und-FR"},
- {"zh", "und-CN"},
- {"zh", "und-Hans"},
- {"zh", "und-Hant"},
- {"it", "und-Latn"},
- },
- },
- // Early termination conditions: do not consider all desired strings if
- // a match is good enough.
- {
- "match on maximized tag",
- "fr, en-GB, ja, es-ES, es-MX",
- []struct{ match, desired string }{
- // ja-JP matches ja on likely subtags, and it's listed first,
- // thus it wins over the second preference en-GB.
- {"ja", "ja-JP, en-GB"},
- {"ja", "ja-Jpan-JP, en-GB"},
- },
- },
- {
- "pick best maximized tag",
- "ja, ja-Jpan-US, ja-JP, en, ru",
- []struct{ match, desired string }{
- {"ja", "ja-Jpan, ru"},
- {"ja-JP", "ja-JP, ru"},
- {"ja-Jpan-US", "ja-US, ru"},
- },
- },
- {
- "termination: pick best maximized match",
- "ja, ja-Jpan, ja-JP, en, ru",
- []struct{ match, desired string }{
- {"ja-JP", "ja-Jpan-JP, ru"},
- {"ja-Jpan", "ja-Jpan, ru"},
- },
- },
- {
- "no match on maximized",
- "en, de, fr, ja",
- []struct{ match, desired string }{
- // de maximizes to de-DE.
- // Pick the exact match for the secondary language instead.
- {"fr", "de-CH, fr"},
- },
- },
-
- // Test that the CLDR parent relations are correctly preserved by the matcher.
- // These matches may change for different CLDR versions.
- {
- "parent relation preserved",
- "en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK",
- []struct{ match, desired string }{
- {"en-GB", "en-150"},
- // {"en-GB", "en-001"}, // TODO: currently en, should probably be en-GB
- {"en-GB", "en-AU"},
- {"en-GB", "en-BE"},
- {"en-GB", "en-GG"},
- {"en-GB", "en-GI"},
- {"en-GB", "en-HK"},
- {"en-GB", "en-IE"},
- {"en-GB", "en-IM"},
- {"en-GB", "en-IN"},
- {"en-GB", "en-JE"},
- {"en-GB", "en-MT"},
- {"en-GB", "en-NZ"},
- {"en-GB", "en-PK"},
- {"en-GB", "en-SG"},
- {"en-GB", "en-DE"},
- {"en-GB", "en-MT"},
- {"es-AR", "es-AR"},
- {"es-BO", "es-BO"},
- {"es-CL", "es-CL"},
- {"es-CO", "es-CO"},
- {"es-CR", "es-CR"},
- {"es-CU", "es-CU"},
- {"es-DO", "es-DO"},
- {"es-EC", "es-EC"},
- {"es-GT", "es-GT"},
- {"es-HN", "es-HN"},
- {"es-MX", "es-MX"},
- {"es-NI", "es-NI"},
- {"es-PA", "es-PA"},
- {"es-PE", "es-PE"},
- {"es-PR", "es-PR"},
- {"es", "es-PT"},
- {"es-PY", "es-PY"},
- {"es-SV", "es-SV"},
- {"es-419", "es-US"}, // US is not in Latin America, so don't make more specific.
- {"es-UY", "es-UY"},
- {"es-VE", "es-VE"},
- {"pt-PT", "pt-AO"},
- {"pt-PT", "pt-CV"},
- {"pt-PT", "pt-GW"},
- {"pt-PT", "pt-MO"},
- {"pt-PT", "pt-MZ"},
- {"pt-PT", "pt-ST"},
- {"pt-PT", "pt-TL"},
- },
- },
- // Options and variants are inherited from user-defined settings.
- {
- "preserve Unicode extension",
- "en, de, sl-nedis",
- []struct{ match, desired string }{
- {"de-u-co-phonebk", "de-FR-u-co-phonebk"},
- {"sl-nedis-u-cu-eur", "sl-nedis-u-cu-eur"},
- {"sl-nedis-u-cu-eur", "sl-u-cu-eur"},
- {"sl-nedis-u-cu-eur", "sl-HR-nedis-u-cu-eur"},
- },
- },
-}
diff --git a/vendor/golang.org/x/text/language/display/display.go b/vendor/golang.org/x/text/language/display/display.go
index 738afa496..eafe54a85 100644
--- a/vendor/golang.org/x/text/language/display/display.go
+++ b/vendor/golang.org/x/text/language/display/display.go
@@ -15,8 +15,10 @@
package display // import "golang.org/x/text/language/display"
import (
+ "fmt"
"strings"
+ "golang.org/x/text/internal/format"
"golang.org/x/text/language"
)
@@ -32,6 +34,65 @@ All fairly low priority at the moment:
- Consider compressing infrequently used languages and decompress on demand.
*/
+// A Formatter formats a tag in the current language. It is used in conjunction
+// with the message package.
+type Formatter struct {
+ lookup func(tag int, x interface{}) string
+ x interface{}
+}
+
+// Format implements "golang.org/x/text/internal/format".Formatter.
+func (f Formatter) Format(state format.State, verb rune) {
+ // TODO: there are a lot of inefficiencies in this code. Fix it when we
+ // language.Tag has embedded compact tags.
+ t := state.Language()
+ _, index, _ := matcher.Match(t)
+ str := f.lookup(index, f.x)
+ if str == "" {
+ // TODO: use language-specific punctuation.
+ // TODO: use codePattern instead of language?
+ if unknown := f.lookup(index, language.Und); unknown != "" {
+ fmt.Fprintf(state, "%v (%v)", unknown, f.x)
+ } else {
+ fmt.Fprintf(state, "[language: %v]", f.x)
+ }
+ } else {
+ state.Write([]byte(str))
+ }
+}
+
+// Language returns a Formatter that renders the name for lang in the
+// the current language. x may be a language.Base or a language.Tag.
+// It renders lang in the default language if no translation for the current
+// language is supported.
+func Language(lang interface{}) Formatter {
+ return Formatter{langFunc, lang}
+}
+
+// Region returns a Formatter that renders the name for region in the current
+// language. region may be a language.Region or a language.Tag.
+// It renders region in the default language if no translation for the current
+// language is supported.
+func Region(region interface{}) Formatter {
+ return Formatter{regionFunc, region}
+}
+
+// Script returns a Formatter that renders the name for script in the current
+// language. script may be a language.Script or a language.Tag.
+// It renders script in the default language if no translation for the current
+// language is supported.
+func Script(script interface{}) Formatter {
+ return Formatter{scriptFunc, script}
+}
+
+// Script returns a Formatter that renders the name for tag in the current
+// language. tag may be a language.Tag.
+// It renders tag in the default language if no translation for the current
+// language is supported.
+func Tag(tag interface{}) Formatter {
+ return Formatter{tagFunc, tag}
+}
+
// A Namer is used to get the name for a given value, such as a Tag, Language,
// Script or Region.
type Namer interface {
@@ -84,6 +145,10 @@ func Languages(t language.Tag) Namer {
type languageNamer int
+func langFunc(i int, x interface{}) string {
+ return nameLanguage(languageNamer(i), x)
+}
+
func (n languageNamer) name(i int) string {
return lookup(langHeaders[:], int(n), i)
}
@@ -116,6 +181,10 @@ func Scripts(t language.Tag) Namer {
type scriptNamer int
+func scriptFunc(i int, x interface{}) string {
+ return nameScript(scriptNamer(i), x)
+}
+
func (n scriptNamer) name(i int) string {
return lookup(scriptHeaders[:], int(n), i)
}
@@ -140,6 +209,10 @@ func Regions(t language.Tag) Namer {
type regionNamer int
+func regionFunc(i int, x interface{}) string {
+ return nameRegion(regionNamer(i), x)
+}
+
func (n regionNamer) name(i int) string {
return lookup(regionHeaders[:], int(n), i)
}
@@ -162,6 +235,10 @@ func Tags(t language.Tag) Namer {
type tagNamer int
+func tagFunc(i int, x interface{}) string {
+ return nameTag(languageNamer(i), scriptNamer(i), regionNamer(i), x)
+}
+
// Name implements the Namer interface for tag names.
func (n tagNamer) Name(x interface{}) string {
return nameTag(languageNamer(n), scriptNamer(n), regionNamer(n), x)
diff --git a/vendor/golang.org/x/text/language/display/display_test.go b/vendor/golang.org/x/text/language/display/display_test.go
index 38aa87591..35f0878eb 100644
--- a/vendor/golang.org/x/text/language/display/display_test.go
+++ b/vendor/golang.org/x/text/language/display/display_test.go
@@ -7,11 +7,13 @@ package display
import (
"fmt"
"reflect"
+ "strings"
"testing"
"unicode"
"golang.org/x/text/internal/testtext"
"golang.org/x/text/language"
+ "golang.org/x/text/message"
)
// TODO: test that tables are properly dropped by the linker for various use
@@ -326,7 +328,8 @@ func TestTag(t *testing.T) {
tag string
name string
}{
- {"agq", "sr", ""}, // sr is in Value.Languages(), but is not supported by agq.
+ // sr is in Value.Languages(), but is not supported by agq.
+ {"agq", "sr", "|[language: sr]"},
{"nl", "nl", "Nederlands"},
// CLDR 30 dropped Vlaams as the word for nl-BE. It is still called
// Flemish in English, though. TODO: check if this is a CLDR bug.
@@ -346,8 +349,8 @@ func TestTag(t *testing.T) {
{"en", firstLang3ace.String(), "Achinese"},
{"en", firstTagAr001.String(), "Modern Standard Arabic"},
{"en", lastTagZhHant.String(), "Traditional Chinese"},
- {"en", "aaa", ""},
- {"en", "zzj", ""},
+ {"en", "aaa", "|Unknown language (aaa)"},
+ {"en", "zzj", "|Unknown language (zzj)"},
// If full tag doesn't match, try without script or region.
{"en", "aa-Hans", "Afar (Simplified Han)"},
{"en", "af-Arab", "Afrikaans (Arabic)"},
@@ -372,26 +375,46 @@ func TestTag(t *testing.T) {
{"ro", "ro-MD", "moldovenească"},
{"ro", "mo", "moldovenească"},
}
- for i, tt := range tests {
- d := Tags(language.MustParse(tt.dict))
- if n := d.Name(language.Raw.MustParse(tt.tag)); n != tt.name {
- // There are inconsistencies w.r.t. capitalization in the tests
- // due to CLDR's update procedure which treats modern and other
- // languages differently.
- // See http://unicode.org/cldr/trac/ticket/8051.
- // TODO: use language capitalization to sanitize the strings.
- t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.tag, n, tt.name)
- }
+ for _, tt := range tests {
+ t.Run(tt.dict+"/"+tt.tag, func(t *testing.T) {
+ name, fmtName := splitName(tt.name)
+ dict := language.MustParse(tt.dict)
+ tag := language.Raw.MustParse(tt.tag)
+ d := Tags(dict)
+ if n := d.Name(tag); n != name {
+ // There are inconsistencies w.r.t. capitalization in the tests
+ // due to CLDR's update procedure which treats modern and other
+ // languages differently.
+ // See http://unicode.org/cldr/trac/ticket/8051.
+ // TODO: use language capitalization to sanitize the strings.
+ t.Errorf("Name(%s) = %q; want %q", tag, n, name)
+ }
+
+ p := message.NewPrinter(dict)
+ if n := p.Sprint(Tag(tag)); n != fmtName {
+ t.Errorf("Tag(%s) = %q; want %q", tag, n, fmtName)
+ }
+ })
}
}
+func splitName(names string) (name, formatName string) {
+ split := strings.Split(names, "|")
+ name, formatName = split[0], split[0]
+ if len(split) > 1 {
+ formatName = split[1]
+ }
+ return name, formatName
+}
+
func TestLanguage(t *testing.T) {
tests := []struct {
dict string
tag string
name string
}{
- {"agq", "sr", ""}, // sr is in Value.Languages(), but is not supported by agq.
+ // sr is in Value.Languages(), but is not supported by agq.
+ {"agq", "sr", "|[language: sr]"},
// CLDR 30 dropped Vlaams as the word for nl-BE. It is still called
// Flemish in English, though. TODO: this is probably incorrect.
// West-Vlaams (vls) is not Vlaams. West-Vlaams could be considered its
@@ -412,8 +435,8 @@ func TestLanguage(t *testing.T) {
{"en", firstLang3ace.String(), "Achinese"},
{"en", firstTagAr001.String(), "Modern Standard Arabic"},
{"en", lastTagZhHant.String(), "Traditional Chinese"},
- {"en", "aaa", ""},
- {"en", "zzj", ""},
+ {"en", "aaa", "|Unknown language (aaa)"},
+ {"en", "zzj", "|Unknown language (zzj)"},
// If full tag doesn't match, try without script or region.
{"en", "aa-Hans", "Afar"},
{"en", "af-Arab", "Afrikaans"},
@@ -421,7 +444,7 @@ func TestLanguage(t *testing.T) {
{"en", "aa-GB", "Afar"},
{"en", "af-NA", "Afrikaans"},
{"en", "zu-BR", "Zulu"},
- {"agq", "zh-Hant", ""},
+ {"agq", "zh-Hant", "|[language: zh-Hant]"},
// Canonical equivalents.
{"ro", "ro-MD", "moldovenească"},
{"ro", "mo", "moldovenească"},
@@ -431,15 +454,26 @@ func TestLanguage(t *testing.T) {
{"en", "sr-ME", "Serbian"},
{"en", "sr-Latn-ME", "Serbo-Croatian"}, // See comments in TestTag.
}
- for i, tt := range tests {
+ for _, tt := range tests {
testtext.Run(t, tt.dict+"/"+tt.tag, func(t *testing.T) {
- d := Languages(language.Raw.MustParse(tt.dict))
- if n := d.Name(language.Raw.MustParse(tt.tag)); n != tt.name {
- t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.tag, n, tt.name)
+ name, fmtName := splitName(tt.name)
+ dict := language.MustParse(tt.dict)
+ tag := language.Raw.MustParse(tt.tag)
+ p := message.NewPrinter(dict)
+ d := Languages(dict)
+ if n := d.Name(tag); n != name {
+ t.Errorf("Name(%v) = %q; want %q", tag, n, name)
+ }
+ if n := p.Sprint(Language(tag)); n != fmtName {
+ t.Errorf("Language(%v) = %q; want %q", tag, n, fmtName)
}
if len(tt.tag) <= 3 {
- if n := d.Name(language.MustParseBase(tt.tag)); n != tt.name {
- t.Errorf("%d:%s:base(%s): was %q; want %q", i, tt.dict, tt.tag, n, tt.name)
+ base := language.MustParseBase(tt.tag)
+ if n := d.Name(base); n != name {
+ t.Errorf("Name(%v) = %q; want %q", base, n, name)
+ }
+ if n := p.Sprint(Language(base)); n != fmtName {
+ t.Errorf("Language(%v) = %q; want %q", base, n, fmtName)
}
}
})
@@ -468,21 +502,32 @@ func TestScript(t *testing.T) {
// Don't introduce scripts with canonicalization.
{"en", "sh", "Unknown Script"}, // sh canonicalizes to sr-Latn
}
- for i, tt := range tests {
- d := Scripts(language.MustParse(tt.dict))
- var x interface{}
- if unicode.IsUpper(rune(tt.scr[0])) {
- x = language.MustParseScript(tt.scr)
- tag, _ := language.Raw.Compose(x)
- if n := d.Name(tag); n != tt.name {
- t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.scr, n, tt.name)
+ for _, tt := range tests {
+ t.Run(tt.dict+"/"+tt.scr, func(t *testing.T) {
+ name, fmtName := splitName(tt.name)
+ dict := language.MustParse(tt.dict)
+ p := message.NewPrinter(dict)
+ d := Scripts(dict)
+ var tag language.Tag
+ if unicode.IsUpper(rune(tt.scr[0])) {
+ x := language.MustParseScript(tt.scr)
+ if n := d.Name(x); n != name {
+ t.Errorf("Name(%v) = %q; want %q", x, n, name)
+ }
+ if n := p.Sprint(Script(x)); n != fmtName {
+ t.Errorf("Script(%v) = %q; want %q", x, n, fmtName)
+ }
+ tag, _ = language.Raw.Compose(x)
+ } else {
+ tag = language.Raw.MustParse(tt.scr)
}
- } else {
- x = language.Raw.MustParse(tt.scr)
- }
- if n := d.Name(x); n != tt.name {
- t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.scr, n, tt.name)
- }
+ if n := d.Name(tag); n != name {
+ t.Errorf("Name(%v) = %q; want %q", tag, n, name)
+ }
+ if n := p.Sprint(Script(tag)); n != fmtName {
+ t.Errorf("Script(%v) = %q; want %q", tag, n, fmtName)
+ }
+ })
}
}
@@ -506,23 +551,32 @@ func TestRegion(t *testing.T) {
// Don't introduce regions with canonicalization.
{"en", "mo", "Unknown Region"},
}
- for i, tt := range tests {
- d := Regions(language.MustParse(tt.dict))
- var x interface{}
- if unicode.IsUpper(rune(tt.reg[0])) {
- // Region
- x = language.MustParseRegion(tt.reg)
- tag, _ := language.Raw.Compose(x)
+ for _, tt := range tests {
+ t.Run(tt.dict+"/"+tt.reg, func(t *testing.T) {
+ dict := language.MustParse(tt.dict)
+ p := message.NewPrinter(dict)
+ d := Regions(dict)
+ var tag language.Tag
+ if unicode.IsUpper(rune(tt.reg[0])) {
+ // Region
+ x := language.MustParseRegion(tt.reg)
+ if n := d.Name(x); n != tt.name {
+ t.Errorf("Name(%v) = %q; want %q", x, n, tt.name)
+ }
+ if n := p.Sprint(Region(x)); n != tt.name {
+ t.Errorf("Region(%v) = %q; want %q", x, n, tt.name)
+ }
+ tag, _ = language.Raw.Compose(x)
+ } else {
+ tag = language.Raw.MustParse(tt.reg)
+ }
if n := d.Name(tag); n != tt.name {
- t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.reg, n, tt.name)
+ t.Errorf("Name(%v) = %q; want %q", tag, n, tt.name)
}
- } else {
- // Tag
- x = language.Raw.MustParse(tt.reg)
- }
- if n := d.Name(x); n != tt.name {
- t.Errorf("%d:%s:%s: was %q; want %q", i, tt.dict, tt.reg, n, tt.name)
- }
+ if n := p.Sprint(Region(tag)); n != tt.name {
+ t.Errorf("Region(%v) = %q; want %q", tag, n, tt.name)
+ }
+ })
}
}
diff --git a/vendor/golang.org/x/text/language/display/examples_test.go b/vendor/golang.org/x/text/language/display/examples_test.go
index f392f2109..15d758434 100644
--- a/vendor/golang.org/x/text/language/display/examples_test.go
+++ b/vendor/golang.org/x/text/language/display/examples_test.go
@@ -9,8 +9,26 @@ import (
"golang.org/x/text/language"
"golang.org/x/text/language/display"
+ "golang.org/x/text/message"
)
+func ExampleFormatter() {
+ message.SetString(language.Dutch, "In %v people speak %v.", "In %v spreekt men %v.")
+
+ fr := language.French
+ region, _ := fr.Region()
+ for _, tag := range []string{"en", "nl"} {
+ p := message.NewPrinter(language.Make(tag))
+
+ p.Printf("In %v people speak %v.", display.Region(region), display.Language(fr))
+ p.Println()
+ }
+
+ // Output:
+ // In France people speak French.
+ // In Frankrijk spreekt men Frans.
+}
+
func ExampleNamer() {
supported := []string{
"en-US", "en-GB", "ja", "zh", "zh-Hans", "zh-Hant", "pt", "pt-PT", "ko", "ar", "el", "ru", "uk", "pa",
diff --git a/vendor/golang.org/x/text/language/display/maketables.go b/vendor/golang.org/x/text/language/display/maketables.go
index 3fcd9c87d..8f2fd076b 100644
--- a/vendor/golang.org/x/text/language/display/maketables.go
+++ b/vendor/golang.org/x/text/language/display/maketables.go
@@ -205,7 +205,13 @@ func (b *builder) generate() {
b.setData("lang", func(g *group, loc language.Tag, ldn *cldr.LocaleDisplayNames) {
if ldn.Languages != nil {
for _, v := range ldn.Languages.Language {
- tag := tagForm.MustParse(v.Type)
+ lang := v.Type
+ if lang == "root" {
+ // We prefer the data from "und"
+ // TODO: allow both the data for root and und somehow.
+ continue
+ }
+ tag := tagForm.MustParse(lang)
if tags.contains(tag) {
g.set(loc, tag.String(), v.Data())
}
diff --git a/vendor/golang.org/x/text/language/display/tables.go b/vendor/golang.org/x/text/language/display/tables.go
index 6493357ef..eb297e33f 100644
--- a/vendor/golang.org/x/text/language/display/tables.go
+++ b/vendor/golang.org/x/text/language/display/tables.go
@@ -497,16 +497,16 @@ var langHeaders = [252]header{
"sianutulutimnetesoterenatetumtigretivtokelautsakhurklingontlingittal" +
"ixíntamashektonga nyasatok pisinturoyotarokotsakoniutsimshiantati mu" +
"sulmántumbukatuvalutasawaqtuvinianutamazight del Atles centraludmurt" +
- "ugaríticuumbundurootvaivenecianuvepsiuflamencu occidentalfranconianu" +
- " del Mainvóticuvorovunjowalserwolayttawaraywashowarlpirichinu wucalm" +
- "ucomingrelianusogayaoyapésyangbenyembanheengatucantonészapotecasimbó" +
- "licu Blisszeelandészenagatamazight estándar de Marruecoszuniensin co" +
- "nteníu llingüísticuzazaárabe estándar modernualemán d’Austriaaltuale" +
- "mán de Suizainglés d’Australiainglés de Canadáinglés de Gran Bretaña" +
- "inglés d’Estaos Xuníosespañol d’América Llatinaespañol européuespaño" +
- "l de Méxicufrancés de Canadáfrancés de Suizabaxu saxónflamencuportug" +
- "ués del Brasilportugués européumoldavuserbo-croatasuaḥili del Conguc" +
- "hinu simplificáuchinu tradicional",
+ "ugaríticuumbundullingua desconocidavaivenecianuvepsiuflamencu occide" +
+ "ntalfranconianu del Mainvóticuvorovunjowalserwolayttawaraywashowarlp" +
+ "irichinu wucalmucomingrelianusogayaoyapésyangbenyembanheengatucanton" +
+ "észapotecasimbólicu Blisszeelandészenagatamazight estándar de Marru" +
+ "ecoszuniensin conteníu llingüísticuzazaárabe estándar modernualemán " +
+ "d’Austriaaltualemán de Suizainglés d’Australiainglés de Canadáinglés" +
+ " de Gran Bretañainglés d’Estaos Xuníosespañol d’América Llatinaespañ" +
+ "ol européuespañol de Méxicufrancés de Canadáfrancés de Suizabaxu sax" +
+ "ónflamencuportugués del Brasilportugués européumoldavuserbo-croatas" +
+ "uaḥili del Conguchinu simplificáuchinu tradicional",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x000e, 0x0018, 0x0021, 0x0025, 0x002e, 0x0037,
@@ -586,15 +586,15 @@ var langHeaders = [252]header{
0x1109, 0x1112, 0x1116, 0x111b, 0x111f, 0x1125, 0x112a, 0x112f,
0x1132, 0x1139, 0x1140, 0x1147, 0x114e, 0x1156, 0x115e, 0x1169,
0x1172, 0x1178, 0x117e, 0x1186, 0x118f, 0x119d, 0x11a4, 0x11aa,
- 0x11b1, 0x11ba, 0x11d5, 0x11db, 0x11e5, 0x11ec, 0x11f0, 0x11f3,
- 0x11fc, 0x1202, 0x1215, 0x1229, 0x1230, 0x1234, 0x1239, 0x123f,
- 0x1247, 0x124c, 0x1251, 0x1259, 0x1261, 0x1268, 0x1273, 0x1277,
+ 0x11b1, 0x11ba, 0x11d5, 0x11db, 0x11e5, 0x11ec, 0x11ff, 0x1202,
+ 0x120b, 0x1211, 0x1224, 0x1238, 0x123f, 0x1243, 0x1248, 0x124e,
+ 0x1256, 0x125b, 0x1260, 0x1268, 0x1270, 0x1277, 0x1282, 0x1286,
// Entry 240 - 27F
- 0x127a, 0x1280, 0x1287, 0x128c, 0x1295, 0x129e, 0x12a6, 0x12b6,
- 0x12c0, 0x12c6, 0x12e6, 0x12ea, 0x1308, 0x130c, 0x1324, 0x1324,
- 0x1337, 0x134b, 0x1360, 0x1372, 0x138a, 0x13a4, 0x13c1, 0x13d2,
- 0x13e5, 0x13e5, 0x13f8, 0x1409, 0x1414, 0x141c, 0x1431, 0x1444,
- 0x144b, 0x1457, 0x146a, 0x147c, 0x148d,
+ 0x1289, 0x128f, 0x1296, 0x129b, 0x12a4, 0x12ad, 0x12b5, 0x12c5,
+ 0x12cf, 0x12d5, 0x12f5, 0x12f9, 0x1317, 0x131b, 0x1333, 0x1333,
+ 0x1346, 0x135a, 0x136f, 0x1381, 0x1399, 0x13b3, 0x13d0, 0x13e1,
+ 0x13f4, 0x13f4, 0x1407, 0x1418, 0x1423, 0x142b, 0x1440, 0x1453,
+ 0x145a, 0x1466, 0x1479, 0x148b, 0x149c,
},
},
{ // az
@@ -635,13 +635,13 @@ var langHeaders = [252]header{
"ојраборо сеннитачелитшанҹәнуби самилуле самиинари самисколт самисон" +
"инкесранан тонгосаһосукумакоморсуријатимнетесотетумтигреклингонток " +
"писинтарокотумбукатувалутасавагтувинјанМәркәзи Атлас тамазиҹәсиудму" +
- "ртумбундурутваивунјоваллесваламоварајкалмыксогајангбенјембакантонта" +
- "мазизунидил мәзмуну јохдурзазамүасир стандарт әрәбАвстрија алманҹас" +
- "ыИсвечрә јүксәк алманҹасыАвстралија инҝилисҹәсиКанада инҝилисҹәсиБр" +
- "итанија инҝилисҹәсиАмерика инҝилисҹәсиЛатын Америкасы испанҹасыКаст" +
- "илија испанҹасыМексика испанҹасыКанада франсызҹасыИсвечрә франсызҹа" +
- "сыашағы саксонфламандБразилија португалҹасыПортугалија португалҹасы" +
- "Конго суаһилиҹәсисадәләшмиш чинәнәнәви чин",
+ "ртумбундунамәлум дилваивунјоваллесваламоварајкалмыксогајангбенјемба" +
+ "кантонтамазизунидил мәзмуну јохдурзазамүасир стандарт әрәбАвстрија " +
+ "алманҹасыИсвечрә јүксәк алманҹасыАвстралија инҝилисҹәсиКанада инҝил" +
+ "исҹәсиБританија инҝилисҹәсиАмерика инҝилисҹәсиЛатын Америкасы испан" +
+ "ҹасыКастилија испанҹасыМексика испанҹасыКанада франсызҹасыИсвечрә ф" +
+ "рансызҹасыашағы саксонфламандБразилија португалҹасыПортугалија порт" +
+ "угалҹасыКонго суаһилиҹәсисадәләшмиш чинәнәнәви чин",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0008, 0x0012, 0x0012, 0x0024, 0x002c, 0x0036, 0x0042,
@@ -721,15 +721,15 @@ var langHeaders = [252]header{
0x1071, 0x1071, 0x1071, 0x107b, 0x1083, 0x1083, 0x108d, 0x1097,
0x1097, 0x1097, 0x1097, 0x10a5, 0x10a5, 0x10a5, 0x10a5, 0x10a5,
0x10b6, 0x10b6, 0x10c2, 0x10c2, 0x10c2, 0x10c2, 0x10d0, 0x10dc,
- 0x10ea, 0x10fa, 0x1128, 0x1134, 0x1134, 0x1142, 0x1148, 0x114e,
- 0x114e, 0x114e, 0x114e, 0x114e, 0x114e, 0x114e, 0x1158, 0x1164,
- 0x1170, 0x117a, 0x117a, 0x117a, 0x117a, 0x1186, 0x1186, 0x118e,
+ 0x10ea, 0x10fa, 0x1128, 0x1134, 0x1134, 0x1142, 0x1157, 0x115d,
+ 0x115d, 0x115d, 0x115d, 0x115d, 0x115d, 0x115d, 0x1167, 0x1173,
+ 0x117f, 0x1189, 0x1189, 0x1189, 0x1189, 0x1195, 0x1195, 0x119d,
// Entry 240 - 27F
- 0x118e, 0x118e, 0x119c, 0x11a6, 0x11a6, 0x11b2, 0x11b2, 0x11b2,
- 0x11b2, 0x11b2, 0x11be, 0x11c6, 0x11e8, 0x11f0, 0x1216, 0x1216,
- 0x1239, 0x1267, 0x1292, 0x12b5, 0x12de, 0x1303, 0x1333, 0x1358,
- 0x1379, 0x1379, 0x139c, 0x13c1, 0x13d8, 0x13e6, 0x1411, 0x1440,
- 0x1440, 0x1440, 0x1461, 0x147c, 0x1491,
+ 0x119d, 0x119d, 0x11ab, 0x11b5, 0x11b5, 0x11c1, 0x11c1, 0x11c1,
+ 0x11c1, 0x11c1, 0x11cd, 0x11d5, 0x11f7, 0x11ff, 0x1225, 0x1225,
+ 0x1248, 0x1276, 0x12a1, 0x12c4, 0x12ed, 0x1312, 0x1342, 0x1367,
+ 0x1388, 0x1388, 0x13ab, 0x13d0, 0x13e7, 0x13f5, 0x1420, 0x144f,
+ 0x144f, 0x144f, 0x1470, 0x148b, 0x14a0,
},
},
{ // bas
@@ -823,16 +823,16 @@ var langHeaders = [252]header{
"ітшанпаўднёвасаамскаялуле-саамскаяінары-саамскаяколта-саамскаясанін" +
"кесранан-тонгасахасукумашумерскаякаморскаясірыйскаятэмнэтэсотэтумты" +
"грэклінганток-пісінтарокатумбукатувалутасаўактувінскаяцэнтральнаатл" +
- "аская тамазіхтудмурцкаяумбундукораньваівунджовальшскаяволайтаварайв" +
- "арлпірыкалмыцкаясогаянгбэнйембакантонскі дыялект кітайскайсапатэкст" +
- "андартная мараканская тамазіхтзуніняма моўнага матэрыялузазакісучас" +
- "ная стандартная арабскаяаўстрыйская нямецкаяшвейцарская стандартная" +
- " нямецкаяаўстралійская англійскаяканадская англійскаябрытанская англ" +
- "ійскаяамерыканская англійскаялацінаамерыканская іспанскаяеўрапейска" +
- "я іспанскаямексіканская іспанскаяканадская французскаяшвейцарская ф" +
- "ранцузскаяніжнесаксонскаяфламандскаябразільская партугальскаяеўрапе" +
- "йская партугальскаямалдаўская румынскаясербскахарвацкаякангалезская" +
- " суахіліспрошчаная кітайскаятрадыцыйная кітайская",
+ "аская тамазіхтудмурцкаяумбундуневядомая моваваівунджовальшскаяволай" +
+ "таварайварлпірыкалмыцкаясогаянгбэнйембакантонскі дыялект кітайскайс" +
+ "апатэкстандартная мараканская тамазіхтзуніняма моўнага матэрыялузаз" +
+ "акісучасная стандартная арабскаяаўстрыйская нямецкаяшвейцарская ста" +
+ "ндартная нямецкаяаўстралійская англійскаяканадская англійскаябрытан" +
+ "ская англійскаяамерыканская англійскаялацінаамерыканская іспанскаяе" +
+ "ўрапейская іспанскаямексіканская іспанскаяканадская французскаяшвей" +
+ "царская французскаяніжнесаксонскаяфламандскаябразільская партугальс" +
+ "каяеўрапейская партугальскаямалдаўская румынскаясербскахарвацкаякан" +
+ "галезская суахіліспрошчаная кітайскаятрадыцыйная кітайская",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0010, 0x0022, 0x0022, 0x0034, 0x003c, 0x004e, 0x0062,
@@ -912,15 +912,15 @@ var langHeaders = [252]header{
0x17e3, 0x17e3, 0x17e3, 0x17ed, 0x17f5, 0x17f5, 0x17ff, 0x1809,
0x1809, 0x1809, 0x1809, 0x1817, 0x1817, 0x1817, 0x1817, 0x1817,
0x1828, 0x1828, 0x1834, 0x1834, 0x1834, 0x1834, 0x1842, 0x184e,
- 0x185c, 0x186e, 0x18a3, 0x18b5, 0x18b5, 0x18c3, 0x18cf, 0x18d5,
- 0x18d5, 0x18d5, 0x18d5, 0x18d5, 0x18d5, 0x18d5, 0x18e1, 0x18f3,
- 0x1901, 0x190b, 0x190b, 0x191b, 0x191b, 0x192d, 0x192d, 0x1935,
+ 0x185c, 0x186e, 0x18a3, 0x18b5, 0x18b5, 0x18c3, 0x18de, 0x18e4,
+ 0x18e4, 0x18e4, 0x18e4, 0x18e4, 0x18e4, 0x18e4, 0x18f0, 0x1902,
+ 0x1910, 0x191a, 0x191a, 0x192a, 0x192a, 0x193c, 0x193c, 0x1944,
// Entry 240 - 27F
- 0x1935, 0x1935, 0x1941, 0x194b, 0x194b, 0x197f, 0x198d, 0x198d,
- 0x198d, 0x198d, 0x19cb, 0x19d3, 0x19fd, 0x1a09, 0x1a41, 0x1a41,
- 0x1a68, 0x1aa6, 0x1ad5, 0x1afc, 0x1b25, 0x1b52, 0x1b89, 0x1bb2,
- 0x1bdd, 0x1bdd, 0x1c06, 0x1c33, 0x1c51, 0x1c67, 0x1c98, 0x1cc9,
- 0x1cf0, 0x1d10, 0x1d37, 0x1d5e, 0x1d87,
+ 0x1944, 0x1944, 0x1950, 0x195a, 0x195a, 0x198e, 0x199c, 0x199c,
+ 0x199c, 0x199c, 0x19da, 0x19e2, 0x1a0c, 0x1a18, 0x1a50, 0x1a50,
+ 0x1a77, 0x1ab5, 0x1ae4, 0x1b0b, 0x1b34, 0x1b61, 0x1b98, 0x1bc1,
+ 0x1bec, 0x1bec, 0x1c15, 0x1c42, 0x1c60, 0x1c76, 0x1ca7, 0x1cd8,
+ 0x1cff, 0x1d1f, 0x1d46, 0x1d6d, 0x1d96,
},
},
{ // bem
@@ -1400,12 +1400,12 @@ var langHeaders = [252]header{
"ीलुले सामीईनारी सामीस्कोल्ट् सामीसोनिंगकेसोगडीयनस्रनान् टॉंगोसेरेर" +
"सुकुमासुसुसुमेरिअनपारंपरीक सिरिआकसिरिआकतीमनेतेरेनोतेतुमटीग्रेटीव्ट" +
"ोकेलौक्लींगदनट्लिंगीततमाशेकन्यासा टॉंगातोक पिसीनत्सीमशीआन्टुँबुकाट" +
- "ुवालुटुवीउड़मुर्तउगारितीउंबुंडुरुटवाईवोटीकवालामोवारयवाशोकालमीकयाओय" +
- "ापीज़ज़ापोतेकब्लीस चिन्हज़ेनागाज़ुनीरिक्तज़ाज़ाजर्मन (ऑस्ट्रिया)उच" +
- "्च स्तरिय स्वीस जर्मनअंग्रेज़ी (ऑस्ट्रेलिया का)अंग्रेज़ी (कनाडाई)अ" +
- "ंग्रेजी (ब्रिटिश)अंग्रेज़ी (अमरिकी)लैटिन अमरिकी स्पैनिशईवेरियाई स्" +
- "पैनिशफ्रांसीसी (कनाडाई)फ्रांसीसी (स्वीस)फ्लेमीमोल्डेवियन्सर्बो-क्र" +
- "ोएशन्चीनी (सरलीकृत)चीनी (पारम्परिक)",
+ "ुवालुटुवीउड़मुर्तउगारितीउंबुंडुअज्ञात या अवैध भाषावाईवोटीकवालामोवा" +
+ "रयवाशोकालमीकयाओयापीज़ज़ापोतेकब्लीस चिन्हज़ेनागाज़ुनीरिक्तज़ाज़ाजर्" +
+ "मन (ऑस्ट्रिया)उच्च स्तरिय स्वीस जर्मनअंग्रेज़ी (ऑस्ट्रेलिया का)अंग" +
+ "्रेज़ी (कनाडाई)अंग्रेजी (ब्रिटिश)अंग्रेज़ी (अमरिकी)लैटिन अमरिकी स्" +
+ "पैनिशईवेरियाई स्पैनिशफ्रांसीसी (कनाडाई)फ्रांसीसी (स्वीस)फ्लेमीमोल्" +
+ "डेवियन्सर्बो-क्रोएशन्चीनी (सरलीकृत)चीनी (पारम्परिक)",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0000, 0x0021, 0x0036, 0x004b, 0x0054, 0x006f, 0x0084,
@@ -1485,15 +1485,15 @@ var langHeaders = [252]header{
0x208f, 0x208f, 0x208f, 0x209e, 0x209e, 0x20b0, 0x20bf, 0x20d1,
0x20dd, 0x20ef, 0x20ef, 0x2107, 0x211f, 0x211f, 0x2131, 0x2153,
0x216c, 0x216c, 0x216c, 0x216c, 0x218a, 0x218a, 0x219f, 0x21b1,
- 0x21b1, 0x21bd, 0x21bd, 0x21d5, 0x21ea, 0x21ff, 0x2208, 0x2211,
- 0x2211, 0x2211, 0x2211, 0x2211, 0x2220, 0x2220, 0x2220, 0x2220,
- 0x2232, 0x223e, 0x224a, 0x224a, 0x224a, 0x225c, 0x225c, 0x225c,
+ 0x21b1, 0x21bd, 0x21bd, 0x21d5, 0x21ea, 0x21ff, 0x2232, 0x223b,
+ 0x223b, 0x223b, 0x223b, 0x223b, 0x224a, 0x224a, 0x224a, 0x224a,
+ 0x225c, 0x2268, 0x2274, 0x2274, 0x2274, 0x2286, 0x2286, 0x2286,
// Entry 240 - 27F
- 0x2265, 0x2277, 0x2277, 0x2277, 0x2277, 0x2277, 0x228f, 0x22ae,
- 0x22ae, 0x22c3, 0x22c3, 0x22d2, 0x22e1, 0x22f3, 0x22f3, 0x22f3,
- 0x2320, 0x235f, 0x23a5, 0x23d5, 0x2405, 0x2435, 0x246d, 0x249b,
- 0x249b, 0x249b, 0x24cb, 0x24f8, 0x24f8, 0x250a, 0x250a, 0x250a,
- 0x252b, 0x2553, 0x2553, 0x2577, 0x25a1,
+ 0x228f, 0x22a1, 0x22a1, 0x22a1, 0x22a1, 0x22a1, 0x22b9, 0x22d8,
+ 0x22d8, 0x22ed, 0x22ed, 0x22fc, 0x230b, 0x231d, 0x231d, 0x231d,
+ 0x234a, 0x2389, 0x23cf, 0x23ff, 0x242f, 0x245f, 0x2497, 0x24c5,
+ 0x24c5, 0x24c5, 0x24f5, 0x2522, 0x2522, 0x2534, 0x2534, 0x2534,
+ 0x2555, 0x257d, 0x257d, 0x25a1, 0x25cb,
},
},
{ // bs
@@ -1552,12 +1552,12 @@ var langHeaders = [252]header{
"kesogdiensrananski tongoserersahosukumasususumerskikomorskiklasični " +
"sirijskisirijskitimnetesoterenotetumtigretivtokelauklingonskitlingit" +
"tamašeknjasa tongatok pisintarokotsimšiantumbukatuvalutasavaktuvinij" +
- "skicentralnoatlaski tamazigtudmurtugaritskiumbundukorijenskivaivotsk" +
- "ivunjovalservalamovarejvašovarlpirikalmiksogajaojapeškijangbenjembak" +
- "antonskizapotečkiblis simbolizenagastandardni marokanski tamazigtzun" +
- "ibez lingvističkog sadržajazazamoderni standardni arapskigornjonjema" +
- "čki (Švicarska)donjosaksonskiflamanskimoldavskisrpskohrvatskikinesk" +
- "i (pojednostavljeni)kineski (tradicionalni)",
+ "skicentralnoatlaski tamazigtudmurtugaritskiumbundunepoznati jezikvai" +
+ "votskivunjovalservalamovarejvašovarlpirikalmiksogajaojapeškijangbenj" +
+ "embakantonskizapotečkiblis simbolizenagastandardni marokanski tamazi" +
+ "gtzunibez lingvističkog sadržajazazamoderni standardni arapskigornjo" +
+ "njemački (Švicarska)donjosaksonskiflamanskimoldavskisrpskohrvatskiki" +
+ "neski (pojednostavljeni)kineski (tradicionalni)",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0007, 0x000e, 0x0018, 0x0020, 0x0024, 0x002c, 0x0035,
@@ -1637,15 +1637,15 @@ var langHeaders = [252]header{
0x0e87, 0x0e87, 0x0e87, 0x0e8c, 0x0e90, 0x0e96, 0x0e9b, 0x0ea0,
0x0ea3, 0x0eaa, 0x0eaa, 0x0eb4, 0x0ebb, 0x0ebb, 0x0ec3, 0x0ece,
0x0ed7, 0x0ed7, 0x0edd, 0x0edd, 0x0ee6, 0x0ee6, 0x0eed, 0x0ef3,
- 0x0efa, 0x0f04, 0x0f1d, 0x0f23, 0x0f2c, 0x0f33, 0x0f3d, 0x0f40,
- 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f46, 0x0f46, 0x0f4b, 0x0f51,
- 0x0f57, 0x0f5c, 0x0f61, 0x0f69, 0x0f69, 0x0f6f, 0x0f6f, 0x0f73,
+ 0x0efa, 0x0f04, 0x0f1d, 0x0f23, 0x0f2c, 0x0f33, 0x0f42, 0x0f45,
+ 0x0f45, 0x0f45, 0x0f45, 0x0f45, 0x0f4b, 0x0f4b, 0x0f50, 0x0f56,
+ 0x0f5c, 0x0f61, 0x0f66, 0x0f6e, 0x0f6e, 0x0f74, 0x0f74, 0x0f78,
// Entry 240 - 27F
- 0x0f76, 0x0f7e, 0x0f85, 0x0f8a, 0x0f8a, 0x0f93, 0x0f9d, 0x0fa9,
- 0x0fa9, 0x0faf, 0x0fcd, 0x0fd1, 0x0fed, 0x0ff1, 0x100b, 0x100b,
- 0x100b, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027,
- 0x1027, 0x1027, 0x1027, 0x1027, 0x1035, 0x103e, 0x103e, 0x103e,
- 0x1047, 0x1055, 0x1055, 0x106f, 0x1086,
+ 0x0f7b, 0x0f83, 0x0f8a, 0x0f8f, 0x0f8f, 0x0f98, 0x0fa2, 0x0fae,
+ 0x0fae, 0x0fb4, 0x0fd2, 0x0fd6, 0x0ff2, 0x0ff6, 0x1010, 0x1010,
+ 0x1010, 0x102c, 0x102c, 0x102c, 0x102c, 0x102c, 0x102c, 0x102c,
+ 0x102c, 0x102c, 0x102c, 0x102c, 0x103a, 0x1043, 0x1043, 0x1043,
+ 0x104c, 0x105a, 0x105a, 0x1074, 0x108b,
},
},
{ // bs-Cyrl
@@ -1696,13 +1696,13 @@ var langHeaders = [252]header{
"нинкесоџијенскисранански тонгосерерсукумасусусумерскикоморскикласич" +
"ни сиријскисиријскитимнетеренотетумтигретивтокелауклингонскитлингит" +
"тамашекњаса тонгаток писинтсимшиантумбукатувалутувинијскиудмуртугар" +
- "итскиумбундурутваивотскиваламоварајвашокалмикјаојапешкикантонскизап" +
- "отечкиблисимболизенагазунибез лингвистичког садржајазазаАустријски " +
- "немачкиШвајцарски високи немачкиАустралијски енглескиКанадски енгле" +
- "скиБритански енглескиСАД енглескиЛатино-амерички шпанскиИберијски ш" +
- "панскиКанадски францускиШвајцарски францускифламанскиБразилски порт" +
- "угалскиИберијски португалскимолдавскисрпскохрватскикинески (поједно" +
- "стављен)кинески (традиционални)",
+ "итскиумбундунепознат или неважећи језикваивотскиваламоварајвашокалм" +
+ "икјаојапешкикантонскизапотечкиблисимболизенагазунибез лингвистичког" +
+ " садржајазазаАустријски немачкиШвајцарски високи немачкиАустралијски" +
+ " енглескиКанадски енглескиБритански енглескиСАД енглескиЛатино-амери" +
+ "чки шпанскиИберијски шпанскиКанадски францускиШвајцарски францускиф" +
+ "ламанскиБразилски португалскиИберијски португалскимолдавскисрпскохр" +
+ "ватскикинески (поједностављен)кинески (традиционални)",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x000e, 0x0022, 0x0036, 0x004e, 0x0056, 0x0066, 0x0080,
@@ -1782,15 +1782,15 @@ var langHeaders = [252]header{
0x1797, 0x1797, 0x1797, 0x17a1, 0x17a1, 0x17ad, 0x17b7, 0x17c1,
0x17c7, 0x17d5, 0x17d5, 0x17e9, 0x17f7, 0x17f7, 0x1805, 0x1818,
0x1829, 0x1829, 0x1829, 0x1829, 0x1839, 0x1839, 0x1847, 0x1853,
- 0x1853, 0x1867, 0x1867, 0x1873, 0x1885, 0x1893, 0x1899, 0x189f,
- 0x189f, 0x189f, 0x189f, 0x189f, 0x18ab, 0x18ab, 0x18ab, 0x18ab,
- 0x18b7, 0x18c1, 0x18c9, 0x18c9, 0x18c9, 0x18d5, 0x18d5, 0x18d5,
+ 0x1853, 0x1867, 0x1867, 0x1873, 0x1885, 0x1893, 0x18c6, 0x18cc,
+ 0x18cc, 0x18cc, 0x18cc, 0x18cc, 0x18d8, 0x18d8, 0x18d8, 0x18d8,
+ 0x18e4, 0x18ee, 0x18f6, 0x18f6, 0x18f6, 0x1902, 0x1902, 0x1902,
// Entry 240 - 27F
- 0x18db, 0x18e9, 0x18e9, 0x18e9, 0x18e9, 0x18fb, 0x190d, 0x1921,
- 0x1921, 0x192d, 0x192d, 0x1935, 0x1967, 0x196f, 0x196f, 0x196f,
- 0x1992, 0x19c2, 0x19eb, 0x1a0c, 0x1a2f, 0x1a46, 0x1a72, 0x1a93,
- 0x1a93, 0x1a93, 0x1ab6, 0x1add, 0x1add, 0x1aef, 0x1b18, 0x1b41,
- 0x1b53, 0x1b6f, 0x1b6f, 0x1b9c, 0x1bc7,
+ 0x1908, 0x1916, 0x1916, 0x1916, 0x1916, 0x1928, 0x193a, 0x194e,
+ 0x194e, 0x195a, 0x195a, 0x1962, 0x1994, 0x199c, 0x199c, 0x199c,
+ 0x19bf, 0x19ef, 0x1a18, 0x1a39, 0x1a5c, 0x1a73, 0x1a9f, 0x1ac0,
+ 0x1ac0, 0x1ac0, 0x1ae3, 0x1b0a, 0x1b0a, 0x1b1c, 0x1b45, 0x1b6e,
+ 0x1b80, 0x1b9c, 0x1b9c, 0x1bc9, 0x1bf4,
},
},
{ // ca
@@ -1989,11 +1989,11 @@ var langHeaders = [252]header{
"ᏆᎳᎤᏩᏂᎾᎩᎵᎠᏂ ᏈᏥᏂᏡᏏᎠᏂᎩᏤᎳᏆᏄᏫᎳᎶᏙᎾᎦᏂᎶᎹᏉᎠᏬᎹᏂᎠᏂᏆᏌᏅᏓᏫᏌᎧᎾᏌᎹᏊᎷᏌᏂᏔᎵᎾᎦᎹᏇᏌᏁᎫᏏᏏᎵᎠ" +
"ᏂᏍᎦᏗᏏᏂᎦᏎᎾᎪᏱᎳᏈᎶ ᏎᏂᏔᏤᎵᎯᏘᏝᏂᏧᎦᎾᏮ ᏗᏜ ᏌᎻᎷᎴ ᏌᎻᎢᎾᎵ ᏌᎻᏍᎪᎵᏘ ᏌᎻᏐᏂᏂᎨᏏᎳᎾᏂ ᏙᏃᎪᏌᎰ" +
"ᏑᎫᎹᎪᎼᎵᎠᏂᏏᎵᎠᎩᏘᎹᏁᏖᏐᏖᏚᎼᏢᏓᏥᏟᎦᎾᏙᎩ ᏈᏏᏂᏔᎶᎪᏛᎹᏊᎧᏚᏩᎷᏔᏌᏩᎩᏚᏫᏂᎠᏂᎠᏰᏟ ᎡᎶᎯ ᏓᏟᎶᏍᏗᏓᏅ" +
- "Ꭲ ᏔᎹᏏᏘᎤᏚᎷᏘᎤᎹᏊᏅᏚᎤᎾᏍᎦᎸᏩᏱᏭᎾᏦᏩᎵᏎᎵᏬᎳᏱᏔᏩᎴᎧᎳᎻᎧᏐᎦᏰᎾᎦᏇᏂᏰᎹᏋᎨᎾᏙᏂᏏᎠᏟᎶᏍᏗ ᎼᎶᎪ ᏔᎹ" +
- "ᏏᏘᏑᏂᏝ ᎦᏬᏂᎯᏍᏗ ᎦᎸᏛᎢ ᏱᎩᏌᏌᎪᎯᏊ ᎢᎬᏥᎩ ᎠᏟᎶᏍᏗ ᎡᎳᏈᎠᏟᏯᏂ ᎠᏂᏓᏥᏍᏫᏏ ᎦᎸᎳᏗ ᎠᏂᏓᏥᎡᎳᏗᏜ" +
- " ᎩᎵᏏᎨᎾᏓ ᎩᎵᏏᎩᎵᏏᏲ ᎩᎵᏏᎠᎹᏰᏟ ᎩᎵᏏᏔᏘᏂ ᎠᎹᏰᏟ ᏍᏆᏂᎠᏂᏍᏆᏂᏱ ᏍᏆᏂᏍᏆᏂᏱ ᏍᏆᏂᎨᎾᏓ ᎦᎸᏥᏍᏫᏏ " +
- "ᎦᎸᏥᎡᎳᏗ ᏁᏛᎳᏂᏊᎵᏥᎥᎻ ᏛᏥᏆᏏᎵᎢ ᏉᏧᎦᎵᏉᏥᎦᎳ ᏉᏧᎦᎵᎹᎵᏙᏫᎠ ᏣᎹᏂᎠᏂᎧᏂᎪ ᏍᏩᎯᎵᎠᎯᏗᎨ ᏓᎶᏂᎨᎤ" +
- "ᏦᏍᏗ ᏓᎶᏂᎨ",
+ "Ꭲ ᏔᎹᏏᏘᎤᏚᎷᏘᎤᎹᏊᏅᏚᏄᏬᎵᏍᏛᎾ ᎦᏬᏂᎯᏍᏗᏩᏱᏭᎾᏦᏩᎵᏎᎵᏬᎳᏱᏔᏩᎴᎧᎳᎻᎧᏐᎦᏰᎾᎦᏇᏂᏰᎹᏋᎨᎾᏙᏂᏏᎠᏟᎶᏍ" +
+ "Ꮧ ᎼᎶᎪ ᏔᎹᏏᏘᏑᏂᏝ ᎦᏬᏂᎯᏍᏗ ᎦᎸᏛᎢ ᏱᎩᏌᏌᎪᎯᏊ ᎢᎬᏥᎩ ᎠᏟᎶᏍᏗ ᎡᎳᏈᎠᏟᏯᏂ ᎠᏂᏓᏥᏍᏫᏏ ᎦᎸᎳᏗ " +
+ "ᎠᏂᏓᏥᎡᎳᏗᏜ ᎩᎵᏏᎨᎾᏓ ᎩᎵᏏᎩᎵᏏᏲ ᎩᎵᏏᎠᎹᏰᏟ ᎩᎵᏏᏔᏘᏂ ᎠᎹᏰᏟ ᏍᏆᏂᎠᏂᏍᏆᏂᏱ ᏍᏆᏂᏍᏆᏂᏱ ᏍᏆᏂᎨ" +
+ "ᎾᏓ ᎦᎸᏥᏍᏫᏏ ᎦᎸᏥᎡᎳᏗ ᏁᏛᎳᏂᏊᎵᏥᎥᎻ ᏛᏥᏆᏏᎵᎢ ᏉᏧᎦᎵᏉᏥᎦᎳ ᏉᏧᎦᎵᎹᎵᏙᏫᎠ ᏣᎹᏂᎠᏂᎧᏂᎪ ᏍᏩᎯᎵ" +
+ "ᎠᎯᏗᎨ ᏓᎶᏂᎨᎤᏦᏍᏗ ᏓᎶᏂᎨ",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0009, 0x0018, 0x0018, 0x002a, 0x0033, 0x0042, 0x0051,
@@ -2073,15 +2073,15 @@ var langHeaders = [252]header{
0x1022, 0x1022, 0x1022, 0x102b, 0x1031, 0x1031, 0x103a, 0x1043,
0x1043, 0x1043, 0x1043, 0x104c, 0x104c, 0x104c, 0x104c, 0x104c,
0x105c, 0x105c, 0x1065, 0x1065, 0x1065, 0x1065, 0x1071, 0x107a,
- 0x1086, 0x1095, 0x10ce, 0x10da, 0x10da, 0x10e9, 0x10f8, 0x10fe,
- 0x10fe, 0x10fe, 0x10fe, 0x10fe, 0x10fe, 0x10fe, 0x1107, 0x1113,
- 0x111f, 0x1125, 0x1125, 0x1125, 0x1125, 0x1131, 0x1131, 0x1137,
+ 0x1086, 0x1095, 0x10ce, 0x10da, 0x10da, 0x10e9, 0x110e, 0x1114,
+ 0x1114, 0x1114, 0x1114, 0x1114, 0x1114, 0x1114, 0x111d, 0x1129,
+ 0x1135, 0x113b, 0x113b, 0x113b, 0x113b, 0x1147, 0x1147, 0x114d,
// Entry 240 - 27F
- 0x1137, 0x1137, 0x1146, 0x114f, 0x114f, 0x115e, 0x115e, 0x115e,
- 0x115e, 0x115e, 0x1184, 0x118a, 0x11b4, 0x11ba, 0x11ea, 0x11ea,
- 0x1203, 0x1226, 0x123c, 0x124f, 0x1265, 0x127b, 0x129b, 0x12b7,
- 0x12cd, 0x12cd, 0x12e0, 0x12f3, 0x1309, 0x131f, 0x1338, 0x1351,
- 0x1370, 0x1370, 0x1386, 0x139f, 0x13b8,
+ 0x114d, 0x114d, 0x115c, 0x1165, 0x1165, 0x1174, 0x1174, 0x1174,
+ 0x1174, 0x1174, 0x119a, 0x11a0, 0x11ca, 0x11d0, 0x1200, 0x1200,
+ 0x1219, 0x123c, 0x1252, 0x1265, 0x127b, 0x1291, 0x12b1, 0x12cd,
+ 0x12e3, 0x12e3, 0x12f6, 0x1309, 0x131f, 0x1335, 0x134e, 0x1367,
+ 0x1386, 0x1386, 0x139c, 0x13b5, 0x13ce,
},
},
{ // ckb
@@ -2248,15 +2248,15 @@ var langHeaders = [252]header{
"meregComoregHen SyriegSyriegSilesiegTuluTimnegTesoTerenaTetumegTigre" +
"gTifegTocelawegTsakhuregKlingonLlingitTalyshegTamashecegTok PisinTar" +
"okoTsaconegTwmbwcaTwfalwegTasawaqTwfwniegTamaseit Canolbarth MorocoF" +
- "otiacegWgaritegUmbunduY GwraiddFaiegFenisegFepsFflemeg GorllewinolFo" +
- "tegFunjoWalseregWalamoWinarayegWashoWarlpiriCalmycegSogaIangbenIemba" +
- "egCantoneegZapotecegBlisssymbolsZêlandegTamaseit SafonolZuniDim cynn" +
- "wys ieithyddolZazäegArabeg Modern SafonolAserbaijaneg DeheuolAlmaene" +
- "g AwstriaAlmaeneg Safonol y SwistirSaesneg AwstraliaSaesneg CanadaSa" +
- "esneg PrydainSaesneg AmericaSbaeneg America LadinSbaeneg EwropSbaene" +
- "g MecsicoFfrangeg CanadaFfrangeg y SwistirSacsoneg IselFflemegPortiw" +
- "geeg BrasilPortiwgeeg EwropMoldofegSerbo-CroategSwahili’r CongoTsiei" +
- "neeg SymledigTsieineeg Traddodiadol",
+ "otiacegWgaritegUmbunduIaith AnhysbysFaiegFenisegFepsFflemeg Gorllewi" +
+ "nolFotegFunjoWalseregWalamoWinarayegWashoWarlpiriCalmycegSogaIangben" +
+ "IembaegCantoneegZapotecegBlisssymbolsZêlandegTamaseit SafonolZuniDim" +
+ " cynnwys ieithyddolZazäegArabeg Modern SafonolAserbaijaneg DeheuolAl" +
+ "maeneg AwstriaAlmaeneg Safonol y SwistirSaesneg AwstraliaSaesneg Can" +
+ "adaSaesneg PrydainSaesneg AmericaSbaeneg America LadinSbaeneg EwropS" +
+ "baeneg MecsicoFfrangeg CanadaFfrangeg y SwistirSacsoneg IselFflemegP" +
+ "ortiwgeeg BrasilPortiwgeeg EwropMoldofegSerbo-CroategSwahili’r Congo" +
+ "Tsieineeg SymledigTsieineeg Traddodiadol",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0007, 0x000f, 0x0018, 0x0023, 0x0029, 0x0030, 0x0038,
@@ -2336,15 +2336,15 @@ var langHeaders = [252]header{
0x0e9a, 0x0ea2, 0x0ea6, 0x0eac, 0x0eb0, 0x0eb6, 0x0ebd, 0x0ec3,
0x0ec8, 0x0ed1, 0x0eda, 0x0ee1, 0x0ee8, 0x0ef0, 0x0efa, 0x0efa,
0x0f03, 0x0f03, 0x0f09, 0x0f11, 0x0f11, 0x0f11, 0x0f18, 0x0f20,
- 0x0f27, 0x0f2f, 0x0f49, 0x0f51, 0x0f59, 0x0f60, 0x0f69, 0x0f6e,
- 0x0f75, 0x0f79, 0x0f8c, 0x0f8c, 0x0f91, 0x0f91, 0x0f96, 0x0f9e,
- 0x0fa4, 0x0fad, 0x0fb2, 0x0fba, 0x0fba, 0x0fc2, 0x0fc2, 0x0fc6,
+ 0x0f27, 0x0f2f, 0x0f49, 0x0f51, 0x0f59, 0x0f60, 0x0f6e, 0x0f73,
+ 0x0f7a, 0x0f7e, 0x0f91, 0x0f91, 0x0f96, 0x0f96, 0x0f9b, 0x0fa3,
+ 0x0fa9, 0x0fb2, 0x0fb7, 0x0fbf, 0x0fbf, 0x0fc7, 0x0fc7, 0x0fcb,
// Entry 240 - 27F
- 0x0fc6, 0x0fc6, 0x0fcd, 0x0fd4, 0x0fd4, 0x0fdd, 0x0fe6, 0x0ff2,
- 0x0ffb, 0x0ffb, 0x100b, 0x100f, 0x1025, 0x102c, 0x1041, 0x1055,
- 0x1065, 0x107f, 0x1090, 0x109e, 0x10ad, 0x10bc, 0x10d1, 0x10de,
- 0x10ed, 0x10ed, 0x10fc, 0x110e, 0x111b, 0x1122, 0x1133, 0x1143,
- 0x114b, 0x1158, 0x1169, 0x117b, 0x1191,
+ 0x0fcb, 0x0fcb, 0x0fd2, 0x0fd9, 0x0fd9, 0x0fe2, 0x0feb, 0x0ff7,
+ 0x1000, 0x1000, 0x1010, 0x1014, 0x102a, 0x1031, 0x1046, 0x105a,
+ 0x106a, 0x1084, 0x1095, 0x10a3, 0x10b2, 0x10c1, 0x10d6, 0x10e3,
+ 0x10f2, 0x10f2, 0x1101, 0x1113, 0x1120, 0x1127, 0x1138, 0x1148,
+ 0x1150, 0x115d, 0x116e, 0x1180, 0x1196,
},
},
{ // da
@@ -5091,15 +5091,15 @@ var langHeaders = [252]header{
"oyraboro senniatachelhitashanerahegoaldeko samieralule samierainari-" +
"samieraskolt samierasoninkerasrananerasahoasukumerakomoreeraasiriera" +
"temneatesoeratetumatigreaklingoneratok pisinatarokoatumbukeratuvalue" +
- "ratasawaqatuveraMaroko erdialdeko tamazightaudmurteraumbundueraerroa" +
- "vaieravunjoawalsererawelaytasamererakalmykerasogerajangbenerayembaka" +
- "ntoneratamazight estandarrazuñiaez dago eduki linguistikorikzazakiaa" +
- "rabiera moderno estandarraAustriako alemanaaleman garaia (Suitza)Aus" +
- "traliako ingelesaKanadako ingelesaBritainia Handiko ingelesaAEBko in" +
- "gelesaLatinoamerikako espainieraespainiera (Europa)Mexikoko espainie" +
- "raKanadako frantsesaSuitzako frantsesabehe-saxoieraflandrieraBrasilg" +
- "o portugesaportugesa (Europa)moldavieraserbokroazieraKongoko swahili" +
- "atxinera soilduatxinera tradizionala",
+ "ratasawaqatuveraMaroko erdialdeko tamazightaudmurteraumbunduerahizku" +
+ "ntza ezezagunavaieravunjoawalsererawelaytasamererakalmykerasogerajan" +
+ "gbenerayembakantoneratamazight estandarrazuñiaez dago eduki linguist" +
+ "ikorikzazakiaarabiera moderno estandarraAustriako alemanaaleman gara" +
+ "ia (Suitza)Australiako ingelesaKanadako ingelesaBritainia Handiko in" +
+ "gelesaAEBko ingelesaLatinoamerikako espainieraespainiera (Europa)Mex" +
+ "ikoko espainieraKanadako frantsesaSuitzako frantsesabehe-saxoierafla" +
+ "ndrieraBrasilgo portugesaportugesa (Europa)moldavieraserbokroazieraK" +
+ "ongoko swahiliatxinera soilduatxinera tradizionala",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0007, 0x0010, 0x0010, 0x001a, 0x0021, 0x0029, 0x0032,
@@ -5179,15 +5179,15 @@ var langHeaders = [252]header{
0x0c47, 0x0c47, 0x0c47, 0x0c4d, 0x0c54, 0x0c54, 0x0c5a, 0x0c60,
0x0c60, 0x0c60, 0x0c60, 0x0c6a, 0x0c6a, 0x0c6a, 0x0c6a, 0x0c6a,
0x0c74, 0x0c74, 0x0c7b, 0x0c7b, 0x0c7b, 0x0c7b, 0x0c84, 0x0c8d,
- 0x0c95, 0x0c9b, 0x0cb7, 0x0cc0, 0x0cc0, 0x0cca, 0x0ccf, 0x0cd5,
- 0x0cd5, 0x0cd5, 0x0cd5, 0x0cd5, 0x0cd5, 0x0cd5, 0x0cdb, 0x0ce4,
- 0x0ceb, 0x0cf3, 0x0cf3, 0x0cf3, 0x0cf3, 0x0cfc, 0x0cfc, 0x0d02,
+ 0x0c95, 0x0c9b, 0x0cb7, 0x0cc0, 0x0cc0, 0x0cca, 0x0cdd, 0x0ce3,
+ 0x0ce3, 0x0ce3, 0x0ce3, 0x0ce3, 0x0ce3, 0x0ce3, 0x0ce9, 0x0cf2,
+ 0x0cf9, 0x0d01, 0x0d01, 0x0d01, 0x0d01, 0x0d0a, 0x0d0a, 0x0d10,
// Entry 240 - 27F
- 0x0d02, 0x0d02, 0x0d0c, 0x0d11, 0x0d11, 0x0d1a, 0x0d1a, 0x0d1a,
- 0x0d1a, 0x0d1a, 0x0d2e, 0x0d34, 0x0d50, 0x0d57, 0x0d72, 0x0d72,
- 0x0d83, 0x0d99, 0x0dad, 0x0dbe, 0x0dd8, 0x0de6, 0x0e00, 0x0e13,
- 0x0e26, 0x0e26, 0x0e38, 0x0e4a, 0x0e57, 0x0e61, 0x0e73, 0x0e85,
- 0x0e8f, 0x0e9d, 0x0ead, 0x0ebc, 0x0ed0,
+ 0x0d10, 0x0d10, 0x0d1a, 0x0d1f, 0x0d1f, 0x0d28, 0x0d28, 0x0d28,
+ 0x0d28, 0x0d28, 0x0d3c, 0x0d42, 0x0d5e, 0x0d65, 0x0d80, 0x0d80,
+ 0x0d91, 0x0da7, 0x0dbb, 0x0dcc, 0x0de6, 0x0df4, 0x0e0e, 0x0e21,
+ 0x0e34, 0x0e34, 0x0e46, 0x0e58, 0x0e65, 0x0e6f, 0x0e81, 0x0e93,
+ 0x0e9d, 0x0eab, 0x0ebb, 0x0eca, 0x0ede,
},
},
{ // ewo
@@ -5379,12 +5379,12 @@ var langHeaders = [252]header{
"isilansktskotsktsuður kurdisktsenakoyraboro sennitachelhitshansuður " +
"sámisktlule sámisktinari samiskolt sámisktsoninkesranan tongosahosuk" +
"umakomorisktsyriactimnetesotetumtigreklingonskttok pisintarokotumbuk" +
- "atuvalutasawaqtuvinianmiðatlasfjøll tamazightudmurtumbundurootvaivun" +
- "jowalserwolayttawaraywarlpiriwu kinesisktkalmyksogayangbenyembakanto" +
- "nesisktvanligt marokanskt tamazightzunieinki málsligt innihaldzazanú" +
- "tíðar vanligt arabiskthøgt týskt (Sveis)lágt saksisktflamsktportugis" +
- "kiskt (Brasilia)portugiskiskt (Evropa)moldavisktserbokroatisktkongo " +
- "svahilieinkult kinesisktvanligt kinesiskt",
+ "atuvalutasawaqtuvinianmiðatlasfjøll tamazightudmurtumbunduókent málv" +
+ "aivunjowalserwolayttawaraywarlpiriwu kinesisktkalmyksogayangbenyemba" +
+ "kantonesisktvanligt marokanskt tamazightzunieinki málsligt innihaldz" +
+ "azanútíðar vanligt arabiskthøgt týskt (Sveis)lágt saksisktflamsktpor" +
+ "tugiskiskt (Brasilia)portugiskiskt (Evropa)moldavisktserbokroatisktk" +
+ "ongo svahilieinkult kinesisktvanligt kinesiskt",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x000e, 0x000e, 0x0017, 0x001b, 0x0024, 0x002e,
@@ -5464,15 +5464,15 @@ var langHeaders = [252]header{
0x0ae1, 0x0ae1, 0x0ae1, 0x0ae6, 0x0aea, 0x0aea, 0x0aef, 0x0af4,
0x0af4, 0x0af4, 0x0af4, 0x0afe, 0x0afe, 0x0afe, 0x0afe, 0x0afe,
0x0b07, 0x0b07, 0x0b0d, 0x0b0d, 0x0b0d, 0x0b0d, 0x0b14, 0x0b1a,
- 0x0b21, 0x0b29, 0x0b42, 0x0b48, 0x0b48, 0x0b4f, 0x0b53, 0x0b56,
- 0x0b56, 0x0b56, 0x0b56, 0x0b56, 0x0b56, 0x0b56, 0x0b5b, 0x0b61,
- 0x0b69, 0x0b6e, 0x0b6e, 0x0b76, 0x0b82, 0x0b88, 0x0b88, 0x0b8c,
+ 0x0b21, 0x0b29, 0x0b42, 0x0b48, 0x0b48, 0x0b4f, 0x0b5a, 0x0b5d,
+ 0x0b5d, 0x0b5d, 0x0b5d, 0x0b5d, 0x0b5d, 0x0b5d, 0x0b62, 0x0b68,
+ 0x0b70, 0x0b75, 0x0b75, 0x0b7d, 0x0b89, 0x0b8f, 0x0b8f, 0x0b93,
// Entry 240 - 27F
- 0x0b8c, 0x0b8c, 0x0b93, 0x0b98, 0x0b98, 0x0ba4, 0x0ba4, 0x0ba4,
- 0x0ba4, 0x0ba4, 0x0bc0, 0x0bc4, 0x0bdc, 0x0be0, 0x0bfb, 0x0bfb,
- 0x0bfb, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f,
- 0x0c0f, 0x0c0f, 0x0c0f, 0x0c0f, 0x0c1d, 0x0c24, 0x0c3c, 0x0c52,
- 0x0c5c, 0x0c6a, 0x0c77, 0x0c88, 0x0c99,
+ 0x0b93, 0x0b93, 0x0b9a, 0x0b9f, 0x0b9f, 0x0bab, 0x0bab, 0x0bab,
+ 0x0bab, 0x0bab, 0x0bc7, 0x0bcb, 0x0be3, 0x0be7, 0x0c02, 0x0c02,
+ 0x0c02, 0x0c16, 0x0c16, 0x0c16, 0x0c16, 0x0c16, 0x0c16, 0x0c16,
+ 0x0c16, 0x0c16, 0x0c16, 0x0c16, 0x0c24, 0x0c2b, 0x0c43, 0x0c59,
+ 0x0c63, 0x0c71, 0x0c7e, 0x0c8f, 0x0ca0,
},
},
{ // fr
@@ -5804,15 +5804,15 @@ var langHeaders = [252]header{
"nantongoSererSahoSukumaSoesoeSoemeryskShimaoreKlassiek SyryskSyryskT" +
"imneTesoTerenoTetunTigreTivTokelausKlingonTlingitTamashekNyasa Tonga" +
"Tok PisinTarokoTsimshianToemboekaTuvaluaanskTasawaqTuvinyskTamazight" +
- " (Sintraal-Marokko)OedmoertsOegarityskUmbunduRootVaiVotyskVunjoWalse" +
- "rWalamoWarayWashoKalmykSogaYaoYapeesYangbenYembaKantoneeskZapotecBli" +
- "ssymbolenZenagaStandert Marokkaanske TamazightZuniGjin linguïstyske " +
- "ynhâldZazaModern standert ArabyskEastenryks DútskSwitsersk Heechdúts" +
- "kAustralysk IngelskKanadeesk IngelskBritsk IngelskAmerikaansk Ingels" +
- "kLatynsk-Amerikaansk SpaanskEuropeesk SpaanskMeksikaansk SpaanskKana" +
- "deesk FrânskSwitserse FrânskVlaamsBrazyljaansk PortugeesEuropees Por" +
- "tugeesMoldavyskServokroatyskCongo SwahiliFerienfâldich SineeskTradis" +
- "joneel Sineesk",
+ " (Sintraal-Marokko)OedmoertsOegarityskUmbunduOnbekende taalVaiVotysk" +
+ "VunjoWalserWalamoWarayWashoKalmykSogaYaoYapeesYangbenYembaKantoneesk" +
+ "ZapotecBlissymbolenZenagaStandert Marokkaanske TamazightZuniGjin lin" +
+ "guïstyske ynhâldZazaModern standert ArabyskEastenryks DútskSwitsersk" +
+ " HeechdútskAustralysk IngelskKanadeesk IngelskBritsk IngelskAmerikaa" +
+ "nsk IngelskLatynsk-Amerikaansk SpaanskEuropeesk SpaanskMeksikaansk S" +
+ "paanskKanadeesk FrânskSwitserse FrânskVlaamsBrazyljaansk PortugeesEu" +
+ "ropees PortugeesMoldavyskServokroatyskCongo SwahiliFerienfâldich Sin" +
+ "eeskTradisjoneel Sineesk",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x000d, 0x0015, 0x001f, 0x0023, 0x002b, 0x0035,
@@ -5892,15 +5892,15 @@ var langHeaders = [252]header{
0x0d2c, 0x0d2c, 0x0d2c, 0x0d31, 0x0d35, 0x0d3b, 0x0d40, 0x0d45,
0x0d48, 0x0d50, 0x0d50, 0x0d57, 0x0d5e, 0x0d5e, 0x0d66, 0x0d71,
0x0d7a, 0x0d7a, 0x0d80, 0x0d80, 0x0d89, 0x0d89, 0x0d92, 0x0d9d,
- 0x0da4, 0x0dac, 0x0dc8, 0x0dd1, 0x0ddb, 0x0de2, 0x0de6, 0x0de9,
- 0x0de9, 0x0de9, 0x0de9, 0x0de9, 0x0def, 0x0def, 0x0df4, 0x0dfa,
- 0x0e00, 0x0e05, 0x0e0a, 0x0e0a, 0x0e0a, 0x0e10, 0x0e10, 0x0e14,
+ 0x0da4, 0x0dac, 0x0dc8, 0x0dd1, 0x0ddb, 0x0de2, 0x0df0, 0x0df3,
+ 0x0df3, 0x0df3, 0x0df3, 0x0df3, 0x0df9, 0x0df9, 0x0dfe, 0x0e04,
+ 0x0e0a, 0x0e0f, 0x0e14, 0x0e14, 0x0e14, 0x0e1a, 0x0e1a, 0x0e1e,
// Entry 240 - 27F
- 0x0e17, 0x0e1d, 0x0e24, 0x0e29, 0x0e29, 0x0e33, 0x0e3a, 0x0e46,
- 0x0e46, 0x0e4c, 0x0e6b, 0x0e6f, 0x0e89, 0x0e8d, 0x0ea4, 0x0ea4,
- 0x0eb5, 0x0eca, 0x0edc, 0x0eed, 0x0efb, 0x0f0e, 0x0f29, 0x0f3a,
- 0x0f4d, 0x0f4d, 0x0f5e, 0x0f6f, 0x0f6f, 0x0f75, 0x0f8b, 0x0f9d,
- 0x0fa6, 0x0fb3, 0x0fc0, 0x0fd6, 0x0fea,
+ 0x0e21, 0x0e27, 0x0e2e, 0x0e33, 0x0e33, 0x0e3d, 0x0e44, 0x0e50,
+ 0x0e50, 0x0e56, 0x0e75, 0x0e79, 0x0e93, 0x0e97, 0x0eae, 0x0eae,
+ 0x0ebf, 0x0ed4, 0x0ee6, 0x0ef7, 0x0f05, 0x0f18, 0x0f33, 0x0f44,
+ 0x0f57, 0x0f57, 0x0f68, 0x0f79, 0x0f79, 0x0f7f, 0x0f95, 0x0fa7,
+ 0x0fb0, 0x0fbd, 0x0fca, 0x0fe0, 0x0ff4,
},
},
{ // ga
@@ -6106,17 +6106,17 @@ var langHeaders = [252]header{
"sSuraidheac ChlasaigeachSuraidheacTuluTimneTesoTerênaTetumTigreTivTo" +
"kelauTsakhurKlingonTlingitTalyshTamashekNyasa TongaTok PisinTuroyoTa" +
"rokoTsimshianTatiTumbukaTubhaluTasawaqCànan TuvaTamazight an Atlais " +
- "MheadhanaichUdmurtUmbunduRootVaiVepsFlannrais SiarachVõroVunjoGearma" +
- "iltis WallisWolayttaWarayWashoWarlpiriWuKalmykSogaYaoCànan YapYangbe" +
- "nYembaNheengatuCantonaisZapotecComharran BlissCànan ZeelandZenagaTam" +
- "azight Stannardach MorocoZuñiSusbaint nach eil ’na chànanZazakiNuadh" +
- "-Arabais StannardachGearmailtis na h-OstaireÀrd-Ghearmailtis na h-Ei" +
- "lbheiseBeurla AstràiliaBeurla ChanadaBeurla BhreatainnBeurla na h-Ai" +
- "meireagaSpàinntis na h-Aimeireaga LaidinneachSpàinntis EòrpachSpàinn" +
- "tis MheagsagachFraingis ChanadaFraingis EilbheiseachSagsannais Ìochd" +
- "arachFlannraisPortagailis BhraisileachPortagailis EòrpachMoldobhaisS" +
- "èirb-ChròthaisisKiswahili na CongoSìnis ShimplichteSìnis Thradaisea" +
- "nta",
+ "MheadhanaichUdmurtUmbunduCànan neo-aithnichteVaiVepsFlannrais Siarac" +
+ "hVõroVunjoGearmailtis WallisWolayttaWarayWashoWarlpiriWuKalmykSogaYa" +
+ "oCànan YapYangbenYembaNheengatuCantonaisZapotecComharran BlissCànan " +
+ "ZeelandZenagaTamazight Stannardach MorocoZuñiSusbaint nach eil ’na c" +
+ "hànanZazakiNuadh-Arabais StannardachGearmailtis na h-OstaireÀrd-Ghea" +
+ "rmailtis na h-EilbheiseBeurla AstràiliaBeurla ChanadaBeurla Bhreatai" +
+ "nnBeurla na h-AimeireagaSpàinntis na h-Aimeireaga LaidinneachSpàinnt" +
+ "is EòrpachSpàinntis MheagsagachFraingis ChanadaFraingis Eilbheiseach" +
+ "Sagsannais ÌochdarachFlannraisPortagailis BhraisileachPortagailis Eò" +
+ "rpachMoldobhaisSèirb-ChròthaisisKiswahili na CongoSìnis ShimplichteS" +
+ "ìnis Thradaiseanta",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x000d, 0x0017, 0x0021, 0x0025, 0x002e, 0x0037,
@@ -6196,15 +6196,15 @@ var langHeaders = [252]header{
0x1191, 0x1191, 0x1195, 0x119a, 0x119e, 0x11a5, 0x11aa, 0x11af,
0x11b2, 0x11b9, 0x11c0, 0x11c7, 0x11ce, 0x11d4, 0x11dc, 0x11e7,
0x11f0, 0x11f6, 0x11fc, 0x11fc, 0x1205, 0x1209, 0x1210, 0x1217,
- 0x121e, 0x1229, 0x1249, 0x124f, 0x124f, 0x1256, 0x125a, 0x125d,
- 0x125d, 0x1261, 0x1272, 0x1272, 0x1272, 0x1277, 0x127c, 0x128e,
- 0x1296, 0x129b, 0x12a0, 0x12a8, 0x12aa, 0x12b0, 0x12b0, 0x12b4,
+ 0x121e, 0x1229, 0x1249, 0x124f, 0x124f, 0x1256, 0x126b, 0x126e,
+ 0x126e, 0x1272, 0x1283, 0x1283, 0x1283, 0x1288, 0x128d, 0x129f,
+ 0x12a7, 0x12ac, 0x12b1, 0x12b9, 0x12bb, 0x12c1, 0x12c1, 0x12c5,
// Entry 240 - 27F
- 0x12b7, 0x12c1, 0x12c8, 0x12cd, 0x12d6, 0x12df, 0x12e6, 0x12f5,
- 0x1303, 0x1309, 0x1325, 0x132a, 0x1349, 0x134f, 0x1368, 0x1368,
- 0x1380, 0x13a0, 0x13b1, 0x13bf, 0x13d0, 0x13e6, 0x140c, 0x141f,
- 0x1435, 0x1435, 0x1445, 0x145a, 0x1470, 0x1479, 0x1491, 0x14a5,
- 0x14af, 0x14c2, 0x14d4, 0x14e6, 0x14fa,
+ 0x12c8, 0x12d2, 0x12d9, 0x12de, 0x12e7, 0x12f0, 0x12f7, 0x1306,
+ 0x1314, 0x131a, 0x1336, 0x133b, 0x135a, 0x1360, 0x1379, 0x1379,
+ 0x1391, 0x13b1, 0x13c2, 0x13d0, 0x13e1, 0x13f7, 0x141d, 0x1430,
+ 0x1446, 0x1446, 0x1456, 0x146b, 0x1481, 0x148a, 0x14a2, 0x14b6,
+ 0x14c0, 0x14d3, 0x14e5, 0x14f7, 0x150b,
},
},
{ // gl
@@ -6247,14 +6247,14 @@ var langHeaders = [252]header{
"tachelhitshansaami meridionalsaami de Lulesaami de Inarisaami de Sko" +
"ltsoninkesranan tongosahosukumacomorianosiríacotimnetesotetuntigrékl" +
"ingontok pisintarokotumbukatuvaluanotasawaqtuvanianotamazight do Mar" +
- "rocos Centraludmurtoumbunduraízvaivunjowalserwolayttawaray-waraywalr" +
- "piricalmucosogayangbenyembacantonéstamazight de Marrocos estándarzun" +
- "isen contido lingüísticozazakiárabe estándar modernoalemán austríaco" +
- "alto alemán suízoinglés australianoinglés canadianoinglés británicoi" +
- "nglés dos Estados Unidosespañol latinoamericanocastelánespañol de Mé" +
- "xicofrancés canadianofrancés suízobaixo saxónflamencoportugués brasi" +
- "leiroportugués europeomoldavoserbocroatasuahili congoléschinés simpl" +
- "ificadochinés tradicional",
+ "rocos Centraludmurtoumbundulingua descoñecidavaivunjowalserwolayttaw" +
+ "aray-waraywalrpiricalmucosogayangbenyembacantonéstamazight de Marroc" +
+ "os estándarzunisen contido lingüísticozazakiárabe estándar modernoal" +
+ "emán austríacoalto alemán suízoinglés australianoinglés canadianoing" +
+ "lés británicoinglés dos Estados Unidosespañol latinoamericanocastelá" +
+ "nespañol de Méxicofrancés canadianofrancés suízobaixo saxónflamencop" +
+ "ortugués brasileiroportugués europeomoldavoserbocroatasuahili congol" +
+ "éschinés simplificadochinés tradicional",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x000b, 0x000b, 0x0015, 0x001a, 0x0022, 0x002b,
@@ -6334,15 +6334,15 @@ var langHeaders = [252]header{
0x0a64, 0x0a64, 0x0a64, 0x0a69, 0x0a6d, 0x0a6d, 0x0a72, 0x0a78,
0x0a78, 0x0a78, 0x0a78, 0x0a7f, 0x0a7f, 0x0a7f, 0x0a7f, 0x0a7f,
0x0a88, 0x0a88, 0x0a8e, 0x0a8e, 0x0a8e, 0x0a8e, 0x0a95, 0x0a9e,
- 0x0aa5, 0x0aae, 0x0acb, 0x0ad2, 0x0ad2, 0x0ad9, 0x0ade, 0x0ae1,
- 0x0ae1, 0x0ae1, 0x0ae1, 0x0ae1, 0x0ae1, 0x0ae1, 0x0ae6, 0x0aec,
- 0x0af4, 0x0aff, 0x0aff, 0x0b07, 0x0b07, 0x0b0e, 0x0b0e, 0x0b12,
+ 0x0aa5, 0x0aae, 0x0acb, 0x0ad2, 0x0ad2, 0x0ad9, 0x0aec, 0x0aef,
+ 0x0aef, 0x0aef, 0x0aef, 0x0aef, 0x0aef, 0x0aef, 0x0af4, 0x0afa,
+ 0x0b02, 0x0b0d, 0x0b0d, 0x0b15, 0x0b15, 0x0b1c, 0x0b1c, 0x0b20,
// Entry 240 - 27F
- 0x0b12, 0x0b12, 0x0b19, 0x0b1e, 0x0b1e, 0x0b27, 0x0b27, 0x0b27,
- 0x0b27, 0x0b27, 0x0b46, 0x0b4a, 0x0b63, 0x0b69, 0x0b81, 0x0b81,
- 0x0b93, 0x0ba6, 0x0bb9, 0x0bca, 0x0bdc, 0x0bf6, 0x0c0e, 0x0c17,
- 0x0c2a, 0x0c2a, 0x0c3c, 0x0c4b, 0x0c57, 0x0c5f, 0x0c74, 0x0c86,
- 0x0c8d, 0x0c98, 0x0ca9, 0x0cbd, 0x0cd0,
+ 0x0b20, 0x0b20, 0x0b27, 0x0b2c, 0x0b2c, 0x0b35, 0x0b35, 0x0b35,
+ 0x0b35, 0x0b35, 0x0b54, 0x0b58, 0x0b71, 0x0b77, 0x0b8f, 0x0b8f,
+ 0x0ba1, 0x0bb4, 0x0bc7, 0x0bd8, 0x0bea, 0x0c04, 0x0c1c, 0x0c25,
+ 0x0c38, 0x0c38, 0x0c4a, 0x0c59, 0x0c65, 0x0c6d, 0x0c82, 0x0c94,
+ 0x0c9b, 0x0ca6, 0x0cb7, 0x0ccb, 0x0cde,
},
},
{ // gsw
@@ -6406,15 +6406,15 @@ var langHeaders = [252]header{
"tsyrischSyrischTemneTereno-SchpraachTetum-SchpraachTigreTiv-Schpraac" +
"hTokelauanischKlingonischTlingit-SchpraachTamaseqTsonga-SchpraachNeu" +
"melanesischTsimshian-SchpraachTumbuka-SchpraachElliceanischTuwinisch" +
- "UdmurtischUgaritischMbundu-SchpraachRootVai-SchpraachWotischWalamo-S" +
- "chpraachWarayWasho-SchpraachKalmückischYao-SchpraachYapesischZapotek" +
- "ischBliss-SymboolZenagaZuni-SchpraachKän schpraachliche InhaltZazaÖs" +
- "chtriichischs TüütschSchwiizer HochtüütschAuschtralischs ÄnglischKan" +
- "adischs ÄnglischBritischs ÄnglischAmerikanischs ÄnglischLatiinamerik" +
- "anischs SchpanischIbeerischs SchpanischKanadischs FranzösischSchwiiz" +
- "er FranzösischFläämischBrasilianischs PortugiisischIberischs Portugi" +
- "isischMoldawischSerbo-KroatischVeräifachts ChineesischTradizionells " +
- "Chineesisch",
+ "UdmurtischUgaritischMbundu-SchpraachUnbeschtimmti SchpraachVai-Schpr" +
+ "aachWotischWalamo-SchpraachWarayWasho-SchpraachKalmückischYao-Schpra" +
+ "achYapesischZapotekischBliss-SymboolZenagaZuni-SchpraachKän schpraac" +
+ "hliche InhaltZazaÖschtriichischs TüütschSchwiizer HochtüütschAuschtr" +
+ "alischs ÄnglischKanadischs ÄnglischBritischs ÄnglischAmerikanischs Ä" +
+ "nglischLatiinamerikanischs SchpanischIbeerischs SchpanischKanadischs" +
+ " FranzösischSchwiizer FranzösischFläämischBrasilianischs Portugiisis" +
+ "chIberischs PortugiisischMoldawischSerbo-KroatischVeräifachts Chinee" +
+ "sischTradizionells Chineesisch",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x000e, 0x0017, 0x0020, 0x0024, 0x002d, 0x0039,
@@ -6494,15 +6494,15 @@ var langHeaders = [252]header{
0x0f72, 0x0f72, 0x0f72, 0x0f77, 0x0f77, 0x0f87, 0x0f96, 0x0f9b,
0x0fa8, 0x0fb5, 0x0fb5, 0x0fc0, 0x0fd1, 0x0fd1, 0x0fd8, 0x0fe8,
0x0ff6, 0x0ff6, 0x0ff6, 0x0ff6, 0x1009, 0x1009, 0x101a, 0x1026,
- 0x1026, 0x102f, 0x102f, 0x1039, 0x1043, 0x1053, 0x1057, 0x1064,
- 0x1064, 0x1064, 0x1064, 0x1064, 0x106b, 0x106b, 0x106b, 0x106b,
- 0x107b, 0x1080, 0x108f, 0x108f, 0x108f, 0x109b, 0x109b, 0x109b,
+ 0x1026, 0x102f, 0x102f, 0x1039, 0x1043, 0x1053, 0x106a, 0x1077,
+ 0x1077, 0x1077, 0x1077, 0x1077, 0x107e, 0x107e, 0x107e, 0x107e,
+ 0x108e, 0x1093, 0x10a2, 0x10a2, 0x10a2, 0x10ae, 0x10ae, 0x10ae,
// Entry 240 - 27F
- 0x10a8, 0x10b1, 0x10b1, 0x10b1, 0x10b1, 0x10b1, 0x10bc, 0x10c9,
- 0x10c9, 0x10cf, 0x10cf, 0x10dd, 0x10f7, 0x10fb, 0x10fb, 0x10fb,
- 0x1115, 0x112c, 0x1144, 0x1158, 0x116b, 0x1182, 0x11a0, 0x11b5,
- 0x11b5, 0x11b5, 0x11cc, 0x11e2, 0x11e2, 0x11ed, 0x1209, 0x1220,
- 0x122a, 0x1239, 0x1239, 0x1251, 0x126a,
+ 0x10bb, 0x10c4, 0x10c4, 0x10c4, 0x10c4, 0x10c4, 0x10cf, 0x10dc,
+ 0x10dc, 0x10e2, 0x10e2, 0x10f0, 0x110a, 0x110e, 0x110e, 0x110e,
+ 0x1128, 0x113f, 0x1157, 0x116b, 0x117e, 0x1195, 0x11b3, 0x11c8,
+ 0x11c8, 0x11c8, 0x11df, 0x11f5, 0x11f5, 0x1200, 0x121c, 0x1233,
+ 0x123d, 0x124c, 0x124c, 0x1264, 0x127d,
},
},
{ // gu
@@ -7858,12 +7858,12 @@ var langHeaders = [252]header{
"سونِنکیےسوگڈِیَنسرٛانَن ٹونٛگوسیٚریرسُکُماسُسوٗسُمیریَنسیٖریٲییٹِمن" +
"یےٹیٚریٚنوٹیٹَمٹاےگریےتیٖوٹوکیٖلاوکِلِنگونٹِلِنگِتتاماشیکنیاسا ٹونٛ" +
"گاٹاک پِسِنژھِمشِیانتُمبُکاتُوالوٗتُویٖنیَناُدمُرتاُگارتِکیُمبُندوٗ" +
- "روٗٹواےووتِکوالامووَریےواشوکالمِکیاویَپیٖززَپوتیٚکزیناگازوٗنیکانٛہہ" +
- " تہِ لِسانیاتی مواد نہٕزازاآسٹرِیَن جٔرمَنسٕوِس ہاےجٔرمَنآسٹریلیَن ا" +
- "َنٛگریٖزۍکینَڈِیٲیی اَنٛگریٖزۍبَرطانوی اَنٛگریٖزۍیوٗ ایٚس اَنٛگریٖز" +
- "ۍلیٹٕن امریٖکی سپینِشلِبیریَن سپینِشکَنیڈیَن فریٚنچسٕوٕس فریٚنچفلیٚ" +
- "مِشبرازیٖلی پُتَگیٖزلِبیریَن پُرتَگیٖزمولداوِیَنسیٚربو کروشِیَنسیٚو" +
- "د چیٖنیرِوٲجی چیٖنی",
+ "اَنزٲنۍ یا نَہ لَگہٕہار زبانواےووتِکوالامووَریےواشوکالمِکیاویَپیٖزز" +
+ "َپوتیٚکزیناگازوٗنیکانٛہہ تہِ لِسانیاتی مواد نہٕزازاآسٹرِیَن جٔرمَنس" +
+ "ٕوِس ہاےجٔرمَنآسٹریلیَن اَنٛگریٖزۍکینَڈِیٲیی اَنٛگریٖزۍبَرطانوی اَن" +
+ "ٛگریٖزۍیوٗ ایٚس اَنٛگریٖزۍلیٹٕن امریٖکی سپینِشلِبیریَن سپینِشکَنیڈی" +
+ "َن فریٚنچسٕوٕس فریٚنچفلیٚمِشبرازیٖلی پُتَگیٖزلِبیریَن پُرتَگیٖزمولد" +
+ "اوِیَنسیٚربو کروشِیَنسیٚود چیٖنیرِوٲجی چیٖنی",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x000a, 0x001e, 0x002e, 0x0044, 0x004e, 0x005c, 0x006c,
@@ -7943,15 +7943,15 @@ var langHeaders = [252]header{
0x164b, 0x164b, 0x164b, 0x1657, 0x1657, 0x1667, 0x1671, 0x167f,
0x1687, 0x1697, 0x1697, 0x16a7, 0x16b7, 0x16b7, 0x16c5, 0x16dc,
0x16ed, 0x16ed, 0x16ed, 0x16ed, 0x16ff, 0x16ff, 0x170d, 0x171b,
- 0x171b, 0x172d, 0x172d, 0x173b, 0x174b, 0x175d, 0x1765, 0x176b,
- 0x176b, 0x176b, 0x176b, 0x176b, 0x1775, 0x1775, 0x1775, 0x1775,
- 0x1781, 0x178b, 0x1793, 0x1793, 0x1793, 0x179f, 0x179f, 0x179f,
+ 0x171b, 0x172d, 0x172d, 0x173b, 0x174b, 0x175d, 0x1791, 0x1797,
+ 0x1797, 0x1797, 0x1797, 0x1797, 0x17a1, 0x17a1, 0x17a1, 0x17a1,
+ 0x17ad, 0x17b7, 0x17bf, 0x17bf, 0x17bf, 0x17cb, 0x17cb, 0x17cb,
// Entry 240 - 27F
- 0x17a5, 0x17b1, 0x17b1, 0x17b1, 0x17b1, 0x17b1, 0x17c1, 0x17c1,
- 0x17c1, 0x17cd, 0x17cd, 0x17d7, 0x180d, 0x1815, 0x1815, 0x1815,
- 0x1832, 0x184f, 0x1876, 0x189f, 0x18c4, 0x18e8, 0x190e, 0x192b,
- 0x192b, 0x192b, 0x1948, 0x195f, 0x195f, 0x196d, 0x198e, 0x19b1,
- 0x19c5, 0x19e2, 0x19e2, 0x19f7, 0x1a0e,
+ 0x17d1, 0x17dd, 0x17dd, 0x17dd, 0x17dd, 0x17dd, 0x17ed, 0x17ed,
+ 0x17ed, 0x17f9, 0x17f9, 0x1803, 0x1839, 0x1841, 0x1841, 0x1841,
+ 0x185e, 0x187b, 0x18a2, 0x18cb, 0x18f0, 0x1914, 0x193a, 0x1957,
+ 0x1957, 0x1957, 0x1974, 0x198b, 0x198b, 0x1999, 0x19ba, 0x19dd,
+ 0x19f1, 0x1a0e, 0x1a0e, 0x1a23, 0x1a3a,
},
},
{ // ksb
@@ -8399,18 +8399,18 @@ var langHeaders = [252]header{
"iv-SproochTokelauaneschTsachureschKlingoneschTlingit-SproochTaleschT" +
"amaseqTsonga-SproochNeimelaneseschTuroyoSeediqTsakoneschTsimshian-Sp" +
"roochTateschTumbuka-SproochElliceaneschTasawaqTuwineschMëttlert-Atla" +
- "s-TamazightUdmurteschUgariteschMbundu-SproochRootVai-SproochVenezesc" +
- "hWepseschWestflämeschMainfränkeschWoteschVoroVunjoWalliserdäitschWal" +
- "amo-SproochWarayWasho-SproochWu-ChineseschKalmückeschMingrelesch Spr" +
- "oochSogaYao-SproochYapeseschYangbenYembaNheengatuKantoneseschZapotek" +
- "eschBliss-SymbolerSeelänneschZenagaMarokkanescht Standard-TamazightZ" +
- "uni-SproochKeng SproochinhalterZazaModernt HéicharabeschÉisträichesc" +
- "ht DäitschSchwäizer HéichdäitschAustralescht EngleschKanadescht Engl" +
- "eschBritescht EngleschAmerikanescht EngleschLatäinamerikanescht Spue" +
- "neschEuropäescht SpueneschMexikanescht SpueneschKanadescht Franséisc" +
- "hSchwäizer FranséischFlämeschBrasilianescht PortugiseschEuropäescht " +
- "PortugiseschMoldaweschSerbo-KroateschKongo-SwahiliChinesesch (verein" +
- "facht)Chinesesch (traditionell)",
+ "s-TamazightUdmurteschUgariteschMbundu-SproochOnbestëmmt SproochVai-S" +
+ "proochVenezeschWepseschWestflämeschMainfränkeschWoteschVoroVunjoWall" +
+ "iserdäitschWalamo-SproochWarayWasho-SproochWu-ChineseschKalmückeschM" +
+ "ingrelesch SproochSogaYao-SproochYapeseschYangbenYembaNheengatuKanto" +
+ "neseschZapotekeschBliss-SymbolerSeelänneschZenagaMarokkanescht Stand" +
+ "ard-TamazightZuni-SproochKeng SproochinhalterZazaModernt Héicharabes" +
+ "chÉisträichescht DäitschSchwäizer HéichdäitschAustralescht EngleschK" +
+ "anadescht EngleschBritescht EngleschAmerikanescht EngleschLatäinamer" +
+ "ikanescht SpueneschEuropäescht SpueneschMexikanescht SpueneschKanade" +
+ "scht FranséischSchwäizer FranséischFlämeschBrasilianescht Portugises" +
+ "chEuropäescht PortugiseschMoldaweschSerbo-KroateschKongo-SwahiliChin" +
+ "esesch (vereinfacht)Chinesesch (traditionell)",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x000e, 0x0017, 0x0020, 0x0024, 0x002d, 0x0039,
@@ -8490,15 +8490,15 @@ var langHeaders = [252]header{
0x14be, 0x14c8, 0x14cc, 0x14d1, 0x14d5, 0x14e3, 0x14f0, 0x14f5,
0x1500, 0x150d, 0x1518, 0x1523, 0x1532, 0x1539, 0x1540, 0x154e,
0x155c, 0x1562, 0x1568, 0x1572, 0x1583, 0x158a, 0x1599, 0x15a5,
- 0x15ac, 0x15b5, 0x15ce, 0x15d8, 0x15e2, 0x15f0, 0x15f4, 0x15ff,
- 0x1608, 0x1610, 0x161d, 0x162b, 0x1632, 0x1636, 0x163b, 0x164b,
- 0x1659, 0x165e, 0x166b, 0x166b, 0x1678, 0x1684, 0x1697, 0x169b,
+ 0x15ac, 0x15b5, 0x15ce, 0x15d8, 0x15e2, 0x15f0, 0x1603, 0x160e,
+ 0x1617, 0x161f, 0x162c, 0x163a, 0x1641, 0x1645, 0x164a, 0x165a,
+ 0x1668, 0x166d, 0x167a, 0x167a, 0x1687, 0x1693, 0x16a6, 0x16aa,
// Entry 240 - 27F
- 0x16a6, 0x16af, 0x16b6, 0x16bb, 0x16c4, 0x16d0, 0x16db, 0x16e9,
- 0x16f5, 0x16fb, 0x171b, 0x1727, 0x173b, 0x173f, 0x1755, 0x1755,
- 0x176e, 0x1787, 0x179c, 0x17af, 0x17c1, 0x17d7, 0x17f5, 0x180b,
- 0x1821, 0x1821, 0x1837, 0x184d, 0x184d, 0x1856, 0x1871, 0x188a,
- 0x1894, 0x18a3, 0x18b0, 0x18c8, 0x18e1,
+ 0x16b5, 0x16be, 0x16c5, 0x16ca, 0x16d3, 0x16df, 0x16ea, 0x16f8,
+ 0x1704, 0x170a, 0x172a, 0x1736, 0x174a, 0x174e, 0x1764, 0x1764,
+ 0x177d, 0x1796, 0x17ab, 0x17be, 0x17d0, 0x17e6, 0x1804, 0x181a,
+ 0x1830, 0x1830, 0x1846, 0x185c, 0x185c, 0x1865, 0x1880, 0x1899,
+ 0x18a3, 0x18b2, 0x18bf, 0x18d7, 0x18f0,
},
},
{ // lg
@@ -9465,14 +9465,15 @@ var langHeaders = [252]header{
"an TongoSererSahoSukumaSusuSumerjanKomorjanSirjanTimneTesoTerenoTetu" +
"mTigreTivTokelauKlingonTlingitTamashekNyasa TongaTok PisinTarokoTsim" +
"shianTumbukaTuvaluTasawaqTuvinjanTamazight tal-Atlas ĊentraliUdmurtU" +
- "garitikuUmbunduRootVaiVotikVunjoWalserWalamoWarayWashoKalmykSogaYaoY" +
- "apeseYangbenYembaKantoniżZapotecZenagaTamazight Standard tal-MarokkZ" +
- "uniBla kontenut lingwistikuZazaGħarbi Standard ModernĠermaniż Awstri" +
- "jakĠermaniż ŻvizzeruIngliż AwstraljanIngliż KanadiżIngliż Brittaniku" +
- "Ingliż AmerikanSpanjol Latin AmerikanSpanjol EwropewSpanjol tal-Mess" +
- "ikuFranċiż KanadiżFranċiż ŻvizzeruSassonu KomuniFjammingPortugiż tal" +
- "-BrażilPortugiż EwropewMoldovanSerbo-KroatSwahili tar-Repubblika Dem" +
- "okratika tal-KongoĊiniż SimplifikatĊiniż Tradizzjonali",
+ "garitikuUmbunduLingwa Mhix MagħrufaVaiVotikVunjoWalserWalamoWarayWas" +
+ "hoKalmykSogaYaoYapeseYangbenYembaKantoniżZapotecZenagaTamazight Stan" +
+ "dard tal-MarokkZuniBla kontenut lingwistikuZazaGħarbi Standard Moder" +
+ "nĠermaniż AwstrijakĠermaniż ŻvizzeruIngliż AwstraljanIngliż KanadiżI" +
+ "ngliż BrittanikuIngliż AmerikanSpanjol Latin AmerikanSpanjol Ewropew" +
+ "Spanjol tal-MessikuFranċiż KanadiżFranċiż ŻvizzeruSassonu KomuniFjam" +
+ "mingPortugiż tal-BrażilPortugiż EwropewMoldovanSerbo-KroatSwahili ta" +
+ "r-Repubblika Demokratika tal-KongoĊiniż SimplifikatĊiniż Tradizzjona" +
+ "li",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x000d, 0x0014, 0x001c, 0x0020, 0x0028, 0x0031,
@@ -9552,15 +9553,15 @@ var langHeaders = [252]header{
0x0d21, 0x0d21, 0x0d21, 0x0d26, 0x0d2a, 0x0d30, 0x0d35, 0x0d3a,
0x0d3d, 0x0d44, 0x0d44, 0x0d4b, 0x0d52, 0x0d52, 0x0d5a, 0x0d65,
0x0d6e, 0x0d6e, 0x0d74, 0x0d74, 0x0d7d, 0x0d7d, 0x0d84, 0x0d8a,
- 0x0d91, 0x0d99, 0x0db6, 0x0dbc, 0x0dc5, 0x0dcc, 0x0dd0, 0x0dd3,
- 0x0dd3, 0x0dd3, 0x0dd3, 0x0dd3, 0x0dd8, 0x0dd8, 0x0ddd, 0x0de3,
- 0x0de9, 0x0dee, 0x0df3, 0x0df3, 0x0df3, 0x0df9, 0x0df9, 0x0dfd,
+ 0x0d91, 0x0d99, 0x0db6, 0x0dbc, 0x0dc5, 0x0dcc, 0x0de1, 0x0de4,
+ 0x0de4, 0x0de4, 0x0de4, 0x0de4, 0x0de9, 0x0de9, 0x0dee, 0x0df4,
+ 0x0dfa, 0x0dff, 0x0e04, 0x0e04, 0x0e04, 0x0e0a, 0x0e0a, 0x0e0e,
// Entry 240 - 27F
- 0x0e00, 0x0e06, 0x0e0d, 0x0e12, 0x0e12, 0x0e1b, 0x0e22, 0x0e22,
- 0x0e22, 0x0e28, 0x0e45, 0x0e49, 0x0e61, 0x0e65, 0x0e7c, 0x0e7c,
- 0x0e90, 0x0ea4, 0x0eb6, 0x0ec6, 0x0ed8, 0x0ee8, 0x0efe, 0x0f0d,
- 0x0f20, 0x0f20, 0x0f32, 0x0f45, 0x0f53, 0x0f5b, 0x0f70, 0x0f81,
- 0x0f89, 0x0f94, 0x0fc0, 0x0fd3, 0x0fe8,
+ 0x0e11, 0x0e17, 0x0e1e, 0x0e23, 0x0e23, 0x0e2c, 0x0e33, 0x0e33,
+ 0x0e33, 0x0e39, 0x0e56, 0x0e5a, 0x0e72, 0x0e76, 0x0e8d, 0x0e8d,
+ 0x0ea1, 0x0eb5, 0x0ec7, 0x0ed7, 0x0ee9, 0x0ef9, 0x0f0f, 0x0f1e,
+ 0x0f31, 0x0f31, 0x0f43, 0x0f56, 0x0f64, 0x0f6c, 0x0f81, 0x0f92,
+ 0x0f9a, 0x0fa5, 0x0fd1, 0x0fe4, 0x0ff9,
},
},
{ // mua
@@ -9966,11 +9967,11 @@ var langHeaders = [252]header{
"ngoserersahosukumasususumeriskshimaoreklassisk syrisksyrisktemneteso" +
"terenotetumtigrétivitokelauklingontlingittamasjektonga (Nyasa)tok pi" +
"sintarokotsimshiantumbukatuvalutasawaqtuvinisksentral-tamazightudmur" +
- "tugaritiskumbundurotvaivotiskvunjowalsertyskwolayttawaraywashokalmyk" +
- "isksogayaoyapesiskyangbenyembakantonesiskzapotecblissymbolzenagastan" +
- "dard marokkansk tamazightzuniutan språkleg innhaldzazamoderne standa" +
- "rdarabiskbritisk engelsklågsaksiskflamskmoldaviskserbokroatiskforenk" +
- "la kinesisktradisjonell kinesisk",
+ "tugaritiskumbunduukjent språkvaivotiskvunjowalsertyskwolayttawaraywa" +
+ "shokalmykisksogayaoyapesiskyangbenyembakantonesiskzapotecblissymbolz" +
+ "enagastandard marokkansk tamazightzuniutan språkleg innhaldzazamoder" +
+ "ne standardarabiskbritisk engelsklågsaksiskflamskmoldaviskserbokroat" +
+ "iskforenkla kinesisktradisjonell kinesisk",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x000d, 0x0015, 0x001e, 0x0022, 0x002a, 0x0032,
@@ -10050,15 +10051,15 @@ var langHeaders = [252]header{
0x0d19, 0x0d19, 0x0d19, 0x0d1e, 0x0d22, 0x0d28, 0x0d2d, 0x0d33,
0x0d37, 0x0d3e, 0x0d3e, 0x0d45, 0x0d4c, 0x0d4c, 0x0d54, 0x0d61,
0x0d6a, 0x0d6a, 0x0d70, 0x0d70, 0x0d79, 0x0d79, 0x0d80, 0x0d86,
- 0x0d8d, 0x0d95, 0x0da6, 0x0dac, 0x0db5, 0x0dbc, 0x0dbf, 0x0dc2,
- 0x0dc2, 0x0dc2, 0x0dc2, 0x0dc2, 0x0dc8, 0x0dc8, 0x0dcd, 0x0dd7,
- 0x0ddf, 0x0de4, 0x0de9, 0x0de9, 0x0de9, 0x0df2, 0x0df2, 0x0df6,
+ 0x0d8d, 0x0d95, 0x0da6, 0x0dac, 0x0db5, 0x0dbc, 0x0dc9, 0x0dcc,
+ 0x0dcc, 0x0dcc, 0x0dcc, 0x0dcc, 0x0dd2, 0x0dd2, 0x0dd7, 0x0de1,
+ 0x0de9, 0x0dee, 0x0df3, 0x0df3, 0x0df3, 0x0dfc, 0x0dfc, 0x0e00,
// Entry 240 - 27F
- 0x0df9, 0x0e01, 0x0e08, 0x0e0d, 0x0e0d, 0x0e18, 0x0e1f, 0x0e29,
- 0x0e29, 0x0e2f, 0x0e4c, 0x0e50, 0x0e66, 0x0e6a, 0x0e81, 0x0e81,
- 0x0e81, 0x0e81, 0x0e81, 0x0e81, 0x0e90, 0x0e90, 0x0e90, 0x0e90,
- 0x0e90, 0x0e90, 0x0e90, 0x0e90, 0x0e9b, 0x0ea1, 0x0ea1, 0x0ea1,
- 0x0eaa, 0x0eb7, 0x0eb7, 0x0ec8, 0x0edd,
+ 0x0e03, 0x0e0b, 0x0e12, 0x0e17, 0x0e17, 0x0e22, 0x0e29, 0x0e33,
+ 0x0e33, 0x0e39, 0x0e56, 0x0e5a, 0x0e70, 0x0e74, 0x0e8b, 0x0e8b,
+ 0x0e8b, 0x0e8b, 0x0e8b, 0x0e8b, 0x0e9a, 0x0e9a, 0x0e9a, 0x0e9a,
+ 0x0e9a, 0x0e9a, 0x0e9a, 0x0e9a, 0x0ea5, 0x0eab, 0x0eab, 0x0eab,
+ 0x0eb4, 0x0ec1, 0x0ec1, 0x0ed2, 0x0ee7,
},
},
{ // nnh
@@ -10465,13 +10466,13 @@ var langHeaders = [252]header{
" ସାମିସ୍କୋଲ୍ଟ ସାମୀସୋନିଙ୍କେସୋଗଡିଏନ୍ଶାରାନା ଟୋଙ୍ଗୋଶେରେର୍ସୁକୁମାଶୁଶୁସୁମେରି" +
"ଆନ୍କ୍ଲାସିକାଲ୍ ସିରିକ୍ସିରିକ୍ତିମନେତେରେନୋତେତୁମ୍ଟାଇଗ୍ରେତୀଭ୍ଟୋକେଲାଉକ୍ଲିଙ" +
"୍ଗନ୍ତ୍ଲିଙ୍ଗିଟ୍ତାମାଶେକ୍ନ୍ୟାସା ଟୋଙ୍ଗୋଟୋକ୍ ପିସିନ୍ତିସିମିସିଆନ୍ଟୁମ୍ବୁକାତ" +
- "ୁଭାଲୁତୁଭିନିଆନ୍ଉଦମୂର୍ତ୍ତୟୁଗୋରଟିକ୍ଉମ୍ବୁଣ୍ଡୁମୂଳଭାଇଭୋଟିକ୍ୱାଲମୋୱାରୈୱାସୋ" +
- "କାଲ୍ମୀକ୍ୟାଓୟାପୀସ୍ଜାପୋଟେକ୍ବ୍ଲିସିମ୍ବଲସ୍ଜେନାଗାଜୁନୀକୌଣସି ଲିଙ୍ଗୁଇଷ୍ଟ ସା" +
- "ମଗ୍ରୀ ନାହିଁଜାଜାଅଷ୍ଟ୍ରିଆନ୍ ଜର୍ମାନସ୍ବିସ୍ ହାଇ ଜର୍ମାନ୍ଅଷ୍ଟ୍ରେଲିଆନ୍ ଇଁର" +
- "ାଜୀକାନାଡିଆନ୍ ଇଁରାଜୀବ୍ରିଟିଶ୍ ଇଁରାଜୀୟୁ.ଏସ୍. ଇଁରାଜୀଲାଟିନ୍ ଆମେରିକାନ୍ ସ" +
- "୍ପାନିଶ୍ଲେବେରିଆନ୍ ସ୍ପାନିଶ୍କାନାଡିଆନ୍ ଫ୍ରେଞ୍ଚସ୍ବିସ୍ ଫ୍ରେଞ୍ଚ୍ଫ୍ଲେମିଶ୍ବ" +
- "୍ରାଜିଲିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ଲେବେରିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ମୋଲଡୋଭିଆନ୍ସର୍ବୋ-କ୍ରୋଆଟି" +
- "ଆନ୍ସରଳିକରଣ ଚାଇନୀଜ୍ପାରମ୍ପରିକ ଚାଇନୀଜ୍",
+ "ୁଭାଲୁତୁଭିନିଆନ୍ଉଦମୂର୍ତ୍ତୟୁଗୋରଟିକ୍ଉମ୍ବୁଣ୍ଡୁଅଜଣା ଏବଂ ଅବୈଧ ଭାଷାଭାଇଭୋଟି" +
+ "କ୍ୱାଲମୋୱାରୈୱାସୋକାଲ୍ମୀକ୍ୟାଓୟାପୀସ୍ଜାପୋଟେକ୍ବ୍ଲିସିମ୍ବଲସ୍ଜେନାଗାଜୁନୀକୌଣସ" +
+ "ି ଲିଙ୍ଗୁଇଷ୍ଟ ସାମଗ୍ରୀ ନାହିଁଜାଜାଅଷ୍ଟ୍ରିଆନ୍ ଜର୍ମାନସ୍ବିସ୍ ହାଇ ଜର୍ମାନ୍ଅ" +
+ "ଷ୍ଟ୍ରେଲିଆନ୍ ଇଁରାଜୀକାନାଡିଆନ୍ ଇଁରାଜୀବ୍ରିଟିଶ୍ ଇଁରାଜୀୟୁ.ଏସ୍. ଇଁରାଜୀଲାଟ" +
+ "ିନ୍ ଆମେରିକାନ୍ ସ୍ପାନିଶ୍ଲେବେରିଆନ୍ ସ୍ପାନିଶ୍କାନାଡିଆନ୍ ଫ୍ରେଞ୍ଚସ୍ବିସ୍ ଫ୍" +
+ "ରେଞ୍ଚ୍ଫ୍ଲେମିଶ୍ବ୍ରାଜିଲିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ଲେବେରିଆନ୍ ପର୍ତ୍ତୁଗୀଜ୍ମୋଲଡୋଭିଆ" +
+ "ନ୍ସର୍ବୋ-କ୍ରୋଆଟିଆନ୍ସରଳିକରଣ ଚାଇନୀଜ୍ପାରମ୍ପରିକ ଚାଇନୀଜ୍",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x000f, 0x002d, 0x0042, 0x0060, 0x006c, 0x0081, 0x0096,
@@ -10551,15 +10552,15 @@ var langHeaders = [252]header{
0x22c8, 0x22c8, 0x22c8, 0x22d7, 0x22d7, 0x22e9, 0x22fb, 0x2310,
0x231c, 0x2331, 0x2331, 0x234c, 0x236a, 0x236a, 0x2382, 0x23a7,
0x23c6, 0x23c6, 0x23c6, 0x23c6, 0x23e7, 0x23e7, 0x23ff, 0x2411,
- 0x2411, 0x242c, 0x242c, 0x2447, 0x2462, 0x247d, 0x2486, 0x248f,
- 0x248f, 0x248f, 0x248f, 0x248f, 0x24a1, 0x24a1, 0x24a1, 0x24a1,
- 0x24b0, 0x24bc, 0x24c8, 0x24c8, 0x24c8, 0x24e0, 0x24e0, 0x24e0,
+ 0x2411, 0x242c, 0x242c, 0x2447, 0x2462, 0x247d, 0x24ad, 0x24b6,
+ 0x24b6, 0x24b6, 0x24b6, 0x24b6, 0x24c8, 0x24c8, 0x24c8, 0x24c8,
+ 0x24d7, 0x24e3, 0x24ef, 0x24ef, 0x24ef, 0x2507, 0x2507, 0x2507,
// Entry 240 - 27F
- 0x24e9, 0x24fb, 0x24fb, 0x24fb, 0x24fb, 0x24fb, 0x2513, 0x2537,
- 0x2537, 0x2549, 0x2549, 0x2555, 0x25a9, 0x25b5, 0x25b5, 0x25b5,
- 0x25e6, 0x2618, 0x264f, 0x267d, 0x26a8, 0x26cc, 0x2713, 0x2747,
- 0x2747, 0x2747, 0x2778, 0x27a3, 0x27a3, 0x27bb, 0x27fe, 0x283b,
- 0x2859, 0x2887, 0x2887, 0x28b2, 0x28e3,
+ 0x2510, 0x2522, 0x2522, 0x2522, 0x2522, 0x2522, 0x253a, 0x255e,
+ 0x255e, 0x2570, 0x2570, 0x257c, 0x25d0, 0x25dc, 0x25dc, 0x25dc,
+ 0x260d, 0x263f, 0x2676, 0x26a4, 0x26cf, 0x26f3, 0x273a, 0x276e,
+ 0x276e, 0x276e, 0x279f, 0x27ca, 0x27ca, 0x27e2, 0x2825, 0x2862,
+ 0x2880, 0x28ae, 0x28ae, 0x28d9, 0x290a,
},
},
{ // os
@@ -12351,16 +12352,16 @@ var langHeaders = [252]header{
"hitshankielâmaadâsämikielâjuulevsämikielâanarâškielânuorttâlâškielâs" +
"oninkesranantongosahosukumakielâkomorikielâsyyriakielâtemnekielâates" +
"otetumtigrekielâklingonkielâtok pisintarokotumbukakielâtuvalukielâta" +
- "sawaqtuvakielâKoskâatlas tamazightudmurtkielâumbunduruotâsvaikielâve" +
- "psäkielâvunjowalliskielâwolaitakielâwaraykielâkalmukkielâsogayangben" +
- "yembakantonkielâstandard tamazightzunikielâij kielâlâš siskáldâszaza" +
- "kielâstandard arabiakielâNuorttâriijkâ saksakielâSveitsi pajesaksaki" +
- "elâAustralia eŋgâlâskielâKanada eŋgâlâskielâBritannia eŋgâlâskielâAm" +
- "erika eŋgâlâskielâLäättin-Amerika espanjakielâEspanja espanjakielâMe" +
- "ksiko espanjakielâKanada ranskakielâSveitsi ranskakielâVuáládâhenâmi" +
- "j saksakielâhollandkielâ (flaami)Brasilia portugalkielâPortugal port" +
- "ugalkielâKongo swahilikielâoovtâkiärdánis kiinakielâärbivuáválâš kii" +
- "nakielâ",
+ "sawaqtuvakielâKoskâatlas tamazightudmurtkielâumbundutubdâmettumis ki" +
+ "elâvaikielâvepsäkielâvunjowalliskielâwolaitakielâwaraykielâkalmukkie" +
+ "lâsogayangbenyembakantonkielâstandard tamazightzunikielâij kielâlâš " +
+ "siskáldâszazakielâstandard arabiakielâNuorttâriijkâ saksakielâSveits" +
+ "i pajesaksakielâAustralia eŋgâlâskielâKanada eŋgâlâskielâBritannia e" +
+ "ŋgâlâskielâAmerika eŋgâlâskielâLäättin-Amerika espanjakielâEspanja " +
+ "espanjakielâMeksiko espanjakielâKanada ranskakielâSveitsi ranskakiel" +
+ "âVuáládâhenâmij saksakielâhollandkielâ (flaami)Brasilia portugalkie" +
+ "lâPortugal portugalkielâKongo swahilikielâoovtâkiärdánis kiinakielâä" +
+ "rbivuáválâš kiinakielâ",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0004, 0x0011, 0x0011, 0x001a, 0x0024, 0x0030, 0x003e,
@@ -12440,15 +12441,15 @@ var langHeaders = [252]header{
0x0eb1, 0x0eb1, 0x0eb1, 0x0ebc, 0x0ec1, 0x0ec1, 0x0ec6, 0x0ed1,
0x0ed1, 0x0ed1, 0x0ed1, 0x0ede, 0x0ede, 0x0ede, 0x0ede, 0x0ede,
0x0ee7, 0x0ee7, 0x0eed, 0x0eed, 0x0eed, 0x0eed, 0x0efa, 0x0f06,
- 0x0f0d, 0x0f17, 0x0f2c, 0x0f38, 0x0f38, 0x0f3f, 0x0f46, 0x0f4f,
- 0x0f4f, 0x0f5b, 0x0f5b, 0x0f5b, 0x0f5b, 0x0f5b, 0x0f60, 0x0f6c,
- 0x0f79, 0x0f84, 0x0f84, 0x0f84, 0x0f84, 0x0f90, 0x0f90, 0x0f94,
+ 0x0f0d, 0x0f17, 0x0f2c, 0x0f38, 0x0f38, 0x0f3f, 0x0f54, 0x0f5d,
+ 0x0f5d, 0x0f69, 0x0f69, 0x0f69, 0x0f69, 0x0f69, 0x0f6e, 0x0f7a,
+ 0x0f87, 0x0f92, 0x0f92, 0x0f92, 0x0f92, 0x0f9e, 0x0f9e, 0x0fa2,
// Entry 240 - 27F
- 0x0f94, 0x0f94, 0x0f9b, 0x0fa0, 0x0fa0, 0x0fac, 0x0fac, 0x0fac,
- 0x0fac, 0x0fac, 0x0fbe, 0x0fc8, 0x0fe2, 0x0fec, 0x1001, 0x1001,
- 0x101c, 0x1033, 0x104d, 0x1064, 0x107e, 0x1096, 0x10b5, 0x10ca,
- 0x10df, 0x10df, 0x10f2, 0x1106, 0x1124, 0x113a, 0x1151, 0x1168,
- 0x1168, 0x1168, 0x117b, 0x1198, 0x11b5,
+ 0x0fa2, 0x0fa2, 0x0fa9, 0x0fae, 0x0fae, 0x0fba, 0x0fba, 0x0fba,
+ 0x0fba, 0x0fba, 0x0fcc, 0x0fd6, 0x0ff0, 0x0ffa, 0x100f, 0x100f,
+ 0x102a, 0x1041, 0x105b, 0x1072, 0x108c, 0x10a4, 0x10c3, 0x10d8,
+ 0x10ed, 0x10ed, 0x1100, 0x1114, 0x1132, 0x1148, 0x115f, 0x1176,
+ 0x1176, 0x1176, 0x1189, 0x11a6, 0x11c3,
},
},
{ // sn
@@ -13113,8 +13114,8 @@ var langHeaders = [252]header{
"a AljeriaKibuginiKigwichiinKihupaKiingushKilojbanKikachinKikoyra Chi" +
"iniKikakoKikomipermyakKikurukhKikumykKilambamakKimokshaKimikmakiKimo" +
"hokiKimossiKingiemboonKiinkoPijini ya NijeriaKikiicheKiarabu cha Cha" +
- "diKitongo cha SrananKikomoroKisiriaKiudumurtiKirootKiwalserKiarabu c" +
- "ha Dunia Kilichosanifishwa",
+ "diKitongo cha SrananKikomoroKisiriaKiudumurtiKiwalserKiarabu cha Dun" +
+ "ia Kilichosanifishwa",
[]uint16{ // 591 elements
// Entry 0 - 3F
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006,
@@ -13194,12 +13195,12 @@ var langHeaders = [252]header{
0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137,
0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137,
0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137,
- 0x0137, 0x0137, 0x0137, 0x0141, 0x0141, 0x0141, 0x0147, 0x0147,
- 0x0147, 0x0147, 0x0147, 0x0147, 0x0147, 0x0147, 0x0147, 0x014f,
- 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f,
+ 0x0137, 0x0137, 0x0137, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
+ 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0149,
+ 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149,
// Entry 240 - 27F
- 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f,
- 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x014f, 0x0172,
+ 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149,
+ 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x0149, 0x016c,
},
},
{ // sw-KE
@@ -13208,8 +13209,8 @@ var langHeaders = [252]header{
"ia cha JuuKingushiKilojbaniKikachinKikoyra ChiiniKikakoKikomipermyak" +
"KikurukhKilambaKimokshaKimicmacKimohokiKiingiemboonKiin’koPijini ya " +
"NijeriascoKikoyraboro SenniKiarabu cha ChadiKiscran TongoKicomoroKis" +
- "yriaLugha ya Central Atlas TamazightKiudumurtiKirootKiwalserTamazigh" +
- "t Sanifu ya MorokoKiarabu cha Sasa Kilichosanifishwa",
+ "yriaLugha ya Central Atlas TamazightKiudumurtiKiwalserTamazight Sani" +
+ "fu ya MorokoKiarabu cha Sasa Kilichosanifishwa",
[]uint16{ // 591 elements
// Entry 0 - 3F
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0005, 0x0005, 0x0005,
@@ -13289,12 +13290,12 @@ var langHeaders = [252]header{
0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e,
0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e,
0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e, 0x015e,
- 0x015e, 0x015e, 0x017e, 0x0188, 0x0188, 0x0188, 0x018e, 0x018e,
- 0x018e, 0x018e, 0x018e, 0x018e, 0x018e, 0x018e, 0x018e, 0x0196,
- 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196,
+ 0x015e, 0x015e, 0x017e, 0x0188, 0x0188, 0x0188, 0x0188, 0x0188,
+ 0x0188, 0x0188, 0x0188, 0x0188, 0x0188, 0x0188, 0x0188, 0x0190,
+ 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190,
// Entry 240 - 27F
- 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196,
- 0x0196, 0x0196, 0x01b0, 0x01b0, 0x01b0, 0x01b0, 0x01d2,
+ 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190, 0x0190,
+ 0x0190, 0x0190, 0x01aa, 0x01aa, 0x01aa, 0x01aa, 0x01cc,
},
},
{ // ta
@@ -13626,22 +13627,22 @@ var langHeaders = [252]header{
"olea fakatalokolea fakasakōnialea fakatisīmisianilea fakatati-mosele" +
"milea fakatumepukalea fakatūvalulea fakatasauakilea fakatuvīnialea f" +
"akatamasaiti-ʻatilasi-lolotolea fakaʻutimulitilea fakaʻūkalitilea fa" +
- "kaʻumipūnitulea fakaʻilonga-tefitolea fakavailea fakavenēsialea faka" +
- "vepisilea fakavelamingi-hihifolea fakafalanikoni-lolotolea fakavotik" +
- "ilea fakavōlolea fakavūnisolea fakaʻualiselilea fakaʻuolaitalea faka" +
- "ʻualailea fakaʻuasiōlea fakaʻuālipililea fakasiaina-uūlea fakakalim" +
- "ikilea fakamingilelialea fakasokalea fakaʻiaolea fakaʻiapilea fakaʻi" +
- "angipenilea fakaʻiēmipalea fakaneʻēngatūlea fakakuangitongilea fakas" +
- "apotekilea fakaʻilonga-pilisilea fakasēlanilea fakasenakalea fakatam" +
- "asaiti-molokolea fakasuniʻikai ha lealea fakasāsālea fakaʻalepea (mā" +
- "mani)lea fakasiamane-ʻaositulialea fakasiamane-hake-suisilanilea fak" +
- "apālangi-ʻaositelēlialea fakapālangi-kānatalea fakapilitānialea faka" +
- "pālangi-ʻamelikalea fakasipēnisi lātini-ʻamelikalea fakasipēnisi-‘iu" +
- "lopelea fakasipēnisi-mekisikoulea fakafalanisē-kānatalea fakafalanis" +
- "ē-suisilanilea fakasakisoni-hifolea fakahōlani-pelesiumelea fakapot" +
- "ukali-palāsililea fakapotukali-ʻiulopelea fakamolitāvialea fakakuloi" +
- "sia-sēpialea fakasuahili-kongikōlea fakasiaina-fakafaingofualea faka" +
- "siaina-tukufakaholo",
+ "kaʻumipūnitulea taʻeʻiloalea fakavailea fakavenēsialea fakavepisilea" +
+ " fakavelamingi-hihifolea fakafalanikoni-lolotolea fakavotikilea faka" +
+ "vōlolea fakavūnisolea fakaʻualiselilea fakaʻuolaitalea fakaʻualailea" +
+ " fakaʻuasiōlea fakaʻuālipililea fakasiaina-uūlea fakakalimikilea fak" +
+ "amingilelialea fakasokalea fakaʻiaolea fakaʻiapilea fakaʻiangipenile" +
+ "a fakaʻiēmipalea fakaneʻēngatūlea fakakuangitongilea fakasapotekilea" +
+ " fakaʻilonga-pilisilea fakasēlanilea fakasenakalea fakatamasaiti-mol" +
+ "okolea fakasuniʻikai ha lealea fakasāsālea fakaʻalepea (māmani)lea f" +
+ "akasiamane-ʻaositulialea fakasiamane-hake-suisilanilea fakapālangi-ʻ" +
+ "aositelēlialea fakapālangi-kānatalea fakapilitānialea fakapālangi-ʻa" +
+ "melikalea fakasipēnisi lātini-ʻamelikalea fakasipēnisi-‘iulopelea fa" +
+ "kasipēnisi-mekisikoulea fakafalanisē-kānatalea fakafalanisē-suisilan" +
+ "ilea fakasakisoni-hifolea fakahōlani-pelesiumelea fakapotukali-palās" +
+ "ililea fakapotukali-ʻiulopelea fakamolitāvialea fakakuloisia-sēpiale" +
+ "a fakasuahili-kongikōlea fakasiaina-fakafaingofualea fakasiaina-tuku" +
+ "fakaholo",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0010, 0x0022, 0x0035, 0x0048, 0x0057, 0x0068, 0x0079,
@@ -13721,15 +13722,15 @@ var langHeaders = [252]header{
0x222e, 0x223d, 0x2249, 0x2258, 0x2264, 0x2272, 0x2280, 0x228f,
0x229b, 0x22aa, 0x22b9, 0x22ca, 0x22de, 0x22ec, 0x22fd, 0x2310,
0x2323, 0x2331, 0x233f, 0x234f, 0x2363, 0x2378, 0x2388, 0x2397,
- 0x23a7, 0x23b7, 0x23d9, 0x23ec, 0x23fe, 0x2412, 0x2429, 0x2434,
- 0x2444, 0x2452, 0x246a, 0x2483, 0x2491, 0x249e, 0x24ad, 0x24bf,
- 0x24d0, 0x24df, 0x24ef, 0x2502, 0x2514, 0x2524, 0x2536, 0x2542,
+ 0x23a7, 0x23b7, 0x23d9, 0x23ec, 0x23fe, 0x2412, 0x2421, 0x242c,
+ 0x243c, 0x244a, 0x2462, 0x247b, 0x2489, 0x2496, 0x24a5, 0x24b7,
+ 0x24c8, 0x24d7, 0x24e7, 0x24fa, 0x250c, 0x251c, 0x252e, 0x253a,
// Entry 240 - 27F
- 0x254f, 0x255d, 0x2570, 0x2581, 0x2595, 0x25a8, 0x25b8, 0x25cf,
- 0x25de, 0x25ec, 0x2604, 0x2610, 0x261d, 0x262b, 0x2645, 0x2645,
- 0x2660, 0x267e, 0x269d, 0x26b5, 0x26c7, 0x26e1, 0x2704, 0x271f,
- 0x273a, 0x273a, 0x2753, 0x276e, 0x2783, 0x279c, 0x27b6, 0x27cf,
- 0x27e1, 0x27f8, 0x2810, 0x282c, 0x2847,
+ 0x2547, 0x2555, 0x2568, 0x2579, 0x258d, 0x25a0, 0x25b0, 0x25c7,
+ 0x25d6, 0x25e4, 0x25fc, 0x2608, 0x2615, 0x2623, 0x263d, 0x263d,
+ 0x2658, 0x2676, 0x2695, 0x26ad, 0x26bf, 0x26d9, 0x26fc, 0x2717,
+ 0x2732, 0x2732, 0x274b, 0x2766, 0x277b, 0x2794, 0x27ae, 0x27c7,
+ 0x27d9, 0x27f0, 0x2808, 0x2824, 0x283f,
},
},
{ // tr
@@ -13980,15 +13981,15 @@ var langHeaders = [252]header{
"چەتېمنېچەتېسوچەتېرېناچەتېتۇمچەتىگرېچەتىۋچەتوكېلاۋچەكىلىنگونچەتىلىنگ" +
"ىتچەتاماشېكچەنياسا توڭانچەتوك-پىسىنچەتوروكوچەسىمشيانچەتۇمبۇكاچەتۇۋا" +
"لۇچەشىمالىي سوڭخايچەتوۋاچەمەركىزىي ئاتلاس تامازايتچەئۇدمۇرتچەئۇگارى" +
- "تىكچەئۇمبۇندۇچەغول تىلۋايچەۋوتېچەۋۇنجوچەۋالسېرچەۋولايتاچەۋارايچەۋاش" +
- "وچەقالماقچەسوگاچەياۋچەياپچەياڭبەنچەيېمباچەگۇاڭدوڭچەزاپوتېكچەبىلىس ب" +
- "ەلگىلىرىزېناگاچەئۆلچەملىك ماراكەش تامازىتچەزۇنىچەتىل مەزمۇنى يوقزاز" +
- "اچەھازىرقى زامان ئۆلچەملىك ئەرەبچەئاۋستىرىيە گېرمانچەشىۋىتسارىيە ئې" +
- "گىزلىك گېرمانچەئاۋسترالىيە ئىنگلىزچەكانادا ئىنگلىزچەئەنگلىيە ئىنگلى" +
- "زچەئامېرىكا ئىنگلىزچەلاتىن ئامېرىكا ئىسپانچەياۋروپا ئىسپانچەمېكسىكا" +
- " ئىسپانچەكانادا فىرانسۇزچەشىۋىتسارىيە فىرانسۇزچەبىرازىلىيە پورتۇگالچ" +
- "ەياۋروپا پورتۇگالچەسېرب-كرودىيەچەكونگو سىۋالىچەئاددىي خەنچەمۇرەككەپ" +
- " خەنچە",
+ "تىكچەئۇمبۇندۇچەيوچۇن تىلۋايچەۋوتېچەۋۇنجوچەۋالسېرچەۋولايتاچەۋارايچەۋ" +
+ "اشوچەقالماقچەسوگاچەياۋچەياپچەياڭبەنچەيېمباچەگۇاڭدوڭچەزاپوتېكچەبىلىس" +
+ " بەلگىلىرىزېناگاچەئۆلچەملىك ماراكەش تامازىتچەزۇنىچەتىل مەزمۇنى يوقزا" +
+ "زاچەھازىرقى زامان ئۆلچەملىك ئەرەبچەئاۋستىرىيە گېرمانچەشىۋىتسارىيە ئ" +
+ "ېگىزلىك گېرمانچەئاۋسترالىيە ئىنگلىزچەكانادا ئىنگلىزچەئەنگلىيە ئىنگل" +
+ "ىزچەئامېرىكا ئىنگلىزچەلاتىن ئامېرىكا ئىسپانچەياۋروپا ئىسپانچەمېكسىك" +
+ "ا ئىسپانچەكانادا فىرانسۇزچەشىۋىتسارىيە فىرانسۇزچەبىرازىلىيە پورتۇگا" +
+ "لچەياۋروپا پورتۇگالچەسېرب-كرودىيەچەكونگو سىۋالىچەئاددىي خەنچەمۇرەكك" +
+ "ەپ خەنچە",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x000e, 0x001e, 0x0030, 0x0044, 0x0052, 0x0062, 0x0074,
@@ -14068,15 +14069,15 @@ var langHeaders = [252]header{
0x1e2d, 0x1e2d, 0x1e2d, 0x1e3b, 0x1e47, 0x1e57, 0x1e65, 0x1e73,
0x1e7d, 0x1e8f, 0x1e8f, 0x1ea3, 0x1eb7, 0x1eb7, 0x1ec9, 0x1ee2,
0x1ef7, 0x1ef7, 0x1f07, 0x1f07, 0x1f19, 0x1f19, 0x1f2b, 0x1f3b,
- 0x1f5a, 0x1f66, 0x1f98, 0x1faa, 0x1fc0, 0x1fd4, 0x1fe1, 0x1feb,
- 0x1feb, 0x1feb, 0x1feb, 0x1feb, 0x1ff7, 0x1ff7, 0x2005, 0x2015,
- 0x2027, 0x2035, 0x2041, 0x2041, 0x2041, 0x2051, 0x2051, 0x205d,
+ 0x1f5a, 0x1f66, 0x1f98, 0x1faa, 0x1fc0, 0x1fd4, 0x1fe5, 0x1fef,
+ 0x1fef, 0x1fef, 0x1fef, 0x1fef, 0x1ffb, 0x1ffb, 0x2009, 0x2019,
+ 0x202b, 0x2039, 0x2045, 0x2045, 0x2045, 0x2055, 0x2055, 0x2061,
// Entry 240 - 27F
- 0x2067, 0x2071, 0x2081, 0x208f, 0x208f, 0x20a1, 0x20b3, 0x20d0,
- 0x20d0, 0x20e0, 0x2114, 0x2120, 0x213c, 0x2148, 0x2183, 0x2183,
- 0x21a8, 0x21e0, 0x2209, 0x2228, 0x224b, 0x226e, 0x229a, 0x22b9,
- 0x22d8, 0x22d8, 0x22f9, 0x2324, 0x2324, 0x2324, 0x234d, 0x2370,
- 0x2370, 0x238b, 0x23a6, 0x23bd, 0x23d8,
+ 0x206b, 0x2075, 0x2085, 0x2093, 0x2093, 0x20a5, 0x20b7, 0x20d4,
+ 0x20d4, 0x20e4, 0x2118, 0x2124, 0x2140, 0x214c, 0x2187, 0x2187,
+ 0x21ac, 0x21e4, 0x220d, 0x222c, 0x224f, 0x2272, 0x229e, 0x22bd,
+ 0x22dc, 0x22dc, 0x22fd, 0x2328, 0x2328, 0x2328, 0x2351, 0x2374,
+ 0x2374, 0x238f, 0x23aa, 0x23c1, 0x23dc,
},
},
{ // uk
@@ -15190,10 +15191,10 @@ var langHeaders = [252]header{
"里文瑟爾卡普文東桑海文古愛爾蘭文薩莫吉希亞文希爾哈文撣文阿拉伯文(查德)希達摩文下西利西亞文塞拉亞文南薩米文魯勒薩米文伊納裡薩米文斯" +
"科特薩米文索尼基文索格底亞納文蘇拉南東墎文塞雷爾文薩霍文沙特菲士蘭文蘇庫馬文蘇蘇文蘇美文葛摩文古敘利亞文敘利亞文西利西亞文圖盧文提姆" +
"文特索文泰雷諾文泰頓文蒂格雷文提夫文托克勞文查庫爾文克林貢文特林基特文塔里什文塔馬奇克文東加文(尼亞薩)托比辛文圖羅尤文太魯閣文特薩" +
- "克尼恩文欽西安文穆斯林塔特文圖姆布卡文吐瓦魯文北桑海文土凡文塔馬齊格特文沃蒂艾克文烏加列文姆本杜文根語言瓦伊文威尼斯文維普森文西佛蘭" +
- "德文美茵-法蘭克尼亞文沃提克文佛羅文溫舊文瓦瑟文瓦拉莫文瓦瑞文瓦紹文沃皮瑞文吳語卡爾梅克文明格列爾文索加文瑤文雅浦文洋卞文耶姆巴文奈" +
- "恩加圖文粵語薩波特克文布列斯符號西蘭文澤納加文標準摩洛哥塔馬塞特文祖尼文無語言內容扎扎文現代標準阿拉伯文高地德文(瑞士)低地薩克遜文" +
- "佛蘭芒文摩爾多瓦文塞爾維亞克羅埃西亞文史瓦希里文(剛果)簡體中文繁體中文",
+ "克尼恩文欽西安文穆斯林塔特文圖姆布卡文吐瓦魯文北桑海文土凡文塔馬齊格特文沃蒂艾克文烏加列文姆本杜文未知語言瓦伊文威尼斯文維普森文西佛" +
+ "蘭德文美茵-法蘭克尼亞文沃提克文佛羅文溫舊文瓦瑟文瓦拉莫文瓦瑞文瓦紹文沃皮瑞文吳語卡爾梅克文明格列爾文索加文瑤文雅浦文洋卞文耶姆巴文" +
+ "奈恩加圖文粵語薩波特克文布列斯符號西蘭文澤納加文標準摩洛哥塔馬塞特文祖尼文無語言內容扎扎文現代標準阿拉伯文高地德文(瑞士)低地薩克遜" +
+ "文佛蘭芒文摩爾多瓦文塞爾維亞克羅埃西亞文史瓦希里文(剛果)簡體中文繁體中文",
[]uint16{ // 613 elements
// Entry 0 - 3F
0x0000, 0x0009, 0x0018, 0x0027, 0x0036, 0x003f, 0x004e, 0x005a,
@@ -15273,15 +15274,15 @@ var langHeaders = [252]header{
0x1a2e, 0x1a3d, 0x1a46, 0x1a4f, 0x1a58, 0x1a64, 0x1a6d, 0x1a79,
0x1a82, 0x1a8e, 0x1a9a, 0x1aa6, 0x1ab5, 0x1ac1, 0x1ad0, 0x1ae8,
0x1af4, 0x1b00, 0x1b0c, 0x1b1e, 0x1b2a, 0x1b3c, 0x1b4b, 0x1b57,
- 0x1b63, 0x1b6c, 0x1b7e, 0x1b8d, 0x1b99, 0x1ba5, 0x1bae, 0x1bb7,
- 0x1bc3, 0x1bcf, 0x1bde, 0x1bf7, 0x1c03, 0x1c0c, 0x1c15, 0x1c1e,
- 0x1c2a, 0x1c33, 0x1c3c, 0x1c48, 0x1c4e, 0x1c5d, 0x1c6c, 0x1c75,
+ 0x1b63, 0x1b6c, 0x1b7e, 0x1b8d, 0x1b99, 0x1ba5, 0x1bb1, 0x1bba,
+ 0x1bc6, 0x1bd2, 0x1be1, 0x1bfa, 0x1c06, 0x1c0f, 0x1c18, 0x1c21,
+ 0x1c2d, 0x1c36, 0x1c3f, 0x1c4b, 0x1c51, 0x1c60, 0x1c6f, 0x1c78,
// Entry 240 - 27F
- 0x1c7b, 0x1c84, 0x1c8d, 0x1c99, 0x1ca8, 0x1cae, 0x1cbd, 0x1ccc,
- 0x1cd5, 0x1ce1, 0x1cff, 0x1d08, 0x1d17, 0x1d20, 0x1d38, 0x1d38,
- 0x1d38, 0x1d50, 0x1d50, 0x1d50, 0x1d50, 0x1d50, 0x1d50, 0x1d50,
- 0x1d50, 0x1d50, 0x1d50, 0x1d50, 0x1d62, 0x1d6e, 0x1d6e, 0x1d6e,
- 0x1d7d, 0x1d9b, 0x1db6, 0x1dc2, 0x1dce,
+ 0x1c7e, 0x1c87, 0x1c90, 0x1c9c, 0x1cab, 0x1cb1, 0x1cc0, 0x1ccf,
+ 0x1cd8, 0x1ce4, 0x1d02, 0x1d0b, 0x1d1a, 0x1d23, 0x1d3b, 0x1d3b,
+ 0x1d3b, 0x1d53, 0x1d53, 0x1d53, 0x1d53, 0x1d53, 0x1d53, 0x1d53,
+ 0x1d53, 0x1d53, 0x1d53, 0x1d53, 0x1d65, 0x1d71, 0x1d71, 0x1d71,
+ 0x1d80, 0x1d9e, 0x1db9, 0x1dc5, 0x1dd1,
},
},
{ // zgh
@@ -15488,7 +15489,7 @@ var langHeaders = [252]header{
},
}
-const afLangStr string = "" + // Size: 3015 bytes
+const afLangStr string = "" + // Size: 3038 bytes
"AfarAbkasiesAfrikaansAkanAmhariesAragoneesArabiesAssameesAvariesAymaraAz" +
"erbeidjansBaskirBelo-RussiesBulgaarsBislamaBambaraBengaalsTibettaansBret" +
"onsBosniesKatalaansTsjetsjenChamorroKorsikaansTsjeggiesKerkslawiesChuvas" +
@@ -15527,10 +15528,10 @@ const afLangStr string = "" + // Size: 3015 bytes
"sSenaKoyraboro SenniTachelhitShanSuid-SamiLule SamiInari SamiSkolt SamiS" +
"oninkeSranan TongoSahoSukumaComoraansSirieseTimneTesoTetoemTigreKlingonT" +
"ok PisinTarokoToemboekaTuvaluTasawaqTuvineesSentraal Atlas TamazightUdmu" +
- "rtUmbunduRootVaiVunjoWalserWolayttaWarayWarlpiriKalmykSogaYangbenYembaKa" +
- "ntoneesStandaard Marokkaanse TamazightZuniGeen linguistiese inhoudZazaMo" +
- "derne Standaard ArabiesSwitserse hoog-DuitsSpaans (Suid-Amerika)Nedersak" +
- "siesVlaamsMoldawiesSerwo-KroatiesSwahili (Kongo)"
+ "rtUmbunduOnbekende of ongeldige taalVaiVunjoWalserWolayttaWarayWarlpiriK" +
+ "almykSogaYangbenYembaKantoneesStandaard Marokkaanse TamazightZuniGeen li" +
+ "nguistiese inhoudZazaModerne Standaard ArabiesSwitserse hoog-DuitsSpaans" +
+ " (Suid-Amerika)NedersaksiesVlaamsMoldawiesSerwo-KroatiesSwahili (Kongo)"
var afLangIdx = []uint16{ // 611 elements
// Entry 0 - 3F
@@ -15611,18 +15612,18 @@ var afLangIdx = []uint16{ // 611 elements
0x0a5b, 0x0a5b, 0x0a5b, 0x0a60, 0x0a64, 0x0a64, 0x0a6a, 0x0a6f,
0x0a6f, 0x0a6f, 0x0a6f, 0x0a76, 0x0a76, 0x0a76, 0x0a76, 0x0a76,
0x0a7f, 0x0a7f, 0x0a85, 0x0a85, 0x0a85, 0x0a85, 0x0a8e, 0x0a94,
- 0x0a9b, 0x0aa3, 0x0abb, 0x0ac1, 0x0ac1, 0x0ac8, 0x0acc, 0x0acf,
- 0x0acf, 0x0acf, 0x0acf, 0x0acf, 0x0acf, 0x0acf, 0x0ad4, 0x0ada,
- 0x0ae2, 0x0ae7, 0x0ae7, 0x0aef, 0x0aef, 0x0af5, 0x0af5, 0x0af9,
+ 0x0a9b, 0x0aa3, 0x0abb, 0x0ac1, 0x0ac1, 0x0ac8, 0x0ae3, 0x0ae6,
+ 0x0ae6, 0x0ae6, 0x0ae6, 0x0ae6, 0x0ae6, 0x0ae6, 0x0aeb, 0x0af1,
+ 0x0af9, 0x0afe, 0x0afe, 0x0b06, 0x0b06, 0x0b0c, 0x0b0c, 0x0b10,
// Entry 240 - 27F
- 0x0af9, 0x0af9, 0x0b00, 0x0b05, 0x0b05, 0x0b0e, 0x0b0e, 0x0b0e,
- 0x0b0e, 0x0b0e, 0x0b2d, 0x0b31, 0x0b49, 0x0b4d, 0x0b66, 0x0b66,
- 0x0b66, 0x0b7a, 0x0b7a, 0x0b7a, 0x0b7a, 0x0b7a, 0x0b8f, 0x0b8f,
- 0x0b8f, 0x0b8f, 0x0b8f, 0x0b8f, 0x0b9b, 0x0ba1, 0x0ba1, 0x0ba1,
- 0x0baa, 0x0bb8, 0x0bc7,
+ 0x0b10, 0x0b10, 0x0b17, 0x0b1c, 0x0b1c, 0x0b25, 0x0b25, 0x0b25,
+ 0x0b25, 0x0b25, 0x0b44, 0x0b48, 0x0b60, 0x0b64, 0x0b7d, 0x0b7d,
+ 0x0b7d, 0x0b91, 0x0b91, 0x0b91, 0x0b91, 0x0b91, 0x0ba6, 0x0ba6,
+ 0x0ba6, 0x0ba6, 0x0ba6, 0x0ba6, 0x0bb2, 0x0bb8, 0x0bb8, 0x0bb8,
+ 0x0bc1, 0x0bcf, 0x0bde,
} // Size: 1246 bytes
-const amLangStr string = "" + // Size: 6791 bytes
+const amLangStr string = "" + // Size: 6810 bytes
"አፋርኛአብሐዚኛአቬስታንአፍሪካንኛአካንኛአማርኛአራጎንስዓረብኛአሳሜዛዊአቫሪክአያማርኛአዘርባጃንኛባስኪርኛቤላራሻኛቡልጋሪ" +
"ኛቢስላምኛባምባርኛቤንጋሊኛቲቤታንኛብሬቶንኛቦስኒያንኛካታላንኛችችንቻሞሮኮርሲካኛክሪቼክኛቸርች ስላቪክቹቫሽወልሽዴኒሽ" +
"ጀርመንዲቬህድዞንግኻኛኢዊግሪክኛእንግሊዝኛኤስፐራንቶስፓንሽኛኢስቶኒያንኛባስክኛፐርሺያኛፉላህፊኒሽፊጂኛፋሮኛፈረንሳይኛ" +
@@ -15651,12 +15652,12 @@ const amLangStr string = "" + // Size: 6791 bytes
"ያ ፒጂንፐሩሳንኛኪቼቺምቦራዞ ሃይላንድ ኩቹዋራፓኑኢራሮቶንጋሮምቦአሮማንያንርዋሳንዳዌሳክሃሳምቡሩሳንታሊንጋምባይሳንጉ" +
"ሲሲሊያንኛስኮትስደቡባዊ ኩርዲሽሴናኮይራቦሮ ሴኒታቼልሂትሻንቻዲያን ዓረብኛሲዳምኛደቡባዊ ሳሚሉሌ ሳሚኢናሪ ሳሚስኮል" +
"ት ሳሚሶኒንኬስራናን ቶንጎሳሆኛሱኩማኮሞሪያንክላሲክ ኔይራሲሪያክቲምኔቴሶቴተምትግረክሊንጎንኛቶክ ፒሲንታሮኮቱምቡካቱ" +
- "ቫሉታሳዋቅቱቪንያንኛመካከለኛ አትላስ ታማዚግትኡድሙርትኡምቡንዱሩትቫይቩንጆዋልሰርወላይትኛዋራይዋርልፒሪዉ ቻይንኛካል" +
- "ማይክሶጋያንግቤንኛየምባካንቶኒዝብሊስይምቦልስመደበኛ የሞሮኮ ታማዚግትዙኒቋንቋዊ ይዘት አይደለምዛዛዘመናዊ መደበኛ " +
- "ዓረብኛየኦስትሪያ ጀርመንየስዊዝ ከፍተኛ ጀርመንኛየአውስትራሊያ እንግሊዝኛየካናዳ እንግሊዝኛየብሪቲሽ እንግሊዝኛየአ" +
- "ሜሪካ እንግሊዝኛየላቲን አሜሪካ ስፓኒሽየአውሮፓ ስፓንሽኛየሜክሲኮ ስፓንሽኛየካናዳ ፈረንሳይኛየስዊዝ ፈረንሳይኛየታ" +
- "ችኛው ሳክሰንፍሌሚሽየብራዚል ፖርቹጋልኛየአውሮፓ ፖርቹጋልኛሞልዳቪያንኛሰርቦ-ክሮኤሽያኛኮንጎ ስዋሂሊቀለል ያለ ቻይ" +
- "ንኛባህላዊ ቻይንኛ"
+ "ቫሉታሳዋቅቱቪንያንኛመካከለኛ አትላስ ታማዚግትኡድሙርትኡምቡንዱያልታወቀ ቋንቋቫይቩንጆዋልሰርወላይትኛዋራይዋርልፒሪዉ" +
+ " ቻይንኛካልማይክሶጋያንግቤንኛየምባካንቶኒዝብሊስይምቦልስመደበኛ የሞሮኮ ታማዚግትዙኒቋንቋዊ ይዘት አይደለምዛዛዘመናዊ " +
+ "መደበኛ ዓረብኛየኦስትሪያ ጀርመንየስዊዝ ከፍተኛ ጀርመንኛየአውስትራሊያ እንግሊዝኛየካናዳ እንግሊዝኛየብሪቲሽ እንግ" +
+ "ሊዝኛየአሜሪካ እንግሊዝኛየላቲን አሜሪካ ስፓኒሽየአውሮፓ ስፓንሽኛየሜክሲኮ ስፓንሽኛየካናዳ ፈረንሳይኛየስዊዝ ፈረን" +
+ "ሳይኛየታችኛው ሳክሰንፍሌሚሽየብራዚል ፖርቹጋልኛየአውሮፓ ፖርቹጋልኛሞልዳቪያንኛሰርቦ-ክሮኤሽያኛኮንጎ ስዋሂሊቀለል " +
+ "ያለ ቻይንኛባህላዊ ቻይንኛ"
var amLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -15737,18 +15738,18 @@ var amLangIdx = []uint16{ // 613 elements
0x162d, 0x162d, 0x162d, 0x1636, 0x163c, 0x163c, 0x1645, 0x164e,
0x164e, 0x164e, 0x164e, 0x1660, 0x1660, 0x1660, 0x1660, 0x1660,
0x1670, 0x1670, 0x1679, 0x1679, 0x1679, 0x1679, 0x1685, 0x168e,
- 0x169a, 0x16ac, 0x16d8, 0x16e7, 0x16e7, 0x16f6, 0x16fc, 0x1702,
- 0x1702, 0x1702, 0x1702, 0x1702, 0x1702, 0x1702, 0x170b, 0x1717,
- 0x1726, 0x172f, 0x172f, 0x173e, 0x174e, 0x175d, 0x175d, 0x1763,
+ 0x169a, 0x16ac, 0x16d8, 0x16e7, 0x16e7, 0x16f6, 0x170f, 0x1715,
+ 0x1715, 0x1715, 0x1715, 0x1715, 0x1715, 0x1715, 0x171e, 0x172a,
+ 0x1739, 0x1742, 0x1742, 0x1751, 0x1761, 0x1770, 0x1770, 0x1776,
// Entry 240 - 27F
- 0x1763, 0x1763, 0x1775, 0x177e, 0x177e, 0x178d, 0x178d, 0x17a5,
- 0x17a5, 0x17a5, 0x17ce, 0x17d4, 0x17fa, 0x1800, 0x1826, 0x1826,
- 0x1845, 0x186e, 0x1899, 0x18b8, 0x18da, 0x18fc, 0x1922, 0x1941,
- 0x1960, 0x1960, 0x197f, 0x199e, 0x19ba, 0x19c6, 0x19e8, 0x1a0a,
- 0x1a1f, 0x1a3b, 0x1a51, 0x1a6e, 0x1a87,
+ 0x1776, 0x1776, 0x1788, 0x1791, 0x1791, 0x17a0, 0x17a0, 0x17b8,
+ 0x17b8, 0x17b8, 0x17e1, 0x17e7, 0x180d, 0x1813, 0x1839, 0x1839,
+ 0x1858, 0x1881, 0x18ac, 0x18cb, 0x18ed, 0x190f, 0x1935, 0x1954,
+ 0x1973, 0x1973, 0x1992, 0x19b1, 0x19cd, 0x19d9, 0x19fb, 0x1a1d,
+ 0x1a32, 0x1a4e, 0x1a64, 0x1a81, 0x1a9a,
} // Size: 1250 bytes
-const arLangStr string = "" + // Size: 10039 bytes
+const arLangStr string = "" + // Size: 10055 bytes
"الأفاريةالأبخازيةالأفستيةالأفريقانيةالأكانيةالأمهريةالأراغونيةالعربيةالأ" +
"ساميةالأواريةالأيماراالأذربيجانيةالباشكيريةالبيلاروسيةالبلغاريةالبيسلام" +
"يةالبامباراالبنغاليةالتبتيةالبريتونيةالبوسنيةالكتالانيةالشيشانيةالتشامو" +
@@ -15812,15 +15813,15 @@ const arLangStr string = "" + // Size: 10039 bytes
"سريانية تقليديةالسريانيةالتيمنتيسوالتيرينوالتيتمالتيغريةالتيفالتوكيلاوا" +
"لكلينجونالتلينغيتيةالتاماشيكتونجا - نياساالتوك بيسينلغة التاروكوالتسيمش" +
"يانالتامبوكاالتوفالوتاساواقالتوفيةالأمازيغية وسط الأطلسالأدمرتاليجاريتي" +
- "كالأمبندوالجذرالفايالفوتيكالفونجوالوالسرالولاياتاالوارايالواشووارلبيريا" +
- "لوو الصينيةالكالميكالسوغاالياواليابيزيانجبنيمباالكَنْتُونيةالزابوتيكرمو" +
- "ز المعايير الأساسيةالزيناجاالتمازيغية المغربية القياسيةالزونيةبدون محتو" +
- "ى لغويزازاالعربية الرسمية الحديثةالألمانية النمساويةالألمانية العليا ال" +
- "سويسريةالإنجليزية الأستراليةالإنجليزية الكنديةالإنجليزية البريطانيةالإن" +
- "جليزية الأمريكيةالإسبانية أمريكا اللاتينيةالإسبانية الأوروبيةالإسبانية " +
- "المكسيكيةالفرنسية الكنديةالفرنسية السويسريةالسكسونية السفلىالفلمنكيةالب" +
- "رتغالية البرازيليةالبرتغالية الأوروبيةالمولدوفيةصربية-كرواتيةالكونغو ال" +
- "سواحليةالصينية المبسطةالصينية التقليدية"
+ "كالأمبندولغة غير معروفةالفايالفوتيكالفونجوالوالسرالولاياتاالوارايالواشو" +
+ "وارلبيريالوو الصينيةالكالميكالسوغاالياواليابيزيانجبنيمباالكَنْتُونيةالز" +
+ "ابوتيكرموز المعايير الأساسيةالزيناجاالتمازيغية المغربية القياسيةالزونية" +
+ "بدون محتوى لغويزازاالعربية الرسمية الحديثةالألمانية النمساويةالألمانية " +
+ "العليا السويسريةالإنجليزية الأستراليةالإنجليزية الكنديةالإنجليزية البري" +
+ "طانيةالإنجليزية الأمريكيةالإسبانية أمريكا اللاتينيةالإسبانية الأوروبيةا" +
+ "لإسبانية المكسيكيةالفرنسية الكنديةالفرنسية السويسريةالسكسونية السفلىالف" +
+ "لمنكيةالبرتغالية البرازيليةالبرتغالية الأوروبيةالمولدوفيةصربية-كرواتيةا" +
+ "لكونغو السواحليةالصينية المبسطةالصينية التقليدية"
var arLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -15901,18 +15902,18 @@ var arLangIdx = []uint16{ // 613 elements
0x2123, 0x2123, 0x2123, 0x212f, 0x2137, 0x2147, 0x2153, 0x2163,
0x216d, 0x217f, 0x217f, 0x2191, 0x21a7, 0x21a7, 0x21b9, 0x21d0,
0x21e5, 0x21e5, 0x21fc, 0x21fc, 0x2210, 0x2210, 0x2222, 0x2232,
- 0x2240, 0x224e, 0x2276, 0x2284, 0x2298, 0x22a8, 0x22b2, 0x22bc,
- 0x22bc, 0x22bc, 0x22bc, 0x22bc, 0x22ca, 0x22ca, 0x22d8, 0x22e6,
- 0x22f8, 0x2306, 0x2312, 0x2322, 0x2339, 0x2349, 0x2349, 0x2355,
+ 0x2240, 0x224e, 0x2276, 0x2284, 0x2298, 0x22a8, 0x22c2, 0x22cc,
+ 0x22cc, 0x22cc, 0x22cc, 0x22cc, 0x22da, 0x22da, 0x22e8, 0x22f6,
+ 0x2308, 0x2316, 0x2322, 0x2332, 0x2349, 0x2359, 0x2359, 0x2365,
// Entry 240 - 27F
- 0x235f, 0x236d, 0x2379, 0x2381, 0x2381, 0x2399, 0x23ab, 0x23d5,
- 0x23d5, 0x23e5, 0x241b, 0x2429, 0x2445, 0x244d, 0x2479, 0x2479,
- 0x249e, 0x24d0, 0x24f9, 0x251c, 0x2545, 0x256c, 0x259e, 0x25c3,
- 0x25e8, 0x25e8, 0x2607, 0x262a, 0x2649, 0x265b, 0x2684, 0x26ab,
- 0x26bf, 0x26d8, 0x26f9, 0x2716, 0x2737,
+ 0x236f, 0x237d, 0x2389, 0x2391, 0x2391, 0x23a9, 0x23bb, 0x23e5,
+ 0x23e5, 0x23f5, 0x242b, 0x2439, 0x2455, 0x245d, 0x2489, 0x2489,
+ 0x24ae, 0x24e0, 0x2509, 0x252c, 0x2555, 0x257c, 0x25ae, 0x25d3,
+ 0x25f8, 0x25f8, 0x2617, 0x263a, 0x2659, 0x266b, 0x2694, 0x26bb,
+ 0x26cf, 0x26e8, 0x2709, 0x2726, 0x2747,
} // Size: 1250 bytes
-const azLangStr string = "" + // Size: 3713 bytes
+const azLangStr string = "" + // Size: 3722 bytes
"afarabxazavestanafrikaansakanamhararaqonərəbassamavaraymaraazərbaycanbaş" +
"qırdbelarusbolqarbislamabambarabenqaltibetbretonbosniakkatalançeçençamor" +
"okorsikakriçexslavyançuvaşuelsdanimarkaalmanmaldivdzonqaeveyunaningilise" +
@@ -15954,14 +15955,15 @@ const azLangStr string = "" + // Size: 3713 bytes
"amocənubi samilule samiinari samiskolt samisoninkesoqdiyensranan tonqose" +
"rersahosukumasususumeryankomorsuriyatimnetesoterenotetumtiqretivtokelayk" +
"linqontlinqittamaşeknyasa tonqatok pisintarokosimşyantumbukatuvalutasava" +
- "qtuvinyanMərkəzi Atlas tamazicəsiudmurtuqaritumbundurutvaivotikvunyovall" +
- "esvalamovarayvaşovalpirivukalmıksoqayaoyapizyanqbenyembakantonzapotekbli" +
- "simbolszenaqatamazizunidil məzmunu yoxdurzazamüasir standart ərəbcənubi " +
- "azərbaycanAvstriya almancasıİsveçrə yüksək almancasıAvstraliya ingiliscə" +
- "siKanada ingiliscəsiBritaniya ingiliscəsiAmerika ingiliscəsiLatın Amerik" +
- "ası ispancasıKastiliya ispancasıMeksika ispancasıKanada fransızcasıİsveç" +
- "rə fransızcasıaşağı saksonflamandBraziliya portuqalcasıPortuqaliya portu" +
- "qalcasımoldavserb-xorvatKonqo suahilicəsisadələşmiş çinənənəvi çin"
+ "qtuvinyanMərkəzi Atlas tamazicəsiudmurtuqaritumbundunaməlum dilvaivotikv" +
+ "unyovallesvalamovarayvaşovalpirivukalmıksoqayaoyapizyanqbenyembakantonza" +
+ "potekblisimbolszenaqatamazizunidil məzmunu yoxdurzazamüasir standart ərə" +
+ "bcənubi azərbaycanAvstriya almancasıİsveçrə yüksək almancasıAvstraliya i" +
+ "ngiliscəsiKanada ingiliscəsiBritaniya ingiliscəsiAmerika ingiliscəsiLatı" +
+ "n Amerikası ispancasıKastiliya ispancasıMeksika ispancasıKanada fransızc" +
+ "asıİsveçrə fransızcasıaşağı saksonflamandBraziliya portuqalcasıPortuqali" +
+ "ya portuqalcasımoldavserb-xorvatKonqo suahilicəsisadələşmiş çinənənəvi ç" +
+ "in"
var azLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -16042,18 +16044,18 @@ var azLangIdx = []uint16{ // 613 elements
0x0ba8, 0x0ba8, 0x0ba8, 0x0bad, 0x0bb1, 0x0bb7, 0x0bbc, 0x0bc1,
0x0bc4, 0x0bcb, 0x0bcb, 0x0bd2, 0x0bd9, 0x0bd9, 0x0be1, 0x0bec,
0x0bf5, 0x0bf5, 0x0bfb, 0x0bfb, 0x0c03, 0x0c03, 0x0c0a, 0x0c10,
- 0x0c17, 0x0c1f, 0x0c3a, 0x0c40, 0x0c46, 0x0c4d, 0x0c50, 0x0c53,
- 0x0c53, 0x0c53, 0x0c53, 0x0c53, 0x0c58, 0x0c58, 0x0c5d, 0x0c63,
- 0x0c69, 0x0c6e, 0x0c73, 0x0c7a, 0x0c7c, 0x0c83, 0x0c83, 0x0c87,
+ 0x0c17, 0x0c1f, 0x0c3a, 0x0c40, 0x0c46, 0x0c4d, 0x0c59, 0x0c5c,
+ 0x0c5c, 0x0c5c, 0x0c5c, 0x0c5c, 0x0c61, 0x0c61, 0x0c66, 0x0c6c,
+ 0x0c72, 0x0c77, 0x0c7c, 0x0c83, 0x0c85, 0x0c8c, 0x0c8c, 0x0c90,
// Entry 240 - 27F
- 0x0c8a, 0x0c8f, 0x0c96, 0x0c9b, 0x0c9b, 0x0ca1, 0x0ca8, 0x0cb2,
- 0x0cb2, 0x0cb8, 0x0cbe, 0x0cc2, 0x0cd5, 0x0cd9, 0x0cf0, 0x0d03,
- 0x0d16, 0x0d34, 0x0d4b, 0x0d5e, 0x0d74, 0x0d88, 0x0da4, 0x0db8,
- 0x0dca, 0x0dca, 0x0dde, 0x0df6, 0x0e05, 0x0e0c, 0x0e23, 0x0e3c,
- 0x0e42, 0x0e4d, 0x0e5f, 0x0e72, 0x0e81,
+ 0x0c93, 0x0c98, 0x0c9f, 0x0ca4, 0x0ca4, 0x0caa, 0x0cb1, 0x0cbb,
+ 0x0cbb, 0x0cc1, 0x0cc7, 0x0ccb, 0x0cde, 0x0ce2, 0x0cf9, 0x0d0c,
+ 0x0d1f, 0x0d3d, 0x0d54, 0x0d67, 0x0d7d, 0x0d91, 0x0dad, 0x0dc1,
+ 0x0dd3, 0x0dd3, 0x0de7, 0x0dff, 0x0e0e, 0x0e15, 0x0e2c, 0x0e45,
+ 0x0e4b, 0x0e56, 0x0e68, 0x0e7b, 0x0e8a,
} // Size: 1250 bytes
-const bgLangStr string = "" + // Size: 7891 bytes
+const bgLangStr string = "" + // Size: 7905 bytes
"афарабхазкиавестскиафрикаансаканамхарскиарагонскиарабскиасамскиаварскиай" +
"мараазербайджанскибашкирскибеларускибългарскибисламабамбарабенгалскитиб" +
"етскибретонскибосненскикаталонскичеченскичаморокорсиканскикриичешкицърк" +
@@ -16105,11 +16107,12 @@ const bgLangStr string = "" + // Size: 7891 bytes
"кисранан тонгосерерсахосукумасусушумерскикоморскикласически сирийскисир" +
"ийскитемнетесотеренотетумтигретивтокелайскиклингонскитлингиттамашекниан" +
"са тонгаток писинтарокоцимшианскитумбукатувалуанскитасавактувинскицентр" +
- "алноатласки тамазигтудмуртскиугаритскиумбундуроотваивотиквунджовалзерск" +
- "и немскиваламоварайуашовалпирикалмиксогаяояпезеянгбенйембакантонскизапо" +
- "текблис символизенагастандартен марокански тамазигтзунибез лингвистично" +
- " съдържаниезазасъвременен стандартен арабскианглийски (САЩ)долносаксонск" +
- "ифламандскимолдовскисърбохърватскиконгоански суахиликитайски (опростен)"
+ "алноатласки тамазигтудмуртскиугаритскиумбундунеопределенваивотиквунджов" +
+ "алзерски немскиваламоварайуашовалпирикалмиксогаяояпезеянгбенйембакантон" +
+ "скизапотекблис символизенагастандартен марокански тамазигтзунибез лингв" +
+ "истично съдържаниезазасъвременен стандартен арабскианглийски (САЩ)долно" +
+ "саксонскифламандскимолдовскисърбохърватскиконгоански суахиликитайски (о" +
+ "простен)"
var bgLangIdx = []uint16{ // 612 elements
// Entry 0 - 3F
@@ -16190,18 +16193,18 @@ var bgLangIdx = []uint16{ // 612 elements
0x1b0b, 0x1b0b, 0x1b0b, 0x1b15, 0x1b1d, 0x1b29, 0x1b33, 0x1b3d,
0x1b43, 0x1b57, 0x1b57, 0x1b6b, 0x1b79, 0x1b79, 0x1b87, 0x1b9e,
0x1baf, 0x1baf, 0x1bbb, 0x1bbb, 0x1bcf, 0x1bcf, 0x1bdd, 0x1bf3,
- 0x1c01, 0x1c11, 0x1c42, 0x1c54, 0x1c66, 0x1c74, 0x1c7c, 0x1c82,
- 0x1c82, 0x1c82, 0x1c82, 0x1c82, 0x1c8c, 0x1c8c, 0x1c98, 0x1cb7,
- 0x1cc3, 0x1ccd, 0x1cd5, 0x1ce3, 0x1ce3, 0x1cef, 0x1cef, 0x1cf7,
+ 0x1c01, 0x1c11, 0x1c42, 0x1c54, 0x1c66, 0x1c74, 0x1c8a, 0x1c90,
+ 0x1c90, 0x1c90, 0x1c90, 0x1c90, 0x1c9a, 0x1c9a, 0x1ca6, 0x1cc5,
+ 0x1cd1, 0x1cdb, 0x1ce3, 0x1cf1, 0x1cf1, 0x1cfd, 0x1cfd, 0x1d05,
// Entry 240 - 27F
- 0x1cfb, 0x1d05, 0x1d11, 0x1d1b, 0x1d1b, 0x1d2d, 0x1d3b, 0x1d52,
- 0x1d52, 0x1d5e, 0x1d98, 0x1da0, 0x1dd4, 0x1ddc, 0x1e14, 0x1e14,
- 0x1e14, 0x1e14, 0x1e14, 0x1e14, 0x1e14, 0x1e2f, 0x1e2f, 0x1e2f,
- 0x1e2f, 0x1e2f, 0x1e2f, 0x1e2f, 0x1e4b, 0x1e5f, 0x1e5f, 0x1e5f,
- 0x1e71, 0x1e8d, 0x1eb0, 0x1ed3,
+ 0x1d09, 0x1d13, 0x1d1f, 0x1d29, 0x1d29, 0x1d3b, 0x1d49, 0x1d60,
+ 0x1d60, 0x1d6c, 0x1da6, 0x1dae, 0x1de2, 0x1dea, 0x1e22, 0x1e22,
+ 0x1e22, 0x1e22, 0x1e22, 0x1e22, 0x1e22, 0x1e3d, 0x1e3d, 0x1e3d,
+ 0x1e3d, 0x1e3d, 0x1e3d, 0x1e3d, 0x1e59, 0x1e6d, 0x1e6d, 0x1e6d,
+ 0x1e7f, 0x1e9b, 0x1ebe, 0x1ee1,
} // Size: 1248 bytes
-const bnLangStr string = "" + // Size: 12336 bytes
+const bnLangStr string = "" + // Size: 12355 bytes
"আফারআবখাজিয়ানআবেস্তীয়আফ্রিকানআকানআমহারিকআর্গোনিজআরবীআসামিআভেরিকআয়মারা" +
"আজারবাইজানীবাশকিরবেলারুশিয়বুলগেরিয়বিসলামাবামবারাবাংলাতিব্বতিব্রেটনবস" +
"নীয়ানকাতালানচেচেনচামোরোকর্সিকানক্রিচেকচার্চ স্লাভিকচুবাসওয়েলশডেনিশজা" +
@@ -16254,15 +16257,15 @@ const bnLangStr string = "" + // Size: 12336 bytes
"সোগডিয়ানস্রানান টোঙ্গোসেরেরসাহোসুকুমাসুসুসুমেরীয়কমোরিয়ানপ্রাচীন সির" +
"িওসিরিয়াকটাইম্নেতেসোতেরেনোতেতুমটাইগ্রেটিভটোকেলাউক্লিঙ্গনত্লিঙ্গিটতামা" +
"শেকনায়াসা টোঙ্গাটোক পিসিনতারোকোসিমশিয়ানতুম্বুকাটুভালুতাসাওয়াকটুভিনি" +
- "য়ানসেন্ট্রাল আটলাস তামাজিগাতউডমুর্টউগারিটিকউম্বুন্দুমূলভাইভোটিকভুঞ্জো" +
- "ওয়ালসেরওয়ালামোওয়ারেওয়াশোওয়ার্লপিরিWu চীনাকাল্মইকসোগাইয়াওইয়াপেসে" +
- "য়াঙ্গবেনয়েম্বাক্যানটোনীজজাপোটেকচিত্র ভাষাজেনাগাআদর্শ মরক্কোন তামাজিগ" +
- "াতজুনিভাষাভিত্তিক বিষয়বস্তু নেইজাজাআধুনিক আদর্শ আরবীঅস্ট্রিয়ান জার্ম" +
- "ানসুইস হাই জার্মানঅস্ট্রেলীয় ইংরেজিকানাডীয় ইংরেজিব্রিটিশ ইংরেজিআমেরি" +
- "কার ইংরেজিল্যাটিন আমেরিকান স্প্যানিশইউরোপীয় স্প্যানিশম্যাক্সিকান স্প্" +
- "যানিশকানাডীয় ফরাসিসুইস ফরাসিলো স্যাক্সনফ্লেমিশব্রাজিলের পর্তুগীজইউরোপ" +
- "ের পর্তুগীজমলদাভিয়সার্বো-ক্রোয়েশিয়কঙ্গো সোয়াহিলিসরলীকৃত চীনাঐতিহ্য" +
- "বাহি চীনা"
+ "য়ানসেন্ট্রাল আটলাস তামাজিগাতউডমুর্টউগারিটিকউম্বুন্দুঅজানা ভাষাভাইভোটি" +
+ "কভুঞ্জোওয়ালসেরওয়ালামোওয়ারেওয়াশোওয়ার্লপিরিWu চীনাকাল্মইকসোগাইয়াওই" +
+ "য়াপেসেয়াঙ্গবেনয়েম্বাক্যানটোনীজজাপোটেকচিত্র ভাষাজেনাগাআদর্শ মরক্কোন " +
+ "তামাজিগাতজুনিভাষাভিত্তিক বিষয়বস্তু নেইজাজাআধুনিক আদর্শ আরবীঅস্ট্রিয়া" +
+ "ন জার্মানসুইস হাই জার্মানঅস্ট্রেলীয় ইংরেজিকানাডীয় ইংরেজিব্রিটিশ ইংরে" +
+ "জিআমেরিকার ইংরেজিল্যাটিন আমেরিকান স্প্যানিশইউরোপীয় স্প্যানিশম্যাক্সিক" +
+ "ান স্প্যানিশকানাডীয় ফরাসিসুইস ফরাসিলো স্যাক্সনফ্লেমিশব্রাজিলের পর্তুগ" +
+ "ীজইউরোপের পর্তুগীজমলদাভিয়সার্বো-ক্রোয়েশিয়কঙ্গো সোয়াহিলিসরলীকৃত চীন" +
+ "াঐতিহ্যবাহি চীনা"
var bnLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -16343,18 +16346,18 @@ var bnLangIdx = []uint16{ // 613 elements
0x2843, 0x2843, 0x2843, 0x2858, 0x2864, 0x2876, 0x2885, 0x289a,
0x28a3, 0x28b8, 0x28b8, 0x28d0, 0x28eb, 0x28eb, 0x2900, 0x2928,
0x2941, 0x2941, 0x2953, 0x2953, 0x296e, 0x296e, 0x2986, 0x2998,
- 0x29b3, 0x29d1, 0x2a18, 0x2a2d, 0x2a45, 0x2a60, 0x2a69, 0x2a72,
- 0x2a72, 0x2a72, 0x2a72, 0x2a72, 0x2a81, 0x2a81, 0x2a93, 0x2aab,
- 0x2ac3, 0x2ad5, 0x2ae7, 0x2b08, 0x2b17, 0x2b2c, 0x2b2c, 0x2b38,
+ 0x29b3, 0x29d1, 0x2a18, 0x2a2d, 0x2a45, 0x2a60, 0x2a7c, 0x2a85,
+ 0x2a85, 0x2a85, 0x2a85, 0x2a85, 0x2a94, 0x2a94, 0x2aa6, 0x2abe,
+ 0x2ad6, 0x2ae8, 0x2afa, 0x2b1b, 0x2b2a, 0x2b3f, 0x2b3f, 0x2b4b,
// Entry 240 - 27F
- 0x2b47, 0x2b5f, 0x2b7a, 0x2b8f, 0x2b8f, 0x2bad, 0x2bc2, 0x2bde,
- 0x2bde, 0x2bf0, 0x2c31, 0x2c3d, 0x2c87, 0x2c93, 0x2cc2, 0x2cc2,
- 0x2cf9, 0x2d25, 0x2d59, 0x2d84, 0x2dac, 0x2dd7, 0x2e21, 0x2e55,
- 0x2e92, 0x2e92, 0x2eba, 0x2ed6, 0x2ef5, 0x2f0a, 0x2f3e, 0x2f6c,
- 0x2f84, 0x2fb8, 0x2fe3, 0x3005, 0x3030,
+ 0x2b5a, 0x2b72, 0x2b8d, 0x2ba2, 0x2ba2, 0x2bc0, 0x2bd5, 0x2bf1,
+ 0x2bf1, 0x2c03, 0x2c44, 0x2c50, 0x2c9a, 0x2ca6, 0x2cd5, 0x2cd5,
+ 0x2d0c, 0x2d38, 0x2d6c, 0x2d97, 0x2dbf, 0x2dea, 0x2e34, 0x2e68,
+ 0x2ea5, 0x2ea5, 0x2ecd, 0x2ee9, 0x2f08, 0x2f1d, 0x2f51, 0x2f7f,
+ 0x2f97, 0x2fcb, 0x2ff6, 0x3018, 0x3043,
} // Size: 1250 bytes
-const caLangStr string = "" + // Size: 4583 bytes
+const caLangStr string = "" + // Size: 4595 bytes
"àfarabkhazavèsticafrikaansàkanamhàricaragonèsàrabassamèsàvaraimaraazerba" +
"idjanèsbaixkirbielorúsbúlgarbislamabambarabengalítibetàbretóbosniàcatalà" +
"txetxèchamorrocorscreetxeceslau eclesiàstictxuvaixgal·lèsdanèsalemanydiv" +
@@ -16407,15 +16410,15 @@ const caLangStr string = "" + // Size: 4583 bytes
"i d’Inarisami skoltsoninkesogdiàsrananserersahosukumasusúsumericomoriàsi" +
"ríac clàssicsiríacsilesiàtemnetesoterenatetuntigretivtokelauèstsakhurkli" +
"ngoniàtlingittalixamazictongatok pisintarokotsimshiàtat meridionaltumbuk" +
- "atuvaluàtasawaqtuviniàamazic del Marroc centraludmurtugaríticumbunduarre" +
- "lvaivènetvepseflamenc occidentalvòticvunjowalserametowaraywashowarlpirix" +
- "inès wucalmucmingreliàsogayaoyapeàyangbenyembacantonèszapotecasímbols Bl" +
- "isszelandèszenagaamazic estàndard marroquízunisense contingut lingüístic" +
- "zazaàrab estàndard modernalemany austríacalt alemany suísanglès australi" +
- "àanglès canadencanglès britànicanglès americàespanyol hispanoamericàesp" +
- "anyol europeuespanyol de Mèxicfrancès canadencfrancès suísbaix saxóflame" +
- "ncportuguès del Brasilportuguès de Portugalmoldauserbocroatsuahili del C" +
- "ongoxinès simplificatxinès tradicional"
+ "atuvaluàtasawaqtuviniàamazic del Marroc centraludmurtugaríticumbunduidio" +
+ "ma desconegutvaivènetvepseflamenc occidentalvòticvunjowalserametowaraywa" +
+ "showarlpirixinès wucalmucmingreliàsogayaoyapeàyangbenyembacantonèszapote" +
+ "casímbols Blisszelandèszenagaamazic estàndard marroquízunisense contingu" +
+ "t lingüísticzazaàrab estàndard modernalemany austríacalt alemany suísang" +
+ "lès australiàanglès canadencanglès britànicanglès americàespanyol hispan" +
+ "oamericàespanyol europeuespanyol de Mèxicfrancès canadencfrancès suísbai" +
+ "x saxóflamencportuguès del Brasilportuguès de Portugalmoldauserbocroatsu" +
+ "ahili del Congoxinès simplificatxinès tradicional"
var caLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -16496,18 +16499,18 @@ var caLangIdx = []uint16{ // 613 elements
0x0edc, 0x0ee4, 0x0ee4, 0x0ee9, 0x0eed, 0x0ef3, 0x0ef8, 0x0efd,
0x0f00, 0x0f0a, 0x0f11, 0x0f1b, 0x0f22, 0x0f27, 0x0f2d, 0x0f32,
0x0f3b, 0x0f3b, 0x0f41, 0x0f41, 0x0f4a, 0x0f58, 0x0f5f, 0x0f67,
- 0x0f6e, 0x0f76, 0x0f8f, 0x0f95, 0x0f9e, 0x0fa5, 0x0faa, 0x0fad,
- 0x0fb3, 0x0fb8, 0x0fca, 0x0fca, 0x0fd0, 0x0fd0, 0x0fd5, 0x0fdb,
- 0x0fe0, 0x0fe5, 0x0fea, 0x0ff2, 0x0ffb, 0x1001, 0x100b, 0x100f,
+ 0x0f6e, 0x0f76, 0x0f8f, 0x0f95, 0x0f9e, 0x0fa5, 0x0fb6, 0x0fb9,
+ 0x0fbf, 0x0fc4, 0x0fd6, 0x0fd6, 0x0fdc, 0x0fdc, 0x0fe1, 0x0fe7,
+ 0x0fec, 0x0ff1, 0x0ff6, 0x0ffe, 0x1007, 0x100d, 0x1017, 0x101b,
// Entry 240 - 27F
- 0x1012, 0x1018, 0x101f, 0x1024, 0x1024, 0x102d, 0x1035, 0x1043,
- 0x104c, 0x1052, 0x106d, 0x1071, 0x108d, 0x1091, 0x10a8, 0x10a8,
- 0x10b9, 0x10ca, 0x10dc, 0x10ec, 0x10fd, 0x110d, 0x1125, 0x1135,
- 0x1147, 0x1147, 0x1158, 0x1166, 0x1170, 0x1177, 0x118c, 0x11a2,
- 0x11a8, 0x11b2, 0x11c3, 0x11d5, 0x11e7,
+ 0x101e, 0x1024, 0x102b, 0x1030, 0x1030, 0x1039, 0x1041, 0x104f,
+ 0x1058, 0x105e, 0x1079, 0x107d, 0x1099, 0x109d, 0x10b4, 0x10b4,
+ 0x10c5, 0x10d6, 0x10e8, 0x10f8, 0x1109, 0x1119, 0x1131, 0x1141,
+ 0x1153, 0x1153, 0x1164, 0x1172, 0x117c, 0x1183, 0x1198, 0x11ae,
+ 0x11b4, 0x11be, 0x11cf, 0x11e1, 0x11f3,
} // Size: 1250 bytes
-const csLangStr string = "" + // Size: 7397 bytes
+const csLangStr string = "" + // Size: 7406 bytes
"afarštinaabcházštinaavestánštinaafrikánštinaakanštinaamharštinaaragonšti" +
"naarabštinaásámštinaavarštinaajmarštinaázerbájdžánštinabaškirštinaběloru" +
"štinabulharštinabislamštinabambarštinabengálštinatibetštinabretonštinab" +
@@ -16591,16 +16594,16 @@ const csLangStr string = "" + // Size: 7397 bytes
"tesoterenotetumštinatigrejštinativštinatokelauštinacachurštinaklingonšti" +
"natlingittalyštinatamašektonžština (nyasa)tok pisinturojštinatarokotsako" +
"nštinatsimšijské jazykytatštinatumbukštinatuvalštinatasawaqtuvinštinatam" +
- "azight (střední Maroko)udmurtštinaugaritštinaumbundukořenvaibenátštinave" +
- "pštinavlámština (západní)němčina (mohansko-franské dialekty)votštinavõru" +
- "štinavunjoněmčina (walser)wolajtštinawarajštinawaštinawarlpiričínština " +
- "(dialekty Wu)kalmyčtinamingrelštinasogštinajaoštinajapštinajangbenštinay" +
- "embanheengatukantonštinazapotéčtinabliss systémzélandštinazenagatamazigh" +
- "t (standardní marocký)zunijštinažádný jazykový obsahzazaarabština (moder" +
- "ní standardní)němčina standardní (Švýcarsko)angličtina (Velká Británie)a" +
- "ngličtina (USA)španělština (Evropa)dolnosaštinavlámštinaportugalština (E" +
- "vropa)moldavštinasrbochorvatštinasvahilština (Kongo)čínština (zjednoduše" +
- "ná)"
+ "azight (střední Maroko)udmurtštinaugaritštinaumbunduneznámý jazykvaibená" +
+ "tštinavepštinavlámština (západní)němčina (mohansko-franské dialekty)votš" +
+ "tinavõruštinavunjoněmčina (walser)wolajtštinawarajštinawaštinawarlpiričí" +
+ "nština (dialekty Wu)kalmyčtinamingrelštinasogštinajaoštinajapštinajangbe" +
+ "nštinayembanheengatukantonštinazapotéčtinabliss systémzélandštinazenagat" +
+ "amazight (standardní marocký)zunijštinažádný jazykový obsahzazaarabština" +
+ " (moderní standardní)němčina standardní (Švýcarsko)angličtina (Velká Bri" +
+ "tánie)angličtina (USA)španělština (Evropa)dolnosaštinavlámštinaportugalš" +
+ "tina (Evropa)moldavštinasrbochorvatštinasvahilština (Kongo)čínština (zje" +
+ "dnodušená)"
var csLangIdx = []uint16{ // 612 elements
// Entry 0 - 3F
@@ -16681,18 +16684,18 @@ var csLangIdx = []uint16{ // 612 elements
0x1910, 0x191a, 0x1924, 0x1929, 0x192d, 0x1933, 0x193e, 0x194a,
0x1953, 0x1960, 0x196c, 0x1979, 0x1980, 0x198a, 0x1992, 0x19a5,
0x19ae, 0x19b9, 0x19bf, 0x19cb, 0x19de, 0x19e7, 0x19f3, 0x19fe,
- 0x1a05, 0x1a10, 0x1a2c, 0x1a38, 0x1a44, 0x1a4b, 0x1a51, 0x1a54,
- 0x1a60, 0x1a69, 0x1a80, 0x1aa6, 0x1aaf, 0x1aba, 0x1abf, 0x1ad1,
- 0x1add, 0x1ae8, 0x1af0, 0x1af8, 0x1b11, 0x1b1c, 0x1b29, 0x1b32,
+ 0x1a05, 0x1a10, 0x1a2c, 0x1a38, 0x1a44, 0x1a4b, 0x1a5a, 0x1a5d,
+ 0x1a69, 0x1a72, 0x1a89, 0x1aaf, 0x1ab8, 0x1ac3, 0x1ac8, 0x1ada,
+ 0x1ae6, 0x1af1, 0x1af9, 0x1b01, 0x1b1a, 0x1b25, 0x1b32, 0x1b3b,
// Entry 240 - 27F
- 0x1b3b, 0x1b44, 0x1b51, 0x1b56, 0x1b5f, 0x1b6b, 0x1b78, 0x1b85,
- 0x1b92, 0x1b98, 0x1bb8, 0x1bc3, 0x1bdb, 0x1bdf, 0x1c00, 0x1c00,
- 0x1c00, 0x1c23, 0x1c23, 0x1c23, 0x1c41, 0x1c52, 0x1c52, 0x1c69,
- 0x1c69, 0x1c69, 0x1c69, 0x1c69, 0x1c76, 0x1c81, 0x1c81, 0x1c98,
- 0x1ca4, 0x1cb5, 0x1cc9, 0x1ce5,
+ 0x1b44, 0x1b4d, 0x1b5a, 0x1b5f, 0x1b68, 0x1b74, 0x1b81, 0x1b8e,
+ 0x1b9b, 0x1ba1, 0x1bc1, 0x1bcc, 0x1be4, 0x1be8, 0x1c09, 0x1c09,
+ 0x1c09, 0x1c2c, 0x1c2c, 0x1c2c, 0x1c4a, 0x1c5b, 0x1c5b, 0x1c72,
+ 0x1c72, 0x1c72, 0x1c72, 0x1c72, 0x1c7f, 0x1c8a, 0x1c8a, 0x1ca1,
+ 0x1cad, 0x1cbe, 0x1cd2, 0x1cee,
} // Size: 1248 bytes
-const daLangStr string = "" + // Size: 4141 bytes
+const daLangStr string = "" + // Size: 4150 bytes
"afarabkhasiskavestanafrikaansakanamhariskaragonesiskarabiskassamesiskava" +
"riskaymaraaserbajdsjanskbashkirhviderussiskbulgarskbislamabambarabengali" +
"tibetanskbretonskbosniskcatalansktjetjenskchamorrokorsikanskcreetjekkisk" +
@@ -16743,14 +16746,14 @@ const daLangStr string = "" + // Size: 4141 bytes
"oserersahosukumasususumeriskshimaoreklassisk syrisksyrisktemnetesotereno" +
"tetumtigretivitokelauklingontlingittamasheknyasa tongansktok pisintaroko" +
"tsimshisktumbukatuvalutasawaqtuviniancentralmarokkansk tamazightudmurtug" +
- "aristiskumbundurodvaivotiskvunjowalsertyskwalamowaraywashowalbiriwu-kine" +
- "siskkalmyksogayaoyapeseyangbenyembakantonesiskzapotecblissymbolerzenagat" +
- "amazightzuniintet sprogligt indholdzazamoderne standardarabiskøstrigsk t" +
- "yskschweizerhøjtyskaustralsk engelskcanadisk engelskbritisk engelskameri" +
- "kansk engelsklatinamerikansk spanskeuropæisk spanskmexicansk spanskcanad" +
- "isk franskschweizisk franskflamskbrasiliansk portugisiskeuropæisk portug" +
- "isiskmoldoviskserbokroatiskcongolesisk swahiliforenklet kinesisktraditio" +
- "nelt kinesisk"
+ "aristiskumbunduukendt sprogvaivotiskvunjowalsertyskwalamowaraywashowalbi" +
+ "riwu-kinesiskkalmyksogayaoyapeseyangbenyembakantonesiskzapotecblissymbol" +
+ "erzenagatamazightzuniintet sprogligt indholdzazamoderne standardarabiskø" +
+ "strigsk tyskschweizerhøjtyskaustralsk engelskcanadisk engelskbritisk eng" +
+ "elskamerikansk engelsklatinamerikansk spanskeuropæisk spanskmexicansk sp" +
+ "anskcanadisk franskschweizisk franskflamskbrasiliansk portugisiskeuropæi" +
+ "sk portugisiskmoldoviskserbokroatiskcongolesisk swahiliforenklet kinesis" +
+ "ktraditionelt kinesisk"
var daLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -16831,18 +16834,18 @@ var daLangIdx = []uint16{ // 613 elements
0x0d85, 0x0d85, 0x0d85, 0x0d8a, 0x0d8e, 0x0d94, 0x0d99, 0x0d9e,
0x0da2, 0x0da9, 0x0da9, 0x0db0, 0x0db7, 0x0db7, 0x0dbf, 0x0dcd,
0x0dd6, 0x0dd6, 0x0ddc, 0x0ddc, 0x0de5, 0x0de5, 0x0dec, 0x0df2,
- 0x0df9, 0x0e01, 0x0e1c, 0x0e22, 0x0e2c, 0x0e33, 0x0e36, 0x0e39,
- 0x0e39, 0x0e39, 0x0e39, 0x0e39, 0x0e3f, 0x0e3f, 0x0e44, 0x0e4e,
- 0x0e54, 0x0e59, 0x0e5e, 0x0e65, 0x0e70, 0x0e76, 0x0e76, 0x0e7a,
+ 0x0df9, 0x0e01, 0x0e1c, 0x0e22, 0x0e2c, 0x0e33, 0x0e3f, 0x0e42,
+ 0x0e42, 0x0e42, 0x0e42, 0x0e42, 0x0e48, 0x0e48, 0x0e4d, 0x0e57,
+ 0x0e5d, 0x0e62, 0x0e67, 0x0e6e, 0x0e79, 0x0e7f, 0x0e7f, 0x0e83,
// Entry 240 - 27F
- 0x0e7d, 0x0e83, 0x0e8a, 0x0e8f, 0x0e8f, 0x0e9a, 0x0ea1, 0x0ead,
- 0x0ead, 0x0eb3, 0x0ebc, 0x0ec0, 0x0ed7, 0x0edb, 0x0ef2, 0x0ef2,
- 0x0f00, 0x0f11, 0x0f22, 0x0f32, 0x0f41, 0x0f53, 0x0f69, 0x0f7a,
- 0x0f8a, 0x0f8a, 0x0f99, 0x0faa, 0x0faa, 0x0fb0, 0x0fc7, 0x0fdd,
- 0x0fe6, 0x0ff3, 0x1006, 0x1018, 0x102d,
+ 0x0e86, 0x0e8c, 0x0e93, 0x0e98, 0x0e98, 0x0ea3, 0x0eaa, 0x0eb6,
+ 0x0eb6, 0x0ebc, 0x0ec5, 0x0ec9, 0x0ee0, 0x0ee4, 0x0efb, 0x0efb,
+ 0x0f09, 0x0f1a, 0x0f2b, 0x0f3b, 0x0f4a, 0x0f5c, 0x0f72, 0x0f83,
+ 0x0f93, 0x0f93, 0x0fa2, 0x0fb3, 0x0fb3, 0x0fb9, 0x0fd0, 0x0fe6,
+ 0x0fef, 0x0ffc, 0x100f, 0x1021, 0x1036,
} // Size: 1250 bytes
-const deLangStr string = "" + // Size: 5600 bytes
+const deLangStr string = "" + // Size: 5614 bytes
"AfarAbchasischAvestischAfrikaansAkanAmharischAragonesischArabischAssames" +
"ischAwarischAymaraAserbaidschanischBaschkirischWeißrussischBulgarischBis" +
"lamaBambaraBengalischTibetischBretonischBosnischKatalanischTschetschenis" +
@@ -16910,16 +16913,17 @@ const deLangStr string = "" + // Size: 5600 bytes
"(Wasserpolnisch)TuluTemneTesoTerenoTetumTigreTivTokelauanischTsachurisch" +
"KlingonischTlingitTalischTamaseqNyasa TongaNeumelanesischTuroyoTarokoTsa" +
"konischTsimshianTatischTumbukaTuvaluischTasawaqTuwinischZentralatlas-Tam" +
- "azightUdmurtischUgaritischUmbunduRootVaiVenetischWepsischWestflämischMai" +
- "nfränkischWotischVõroVunjoWalliserdeutschWalamoWarayWashoWarlpiriWuKalmü" +
- "ckischMingrelischSogaYaoYapesischYangbenYembaNheengatuKantonesischZapote" +
- "kischBliss-SymboleSeeländischZenagaTamazightZuniKeine SprachinhalteZazaM" +
- "odernes HocharabischÖsterreichisches DeutschSchweizer HochdeutschAustral" +
- "isches EnglischKanadisches EnglischBritisches EnglischAmerikanisches Eng" +
- "lischLateinamerikanisches SpanischEuropäisches SpanischMexikanisches Spa" +
- "nischKanadisches FranzösischSchweizer FranzösischNiedersächsischFlämisch" +
- "Brasilianisches PortugiesischEuropäisches PortugiesischMoldauischSerbo-K" +
- "roatischKongo-SwahiliChinesisch (vereinfacht)Chinesisch (traditionell)"
+ "azightUdmurtischUgaritischUmbunduUnbekannte SpracheVaiVenetischWepsischW" +
+ "estflämischMainfränkischWotischVõroVunjoWalliserdeutschWalamoWarayWashoW" +
+ "arlpiriWuKalmückischMingrelischSogaYaoYapesischYangbenYembaNheengatuKant" +
+ "onesischZapotekischBliss-SymboleSeeländischZenagaTamazightZuniKeine Spra" +
+ "chinhalteZazaModernes HocharabischÖsterreichisches DeutschSchweizer Hoch" +
+ "deutschAustralisches EnglischKanadisches EnglischBritisches EnglischAmer" +
+ "ikanisches EnglischLateinamerikanisches SpanischEuropäisches SpanischMex" +
+ "ikanisches SpanischKanadisches FranzösischSchweizer FranzösischNiedersäc" +
+ "hsischFlämischBrasilianisches PortugiesischEuropäisches PortugiesischMol" +
+ "dauischSerbo-KroatischKongo-SwahiliChinesisch (vereinfacht)Chinesisch (t" +
+ "raditionell)"
var deLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -17000,18 +17004,18 @@ var deLangIdx = []uint16{ // 613 elements
0x1223, 0x123e, 0x1242, 0x1247, 0x124b, 0x1251, 0x1256, 0x125b,
0x125e, 0x126b, 0x1276, 0x1281, 0x1288, 0x128f, 0x1296, 0x12a1,
0x12af, 0x12b5, 0x12bb, 0x12c5, 0x12ce, 0x12d5, 0x12dc, 0x12e6,
- 0x12ed, 0x12f6, 0x130c, 0x1316, 0x1320, 0x1327, 0x132b, 0x132e,
- 0x1337, 0x133f, 0x134c, 0x135a, 0x1361, 0x1366, 0x136b, 0x137a,
- 0x1380, 0x1385, 0x138a, 0x1392, 0x1394, 0x13a0, 0x13ab, 0x13af,
+ 0x12ed, 0x12f6, 0x130c, 0x1316, 0x1320, 0x1327, 0x1339, 0x133c,
+ 0x1345, 0x134d, 0x135a, 0x1368, 0x136f, 0x1374, 0x1379, 0x1388,
+ 0x138e, 0x1393, 0x1398, 0x13a0, 0x13a2, 0x13ae, 0x13b9, 0x13bd,
// Entry 240 - 27F
- 0x13b2, 0x13bb, 0x13c2, 0x13c7, 0x13d0, 0x13dc, 0x13e7, 0x13f4,
- 0x1400, 0x1406, 0x140f, 0x1413, 0x1426, 0x142a, 0x143f, 0x143f,
- 0x1458, 0x146d, 0x1483, 0x1497, 0x14aa, 0x14c1, 0x14de, 0x14f4,
- 0x150a, 0x150a, 0x1522, 0x1538, 0x1548, 0x1551, 0x156e, 0x1589,
- 0x1593, 0x15a2, 0x15af, 0x15c7, 0x15e0,
+ 0x13c0, 0x13c9, 0x13d0, 0x13d5, 0x13de, 0x13ea, 0x13f5, 0x1402,
+ 0x140e, 0x1414, 0x141d, 0x1421, 0x1434, 0x1438, 0x144d, 0x144d,
+ 0x1466, 0x147b, 0x1491, 0x14a5, 0x14b8, 0x14cf, 0x14ec, 0x1502,
+ 0x1518, 0x1518, 0x1530, 0x1546, 0x1556, 0x155f, 0x157c, 0x1597,
+ 0x15a1, 0x15b0, 0x15bd, 0x15d5, 0x15ee,
} // Size: 1250 bytes
-const elLangStr string = "" + // Size: 9051 bytes
+const elLangStr string = "" + // Size: 9070 bytes
"ΑφάρΑμπχαζικάΑβεστάνΑφρικάανςΑκάνΑμαρικάΑραγκονικάΑραβικάΑσαμεζικάΆβαρικ" +
"ΑϊμάραΑζερμπαϊτζανικάΜπασκίρΛευκορωσικάΒουλγαρικάΜπισλάμαΜπαμπάραΜπενγκ" +
"άλιΘιβετιανάΒρετονικάΒοσνιακάΚαταλανικάΤσετσενικάΚαμόρροΚορσικανικάΚριΤ" +
@@ -17068,15 +17072,15 @@ const elLangStr string = "" + // Size: 9051 bytes
"έρΣάχοΣουκούμαΣούσουΣουμερικάΚομόρριαΚλασικά ΣυριακάΣυριακάΤίμνεΤέσοΤερ" +
"ένοΤέτουμΤίγκρεΤιβΤοκελάουΚλίνγκονΤλίνγκιτΤαμασέκΝιάσα ΤόνγκαΤοκ ΠισίνΤ" +
"αρόκοΤσίμσιανΤουμπούκαΤουβαλούΤασαβάκΤουβινικάΤαμαζίτ Κεντρικού ΜαρόκοΟ" +
- "υντμούρτΟυγκαριτικάΟυμπούντουΡουτΒάιΒότικΒούντζοΒάλσερΓουάλαμοΓουάρειΓο" +
- "υασόΓουαρλπίριwuuΚαλμίκΣόγκαΓιάοΓιαπίζΓιανγκμπένΓιέμπαΚαντονέζικαΖάποτε" +
- "κΣύμβολα BlissΖενάγκαΤυπικά Ταμαζίγκτ ΜαρόκουΖούνιΧωρίς γλωσσολογικό πε" +
- "ριεχόμενοΖάζαΣύγχρονα Τυπικά ΑραβικάΓερμανικά ΑυστρίαςΆνω Γερμανικά Ελβ" +
- "ετίαςΑγγλικά ΑυστραλίαςΑγγλικά ΚαναδάΑγγλικά Ηνωμένου ΒασιλείουΑγγλικά " +
- "ΑμερικήςΙσπανικά Λατινικής ΑμερικήςΙσπανικά ΕυρώπηςΙσπανικά ΜεξικούΓαλλ" +
- "ικά ΚαναδάΓαλλικά ΕλβετίαςΚάτω Γερμανικά ΟλλανδίαςΦλαμανδικάΠορτογαλικά" +
- " ΒραζιλίαςΠορτογαλικά ΕυρώπηςΜολδαβικάΣερβοκροατικάΚονγκό ΣουαχίλιΑπλοπο" +
- "ιημένα ΚινεζικάΠαραδοσιακά Κινεζικά"
+ "υντμούρτΟυγκαριτικάΟυμπούντουΆγνωστη γλώσσαΒάιΒότικΒούντζοΒάλσερΓουάλαμ" +
+ "οΓουάρειΓουασόΓουαρλπίριwuuΚαλμίκΣόγκαΓιάοΓιαπίζΓιανγκμπένΓιέμπαΚαντονέ" +
+ "ζικαΖάποτεκΣύμβολα BlissΖενάγκαΤυπικά Ταμαζίγκτ ΜαρόκουΖούνιΧωρίς γλωσσ" +
+ "ολογικό περιεχόμενοΖάζαΣύγχρονα Τυπικά ΑραβικάΓερμανικά ΑυστρίαςΆνω Γερ" +
+ "μανικά ΕλβετίαςΑγγλικά ΑυστραλίαςΑγγλικά ΚαναδάΑγγλικά Ηνωμένου Βασιλεί" +
+ "ουΑγγλικά ΑμερικήςΙσπανικά Λατινικής ΑμερικήςΙσπανικά ΕυρώπηςΙσπανικά Μ" +
+ "εξικούΓαλλικά ΚαναδάΓαλλικά ΕλβετίαςΚάτω Γερμανικά ΟλλανδίαςΦλαμανδικάΠ" +
+ "ορτογαλικά ΒραζιλίαςΠορτογαλικά ΕυρώπηςΜολδαβικάΣερβοκροατικάΚονγκό Σου" +
+ "αχίλιΑπλοποιημένα ΚινεζικάΠαραδοσιακά Κινεζικά"
var elLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -17157,18 +17161,18 @@ var elLangIdx = []uint16{ // 613 elements
0x1d97, 0x1d97, 0x1d97, 0x1da1, 0x1da9, 0x1db5, 0x1dc1, 0x1dcd,
0x1dd3, 0x1de3, 0x1de3, 0x1df3, 0x1e03, 0x1e03, 0x1e11, 0x1e28,
0x1e39, 0x1e39, 0x1e45, 0x1e45, 0x1e55, 0x1e55, 0x1e67, 0x1e77,
- 0x1e85, 0x1e97, 0x1ec5, 0x1ed7, 0x1eed, 0x1f01, 0x1f09, 0x1f0f,
- 0x1f0f, 0x1f0f, 0x1f0f, 0x1f0f, 0x1f19, 0x1f19, 0x1f27, 0x1f33,
- 0x1f43, 0x1f51, 0x1f5d, 0x1f71, 0x1f74, 0x1f80, 0x1f80, 0x1f8a,
+ 0x1e85, 0x1e97, 0x1ec5, 0x1ed7, 0x1eed, 0x1f01, 0x1f1c, 0x1f22,
+ 0x1f22, 0x1f22, 0x1f22, 0x1f22, 0x1f2c, 0x1f2c, 0x1f3a, 0x1f46,
+ 0x1f56, 0x1f64, 0x1f70, 0x1f84, 0x1f87, 0x1f93, 0x1f93, 0x1f9d,
// Entry 240 - 27F
- 0x1f92, 0x1f9e, 0x1fb2, 0x1fbe, 0x1fbe, 0x1fd4, 0x1fe2, 0x1ff6,
- 0x1ff6, 0x2004, 0x2032, 0x203c, 0x2076, 0x207e, 0x20aa, 0x20aa,
- 0x20cd, 0x20f7, 0x211a, 0x2135, 0x2167, 0x2186, 0x21ba, 0x21d9,
- 0x21f8, 0x21f8, 0x2213, 0x2232, 0x2260, 0x2274, 0x229d, 0x22c2,
- 0x22d4, 0x22ee, 0x230b, 0x2334, 0x235b,
+ 0x1fa5, 0x1fb1, 0x1fc5, 0x1fd1, 0x1fd1, 0x1fe7, 0x1ff5, 0x2009,
+ 0x2009, 0x2017, 0x2045, 0x204f, 0x2089, 0x2091, 0x20bd, 0x20bd,
+ 0x20e0, 0x210a, 0x212d, 0x2148, 0x217a, 0x2199, 0x21cd, 0x21ec,
+ 0x220b, 0x220b, 0x2226, 0x2245, 0x2273, 0x2287, 0x22b0, 0x22d5,
+ 0x22e7, 0x2301, 0x231e, 0x2347, 0x236e,
} // Size: 1250 bytes
-const enLangStr string = "" + // Size: 4944 bytes
+const enLangStr string = "" + // Size: 4956 bytes
"AfarAbkhazianAvestanAfrikaansAkanAmharicAragoneseArabicAssameseAvaricAym" +
"araAzerbaijaniBashkirBelarusianBulgarianBislamaBambaraBanglaTibetanBreto" +
"nBosnianCatalanChechenChamorroCorsicanCreeCzechChurch SlavicChuvashWelsh" +
@@ -17229,15 +17233,15 @@ const enLangStr string = "" + // Size: 4944 bytes
"erianComorianClassical SyriacSyriacSilesianTuluTimneTesoTerenoTetumTigre" +
"TivTokelauTsakhurKlingonTlingitTalyshTamashekNyasa TongaTok PisinTuroyoT" +
"arokoTsakonianTsimshianMuslim TatTumbukaTuvaluTasawaqTuvinianCentral Atl" +
- "as TamazightUdmurtUgariticUmbunduRootVaiVenetianVepsWest FlemishMain-Fra" +
- "nconianVoticVõroVunjoWalserWolayttaWarayWashoWarlpiriWu ChineseKalmykMin" +
- "grelianSogaYaoYapeseYangbenYembaNheengatuCantoneseZapotecBlissymbolsZeel" +
- "andicZenagaStandard Moroccan TamazightZuniNo linguistic contentZazaModer" +
- "n Standard ArabicAustrian GermanSwiss High GermanAustralian EnglishCanad" +
- "ian EnglishBritish EnglishAmerican EnglishLatin American SpanishEuropean" +
- " SpanishMexican SpanishDariCanadian FrenchSwiss FrenchLow SaxonFlemishBr" +
- "azilian PortugueseEuropean PortugueseMoldavianSerbo-CroatianCongo Swahil" +
- "iSimplified ChineseTraditional Chinese"
+ "as TamazightUdmurtUgariticUmbunduUnknown languageVaiVenetianVepsWest Fle" +
+ "mishMain-FranconianVoticVõroVunjoWalserWolayttaWarayWashoWarlpiriWu Chin" +
+ "eseKalmykMingrelianSogaYaoYapeseYangbenYembaNheengatuCantoneseZapotecBli" +
+ "ssymbolsZeelandicZenagaStandard Moroccan TamazightZuniNo linguistic cont" +
+ "entZazaModern Standard ArabicAustrian GermanSwiss High GermanAustralian " +
+ "EnglishCanadian EnglishBritish EnglishAmerican EnglishLatin American Spa" +
+ "nishEuropean SpanishMexican SpanishDariCanadian FrenchSwiss FrenchLow Sa" +
+ "xonFlemishBrazilian PortugueseEuropean PortugueseMoldavianSerbo-Croatian" +
+ "Congo SwahiliSimplified ChineseTraditional Chinese"
var enLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -17318,18 +17322,18 @@ var enLangIdx = []uint16{ // 613 elements
0x1034, 0x103c, 0x1040, 0x1045, 0x1049, 0x104f, 0x1054, 0x1059,
0x105c, 0x1063, 0x106a, 0x1071, 0x1078, 0x107e, 0x1086, 0x1091,
0x109a, 0x10a0, 0x10a6, 0x10af, 0x10b8, 0x10c2, 0x10c9, 0x10cf,
- 0x10d6, 0x10de, 0x10f5, 0x10fb, 0x1103, 0x110a, 0x110e, 0x1111,
- 0x1119, 0x111d, 0x1129, 0x1138, 0x113d, 0x1142, 0x1147, 0x114d,
- 0x1155, 0x115a, 0x115f, 0x1167, 0x1171, 0x1177, 0x1181, 0x1185,
+ 0x10d6, 0x10de, 0x10f5, 0x10fb, 0x1103, 0x110a, 0x111a, 0x111d,
+ 0x1125, 0x1129, 0x1135, 0x1144, 0x1149, 0x114e, 0x1153, 0x1159,
+ 0x1161, 0x1166, 0x116b, 0x1173, 0x117d, 0x1183, 0x118d, 0x1191,
// Entry 240 - 27F
- 0x1188, 0x118e, 0x1195, 0x119a, 0x11a3, 0x11ac, 0x11b3, 0x11be,
- 0x11c7, 0x11cd, 0x11e8, 0x11ec, 0x1201, 0x1205, 0x121b, 0x121b,
- 0x122a, 0x123b, 0x124d, 0x125d, 0x126c, 0x127c, 0x1292, 0x12a2,
- 0x12b1, 0x12b5, 0x12c4, 0x12d0, 0x12d9, 0x12e0, 0x12f4, 0x1307,
- 0x1310, 0x131e, 0x132b, 0x133d, 0x1350,
+ 0x1194, 0x119a, 0x11a1, 0x11a6, 0x11af, 0x11b8, 0x11bf, 0x11ca,
+ 0x11d3, 0x11d9, 0x11f4, 0x11f8, 0x120d, 0x1211, 0x1227, 0x1227,
+ 0x1236, 0x1247, 0x1259, 0x1269, 0x1278, 0x1288, 0x129e, 0x12ae,
+ 0x12bd, 0x12c1, 0x12d0, 0x12dc, 0x12e5, 0x12ec, 0x1300, 0x1313,
+ 0x131c, 0x132a, 0x1337, 0x1349, 0x135c,
} // Size: 1250 bytes
-const esLangStr string = "" + // Size: 4319 bytes
+const esLangStr string = "" + // Size: 4332 bytes
"afarabjasioavésticoafrikáansakanamáricoaragonésárabeasamésavaraimaraazer" +
"baiyanobaskirbielorrusobúlgarobislamabambarabengalítibetanobretónbosnioc" +
"atalánchechenochamorrocorsocreechecoeslavo eclesiásticochuvasiogalésdané" +
@@ -17380,14 +17384,15 @@ const esLangStr string = "" + // Size: 4319 bytes
"inkésogdianosranan tongoserersahosukumasususumeriocomorensesiríaco clási" +
"cosiriacotemnetesoterenotetúntigrétivtokelauanoklingontlingittamashekton" +
"ga del Nyasatok pisintarokotsimshianotumbukatuvaluanotasawaqtuvinianotam" +
- "azight del Atlas Centraludmurtugaríticoumbunduraízvaivóticovunjowalserwo" +
- "laytawaraywashowarlpirichino wukalmyksogayaoyapésyangbenyembacantonészap" +
- "otecosímbolos Blisszenagatamazight estándar marroquízuñisin contenido li" +
- "ngüísticozazakiárabe estándar modernoalemán austríacoalto alemán suizoin" +
- "glés australianoinglés canadienseinglés británicoinglés estadounidensees" +
- "pañol latinoamericanoespañol de Españaespañol de Méxicofrancés canadiens" +
- "efrancés suizobajo sajónflamencoportugués de Brasilportugués de Portugal" +
- "moldavoserbocroatasuajili del Congochino simplificadochino tradicional"
+ "azight del Atlas Centraludmurtugaríticoumbundulengua desconocidavaivótic" +
+ "ovunjowalserwolaytawaraywashowarlpirichino wukalmyksogayaoyapésyangbenye" +
+ "mbacantonészapotecosímbolos Blisszenagatamazight estándar marroquízuñisi" +
+ "n contenido lingüísticozazakiárabe estándar modernoalemán austríacoalto " +
+ "alemán suizoinglés australianoinglés canadienseinglés británicoinglés es" +
+ "tadounidenseespañol latinoamericanoespañol de Españaespañol de Méxicofra" +
+ "ncés canadiensefrancés suizobajo sajónflamencoportugués de Brasilportugu" +
+ "és de Portugalmoldavoserbocroatasuajili del Congochino simplificadochin" +
+ "o tradicional"
var esLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -17468,15 +17473,15 @@ var esLangIdx = []uint16{ // 613 elements
0x0df9, 0x0df9, 0x0df9, 0x0dfe, 0x0e02, 0x0e08, 0x0e0e, 0x0e14,
0x0e17, 0x0e21, 0x0e21, 0x0e28, 0x0e2f, 0x0e2f, 0x0e37, 0x0e46,
0x0e4f, 0x0e4f, 0x0e55, 0x0e55, 0x0e5f, 0x0e5f, 0x0e66, 0x0e6f,
- 0x0e76, 0x0e7f, 0x0e9a, 0x0ea0, 0x0eaa, 0x0eb1, 0x0eb6, 0x0eb9,
- 0x0eb9, 0x0eb9, 0x0eb9, 0x0eb9, 0x0ec0, 0x0ec0, 0x0ec5, 0x0ecb,
- 0x0ed2, 0x0ed7, 0x0edc, 0x0ee4, 0x0eec, 0x0ef2, 0x0ef2, 0x0ef6,
+ 0x0e76, 0x0e7f, 0x0e9a, 0x0ea0, 0x0eaa, 0x0eb1, 0x0ec3, 0x0ec6,
+ 0x0ec6, 0x0ec6, 0x0ec6, 0x0ec6, 0x0ecd, 0x0ecd, 0x0ed2, 0x0ed8,
+ 0x0edf, 0x0ee4, 0x0ee9, 0x0ef1, 0x0ef9, 0x0eff, 0x0eff, 0x0f03,
// Entry 240 - 27F
- 0x0ef9, 0x0eff, 0x0f06, 0x0f0b, 0x0f0b, 0x0f14, 0x0f1c, 0x0f2b,
- 0x0f2b, 0x0f31, 0x0f4e, 0x0f53, 0x0f6e, 0x0f74, 0x0f8c, 0x0f8c,
- 0x0f9e, 0x0fb0, 0x0fc3, 0x0fd5, 0x0fe7, 0x0ffd, 0x1015, 0x1028,
- 0x103b, 0x103b, 0x104e, 0x105c, 0x1067, 0x106f, 0x1083, 0x1099,
- 0x10a0, 0x10ab, 0x10bc, 0x10ce, 0x10df,
+ 0x0f06, 0x0f0c, 0x0f13, 0x0f18, 0x0f18, 0x0f21, 0x0f29, 0x0f38,
+ 0x0f38, 0x0f3e, 0x0f5b, 0x0f60, 0x0f7b, 0x0f81, 0x0f99, 0x0f99,
+ 0x0fab, 0x0fbd, 0x0fd0, 0x0fe2, 0x0ff4, 0x100a, 0x1022, 0x1035,
+ 0x1048, 0x1048, 0x105b, 0x1069, 0x1074, 0x107c, 0x1090, 0x10a6,
+ 0x10ad, 0x10b8, 0x10c9, 0x10db, 0x10ec,
} // Size: 1250 bytes
const es419LangStr string = "" + // Size: 218 bytes
@@ -17574,7 +17579,7 @@ var es419LangIdx = []uint16{ // 611 elements
0x00cb, 0x00cb, 0x00da,
} // Size: 1246 bytes
-const etLangStr string = "" + // Size: 4574 bytes
+const etLangStr string = "" + // Size: 4586 bytes
"afariabhaasiavestaafrikaaniakaniamharaaragoniaraabiaassamiavaariaimaraas" +
"erbaidžaanibaškiirivalgevenebulgaariabislamabambarabengalitiibetibretoon" +
"ibosniakatalaanitšetšeenitšamorrokorsikakriitšehhikirikuslaavitšuvašikõm" +
@@ -17629,14 +17634,14 @@ const etLangStr string = "" + // Size: 4574 bytes
"terfriisisukumasususumerikomoorivanasüüriasüüriasileesiatulutemnetesoter" +
"enotetumitigreetivitokelautsahhiklingonitlingititalõšitamašekitšitongauu" +
"smelaneesiaturojotarokotsakooniatšimšilõunataaditumbukatuvalutaswaqitõva" +
- "tamasiktiudmurdiugaritiumbundurootvaivenetivepsalääneflaamiMaini frangiv" +
- "adjavõruvundžowalserivolaitavaraivašovarlpiriuukalmõkimegrelisogajaojapi" +
- "yangbenijembanjengatukantonisapoteegiBlissi sümbolidzeelandizenagatamasi" +
- "kti (Maroko)sunjimittekeelelinezazaaraabia (tänapäevane)Austria saksaŠve" +
- "itsi ülemsaksaAustraalia ingliseKanada ingliseBriti ingliseAmeerika ingl" +
- "iseLadina-Ameerika hispaaniaEuroopa hispaaniaMehhiko hispaaniaKanada pra" +
- "ntsuseŠveitsi prantsuseHollandi alamsaksaflaamiBrasiilia portugaliEuroop" +
- "a portugalimoldovaserbia-horvaadiKongo suahiili"
+ "tamasiktiudmurdiugaritiumbundumääramata keelvaivenetivepsalääneflaamiMai" +
+ "ni frangivadjavõruvundžowalserivolaitavaraivašovarlpiriuukalmõkimegrelis" +
+ "ogajaojapiyangbenijembanjengatukantonisapoteegiBlissi sümbolidzeelandize" +
+ "nagatamasikti (Maroko)sunjimittekeelelinezazaaraabia (tänapäevane)Austri" +
+ "a saksaŠveitsi ülemsaksaAustraalia ingliseKanada ingliseBriti ingliseAme" +
+ "erika ingliseLadina-Ameerika hispaaniaEuroopa hispaaniaMehhiko hispaania" +
+ "Kanada prantsuseŠveitsi prantsuseHollandi alamsaksaflaamiBrasiilia portu" +
+ "galiEuroopa portugalimoldovaserbia-horvaadiKongo suahiili"
var etLangIdx = []uint16{ // 611 elements
// Entry 0 - 3F
@@ -17717,18 +17722,18 @@ var etLangIdx = []uint16{ // 611 elements
0x0efb, 0x0f03, 0x0f07, 0x0f0c, 0x0f10, 0x0f16, 0x0f1c, 0x0f22,
0x0f26, 0x0f2d, 0x0f33, 0x0f3b, 0x0f43, 0x0f4b, 0x0f54, 0x0f5d,
0x0f6a, 0x0f70, 0x0f76, 0x0f7f, 0x0f87, 0x0f92, 0x0f99, 0x0f9f,
- 0x0fa6, 0x0fab, 0x0fb4, 0x0fbb, 0x0fc2, 0x0fc9, 0x0fcd, 0x0fd0,
- 0x0fd6, 0x0fdb, 0x0fe8, 0x0ff4, 0x0ff9, 0x0ffe, 0x1005, 0x100c,
- 0x1013, 0x1018, 0x101d, 0x1025, 0x1027, 0x102f, 0x1036, 0x103a,
+ 0x0fa6, 0x0fab, 0x0fb4, 0x0fbb, 0x0fc2, 0x0fc9, 0x0fd9, 0x0fdc,
+ 0x0fe2, 0x0fe7, 0x0ff4, 0x1000, 0x1005, 0x100a, 0x1011, 0x1018,
+ 0x101f, 0x1024, 0x1029, 0x1031, 0x1033, 0x103b, 0x1042, 0x1046,
// Entry 240 - 27F
- 0x103d, 0x1041, 0x1049, 0x104e, 0x1056, 0x105d, 0x1066, 0x1076,
- 0x107e, 0x1084, 0x1096, 0x109b, 0x10a9, 0x10ad, 0x10c4, 0x10c4,
- 0x10d1, 0x10e4, 0x10f6, 0x1104, 0x1111, 0x1121, 0x113a, 0x114b,
- 0x115c, 0x115c, 0x116c, 0x117e, 0x1190, 0x1196, 0x11a9, 0x11ba,
- 0x11c1, 0x11d0, 0x11de,
+ 0x1049, 0x104d, 0x1055, 0x105a, 0x1062, 0x1069, 0x1072, 0x1082,
+ 0x108a, 0x1090, 0x10a2, 0x10a7, 0x10b5, 0x10b9, 0x10d0, 0x10d0,
+ 0x10dd, 0x10f0, 0x1102, 0x1110, 0x111d, 0x112d, 0x1146, 0x1157,
+ 0x1168, 0x1168, 0x1178, 0x118a, 0x119c, 0x11a2, 0x11b5, 0x11c6,
+ 0x11cd, 0x11dc, 0x11ea,
} // Size: 1246 bytes
-const faLangStr string = "" + // Size: 7988 bytes
+const faLangStr string = "" + // Size: 8001 bytes
"آفاریآبخازیاوستاییآفریکانسآکانامهریآراگونیعربیآسامیآواریآیماراییترکی آذر" +
"بایجانیباشغیریبلاروسیبلغاریبیسلامابامباراییبنگالیتبتیبرتونبوسنیاییکاتال" +
"انچچنیچاموروییکورسیکریاییچکیاسلاوی کلیساییچوواشیولزیدانمارکیآلمانیدیوهی" +
@@ -17782,13 +17787,13 @@ const faLangStr string = "" + // Size: 7988 bytes
"ریکوموریسریانی کلاسیکسریانیسیلزیاییتمنه\u200cایتسوییترنوتتومیتیگره" +
"\u200cایتیویکلینگونتلین\u200cگیتیتاماشقیتونگایی نیاساتوک\u200cپیسینیتارو" +
"کوییتسیم\u200cشیانیتومبوکاییتووالوییتسواکیتوواییآمازیغی اطلس مرکزیاودمو" +
- "رتیاوگاریتیامبوندوییریشهویاییوتیونجووالسروالاموواراییواشوییوارلپیریقلمو" +
- "قیسوگایییائویییاپییانگبنییمباییکانتونیزاپوتکیزناگاآمازیغی معیار مراکشزو" +
- "نیاییبدون محتوای زبانیزازاییعربی رسمیترکی آذری جنوبیآلمانی اتریشآلمانی " +
- "معیار سوئیسانگلیسی استرالیاانگلیسی کاناداانگلیسی بریتانیاانگلیسی امریکا" +
- "اسپانیایی امریکای لاتیناسپانیایی اروپااسپانیایی مکزیکدریفرانسوی کاناداف" +
- "رانسوی سوئیسساکسونی سفلیفلمنگیپرتغالی برزیلپرتغالی اروپامولداویاییصرب و" +
- " کرواتیسواحیلی کنگوچینی ساده\u200cشدهچینی سنتی"
+ "رتیاوگاریتیامبوندوییزبان نامشخصویاییوتیونجووالسروالاموواراییواشوییوارلپ" +
+ "یریقلموقیسوگایییائویییاپییانگبنییمباییکانتونیزاپوتکیزناگاآمازیغی معیار " +
+ "مراکشزونیاییبدون محتوای زبانیزازاییعربی رسمیترکی آذری جنوبیآلمانی اتریش" +
+ "آلمانی معیار سوئیسانگلیسی استرالیاانگلیسی کاناداانگلیسی بریتانیاانگلیسی" +
+ " امریکااسپانیایی امریکای لاتیناسپانیایی اروپااسپانیایی مکزیکدریفرانسوی ک" +
+ "انادافرانسوی سوئیسساکسونی سفلیفلمنگیپرتغالی برزیلپرتغالی اروپامولداویای" +
+ "یصرب و کرواتیسواحیلی کنگوچینی ساده\u200cشدهچینی سنتی"
var faLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -17869,18 +17874,18 @@ var faLangIdx = []uint16{ // 613 elements
0x1a6d, 0x1a7d, 0x1a7d, 0x1a8c, 0x1a96, 0x1a9e, 0x1aa8, 0x1ab9,
0x1ac1, 0x1ac1, 0x1ac1, 0x1acf, 0x1ae2, 0x1ae2, 0x1af0, 0x1b09,
0x1b1e, 0x1b1e, 0x1b2e, 0x1b2e, 0x1b43, 0x1b43, 0x1b55, 0x1b65,
- 0x1b71, 0x1b7d, 0x1b9f, 0x1baf, 0x1bbf, 0x1bd1, 0x1bd9, 0x1be3,
- 0x1be3, 0x1be3, 0x1be3, 0x1be3, 0x1be9, 0x1be9, 0x1bf1, 0x1bfb,
- 0x1c07, 0x1c13, 0x1c1f, 0x1c2f, 0x1c2f, 0x1c3b, 0x1c3b, 0x1c47,
+ 0x1b71, 0x1b7d, 0x1b9f, 0x1baf, 0x1bbf, 0x1bd1, 0x1be6, 0x1bf0,
+ 0x1bf0, 0x1bf0, 0x1bf0, 0x1bf0, 0x1bf6, 0x1bf6, 0x1bfe, 0x1c08,
+ 0x1c14, 0x1c20, 0x1c2c, 0x1c3c, 0x1c3c, 0x1c48, 0x1c48, 0x1c54,
// Entry 240 - 27F
- 0x1c53, 0x1c5b, 0x1c69, 0x1c75, 0x1c75, 0x1c83, 0x1c91, 0x1c91,
- 0x1c91, 0x1c9b, 0x1cbf, 0x1ccd, 0x1ced, 0x1cf9, 0x1d0a, 0x1d26,
- 0x1d3d, 0x1d5f, 0x1d7e, 0x1d99, 0x1db8, 0x1dd3, 0x1dff, 0x1e1c,
- 0x1e39, 0x1e3f, 0x1e5a, 0x1e73, 0x1e8a, 0x1e96, 0x1eaf, 0x1ec8,
- 0x1edc, 0x1ef2, 0x1f09, 0x1f23, 0x1f34,
+ 0x1c60, 0x1c68, 0x1c76, 0x1c82, 0x1c82, 0x1c90, 0x1c9e, 0x1c9e,
+ 0x1c9e, 0x1ca8, 0x1ccc, 0x1cda, 0x1cfa, 0x1d06, 0x1d17, 0x1d33,
+ 0x1d4a, 0x1d6c, 0x1d8b, 0x1da6, 0x1dc5, 0x1de0, 0x1e0c, 0x1e29,
+ 0x1e46, 0x1e4c, 0x1e67, 0x1e80, 0x1e97, 0x1ea3, 0x1ebc, 0x1ed5,
+ 0x1ee9, 0x1eff, 0x1f16, 0x1f30, 0x1f41,
} // Size: 1250 bytes
-const fiLangStr string = "" + // Size: 4736 bytes
+const fiLangStr string = "" + // Size: 4747 bytes
"afarabhaasiavestaafrikaansakanamharaaragoniaarabiaassamiavaariaimaraazer" +
"ibaškiirivalkovenäjäbulgariabislamabambarabengalitiibetbretonibosniakata" +
"laanitšetšeenitšamorrokorsikacreetšekkikirkkoslaavitšuvassikymritanskasa" +
@@ -17937,15 +17942,15 @@ const fiLangStr string = "" + // Size: 4736 bytes
"soninkesogdisrananserersahosaterlandinfriisisukumasususumerikomorimuinai" +
"ssyyriasyyriasleesiatulutemnetesoterenotetumtigretivtokelautsahuriklingo" +
"ntlingittališitamašekmalawintongatok-pisinturojotarokotsakoniatsimšitati" +
- "tumbukatuvalutasawaqtuvakeskiatlaksentamazightudmurttiugaritmbundujuuriv" +
- "aivenetsiavepsälänsiflaamimaininfrankkivatjavõrovunjowalserwolaittawaray" +
- "washowarlpiriwu-kiinakalmukkimingrelisogajaojapiyangbenyembañeengatúkant" +
- "oninkiinazapoteekkiblisskieliseelantizenagavakioitu tamazightzuniei kiel" +
- "ellistä sisältöäzazayleisarabiaitävallansaksasveitsinyläsaksaaustraliane" +
- "nglantikanadanenglantibritannianenglantiamerikanenglantiamerikanespanjae" +
- "uroopanespanjameksikonespanjakanadanranskasveitsinranskaalankomaidenalas" +
- "aksaflaamibrasilianportugalieuroopanportugalimoldovaserbokroaattikingwan" +
- "ayksinkertaistettu kiinaperinteinen kiina"
+ "tumbukatuvalutasawaqtuvakeskiatlaksentamazightudmurttiugaritmbundutuntem" +
+ "aton kielivaivenetsiavepsälänsiflaamimaininfrankkivatjavõrovunjowalserwo" +
+ "laittawaraywashowarlpiriwu-kiinakalmukkimingrelisogajaojapiyangbenyembañ" +
+ "eengatúkantoninkiinazapoteekkiblisskieliseelantizenagavakioitu tamazight" +
+ "zuniei kielellistä sisältöäzazayleisarabiaitävallansaksasveitsinyläsaksa" +
+ "australianenglantikanadanenglantibritannianenglantiamerikanenglantiameri" +
+ "kanespanjaeuroopanespanjameksikonespanjakanadanranskasveitsinranskaalank" +
+ "omaidenalasaksaflaamibrasilianportugalieuroopanportugalimoldovaserbokroa" +
+ "attikingwanayksinkertaistettu kiinaperinteinen kiina"
var fiLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -18026,18 +18031,18 @@ var fiLangIdx = []uint16{ // 613 elements
0x0f86, 0x0f8d, 0x0f91, 0x0f96, 0x0f9a, 0x0fa0, 0x0fa5, 0x0faa,
0x0fad, 0x0fb4, 0x0fbb, 0x0fc2, 0x0fc9, 0x0fd0, 0x0fd8, 0x0fe4,
0x0fed, 0x0ff3, 0x0ff9, 0x1001, 0x1008, 0x100c, 0x1013, 0x1019,
- 0x1020, 0x1024, 0x103a, 0x1042, 0x1048, 0x104e, 0x1053, 0x1056,
- 0x105e, 0x1064, 0x1070, 0x107d, 0x1082, 0x1087, 0x108c, 0x1092,
- 0x109a, 0x109f, 0x10a4, 0x10ac, 0x10b4, 0x10bc, 0x10c4, 0x10c8,
+ 0x1020, 0x1024, 0x103a, 0x1042, 0x1048, 0x104e, 0x105e, 0x1061,
+ 0x1069, 0x106f, 0x107b, 0x1088, 0x108d, 0x1092, 0x1097, 0x109d,
+ 0x10a5, 0x10aa, 0x10af, 0x10b7, 0x10bf, 0x10c7, 0x10cf, 0x10d3,
// Entry 240 - 27F
- 0x10cb, 0x10cf, 0x10d6, 0x10db, 0x10e5, 0x10f2, 0x10fc, 0x1106,
- 0x110e, 0x1114, 0x1126, 0x112a, 0x1145, 0x1149, 0x1154, 0x1154,
- 0x1163, 0x1174, 0x1186, 0x1195, 0x11a7, 0x11b7, 0x11c6, 0x11d5,
- 0x11e4, 0x11e4, 0x11f1, 0x11ff, 0x1213, 0x1219, 0x122b, 0x123c,
- 0x1243, 0x1250, 0x1258, 0x126f, 0x1280,
+ 0x10d6, 0x10da, 0x10e1, 0x10e6, 0x10f0, 0x10fd, 0x1107, 0x1111,
+ 0x1119, 0x111f, 0x1131, 0x1135, 0x1150, 0x1154, 0x115f, 0x115f,
+ 0x116e, 0x117f, 0x1191, 0x11a0, 0x11b2, 0x11c2, 0x11d1, 0x11e0,
+ 0x11ef, 0x11ef, 0x11fc, 0x120a, 0x121e, 0x1224, 0x1236, 0x1247,
+ 0x124e, 0x125b, 0x1263, 0x127a, 0x128b,
} // Size: 1250 bytes
-const filLangStr string = "" + // Size: 3132 bytes
+const filLangStr string = "" + // Size: 3147 bytes
"AfarAbkhazianAfrikaansAkanAmharicAragoneseArabicAssameseAvaricAymaraAzer" +
"baijaniBashkirBelarusianBulgarianBislamaBambaraBanglaTibetanBretonBosnia" +
"nCatalanChechenChamorroCorsicanCzechChurch SlavicChuvashWelshDanishGerma" +
@@ -18074,14 +18079,14 @@ const filLangStr string = "" + // Size: 3132 bytes
"nguSicilianScotsKatimugang KurdishSenaKoyraboro SenniTachelhitShanKatimu" +
"gang SamiLule SamiInari SamiSkolt SamiSoninkeSranan TongoSahoSukumaComor" +
"ianSyriacTimneTesoTetumTigreKlingonTok PisinTarokoTumbukaTuvaluTasawaqTu" +
- "vinianCentral Atlas TamazightUdmurtUmbunduRootVaiVunjoWalserWolayttaWara" +
- "yWarlpiriKalmykSogaYangbenYembaCantoneseStandard Moroccan TamazightZuniW" +
- "alang nilalaman na ukol sa wikaZazaModernong Karaniwang ArabicAustrian G" +
- "ermanSwiss High GermanIngles ng AustralyaIngles sa CanadaIngles na Briti" +
- "shIngles na AmericanLatin American na EspanyolEuropean SpanishMexican na" +
- " EspanyolFrench sa CanadaSwiss na FrenchLow SaxonFlemishPortuges ng Bras" +
- "ilEuropean PortugueseMoldavianSerbo-CroatianCongo SwahiliPinasimpleng Ch" +
- "ineseTradisyonal na Chinese"
+ "vinianCentral Atlas TamazightUdmurtUmbunduHindi Kilalang WikaVaiVunjoWal" +
+ "serWolayttaWarayWarlpiriKalmykSogaYangbenYembaCantoneseStandard Moroccan" +
+ " TamazightZuniWalang nilalaman na ukol sa wikaZazaModernong Karaniwang A" +
+ "rabicAustrian GermanSwiss High GermanIngles ng AustralyaIngles sa Canada" +
+ "Ingles na BritishIngles na AmericanLatin American na EspanyolEuropean Sp" +
+ "anishMexican na EspanyolFrench sa CanadaSwiss na FrenchLow SaxonFlemishP" +
+ "ortuges ng BrasilEuropean PortugueseMoldavianSerbo-CroatianCongo Swahili" +
+ "Pinasimpleng ChineseTradisyonal na Chinese"
var filLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -18162,18 +18167,18 @@ var filLangIdx = []uint16{ // 613 elements
0x09ea, 0x09ea, 0x09ea, 0x09ef, 0x09f3, 0x09f3, 0x09f8, 0x09fd,
0x09fd, 0x09fd, 0x09fd, 0x0a04, 0x0a04, 0x0a04, 0x0a04, 0x0a04,
0x0a0d, 0x0a0d, 0x0a13, 0x0a13, 0x0a13, 0x0a13, 0x0a1a, 0x0a20,
- 0x0a27, 0x0a2f, 0x0a46, 0x0a4c, 0x0a4c, 0x0a53, 0x0a57, 0x0a5a,
- 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5f, 0x0a65,
- 0x0a6d, 0x0a72, 0x0a72, 0x0a7a, 0x0a7a, 0x0a80, 0x0a80, 0x0a84,
+ 0x0a27, 0x0a2f, 0x0a46, 0x0a4c, 0x0a4c, 0x0a53, 0x0a66, 0x0a69,
+ 0x0a69, 0x0a69, 0x0a69, 0x0a69, 0x0a69, 0x0a69, 0x0a6e, 0x0a74,
+ 0x0a7c, 0x0a81, 0x0a81, 0x0a89, 0x0a89, 0x0a8f, 0x0a8f, 0x0a93,
// Entry 240 - 27F
- 0x0a84, 0x0a84, 0x0a8b, 0x0a90, 0x0a90, 0x0a99, 0x0a99, 0x0a99,
- 0x0a99, 0x0a99, 0x0ab4, 0x0ab8, 0x0ad8, 0x0adc, 0x0af7, 0x0af7,
- 0x0b06, 0x0b17, 0x0b2a, 0x0b3a, 0x0b4b, 0x0b5d, 0x0b77, 0x0b87,
- 0x0b9a, 0x0b9a, 0x0baa, 0x0bb9, 0x0bc2, 0x0bc9, 0x0bdb, 0x0bee,
- 0x0bf7, 0x0c05, 0x0c12, 0x0c26, 0x0c3c,
+ 0x0a93, 0x0a93, 0x0a9a, 0x0a9f, 0x0a9f, 0x0aa8, 0x0aa8, 0x0aa8,
+ 0x0aa8, 0x0aa8, 0x0ac3, 0x0ac7, 0x0ae7, 0x0aeb, 0x0b06, 0x0b06,
+ 0x0b15, 0x0b26, 0x0b39, 0x0b49, 0x0b5a, 0x0b6c, 0x0b86, 0x0b96,
+ 0x0ba9, 0x0ba9, 0x0bb9, 0x0bc8, 0x0bd1, 0x0bd8, 0x0bea, 0x0bfd,
+ 0x0c06, 0x0c14, 0x0c21, 0x0c35, 0x0c4b,
} // Size: 1250 bytes
-const frLangStr string = "" + // Size: 5136 bytes
+const frLangStr string = "" + // Size: 5151 bytes
"afarabkhazeavestiqueafrikaansakanamhariquearagonaisarabeassamaisavarayma" +
"raazéribachkirbiélorussebulgarebichelamarbambarabengalitibétainbretonbos" +
"niaquecatalantchétchènechamorrocorsecreetchèqueslavon d’églisetchouvache" +
@@ -18235,15 +18240,15 @@ const frLangStr string = "" + // Size: 5136 bytes
"syriaque classiquesyriaquesilésientouloutemnetesoterenotetumtigrétivtoke" +
"lautsakhourklingontlingittalyshtamacheqtonga nyasatok pisintouroyotaroko" +
"tsakonientsimshiantati caucasientoumboukatuvalutasawaqtouvatamazight du " +
- "Maroc centraloudmourteougaritiqueoumboundouracinevaïvénitienvepseflamand" +
- " occidentalfranconien du Mainvotevõrovunjowalserwalamowaraywashowarlpiri" +
- "wukalmoukmingréliensogayaoyapoisyangbenyembanheengatoucantonaiszapotèque" +
- "symboles Blisszélandaiszenagaamazighe standard marocainzuñisans contenu " +
- "linguistiquezazakiarabe standard moderneallemand autrichienallemand suis" +
- "seanglais australienanglais canadienanglais britanniqueanglais américain" +
- "français canadienfrançais suissebas-saxon néerlandaisflamandportugais br" +
- "ésilienportugais européenmoldaveserbo-croateswahili du Congochinois sim" +
- "plifiéchinois traditionnel"
+ "Maroc centraloudmourteougaritiqueoumboundoulangue indéterminéevaïvénitie" +
+ "nvepseflamand occidentalfranconien du Mainvotevõrovunjowalserwalamowaray" +
+ "washowarlpiriwukalmoukmingréliensogayaoyapoisyangbenyembanheengatoucanto" +
+ "naiszapotèquesymboles Blisszélandaiszenagaamazighe standard marocainzuñi" +
+ "sans contenu linguistiquezazakiarabe standard moderneallemand autrichien" +
+ "allemand suisseanglais australienanglais canadienanglais britanniqueangl" +
+ "ais américainfrançais canadienfrançais suissebas-saxon néerlandaisflaman" +
+ "dportugais brésilienportugais européenmoldaveserbo-croateswahili du Cong" +
+ "ochinois simplifiéchinois traditionnel"
var frLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -18324,15 +18329,15 @@ var frLangIdx = []uint16{ // 613 elements
0x10e9, 0x10f2, 0x10f8, 0x10fd, 0x1101, 0x1107, 0x110c, 0x1112,
0x1115, 0x111c, 0x1124, 0x112b, 0x1132, 0x1138, 0x1140, 0x114b,
0x1154, 0x115b, 0x1161, 0x116a, 0x1173, 0x1181, 0x118a, 0x1190,
- 0x1197, 0x119c, 0x11b6, 0x11bf, 0x11ca, 0x11d4, 0x11da, 0x11de,
- 0x11e7, 0x11ec, 0x11fe, 0x1210, 0x1214, 0x1219, 0x121e, 0x1224,
- 0x122a, 0x122f, 0x1234, 0x123c, 0x123e, 0x1245, 0x1250, 0x1254,
+ 0x1197, 0x119c, 0x11b6, 0x11bf, 0x11ca, 0x11d4, 0x11e9, 0x11ed,
+ 0x11f6, 0x11fb, 0x120d, 0x121f, 0x1223, 0x1228, 0x122d, 0x1233,
+ 0x1239, 0x123e, 0x1243, 0x124b, 0x124d, 0x1254, 0x125f, 0x1263,
// Entry 240 - 27F
- 0x1257, 0x125d, 0x1264, 0x1269, 0x1273, 0x127c, 0x1286, 0x1294,
- 0x129e, 0x12a4, 0x12be, 0x12c3, 0x12dc, 0x12e2, 0x12f8, 0x12f8,
- 0x130b, 0x131a, 0x132c, 0x133c, 0x134f, 0x1361, 0x1361, 0x1361,
- 0x1361, 0x1361, 0x1373, 0x1383, 0x1399, 0x13a0, 0x13b4, 0x13c7,
- 0x13ce, 0x13da, 0x13ea, 0x13fc, 0x1410,
+ 0x1266, 0x126c, 0x1273, 0x1278, 0x1282, 0x128b, 0x1295, 0x12a3,
+ 0x12ad, 0x12b3, 0x12cd, 0x12d2, 0x12eb, 0x12f1, 0x1307, 0x1307,
+ 0x131a, 0x1329, 0x133b, 0x134b, 0x135e, 0x1370, 0x1370, 0x1370,
+ 0x1370, 0x1370, 0x1382, 0x1392, 0x13a8, 0x13af, 0x13c3, 0x13d6,
+ 0x13dd, 0x13e9, 0x13f9, 0x140b, 0x141f,
} // Size: 1250 bytes
const frCALangStr string = "" + // Size: 529 bytes
@@ -18435,7 +18440,7 @@ var frCALangIdx = []uint16{ // 611 elements
0x0200, 0x0200, 0x0211,
} // Size: 1246 bytes
-const guLangStr string = "" + // Size: 11776 bytes
+const guLangStr string = "" + // Size: 11798 bytes
"અફારઅબખાજિયનઅવેસ્તનઆફ્રિકન્સઅકાનએમ્હારિકઅર્ગોનીઝઅરબીઆસામીઅવેરિકઆયમારાઅઝર" +
"બૈજાનીબશ્કીરબેલારુશિયનબલ્ગેરિયનબિસ્લામાબામ્બારાબંગાળીતિબેટીયનબ્રેટોનબો" +
"સ્નિયનકતલાનચેચનકેમોરોકોર્સિકનક્રીચેકચર્ચ સ્લાવિકચૂવાશવેલ્શડેનિશજર્મનદિ" +
@@ -18485,15 +18490,15 @@ const guLangStr string = "" + // Size: 11776 bytes
"્કેસોગ્ડિએનસ્રાનન ટોન્ગોસેરેરસાહોસુકુમાસુસુસુમેરિયનકોમોરિયનપરંપરાગત સિ" +
"રિએકસિરિએકતુલુટિમ્નેતેસોતેરેનોતેતુમટાઇગ્રેતિવતોકેલાઉક્લિન્ગોનક્લીન્ગકિ" +
"ટતામાશેખન્યાસા ટોન્ગાટોક પિસિનટારોકોસિમ્શિયનમુસ્લિમ તાટતુમ્બુકાતુવાલુત" +
- "સાવાકટુવીનિયનસેન્ટ્રલ ઍટ્લસ તામાઝિગ્ટઉદમુર્તયુગેરિટિકઉમ્બુન્ડૂરૂટવાઇવો" +
- "ટિકવુન્જોવેલ્સેરવોલાયટ્ટાવારેયવાશોવાર્લ્પીરીwuuકાલ્મિકસોગાયાઓયાપીસયાન્" +
- "ગબેનયેમ્બાકેંટોનીઝઝેપોટેકબ્લિસિમ્બોલ્સઝેનાગાપ્રમાણભૂત મોરોક્કન તામાઝિગ" +
- "્ટઝૂનીકોઇ ભાષાશાસ્ત્રીય સામગ્રી નથીઝાઝામોડર્ન સ્ટાન્ડર્ડ અરબીઓસ્ટ્રિઅન" +
- " જર્મનસ્વિસ હાય જર્મનઓસ્ટ્રેલિયન અંગ્રેજીકેનેડિયન અંગ્રેજીબ્રિટિશ અંગ્રે" +
- "જીઅમેરિકન અંગ્રેજીલેટિન અમેરિકન સ્પેનિશયુરોપિયન સ્પેનિશમેક્સિકન સ્પેનિ" +
- "શકેનેડિયન ફ્રેંચસ્વિસ ફ્રેંચલો સેક્સોનફ્લેમિશબ્રાઝિલીયન પોર્ટુગીઝયુરોપ" +
- "િયન પોર્ટુગીઝમોલડાવિયનસર્બો-ક્રોએશિયનકોંગો સ્વાહિલીસરળીકૃત ચાઇનીઝપારંપ" +
- "રિક ચાઇનીઝ"
+ "સાવાકટુવીનિયનસેન્ટ્રલ ઍટ્લસ તામાઝિગ્ટઉદમુર્તયુગેરિટિકઉમ્બુન્ડૂઅજ્ઞાત ભ" +
+ "ાષાવાઇવોટિકવુન્જોવેલ્સેરવોલાયટ્ટાવારેયવાશોવાર્લ્પીરીwuuકાલ્મિકસોગાયાઓય" +
+ "ાપીસયાન્ગબેનયેમ્બાકેંટોનીઝઝેપોટેકબ્લિસિમ્બોલ્સઝેનાગાપ્રમાણભૂત મોરોક્કન" +
+ " તામાઝિગ્ટઝૂનીકોઇ ભાષાશાસ્ત્રીય સામગ્રી નથીઝાઝામોડર્ન સ્ટાન્ડર્ડ અરબીઓસ્" +
+ "ટ્રિઅન જર્મનસ્વિસ હાય જર્મનઓસ્ટ્રેલિયન અંગ્રેજીકેનેડિયન અંગ્રેજીબ્રિટિ" +
+ "શ અંગ્રેજીઅમેરિકન અંગ્રેજીલેટિન અમેરિકન સ્પેનિશયુરોપિયન સ્પેનિશમેક્સિક" +
+ "ન સ્પેનિશકેનેડિયન ફ્રેંચસ્વિસ ફ્રેંચલો સેક્સોનફ્લેમિશબ્રાઝિલીયન પોર્ટુ" +
+ "ગીઝયુરોપિયન પોર્ટુગીઝમોલડાવિયનસર્બો-ક્રોએશિયનકોંગો સ્વાહિલીસરળીકૃત ચાઇ" +
+ "નીઝપારંપરિક ચાઇનીઝ"
var guLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -18574,18 +18579,18 @@ var guLangIdx = []uint16{ // 613 elements
0x260c, 0x260c, 0x2618, 0x262a, 0x2636, 0x2648, 0x2657, 0x266c,
0x2675, 0x268a, 0x268a, 0x26a5, 0x26c3, 0x26c3, 0x26d8, 0x26fd,
0x2716, 0x2716, 0x2728, 0x2728, 0x2740, 0x275f, 0x2777, 0x2789,
- 0x279b, 0x27b3, 0x27f7, 0x280c, 0x2827, 0x2842, 0x284b, 0x2854,
- 0x2854, 0x2854, 0x2854, 0x2854, 0x2863, 0x2863, 0x2875, 0x288a,
- 0x28a5, 0x28b4, 0x28c0, 0x28de, 0x28e1, 0x28f6, 0x28f6, 0x2902,
+ 0x279b, 0x27b3, 0x27f7, 0x280c, 0x2827, 0x2842, 0x2861, 0x286a,
+ 0x286a, 0x286a, 0x286a, 0x286a, 0x2879, 0x2879, 0x288b, 0x28a0,
+ 0x28bb, 0x28ca, 0x28d6, 0x28f4, 0x28f7, 0x290c, 0x290c, 0x2918,
// Entry 240 - 27F
- 0x290b, 0x291a, 0x2932, 0x2944, 0x2944, 0x295c, 0x2971, 0x2998,
- 0x2998, 0x29aa, 0x29fa, 0x2a06, 0x2a57, 0x2a63, 0x2aa1, 0x2aa1,
- 0x2acc, 0x2af5, 0x2b2f, 0x2b60, 0x2b8e, 0x2bbc, 0x2bf7, 0x2c25,
- 0x2c53, 0x2c53, 0x2c7e, 0x2ca0, 0x2cbc, 0x2cd1, 0x2d0b, 0x2d3f,
- 0x2d5a, 0x2d85, 0x2dad, 0x2dd5, 0x2e00,
+ 0x2921, 0x2930, 0x2948, 0x295a, 0x295a, 0x2972, 0x2987, 0x29ae,
+ 0x29ae, 0x29c0, 0x2a10, 0x2a1c, 0x2a6d, 0x2a79, 0x2ab7, 0x2ab7,
+ 0x2ae2, 0x2b0b, 0x2b45, 0x2b76, 0x2ba4, 0x2bd2, 0x2c0d, 0x2c3b,
+ 0x2c69, 0x2c69, 0x2c94, 0x2cb6, 0x2cd2, 0x2ce7, 0x2d21, 0x2d55,
+ 0x2d70, 0x2d9b, 0x2dc3, 0x2deb, 0x2e16,
} // Size: 1250 bytes
-const heLangStr string = "" + // Size: 7096 bytes
+const heLangStr string = "" + // Size: 7112 bytes
"אפאריתאבחזיתאבסטןאפריקאנסאקאןאמהריתאראגוניתערביתאסאמיתאבאריתאיימאריתאזרי" +
"תבשקיריתבלארוסיתבולגריתביסלמהבמבארהבנגליתטיבטיתברטוניתבוסניתקטלאניתצ׳צ׳" +
"ניתצ׳מורוקורסיקניתקריצ׳כיתסלאבית כנסייתית עתיקהצ׳ובאשוולשיתדניתגרמניתדי" +
@@ -18632,11 +18637,11 @@ const heLangStr string = "" + // Size: 7096 bytes
"אדיתסידאמוסאמי דרומיתלולה סאמיאינארי סאמיסקולט סאמיסונינקהסוגדיאןסרנאן " +
"טונגוסררסאהוסוקומהסוסושומריתסירית קלאסיתסוריתטימנהטסוטרנוטטוםטיגריתטיבט" +
"וקלאוקלינגוןטלינגיטטמאשקניאסה טונגהטוק פיסיןטרוקוטסימשיאןטומבוקהטובאלוט" +
- "סוואקטוביניתטמזייט של מרכז מרוקואודמורטאוגריתיתאומבונדורוטוואיווטיקוונג" +
- "׳ווואלסרווליאטהווראיוואשווורלפיריסינית ווקלמיקיתסוגהיאויאפזיתיאנגבןימבה" +
- "קנטונזיתזאפוטקבליסימבולסזנאגהתמזיע׳ת מרוקאית תקניתזוניללא תוכן לשוניזאז" +
- "אערבית ספרותיתגרמנית (שוויץ)אנגלית (בריטניה)צרפתית (שוויץ)סקסונית תחתית" +
- "פלמיתמולדביתסרבו-קרואטיתסווהילי קונגוסינית פשוטהסינית מסורתית"
+ "סוואקטוביניתטמזייט של מרכז מרוקואודמורטאוגריתיתאומבונדושפה לא ידועהוואי" +
+ "ווטיקוונג׳ווואלסרווליאטהווראיוואשווורלפיריסינית ווקלמיקיתסוגהיאויאפזיתי" +
+ "אנגבןימבהקנטונזיתזאפוטקבליסימבולסזנאגהתמזיע׳ת מרוקאית תקניתזוניללא תוכן" +
+ " לשוניזאזאערבית ספרותיתגרמנית (שוויץ)אנגלית (בריטניה)צרפתית (שוויץ)סקסונ" +
+ "ית תחתיתפלמיתמולדביתסרבו-קרואטיתסווהילי קונגוסינית פשוטהסינית מסורתית"
var heLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -18717,18 +18722,18 @@ var heLangIdx = []uint16{ // 613 elements
0x185d, 0x185d, 0x185d, 0x1867, 0x186d, 0x1875, 0x187d, 0x1889,
0x188f, 0x189b, 0x189b, 0x18a9, 0x18b7, 0x18b7, 0x18c1, 0x18d6,
0x18e7, 0x18e7, 0x18f1, 0x18f1, 0x1901, 0x1901, 0x190f, 0x191b,
- 0x1927, 0x1935, 0x195a, 0x1968, 0x1978, 0x1988, 0x198e, 0x1996,
- 0x1996, 0x1996, 0x1996, 0x1996, 0x19a0, 0x19a0, 0x19ac, 0x19b8,
- 0x19c6, 0x19d0, 0x19da, 0x19ea, 0x19f9, 0x1a07, 0x1a07, 0x1a0f,
+ 0x1927, 0x1935, 0x195a, 0x1968, 0x1978, 0x1988, 0x199e, 0x19a6,
+ 0x19a6, 0x19a6, 0x19a6, 0x19a6, 0x19b0, 0x19b0, 0x19bc, 0x19c8,
+ 0x19d6, 0x19e0, 0x19ea, 0x19fa, 0x1a09, 0x1a17, 0x1a17, 0x1a1f,
// Entry 240 - 27F
- 0x1a15, 0x1a21, 0x1a2d, 0x1a35, 0x1a35, 0x1a45, 0x1a51, 0x1a65,
- 0x1a65, 0x1a6f, 0x1a97, 0x1a9f, 0x1ab9, 0x1ac1, 0x1ada, 0x1ada,
- 0x1ada, 0x1af3, 0x1af3, 0x1af3, 0x1b10, 0x1b10, 0x1b10, 0x1b10,
- 0x1b10, 0x1b10, 0x1b10, 0x1b29, 0x1b42, 0x1b4c, 0x1b4c, 0x1b4c,
- 0x1b5a, 0x1b71, 0x1b8a, 0x1b9f, 0x1bb8,
+ 0x1a25, 0x1a31, 0x1a3d, 0x1a45, 0x1a45, 0x1a55, 0x1a61, 0x1a75,
+ 0x1a75, 0x1a7f, 0x1aa7, 0x1aaf, 0x1ac9, 0x1ad1, 0x1aea, 0x1aea,
+ 0x1aea, 0x1b03, 0x1b03, 0x1b03, 0x1b20, 0x1b20, 0x1b20, 0x1b20,
+ 0x1b20, 0x1b20, 0x1b20, 0x1b39, 0x1b52, 0x1b5c, 0x1b5c, 0x1b5c,
+ 0x1b6a, 0x1b81, 0x1b9a, 0x1baf, 0x1bc8,
} // Size: 1250 bytes
-const hiLangStr string = "" + // Size: 11573 bytes
+const hiLangStr string = "" + // Size: 11595 bytes
"अफ़ारअब्ख़ाज़ियनअवस्ताईअफ़्रीकीअकनअम्हेरीअर्गोनीअरबीअसमियाअवेरिकआयमाराअज" +
"़रबैजानीबशख़िरबेलारूसीबुल्गारियाईबिस्लामाबाम्बाराबंगालीतिब्बतीब्रेटनबो" +
"स्नियाईकातालानचेचनकमोरोकोर्सीकनक्रीचेकचर्च साल्विकचूवाशवेल्शडेनिशजर्मन" +
@@ -18777,14 +18782,14 @@ const hiLangStr string = "" + // Size: 11573 bytes
"नारी सामीस्कोल्ट सामीसोनिन्केसोग्डिएनस्रानान टॉन्गोसेरेरसाहोसुकुमासुसु" +
"सुमेरियनकोमोरियनक्लासिकल सिरिएकसिरिएकटिम्नेटेसोतेरेनोतेतुमटाइग्रेतिवतो" +
"केलाऊक्लिंगनत्लिंगिततामाशेकन्यासा टोन्गाटोक पिसिनतारोकोत्सिमीशियनतम्बू" +
- "कातुवालुटासवाकतुवीनियनमध्य एटलस तमाज़ितउदमुर्तयुगैरिटिकउम्बुन्डुरूटवाई" +
- "वॉटिकवुंजोवाल्सरवलामोवारैवाशोवॉल्पेरीकाल्मिकसोगायाओयापीसयांगबेनयेंबाकै" +
- "ंटोनीज़ज़ेपोटेकब्लिसिम्बॉल्सज़ेनान्गामानक मोरक्कन तामाज़ाइटज़ूनीकोई भा" +
- "षा सामग्री नहींज़ाज़ाआधुनिक मानक अरबीऑस्ट्रियाई जर्मनस्विस उच्च जर्मनऑ" +
- "स्ट्रेलियाई अंग्रेज़ीकनाडाई अंग्रेज़ीब्रिटिश अंग्रेज़ीअमेरिकी अंग्रेज़" +
- "ीलैटिन अमेरिकी स्पेनिशयूरोपीय स्पेनिशमैक्सिकन स्पेनिशकनाडाई फ़्रेंचस्व" +
- "िस फ़्रेंचनिचली सैक्सनफ़्लेमिशब्राज़ीली पुर्तगालीयूरोपीय पुर्तगालीमोलड" +
- "ावियनसेर्बो-क्रोएशियाईकांगो स्वाहिलीसरलीकृत चीनीपारंपरिक चीनी"
+ "कातुवालुटासवाकतुवीनियनमध्य एटलस तमाज़ितउदमुर्तयुगैरिटिकउम्बुन्डुअज्ञात" +
+ " भाषावाईवॉटिकवुंजोवाल्सरवलामोवारैवाशोवॉल्पेरीकाल्मिकसोगायाओयापीसयांगबेनय" +
+ "ेंबाकैंटोनीज़ज़ेपोटेकब्लिसिम्बॉल्सज़ेनान्गामानक मोरक्कन तामाज़ाइटज़ूनी" +
+ "कोई भाषा सामग्री नहींज़ाज़ाआधुनिक मानक अरबीऑस्ट्रियाई जर्मनस्विस उच्च " +
+ "जर्मनऑस्ट्रेलियाई अंग्रेज़ीकनाडाई अंग्रेज़ीब्रिटिश अंग्रेज़ीअमेरिकी अं" +
+ "ग्रेज़ीलैटिन अमेरिकी स्पेनिशयूरोपीय स्पेनिशमैक्सिकन स्पेनिशकनाडाई फ़्र" +
+ "ेंचस्विस फ़्रेंचनिचली सैक्सनफ़्लेमिशब्राज़ीली पुर्तगालीयूरोपीय पुर्तगा" +
+ "लीमोलडावियनसेर्बो-क्रोएशियाईकांगो स्वाहिलीसरलीकृत चीनीपारंपरिक चीनी"
var hiLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -18865,18 +18870,18 @@ var hiLangIdx = []uint16{ // 613 elements
0x25c9, 0x25c9, 0x25c9, 0x25db, 0x25e7, 0x25f9, 0x2608, 0x261d,
0x2626, 0x263b, 0x263b, 0x2650, 0x2668, 0x2668, 0x267d, 0x26a2,
0x26bb, 0x26bb, 0x26cd, 0x26cd, 0x26eb, 0x26eb, 0x2700, 0x2712,
- 0x2724, 0x273c, 0x276b, 0x2780, 0x279b, 0x27b6, 0x27bf, 0x27c8,
- 0x27c8, 0x27c8, 0x27c8, 0x27c8, 0x27d7, 0x27d7, 0x27e6, 0x27f8,
- 0x2807, 0x2813, 0x281f, 0x2837, 0x2837, 0x284c, 0x284c, 0x2858,
+ 0x2724, 0x273c, 0x276b, 0x2780, 0x279b, 0x27b6, 0x27d5, 0x27de,
+ 0x27de, 0x27de, 0x27de, 0x27de, 0x27ed, 0x27ed, 0x27fc, 0x280e,
+ 0x281d, 0x2829, 0x2835, 0x284d, 0x284d, 0x2862, 0x2862, 0x286e,
// Entry 240 - 27F
- 0x2861, 0x2870, 0x2885, 0x2894, 0x2894, 0x28af, 0x28c7, 0x28ee,
- 0x28ee, 0x2909, 0x2947, 0x2956, 0x298f, 0x29a1, 0x29cd, 0x29cd,
- 0x29fb, 0x2a27, 0x2a67, 0x2a95, 0x2ac6, 0x2af7, 0x2b32, 0x2b5d,
- 0x2b8b, 0x2b8b, 0x2bb3, 0x2bd8, 0x2bfa, 0x2c12, 0x2c49, 0x2c7a,
- 0x2c95, 0x2cc6, 0x2cee, 0x2d10, 0x2d35,
+ 0x2877, 0x2886, 0x289b, 0x28aa, 0x28aa, 0x28c5, 0x28dd, 0x2904,
+ 0x2904, 0x291f, 0x295d, 0x296c, 0x29a5, 0x29b7, 0x29e3, 0x29e3,
+ 0x2a11, 0x2a3d, 0x2a7d, 0x2aab, 0x2adc, 0x2b0d, 0x2b48, 0x2b73,
+ 0x2ba1, 0x2ba1, 0x2bc9, 0x2bee, 0x2c10, 0x2c28, 0x2c5f, 0x2c90,
+ 0x2cab, 0x2cdc, 0x2d04, 0x2d26, 0x2d4b,
} // Size: 1250 bytes
-const hrLangStr string = "" + // Size: 4630 bytes
+const hrLangStr string = "" + // Size: 4635 bytes
"afarskiabhaskiavestičkiafrikaansakanskiamharskiaragonskiarapskiasamskiav" +
"arskiajmarskiazerbajdžanskibaškirskibjeloruskibugarskibislamabambarabang" +
"latibetskibretonskibosanskikatalonskičečenskichamorrokorzičkicreečeškicr" +
@@ -18931,15 +18936,15 @@ const hrLangStr string = "" + // Size: 4630 bytes
"kumasususumerskikomorskiklasični sirskisirijskitemnetesoterenotetumtigri" +
"škitivtokelaunskiklingonskitlingittamašečkinyasa tongatok pisintarokots" +
"imshiantumbukatuvaluanskitasawaqtuvinskitamašek (Srednji Atlas)udmurtski" +
- "ugaritskiumbundukorijenskivaivotskivunjowalserskiwalamowaraywashowarlpir" +
- "iwu kineskikalmyksogayaojapskiyangbenyembakantonskizapotečkiBlissovi sim" +
- "bolizenagastandardni marokanski tamašekzunibez jezičnog sadržajazazakimo" +
- "derni standardni arapskijužnoazerbajdžanskiaustrijski njemačkigornjonjem" +
- "ački (švicarski)australski engleskikanadski engleskibritanski engleskiam" +
- "erički engleskilatinoamerički španjolskieuropski španjolskimeksički špan" +
- "jolskikanadski francuskišvicarski francuskidonjosaksonskiflamanskibrazil" +
- "ski portugalskieuropski portugalskimoldavskisrpsko-hrvatskikongoanski sv" +
- "ahilikineski (pojednostavljeni)kineski (tradicionalni)"
+ "ugaritskiumbundunepoznati jezikvaivotskivunjowalserskiwalamowaraywashowa" +
+ "rlpiriwu kineskikalmyksogayaojapskiyangbenyembakantonskizapotečkiBlissov" +
+ "i simbolizenagastandardni marokanski tamašekzunibez jezičnog sadržajazaz" +
+ "akimoderni standardni arapskijužnoazerbajdžanskiaustrijski njemačkigornj" +
+ "onjemački (švicarski)australski engleskikanadski engleskibritanski engle" +
+ "skiamerički engleskilatinoamerički španjolskieuropski španjolskimeksički" +
+ " španjolskikanadski francuskišvicarski francuskidonjosaksonskiflamanskib" +
+ "razilski portugalskieuropski portugalskimoldavskisrpsko-hrvatskikongoans" +
+ "ki svahilikineski (pojednostavljeni)kineski (tradicionalni)"
var hrLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -19020,18 +19025,18 @@ var hrLangIdx = []uint16{ // 613 elements
0x0ee4, 0x0ee4, 0x0ee4, 0x0ee9, 0x0eed, 0x0ef3, 0x0ef8, 0x0f01,
0x0f04, 0x0f0f, 0x0f0f, 0x0f19, 0x0f20, 0x0f20, 0x0f2b, 0x0f36,
0x0f3f, 0x0f3f, 0x0f45, 0x0f45, 0x0f4e, 0x0f4e, 0x0f55, 0x0f60,
- 0x0f67, 0x0f6f, 0x0f87, 0x0f90, 0x0f99, 0x0fa0, 0x0faa, 0x0fad,
- 0x0fad, 0x0fad, 0x0fad, 0x0fad, 0x0fb3, 0x0fb3, 0x0fb8, 0x0fc1,
- 0x0fc7, 0x0fcc, 0x0fd1, 0x0fd9, 0x0fe3, 0x0fe9, 0x0fe9, 0x0fed,
+ 0x0f67, 0x0f6f, 0x0f87, 0x0f90, 0x0f99, 0x0fa0, 0x0faf, 0x0fb2,
+ 0x0fb2, 0x0fb2, 0x0fb2, 0x0fb2, 0x0fb8, 0x0fb8, 0x0fbd, 0x0fc6,
+ 0x0fcc, 0x0fd1, 0x0fd6, 0x0fde, 0x0fe8, 0x0fee, 0x0fee, 0x0ff2,
// Entry 240 - 27F
- 0x0ff0, 0x0ff6, 0x0ffd, 0x1002, 0x1002, 0x100b, 0x1015, 0x1025,
- 0x1025, 0x102b, 0x1049, 0x104d, 0x1064, 0x106a, 0x1084, 0x1099,
- 0x10ad, 0x10c9, 0x10dc, 0x10ed, 0x10ff, 0x1111, 0x112c, 0x1140,
- 0x1155, 0x1155, 0x1167, 0x117b, 0x1189, 0x1192, 0x11a7, 0x11bb,
- 0x11c4, 0x11d3, 0x11e5, 0x11ff, 0x1216,
+ 0x0ff5, 0x0ffb, 0x1002, 0x1007, 0x1007, 0x1010, 0x101a, 0x102a,
+ 0x102a, 0x1030, 0x104e, 0x1052, 0x1069, 0x106f, 0x1089, 0x109e,
+ 0x10b2, 0x10ce, 0x10e1, 0x10f2, 0x1104, 0x1116, 0x1131, 0x1145,
+ 0x115a, 0x115a, 0x116c, 0x1180, 0x118e, 0x1197, 0x11ac, 0x11c0,
+ 0x11c9, 0x11d8, 0x11ea, 0x1204, 0x121b,
} // Size: 1250 bytes
-const huLangStr string = "" + // Size: 4071 bytes
+const huLangStr string = "" + // Size: 4083 bytes
"afarabházavesztánafrikaansakanamharaaragonézarabasszámiavarajmaraazerbaj" +
"dzsánibaskírbelaruszbolgárbislamabambarabanglatibetibretonbosnyákkatalán" +
"csecsencsamorókorzikaikrícsehegyházi szlávcsuvaswalesidánnémetdivehidzso" +
@@ -19078,14 +19083,14 @@ const huLangStr string = "" + // Size: 4071 bytes
"zámiszoninkesogdienszranai tongószererszahószukumaszuszusumércomoreiklas" +
"szikus szírszírtemneteszóterenótetumtigrétivtokelauiklingontlingittamase" +
"knyugati nyaszatok pisintarokócsimsiánitumbukatuvaluszaváktuvaiközép-atl" +
- "aszi tamazigtudmurtugaritiumbunduősivaivotjákvunjowalservalamovaraóvasów" +
- "arlpiriwu kínaikalmükszogajaójapijangbenjembakantonizapotékBliss jelképr" +
- "endszerzenagamarokkói tamazightzuninincs nyelvészeti tartalomzazamodern " +
- "szabányos arabosztrák németsvájci felnémetausztrál angolkanadai angolbri" +
- "t angolamerikai angollatin-amerikai spanyoleurópai spanyolspanyol (mexik" +
- "ói)kanadai franciasvájci franciaalsószászflamandbrazíliai portugáleuróp" +
- "ai portugálmoldvaiszerbhorvátkongói szuahéliegyszerűsített kínaihagyomán" +
- "yos kínai"
+ "aszi tamazigtudmurtugaritiumbunduismeretlen nyelvvaivotjákvunjowalserval" +
+ "amovaraóvasówarlpiriwu kínaikalmükszogajaójapijangbenjembakantonizapoték" +
+ "Bliss jelképrendszerzenagamarokkói tamazightzuninincs nyelvészeti tartal" +
+ "omzazamodern szabányos arabosztrák németsvájci felnémetausztrál angolkan" +
+ "adai angolbrit angolamerikai angollatin-amerikai spanyoleurópai spanyols" +
+ "panyol (mexikói)kanadai franciasvájci franciaalsószászflamandbrazíliai p" +
+ "ortugáleurópai portugálmoldvaiszerbhorvátkongói szuahéliegyszerűsített k" +
+ "ínaihagyományos kínai"
var huLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -19166,18 +19171,18 @@ var huLangIdx = []uint16{ // 613 elements
0x0d3c, 0x0d3c, 0x0d3c, 0x0d41, 0x0d47, 0x0d4e, 0x0d53, 0x0d59,
0x0d5c, 0x0d64, 0x0d64, 0x0d6b, 0x0d72, 0x0d72, 0x0d79, 0x0d87,
0x0d90, 0x0d90, 0x0d97, 0x0d97, 0x0da1, 0x0da1, 0x0da8, 0x0dae,
- 0x0db5, 0x0dba, 0x0dd2, 0x0dd8, 0x0ddf, 0x0de6, 0x0dea, 0x0ded,
- 0x0ded, 0x0ded, 0x0ded, 0x0ded, 0x0df4, 0x0df4, 0x0df9, 0x0dff,
- 0x0e05, 0x0e0b, 0x0e10, 0x0e18, 0x0e21, 0x0e28, 0x0e28, 0x0e2d,
+ 0x0db5, 0x0dba, 0x0dd2, 0x0dd8, 0x0ddf, 0x0de6, 0x0df6, 0x0df9,
+ 0x0df9, 0x0df9, 0x0df9, 0x0df9, 0x0e00, 0x0e00, 0x0e05, 0x0e0b,
+ 0x0e11, 0x0e17, 0x0e1c, 0x0e24, 0x0e2d, 0x0e34, 0x0e34, 0x0e39,
// Entry 240 - 27F
- 0x0e31, 0x0e35, 0x0e3c, 0x0e41, 0x0e41, 0x0e48, 0x0e50, 0x0e65,
- 0x0e65, 0x0e6b, 0x0e7e, 0x0e82, 0x0e9d, 0x0ea1, 0x0eb7, 0x0eb7,
- 0x0ec6, 0x0ed7, 0x0ee6, 0x0ef3, 0x0efd, 0x0f0b, 0x0f21, 0x0f31,
- 0x0f43, 0x0f43, 0x0f52, 0x0f61, 0x0f6c, 0x0f73, 0x0f87, 0x0f99,
- 0x0fa0, 0x0fac, 0x0fbd, 0x0fd4, 0x0fe7,
+ 0x0e3d, 0x0e41, 0x0e48, 0x0e4d, 0x0e4d, 0x0e54, 0x0e5c, 0x0e71,
+ 0x0e71, 0x0e77, 0x0e8a, 0x0e8e, 0x0ea9, 0x0ead, 0x0ec3, 0x0ec3,
+ 0x0ed2, 0x0ee3, 0x0ef2, 0x0eff, 0x0f09, 0x0f17, 0x0f2d, 0x0f3d,
+ 0x0f4f, 0x0f4f, 0x0f5e, 0x0f6d, 0x0f78, 0x0f7f, 0x0f93, 0x0fa5,
+ 0x0fac, 0x0fb8, 0x0fc9, 0x0fe0, 0x0ff3,
} // Size: 1250 bytes
-const hyLangStr string = "" + // Size: 8542 bytes
+const hyLangStr string = "" + // Size: 8549 bytes
"աֆարերենաբխազերենաֆրիկաանսաքանամհարերենարագոներենարաբերենասամերենավարերե" +
"նայմարաադրբեջաներենբաշկիրերենբելառուսերենբուլղարերենբիսլամաբամբարաբենգա" +
"լերենտիբեթերենբրետոներենբոսնիերենկատալաներենչեչեներենչամոռոկորսիկերենչե" +
@@ -19229,16 +19234,16 @@ const hyLangStr string = "" + // Size: 8542 bytes
"ոերենսուկումակոմորերենասորերենտուլուտեմնետեսոտերենոտետումտիգրետիվերենտո" +
"կելաուցախուրկլինգոնտլինգիտթալիշերենտամաշեկտոկ փիսինտուրոյոտարոկոցակոներ" +
"ենցիմշյանտումբուկաթուվալուերենտասավաքտուվերենկենտրոնատլասյան թամազիղտու" +
- "դմուրտերենուգարիտերենումբունդուռուտերենվաիվենետերենվեպսերենարևմտաֆլաման" +
- "դերենվոդերենվորովունջովալսերենվոլայտավարայերենվաշովարլպիրիվու չինարենկա" +
- "լմիկերենսոգայաոյափերենյանգբենեմբականտոներենսապոտեկերենզեյլանդերենզենագա" +
- "ընդհանուր մարոկյան թամազիղտզունիերենառանց լեզվային բովանդակությանզազաեր" +
- "ենարդի ընդհանուր արաբերենավստրիական գերմաներենշվեյցարական վերին գերմանե" +
- "րենավստրալիական անգլերենկանադական անգլերենբրիտանական անգլերենամերիկյան " +
- "անգլերենլատինամերիկյան իսպաներենեվրոպական իսպաներենմեքսիկական իսպաներեն" +
- "կանադական ֆրանսերենշվեյցարական ֆրանսերենստորին սաքսոներենֆլամանդերենբրա" +
- "զիլական պորտուգալերենեվրոպական պորտուգալերենմոլդովերենսերբա-խորվաթերենկ" +
- "ոնգոյի սուահիլիպարզեցված չինարենավանդական չինարեն"
+ "դմուրտերենուգարիտերենումբունդուանհայտ լեզուվաիվենետերենվեպսերենարևմտաֆլ" +
+ "ամանդերենվոդերենվորովունջովալսերենվոլայտավարայերենվաշովարլպիրիվու չինար" +
+ "ենկալմիկերենսոգայաոյափերենյանգբենեմբականտոներենսապոտեկերենզեյլանդերենզե" +
+ "նագաընդհանուր մարոկյան թամազիղտզունիերենառանց լեզվային բովանդակությանզա" +
+ "զաերենարդի ընդհանուր արաբերենավստրիական գերմաներենշվեյցարական վերին գեր" +
+ "մաներենավստրալիական անգլերենկանադական անգլերենբրիտանական անգլերենամերիկ" +
+ "յան անգլերենլատինամերիկյան իսպաներենեվրոպական իսպաներենմեքսիկական իսպան" +
+ "երենկանադական ֆրանսերենշվեյցարական ֆրանսերենստորին սաքսոներենֆլամանդերե" +
+ "նբրազիլական պորտուգալերենեվրոպական պորտուգալերենմոլդովերենսերբա-խորվաթե" +
+ "րենկոնգոյի սուահիլիպարզեցված չինարենավանդական չինարեն"
var hyLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -19319,18 +19324,18 @@ var hyLangIdx = []uint16{ // 613 elements
0x1aac, 0x1aac, 0x1ab8, 0x1ac2, 0x1aca, 0x1ad6, 0x1ae2, 0x1aec,
0x1afa, 0x1b0a, 0x1b16, 0x1b24, 0x1b32, 0x1b44, 0x1b52, 0x1b52,
0x1b63, 0x1b71, 0x1b7d, 0x1b8f, 0x1b9d, 0x1b9d, 0x1baf, 0x1bc7,
- 0x1bd5, 0x1be5, 0x1c14, 0x1c2c, 0x1c42, 0x1c56, 0x1c66, 0x1c6c,
- 0x1c7e, 0x1c8e, 0x1cb0, 0x1cb0, 0x1cbe, 0x1cc6, 0x1cd2, 0x1ce2,
- 0x1cf0, 0x1d02, 0x1d0a, 0x1d1a, 0x1d2f, 0x1d43, 0x1d43, 0x1d4b,
+ 0x1bd5, 0x1be5, 0x1c14, 0x1c2c, 0x1c42, 0x1c56, 0x1c6d, 0x1c73,
+ 0x1c85, 0x1c95, 0x1cb7, 0x1cb7, 0x1cc5, 0x1ccd, 0x1cd9, 0x1ce9,
+ 0x1cf7, 0x1d09, 0x1d11, 0x1d21, 0x1d36, 0x1d4a, 0x1d4a, 0x1d52,
// Entry 240 - 27F
- 0x1d51, 0x1d5f, 0x1d6d, 0x1d75, 0x1d75, 0x1d89, 0x1d9f, 0x1d9f,
- 0x1db5, 0x1dc1, 0x1df5, 0x1e07, 0x1e3f, 0x1e4f, 0x1e7b, 0x1e7b,
- 0x1ea4, 0x1eda, 0x1f03, 0x1f26, 0x1f4b, 0x1f6e, 0x1f9d, 0x1fc2,
- 0x1fe9, 0x1fe9, 0x200e, 0x2037, 0x2058, 0x206e, 0x209d, 0x20ca,
- 0x20de, 0x20fd, 0x211c, 0x213d, 0x215e,
+ 0x1d58, 0x1d66, 0x1d74, 0x1d7c, 0x1d7c, 0x1d90, 0x1da6, 0x1da6,
+ 0x1dbc, 0x1dc8, 0x1dfc, 0x1e0e, 0x1e46, 0x1e56, 0x1e82, 0x1e82,
+ 0x1eab, 0x1ee1, 0x1f0a, 0x1f2d, 0x1f52, 0x1f75, 0x1fa4, 0x1fc9,
+ 0x1ff0, 0x1ff0, 0x2015, 0x203e, 0x205f, 0x2075, 0x20a4, 0x20d1,
+ 0x20e5, 0x2104, 0x2123, 0x2144, 0x2165,
} // Size: 1250 bytes
-const idLangStr string = "" + // Size: 3994 bytes
+const idLangStr string = "" + // Size: 4010 bytes
"AfarAbkhazAvestaAfrikaansAkanAmharikAragonArabAssamAvarAymaraAzerbaijani" +
"BashkirBelarusiaBulgariaBislamaBambaraBengaliTibetBretonBosniaKatalanChe" +
"chenChamorroKorsikaKreeCheskaBahasa Gereja SlavoniaChuvashWelshDanskJerm" +
@@ -19381,12 +19386,12 @@ const idLangStr string = "" + // Size: 3994 bytes
"ranan TongoSererSahoSukumaSusuSumeriaKomoriaSuriah KlasikSuriahSilesiaTu" +
"luTimneTesoTerenoTetunTigreTivTokelauKlingonTlingitTamashekNyasa TongaTo" +
"k PisinTuroyoTarokoTsimshiaTat MuslimTumbukaTuvaluTasawaqTuviniaTamazigh" +
- "t Maroko TengahUdmurtUgaritUmbunduRootVaiVenesiaVotiaVunjoWalserWalamoWa" +
- "raiWashoWarlpiriKalmukSogaYaoYapoisYangbenYembaKantonZapotekBlissymbolZe" +
- "nagaTamazight Maroko StandarZuniTidak ada konten linguistikZazaArab Stan" +
- "dar ModernJerman Tinggi (Swiss)Inggris (Inggris)Spanyol (Eropa)Portugis " +
- "(Eropa)MoldaviaSerbo-KroasiaKongo SwahiliTionghoa (Aksara Sederhana)Tion" +
- "ghoa (Aksara Tradisional)"
+ "t Maroko TengahUdmurtUgaritUmbunduBahasa Tidak DikenalVaiVenesiaVotiaVun" +
+ "joWalserWalamoWaraiWashoWarlpiriKalmukSogaYaoYapoisYangbenYembaKantonZap" +
+ "otekBlissymbolZenagaTamazight Maroko StandarZuniTidak ada konten linguis" +
+ "tikZazaArab Standar ModernJerman Tinggi (Swiss)Inggris (Inggris)Spanyol " +
+ "(Eropa)Portugis (Eropa)MoldaviaSerbo-KroasiaKongo SwahiliTionghoa (Aksar" +
+ "a Sederhana)Tionghoa (Aksara Tradisional)"
var idLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -19467,18 +19472,18 @@ var idLangIdx = []uint16{ // 613 elements
0x0d80, 0x0d87, 0x0d8b, 0x0d90, 0x0d94, 0x0d9a, 0x0d9f, 0x0da4,
0x0da7, 0x0dae, 0x0dae, 0x0db5, 0x0dbc, 0x0dbc, 0x0dc4, 0x0dcf,
0x0dd8, 0x0dde, 0x0de4, 0x0de4, 0x0dec, 0x0df6, 0x0dfd, 0x0e03,
- 0x0e0a, 0x0e11, 0x0e28, 0x0e2e, 0x0e34, 0x0e3b, 0x0e3f, 0x0e42,
- 0x0e49, 0x0e49, 0x0e49, 0x0e49, 0x0e4e, 0x0e4e, 0x0e53, 0x0e59,
- 0x0e5f, 0x0e64, 0x0e69, 0x0e71, 0x0e71, 0x0e77, 0x0e77, 0x0e7b,
+ 0x0e0a, 0x0e11, 0x0e28, 0x0e2e, 0x0e34, 0x0e3b, 0x0e4f, 0x0e52,
+ 0x0e59, 0x0e59, 0x0e59, 0x0e59, 0x0e5e, 0x0e5e, 0x0e63, 0x0e69,
+ 0x0e6f, 0x0e74, 0x0e79, 0x0e81, 0x0e81, 0x0e87, 0x0e87, 0x0e8b,
// Entry 240 - 27F
- 0x0e7e, 0x0e84, 0x0e8b, 0x0e90, 0x0e90, 0x0e96, 0x0e9d, 0x0ea7,
- 0x0ea7, 0x0ead, 0x0ec5, 0x0ec9, 0x0ee4, 0x0ee8, 0x0efb, 0x0efb,
- 0x0efb, 0x0f10, 0x0f10, 0x0f10, 0x0f21, 0x0f21, 0x0f21, 0x0f30,
- 0x0f30, 0x0f30, 0x0f30, 0x0f30, 0x0f30, 0x0f30, 0x0f30, 0x0f40,
- 0x0f48, 0x0f55, 0x0f62, 0x0f7d, 0x0f9a,
+ 0x0e8e, 0x0e94, 0x0e9b, 0x0ea0, 0x0ea0, 0x0ea6, 0x0ead, 0x0eb7,
+ 0x0eb7, 0x0ebd, 0x0ed5, 0x0ed9, 0x0ef4, 0x0ef8, 0x0f0b, 0x0f0b,
+ 0x0f0b, 0x0f20, 0x0f20, 0x0f20, 0x0f31, 0x0f31, 0x0f31, 0x0f40,
+ 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f40, 0x0f50,
+ 0x0f58, 0x0f65, 0x0f72, 0x0f8d, 0x0faa,
} // Size: 1250 bytes
-const isLangStr string = "" + // Size: 4605 bytes
+const isLangStr string = "" + // Size: 4619 bytes
"afárabkasískaavestískaafríkanskaakanamharískaaragonskaarabískaassamskaav" +
"arískaaímaraaserskabaskírhvítrússneskabúlgarskabíslamabambarabengalskatí" +
"beskabretónskabosnískakatalónskatsjetsjenskakamorrókorsískakrítékkneskak" +
@@ -19528,14 +19533,14 @@ const isLangStr string = "" + // Size: 4605 bytes
"esamískasóninkesogdíensranan tongoserersahosúkúmasúsúsúmerskashimaoríska" +
"klassísk sýrlenskasýrlenskatímnetesóterenótetúmtígretívtókeláskaklingons" +
"katlingittamasjektongverska (nyasa)tokpisintarókótsimsískatúmbúkatúvalús" +
- "katasawaqtúvínskatamazightúdmúrtúgarítískaúmbúndúrótvaívotískavunjóvalse" +
- "rvalamóvaraívasjóvarlpirikalmúkskasógajaójapískayangbenyembakantoneskasa" +
- "pótekblisstáknsenagastaðlað marokkóskt tamazightsúníekkert tungumálaefni" +
- "zázáískastöðluð nútímaarabískaausturrísk þýskasvissnesk háþýskaáströlsk " +
- "enskakanadísk enskabresk enskabandarísk enskarómönsk-amerísk spænskaevró" +
- "psk spænskamexíkósk spænskakanadísk franskasvissnesk franskalágsaxneskaf" +
- "læmskabrasílísk portúgalskaevrópsk portúgalskamoldóvskaserbókróatískaKon" +
- "gó-svahílíkínverska (einfölduð)kínverska (hefðbundin)"
+ "katasawaqtúvínskatamazightúdmúrtúgarítískaúmbúndúóþekkt tungumálvaívotís" +
+ "kavunjóvalservalamóvaraívasjóvarlpirikalmúkskasógajaójapískayangbenyemba" +
+ "kantoneskasapótekblisstáknsenagastaðlað marokkóskt tamazightsúníekkert t" +
+ "ungumálaefnizázáískastöðluð nútímaarabískaausturrísk þýskasvissnesk háþý" +
+ "skaáströlsk enskakanadísk enskabresk enskabandarísk enskarómönsk-amerísk" +
+ " spænskaevrópsk spænskamexíkósk spænskakanadísk franskasvissnesk franska" +
+ "lágsaxneskaflæmskabrasílísk portúgalskaevrópsk portúgalskamoldóvskaserbó" +
+ "króatískaKongó-svahílíkínverska (einfölduð)kínverska (hefðbundin)"
var isLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -19616,18 +19621,18 @@ var isLangIdx = []uint16{ // 613 elements
0x0eff, 0x0eff, 0x0eff, 0x0f05, 0x0f0a, 0x0f11, 0x0f17, 0x0f1d,
0x0f21, 0x0f2c, 0x0f2c, 0x0f36, 0x0f3d, 0x0f3d, 0x0f45, 0x0f57,
0x0f5f, 0x0f5f, 0x0f67, 0x0f67, 0x0f71, 0x0f71, 0x0f7a, 0x0f85,
- 0x0f8c, 0x0f96, 0x0f9f, 0x0fa7, 0x0fb4, 0x0fbe, 0x0fc2, 0x0fc6,
- 0x0fc6, 0x0fc6, 0x0fc6, 0x0fc6, 0x0fce, 0x0fce, 0x0fd4, 0x0fda,
- 0x0fe1, 0x0fe7, 0x0fed, 0x0ff5, 0x0ff5, 0x0fff, 0x0fff, 0x1004,
+ 0x0f8c, 0x0f96, 0x0f9f, 0x0fa7, 0x0fb4, 0x0fbe, 0x0fd0, 0x0fd4,
+ 0x0fd4, 0x0fd4, 0x0fd4, 0x0fd4, 0x0fdc, 0x0fdc, 0x0fe2, 0x0fe8,
+ 0x0fef, 0x0ff5, 0x0ffb, 0x1003, 0x1003, 0x100d, 0x100d, 0x1012,
// Entry 240 - 27F
- 0x1008, 0x1010, 0x1017, 0x101c, 0x101c, 0x1026, 0x102e, 0x1038,
- 0x1038, 0x103e, 0x105d, 0x1063, 0x1078, 0x1083, 0x109f, 0x109f,
- 0x10b2, 0x10c6, 0x10d6, 0x10e5, 0x10f0, 0x1100, 0x111b, 0x112c,
- 0x113f, 0x113f, 0x1150, 0x1161, 0x116d, 0x1175, 0x118d, 0x11a2,
- 0x11ac, 0x11bd, 0x11cd, 0x11e5, 0x11fd,
+ 0x1016, 0x101e, 0x1025, 0x102a, 0x102a, 0x1034, 0x103c, 0x1046,
+ 0x1046, 0x104c, 0x106b, 0x1071, 0x1086, 0x1091, 0x10ad, 0x10ad,
+ 0x10c0, 0x10d4, 0x10e4, 0x10f3, 0x10fe, 0x110e, 0x1129, 0x113a,
+ 0x114d, 0x114d, 0x115e, 0x116f, 0x117b, 0x1183, 0x119b, 0x11b0,
+ 0x11ba, 0x11cb, 0x11db, 0x11f3, 0x120b,
} // Size: 1250 bytes
-const itLangStr string = "" + // Size: 5026 bytes
+const itLangStr string = "" + // Size: 5040 bytes
"afarabcasoavestanafrikaansakanamaricoaragonesearaboassameseavaroaymaraaz" +
"erbaigianobaschirobielorussobulgarobislamabambarabengalesetibetanobreton" +
"ebosniacocatalanocecenochamorrocorsocreececoslavo della Chiesaciuvasciog" +
@@ -19689,15 +19694,15 @@ const itLangStr string = "" + // Size: 5026 bytes
"lassicosiriacoslesianotulutemnetesoterenotetumtigretivtokelautsakhurklin" +
"gontlingittalisciotamasheknyasa del Tongatok pisinturoyotarokozaconicots" +
"imshiantat islamicotumbukatuvalutasawaqtuviniantamazightudmurtugariticom" +
- "bundurootvaivenetovepsofiammingo occidentalevotovõrovunjowalserwalamowar" +
- "aywashowarlpiriwukalmykmengreliosogayao (bantu)yapeseyangbenyembanheenga" +
- "tucantonesezapotecblissymbolzelandesezenagatamazight del Marocco standar" +
- "dzuninessun contenuto linguisticozazaarabo moderno standardtedesco austr" +
- "iacoalto tedesco svizzeroinglese australianoinglese canadeseinglese brit" +
- "annicoinglese americanospagnolo latinoamericanospagnolo europeospagnolo " +
- "messicanofrancese canadesefrancese svizzerobasso tedesco olandesefiammin" +
- "goportoghese brasilianoportoghese europeomoldavoserbo-croatoswahili del " +
- "Congocinese semplificatocinese tradizionale"
+ "bundulingua imprecisatavaivenetovepsofiammingo occidentalevotovõrovunjow" +
+ "alserwalamowaraywashowarlpiriwukalmykmengreliosogayao (bantu)yapeseyangb" +
+ "enyembanheengatucantonesezapotecblissymbolzelandesezenagatamazight del M" +
+ "arocco standardzuninessun contenuto linguisticozazaarabo moderno standar" +
+ "dtedesco austriacoalto tedesco svizzeroinglese australianoinglese canade" +
+ "seinglese britannicoinglese americanospagnolo latinoamericanospagnolo eu" +
+ "ropeospagnolo messicanofrancese canadesefrancese svizzerobasso tedesco o" +
+ "landesefiammingoportoghese brasilianoportoghese europeomoldavoserbo-croa" +
+ "toswahili del Congocinese semplificatocinese tradizionale"
var itLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -19778,18 +19783,18 @@ var itLangIdx = []uint16{ // 613 elements
0x106c, 0x1074, 0x1078, 0x107d, 0x1081, 0x1087, 0x108c, 0x1091,
0x1094, 0x109b, 0x10a2, 0x10a9, 0x10b0, 0x10b8, 0x10c0, 0x10cf,
0x10d8, 0x10de, 0x10e4, 0x10ec, 0x10f5, 0x1101, 0x1108, 0x110e,
- 0x1115, 0x111d, 0x1126, 0x112c, 0x1135, 0x113b, 0x113f, 0x1142,
- 0x1148, 0x114d, 0x1162, 0x1162, 0x1166, 0x116b, 0x1170, 0x1176,
- 0x117c, 0x1181, 0x1186, 0x118e, 0x1190, 0x1196, 0x119f, 0x11a3,
+ 0x1115, 0x111d, 0x1126, 0x112c, 0x1135, 0x113b, 0x114d, 0x1150,
+ 0x1156, 0x115b, 0x1170, 0x1170, 0x1174, 0x1179, 0x117e, 0x1184,
+ 0x118a, 0x118f, 0x1194, 0x119c, 0x119e, 0x11a4, 0x11ad, 0x11b1,
// Entry 240 - 27F
- 0x11ae, 0x11b4, 0x11bb, 0x11c0, 0x11c9, 0x11d2, 0x11d9, 0x11e3,
- 0x11ec, 0x11f2, 0x1210, 0x1214, 0x1230, 0x1234, 0x124a, 0x124a,
- 0x125b, 0x1270, 0x1283, 0x1293, 0x12a5, 0x12b6, 0x12ce, 0x12de,
- 0x12f0, 0x12f0, 0x1301, 0x1312, 0x1328, 0x1331, 0x1346, 0x1358,
- 0x135f, 0x136b, 0x137c, 0x138f, 0x13a2,
+ 0x11bc, 0x11c2, 0x11c9, 0x11ce, 0x11d7, 0x11e0, 0x11e7, 0x11f1,
+ 0x11fa, 0x1200, 0x121e, 0x1222, 0x123e, 0x1242, 0x1258, 0x1258,
+ 0x1269, 0x127e, 0x1291, 0x12a1, 0x12b3, 0x12c4, 0x12dc, 0x12ec,
+ 0x12fe, 0x12fe, 0x130f, 0x1320, 0x1336, 0x133f, 0x1354, 0x1366,
+ 0x136d, 0x1379, 0x138a, 0x139d, 0x13b0,
} // Size: 1250 bytes
-const jaLangStr string = "" + // Size: 10070 bytes
+const jaLangStr string = "" + // Size: 10073 bytes
"アファル語アブハズ語アヴェスタ語アフリカーンス語アカン語アムハラ語アラゴン語アラビア語アッサム語アヴァル語アイマラ語アゼルバイジャン語バシキール" +
"語ベラルーシ語ブルガリア語ビスラマ語バンバラ語ベンガル語チベット語ブルトン語ボスニア語カタロニア語チェチェン語チャモロ語コルシカ語クリー語チ" +
"ェコ語教会スラブ語チュヴァシ語ウェールズ語デンマーク語ドイツ語ディベヒ語ゾンカ語エウェ語ギリシャ語英語エスペラント語スペイン語エストニア語バ" +
@@ -19834,11 +19839,11 @@ const jaLangStr string = "" + // Size: 10070 bytes
"ンケ語ソグド語スリナム語セレル語サホ語ザーターフリジア語スクマ語スス語シュメール語コモロ語古典シリア語シリア語シレジア語トゥル語テムネ語テソ" +
"語テレーノ語テトゥン語ティグレ語ティブ語トケラウ語ツァフル語クリンゴン語トリンギット語タリシュ語タマシェク語トンガ語(ニアサ)トク・ピシン語" +
"トゥロヨ語タロコ語ツァコン語チムシュ語ムスリム・タタール語トゥンブカ語ツバル語タサワク語トゥヴァ語中央アトラス・タマジクト語ウドムルト語ウガ" +
- "リト語ムブンドゥ語ルートヴァイ語ヴェネト語ヴェプス語西フラマン語マインフランク語ヴォート語ヴォロ語ヴンジョ語ヴァリス語ウォライタ語ワライ語ワ" +
- "ショ語ワルピリ語呉語カルムイク語メグレル語ソガ語ヤオ語ヤップ語ヤンベン語イエンバ語ニェエンガトゥ語広東語サポテカ語ブリスシンボルゼーラント語" +
- "ゼナガ語標準モロッコ タマジクト語ズニ語言語的内容なしザザ語現代標準アラビア語標準ドイツ語 (スイス)オーストラリア英語カナダ英語イギリス英" +
- "語アメリカ英語スペイン語 (イベリア半島)フレミッシュ語ポルトガル語 (イベリア半島)モルダビア語セルボ・クロアチア語コンゴ・スワヒリ語簡体" +
- "中国語繁体中国語"
+ "リト語ムブンドゥ語言語不明ヴァイ語ヴェネト語ヴェプス語西フラマン語マインフランク語ヴォート語ヴォロ語ヴンジョ語ヴァリス語ウォライタ語ワライ語" +
+ "ワショ語ワルピリ語呉語カルムイク語メグレル語ソガ語ヤオ語ヤップ語ヤンベン語イエンバ語ニェエンガトゥ語広東語サポテカ語ブリスシンボルゼーラント" +
+ "語ゼナガ語標準モロッコ タマジクト語ズニ語言語的内容なしザザ語現代標準アラビア語標準ドイツ語 (スイス)オーストラリア英語カナダ英語イギリス" +
+ "英語アメリカ英語スペイン語 (イベリア半島)フレミッシュ語ポルトガル語 (イベリア半島)モルダビア語セルボ・クロアチア語コンゴ・スワヒリ語簡" +
+ "体中国語繁体中国語"
var jaLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -19919,18 +19924,18 @@ var jaLangIdx = []uint16{ // 613 elements
0x223d, 0x224c, 0x2258, 0x2264, 0x226d, 0x227c, 0x228b, 0x229a,
0x22a6, 0x22b5, 0x22c4, 0x22d6, 0x22eb, 0x22fa, 0x230c, 0x2323,
0x2338, 0x2347, 0x2353, 0x2362, 0x2371, 0x238f, 0x23a1, 0x23ad,
- 0x23bc, 0x23cb, 0x23f2, 0x2404, 0x2413, 0x2425, 0x242e, 0x243a,
- 0x2449, 0x2458, 0x246a, 0x2482, 0x2491, 0x249d, 0x24ac, 0x24bb,
- 0x24cd, 0x24d9, 0x24e5, 0x24f4, 0x24fa, 0x250c, 0x251b, 0x2524,
+ 0x23bc, 0x23cb, 0x23f2, 0x2404, 0x2413, 0x2425, 0x2431, 0x243d,
+ 0x244c, 0x245b, 0x246d, 0x2485, 0x2494, 0x24a0, 0x24af, 0x24be,
+ 0x24d0, 0x24dc, 0x24e8, 0x24f7, 0x24fd, 0x250f, 0x251e, 0x2527,
// Entry 240 - 27F
- 0x252d, 0x2539, 0x2548, 0x2557, 0x256f, 0x2578, 0x2587, 0x259c,
- 0x25ae, 0x25ba, 0x25df, 0x25e8, 0x25fd, 0x2606, 0x2621, 0x2621,
- 0x2621, 0x263f, 0x265a, 0x2669, 0x267b, 0x268d, 0x268d, 0x26b1,
- 0x26b1, 0x26b1, 0x26b1, 0x26b1, 0x26b1, 0x26c6, 0x26c6, 0x26ed,
- 0x26ff, 0x271d, 0x2738, 0x2747, 0x2756,
+ 0x2530, 0x253c, 0x254b, 0x255a, 0x2572, 0x257b, 0x258a, 0x259f,
+ 0x25b1, 0x25bd, 0x25e2, 0x25eb, 0x2600, 0x2609, 0x2624, 0x2624,
+ 0x2624, 0x2642, 0x265d, 0x266c, 0x267e, 0x2690, 0x2690, 0x26b4,
+ 0x26b4, 0x26b4, 0x26b4, 0x26b4, 0x26b4, 0x26c9, 0x26c9, 0x26f0,
+ 0x2702, 0x2720, 0x273b, 0x274a, 0x2759,
} // Size: 1250 bytes
-const kaLangStr string = "" + // Size: 12200 bytes
+const kaLangStr string = "" + // Size: 12197 bytes
"აფარიაფხაზურიავესტურიაფრიკაანსიაკანიამჰარულიარაგონულიარაბულიასამურიხუნძუ" +
"რიაიმარააზერბაიჯანულიბაშკირულიბელორუსულიბულგარულიბისლამაბამბარაბენგალუ" +
"რიტიბეტურიბრეტონულიბოსნიურიკატალანურიჩეჩნურიჩამოროკორსიკულიკრიჩეხურისა" +
@@ -19981,15 +19986,15 @@ const kaLangStr string = "" + // Size: 12200 bytes
"შანიჩადური არაბულისამხრეთსამურილულე-საამურიინარი-საამურისკოლტ-საამურის" +
"ონინკესრანან ტონგოსაჰოსუკუმაშუმერულიკომორულიკლასიკური სირიულისირიულიტი" +
"ნმეტესოტეტუმითიგრეკლინგონიტოკ-პისინიტაროკოტუმბუკატუვალუტასავაქიტუვაცენ" +
- "ტრალური მოროკოს ტამაზიგხტიუდმურტულიუგარითულიუმბუნდუძირეული ენავაივუნჯო" +
- "ვალსერიველაითავარაივალპირიყალმუხურისოგაიანგბენიიემბაკანტონურიბლისსიმბო" +
- "ლოებიზენაგასტანდარტული მაროკოული ტამაზიგხტიზუნილინგვისტური შიგთავსი არ" +
- " არისზაზაკითანამედროვე სტანდარტული არაბულიავსტრიული გერმანულიშვეიცარიული" +
- " ზემოგერმანულიავსტრალიური ინგლისურიკანადური ინგლისურიბრიტანული ინგლისური" +
- "ამერიკული ინგლისურილათინურ ამერიკული ესპანურიევროპული ესპანურიმექსიკურ" +
- "ი ესპანურიკანადური ფრანგულიშვეიცარიული ფრანგულიქვემოსაქსონურიფლამანდიუ" +
- "რიბრაზილიური პორტუგალიურიევროპული პორტუგალიურიმოლდავურისერბულ-ხორვატულ" +
- "იკონგოს სუაჰილიგამარტივებული ჩინურიტრადიციული ჩინური"
+ "ტრალური მოროკოს ტამაზიგხტიუდმურტულიუგარითულიუმბუნდუუცნობი ენავაივუნჯოვ" +
+ "ალსერიველაითავარაივალპირიყალმუხურისოგაიანგბენიიემბაკანტონურიბლისსიმბოლ" +
+ "ოებიზენაგასტანდარტული მაროკოული ტამაზიგხტიზუნილინგვისტური შიგთავსი არ " +
+ "არისზაზაკითანამედროვე სტანდარტული არაბულიავსტრიული გერმანულიშვეიცარიულ" +
+ "ი ზემოგერმანულიავსტრალიური ინგლისურიკანადური ინგლისურიბრიტანული ინგლის" +
+ "ურიამერიკული ინგლისურილათინურ ამერიკული ესპანურიევროპული ესპანურიმექსი" +
+ "კური ესპანურიკანადური ფრანგულიშვეიცარიული ფრანგულიქვემოსაქსონურიფლამან" +
+ "დიურიბრაზილიური პორტუგალიურიევროპული პორტუგალიურიმოლდავურისერბულ-ხორვა" +
+ "ტულიკონგოს სუაჰილიგამარტივებული ჩინურიტრადიციული ჩინური"
var kaLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -20070,18 +20075,18 @@ var kaLangIdx = []uint16{ // 613 elements
0x27d2, 0x27d2, 0x27d2, 0x27e1, 0x27ed, 0x27ed, 0x27ff, 0x280e,
0x280e, 0x280e, 0x280e, 0x2826, 0x2826, 0x2826, 0x2826, 0x2826,
0x2842, 0x2842, 0x2854, 0x2854, 0x2854, 0x2854, 0x2869, 0x287b,
- 0x2893, 0x289f, 0x28f2, 0x290d, 0x2928, 0x293d, 0x295c, 0x2965,
- 0x2965, 0x2965, 0x2965, 0x2965, 0x2965, 0x2965, 0x2974, 0x2989,
- 0x299e, 0x29ad, 0x29ad, 0x29c2, 0x29c2, 0x29dd, 0x29dd, 0x29e9,
+ 0x2893, 0x289f, 0x28f2, 0x290d, 0x2928, 0x293d, 0x2959, 0x2962,
+ 0x2962, 0x2962, 0x2962, 0x2962, 0x2962, 0x2962, 0x2971, 0x2986,
+ 0x299b, 0x29aa, 0x29aa, 0x29bf, 0x29bf, 0x29da, 0x29da, 0x29e6,
// Entry 240 - 27F
- 0x29e9, 0x29e9, 0x2a01, 0x2a10, 0x2a10, 0x2a2b, 0x2a2b, 0x2a55,
- 0x2a55, 0x2a67, 0x2ac3, 0x2acf, 0x2b1d, 0x2b2f, 0x2b88, 0x2b88,
- 0x2bbf, 0x2c08, 0x2c45, 0x2c79, 0x2cb0, 0x2ce7, 0x2d31, 0x2d62,
- 0x2d96, 0x2d96, 0x2dc7, 0x2e01, 0x2e2b, 0x2e4c, 0x2e8f, 0x2ecc,
- 0x2ee7, 0x2f15, 0x2f3d, 0x2f77, 0x2fa8,
+ 0x29e6, 0x29e6, 0x29fe, 0x2a0d, 0x2a0d, 0x2a28, 0x2a28, 0x2a52,
+ 0x2a52, 0x2a64, 0x2ac0, 0x2acc, 0x2b1a, 0x2b2c, 0x2b85, 0x2b85,
+ 0x2bbc, 0x2c05, 0x2c42, 0x2c76, 0x2cad, 0x2ce4, 0x2d2e, 0x2d5f,
+ 0x2d93, 0x2d93, 0x2dc4, 0x2dfe, 0x2e28, 0x2e49, 0x2e8c, 0x2ec9,
+ 0x2ee4, 0x2f12, 0x2f3a, 0x2f74, 0x2fa5,
} // Size: 1250 bytes
-const kkLangStr string = "" + // Size: 8563 bytes
+const kkLangStr string = "" + // Size: 8573 bytes
"афар тіліабхаз тіліафрикаанс тіліакан тіліамхар тіліарагон тіліараб тілі" +
"ассам тіліавар тіліаймара тіліәзірбайжан тілібашқұрт тілібеларусь тіліб" +
"олгар тілібислама тілібамбара тілібенгал тілітибет тілібретон тілібосни" +
@@ -20140,12 +20145,12 @@ const kkLangStr string = "" + // Size: 8563 bytes
"анан тонго тілісахо тілісукума тілікомор тілісирия тілітемне тілітесо т" +
"ілітетум тілітигре тіліклингон тіліток-писин тілітароко тілітумбука тіл" +
"ітувалу тілітасавак тілітувин тіліорталық атлас тамазигхт тіліудмурт ті" +
- "ліумбунду тіліата тілвай тілівунджо тілівальзер тіліволайта тіліварай т" +
- "ілівальбири тіліқалмақ тілісога тіліянгбен тілійемба тілікантон тілімар" +
- "окколық стандартты тамазигхт тілізуни тілітілдік мазмұны жоқзаза тіліқа" +
- "зіргі стандартты араб тіліағылшын тілі (АҚШ)төменгі саксон тіліфламанд " +
- "тілімолдован тілісерб-хорват тіліконго суахили тіліжеңілдетілген қытай " +
- "тілідәстүрлі қытай тілі"
+ "ліумбунду тілібелгісіз тілвай тілівунджо тілівальзер тіліволайта тіліва" +
+ "рай тілівальбири тіліқалмақ тілісога тіліянгбен тілійемба тілікантон ті" +
+ "лімарокколық стандартты тамазигхт тілізуни тілітілдік мазмұны жоқзаза т" +
+ "іліқазіргі стандартты араб тіліағылшын тілі (АҚШ)төменгі саксон тіліфла" +
+ "манд тілімолдован тілісерб-хорват тіліконго суахили тіліжеңілдетілген қ" +
+ "ытай тілідәстүрлі қытай тілі"
var kkLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -20226,18 +20231,18 @@ var kkLangIdx = []uint16{ // 613 elements
0x1d7a, 0x1d7a, 0x1d7a, 0x1d8d, 0x1d9e, 0x1d9e, 0x1db1, 0x1dc4,
0x1dc4, 0x1dc4, 0x1dc4, 0x1ddb, 0x1ddb, 0x1ddb, 0x1ddb, 0x1ddb,
0x1df5, 0x1df5, 0x1e0a, 0x1e0a, 0x1e0a, 0x1e0a, 0x1e21, 0x1e36,
- 0x1e4d, 0x1e60, 0x1e95, 0x1eaa, 0x1eaa, 0x1ec1, 0x1ece, 0x1edd,
- 0x1edd, 0x1edd, 0x1edd, 0x1edd, 0x1edd, 0x1edd, 0x1ef2, 0x1f09,
- 0x1f20, 0x1f33, 0x1f33, 0x1f4c, 0x1f4c, 0x1f61, 0x1f61, 0x1f72,
+ 0x1e4d, 0x1e60, 0x1e95, 0x1eaa, 0x1eaa, 0x1ec1, 0x1ed8, 0x1ee7,
+ 0x1ee7, 0x1ee7, 0x1ee7, 0x1ee7, 0x1ee7, 0x1ee7, 0x1efc, 0x1f13,
+ 0x1f2a, 0x1f3d, 0x1f3d, 0x1f56, 0x1f56, 0x1f6b, 0x1f6b, 0x1f7c,
// Entry 240 - 27F
- 0x1f72, 0x1f72, 0x1f87, 0x1f9a, 0x1f9a, 0x1faf, 0x1faf, 0x1faf,
- 0x1faf, 0x1faf, 0x1ff4, 0x2005, 0x2027, 0x2038, 0x206d, 0x206d,
- 0x206d, 0x206d, 0x206d, 0x206d, 0x206d, 0x208d, 0x208d, 0x208d,
- 0x208d, 0x208d, 0x208d, 0x208d, 0x20b1, 0x20c8, 0x20c8, 0x20c8,
- 0x20e1, 0x20ff, 0x2121, 0x214f, 0x2173,
+ 0x1f7c, 0x1f7c, 0x1f91, 0x1fa4, 0x1fa4, 0x1fb9, 0x1fb9, 0x1fb9,
+ 0x1fb9, 0x1fb9, 0x1ffe, 0x200f, 0x2031, 0x2042, 0x2077, 0x2077,
+ 0x2077, 0x2077, 0x2077, 0x2077, 0x2077, 0x2097, 0x2097, 0x2097,
+ 0x2097, 0x2097, 0x2097, 0x2097, 0x20bb, 0x20d2, 0x20d2, 0x20d2,
+ 0x20eb, 0x2109, 0x212b, 0x2159, 0x217d,
} // Size: 1250 bytes
-const kmLangStr string = "" + // Size: 8834 bytes
+const kmLangStr string = "" + // Size: 8864 bytes
"អាហ្វារអាប់ខាហ៊្សានអាវេស្ថានអាហ្វ្រិកានអាកានអំហារិកអារ៉ាហ្គោនអារ៉ាប់អាសា" +
"មីសអាវ៉ារីកអីម៉ារ៉ាអាស៊ែបៃហ្សង់បាស្គៀបេឡារុស្សប៊ុលហ្គារីប៊ីស្លាម៉ាបាម្" +
"បារាបង់ក្លាដែសទីបេប្រីស្តុនបូស្នីកាតាឡានឈីឆេនឈីម៉ូរ៉ូកូស៊ីខានឆេកឈឺជស្ល" +
@@ -20276,11 +20281,11 @@ const kmLangStr string = "" + // Size: 8834 bytes
"ឃឺដខាងត្បូងស៊ីណាគុយរ៉ាបូរ៉ុស៊ីនីតាឈីលហ៊ីតសានសាមីខាងត្បូងលូលីសាមីអ៊ីណារ" +
"ីសាម៉ីស្កុលសាមីសូនីនគេស្រាណានតុងហ្គោសាហូស៊ូគូម៉ាកូម៉ូរីស៊ីរៀគធីមនីតេសូ" +
"ទីទុំធីហ្គ្រាឃ្លីនហ្គុនថុកពីស៊ីនតារ៉ូកូទុមប៊ូកាទូវ៉ាលូតាសាវ៉ាក់ទូវីនៀត" +
- "ាម៉ាសាយអាត្លាសកណ្តាលអាត់មូដអាម់ប៊ុនឌូរូតវៃវុនចូវេលសឺវ៉ូឡាយតាវ៉ារេយវ៉ារ" +
- "ីប៉ារីកាលមីគសូហ្គាយ៉ាងបេនយេមបាកន្តាំងតាម៉ាហ្សៃម៉ារ៉ុកស្តង់ដាហ្សូនីគ្មា" +
- "ន\u200bទិន្នន័យ\u200bភាសាហ្សាហ្សាអារ៉ាប់ផ្លូវការអេស្ប៉ាញ (អ៊ឺរ៉ុប)ហ្សា" +
- "ក់ស្យុងក្រោមផ្លាមីសព័រទុយហ្គាល់ (អឺរ៉ុប)ម៉ុលដាវីសឺបូក្រូអាតកុងហ្គោស្វា" +
- "ហ៊ីលីចិន\u200bអក្សរ\u200bកាត់ចិន\u200bអក្សរ\u200bពេញ"
+ "ាម៉ាសាយអាត្លាសកណ្តាលអាត់មូដអាម់ប៊ុនឌូភាសាមិនស្គាល់វៃវុនចូវេលសឺវ៉ូឡាយតា" +
+ "វ៉ារេយវ៉ារីប៉ារីកាលមីគសូហ្គាយ៉ាងបេនយេមបាកន្តាំងតាម៉ាហ្សៃម៉ារ៉ុកស្តង់ដា" +
+ "ហ្សូនីគ្មាន\u200bទិន្នន័យ\u200bភាសាហ្សាហ្សាអារ៉ាប់ផ្លូវការអេស្ប៉ាញ (អ៊" +
+ "ឺរ៉ុប)ហ្សាក់ស្យុងក្រោមផ្លាមីសព័រទុយហ្គាល់ (អឺរ៉ុប)ម៉ុលដាវីសឺបូក្រូអាតក" +
+ "ុងហ្គោស្វាហ៊ីលីចិន\u200bអក្សរ\u200bកាត់ចិន\u200bអក្សរ\u200bពេញ"
var kmLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -20361,18 +20366,18 @@ var kmLangIdx = []uint16{ // 613 elements
0x1e17, 0x1e17, 0x1e17, 0x1e26, 0x1e32, 0x1e32, 0x1e41, 0x1e59,
0x1e59, 0x1e59, 0x1e59, 0x1e77, 0x1e77, 0x1e77, 0x1e77, 0x1e77,
0x1e92, 0x1e92, 0x1ea7, 0x1ea7, 0x1ea7, 0x1ea7, 0x1ebf, 0x1ed4,
- 0x1eef, 0x1f01, 0x1f40, 0x1f55, 0x1f55, 0x1f73, 0x1f7c, 0x1f82,
- 0x1f82, 0x1f82, 0x1f82, 0x1f82, 0x1f82, 0x1f82, 0x1f91, 0x1fa0,
- 0x1fb8, 0x1fca, 0x1fca, 0x1fe8, 0x1fe8, 0x1ffa, 0x1ffa, 0x200c,
+ 0x1eef, 0x1f01, 0x1f40, 0x1f55, 0x1f55, 0x1f73, 0x1f9a, 0x1fa0,
+ 0x1fa0, 0x1fa0, 0x1fa0, 0x1fa0, 0x1fa0, 0x1fa0, 0x1faf, 0x1fbe,
+ 0x1fd6, 0x1fe8, 0x1fe8, 0x2006, 0x2006, 0x2018, 0x2018, 0x202a,
// Entry 240 - 27F
- 0x200c, 0x200c, 0x2021, 0x2030, 0x2030, 0x2045, 0x2045, 0x2045,
- 0x2045, 0x2045, 0x208a, 0x209c, 0x20d5, 0x20ed, 0x211a, 0x211a,
- 0x211a, 0x211a, 0x211a, 0x211a, 0x211a, 0x211a, 0x211a, 0x214a,
- 0x214a, 0x214a, 0x214a, 0x214a, 0x217a, 0x218f, 0x218f, 0x21c8,
- 0x21e0, 0x2201, 0x2231, 0x225b, 0x2282,
+ 0x202a, 0x202a, 0x203f, 0x204e, 0x204e, 0x2063, 0x2063, 0x2063,
+ 0x2063, 0x2063, 0x20a8, 0x20ba, 0x20f3, 0x210b, 0x2138, 0x2138,
+ 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2138, 0x2168,
+ 0x2168, 0x2168, 0x2168, 0x2168, 0x2198, 0x21ad, 0x21ad, 0x21e6,
+ 0x21fe, 0x221f, 0x224f, 0x2279, 0x22a0,
} // Size: 1250 bytes
-const knLangStr string = "" + // Size: 12261 bytes
+const knLangStr string = "" + // Size: 12283 bytes
"ಅಫಾರ್ಅಬ್ಖಾಜಿಯನ್ಅವೆಸ್ಟನ್ಆಫ್ರಿಕಾನ್ಸ್ಅಕಾನ್ಅಂಹರಿಕ್ಅರಗೊನೀಸ್ಅರೇಬಿಕ್ಅಸ್ಸಾಮೀಸ್ಅವ" +
"ರಿಕ್ಅಯ್ಮಾರಾಅಜೆರ್ಬೈಜಾನಿಬಶ್ಕಿರ್ಬೆಲರೂಸಿಯನ್ಬಲ್ಗೇರಿಯನ್ಬಿಸ್ಲಾಮಾಬಂಬಾರಾಬಾಂಗ್ಲಾ" +
"ಟಿಬೇಟಿಯನ್ಬ್ರೆಟನ್ಬೋಸ್ನಿಯನ್ಕೆಟಲಾನ್ಚೆಚನ್ಕಮೊರೊಕೋರ್ಸಿಕನ್ಕ್ರೀಜೆಕ್ಚರ್ಚ್ ಸ್ಲಾವ" +
@@ -20425,15 +20430,15 @@ const knLangStr string = "" + // Size: 12261 bytes
"ೇರೇರ್ಸಹೊಸುಕುಮಾಸುಸುಸುಮೇರಿಯನ್ಕೊಮೊರಿಯನ್ಶಾಸ್ತ್ರೀಯ ಸಿರಿಯಕ್ಸಿರಿಯಕ್ಟಿಮ್ನೆಟೆಸೊ" +
"ಟೆರೆನೋಟೇಟಮ್ಟೈಗ್ರೆಟಿವ್ಟೊಕೆಲಾವ್ಕ್ಲಿಂಗನ್ಟ್ಲಿಂಗಿಟ್ಟಮಾಷೆಕ್ನ್ಯಾಸಾ ಟೋಂಗಾಟೋಕ್ " +
"ಪಿಸಿನ್ಟರೊಕೊಸಿಂಶಿಯನ್ತುಂಬುಕಾಟುವಾಲುಟಸವಕ್ಟುವಿನಿಯನ್ಮಧ್ಯ ಅಟ್ಲಾಸ್ ಟಮಜೈಟ್ಉಡ್" +
- "\u200cಮುರ್ಟ್ಉಗಾರಿಟಿಕ್ಉಂಬುಂಡುರೂಟ್ವಾಯಿವೋಟಿಕ್ವುಂಜೊವಾಲ್ಸರ್ವಲಾಯ್ತಾವರಾಯ್ವಾಷೋವಾ" +
- "ರ್ಲ್\u200cಪಿರಿವುಕಲ್ಮೈಕ್ಸೊಗಯಾವೊಯಪೀಸೆಯಾಂಗ್ಬೆನ್ಯೆಂಬಾಕ್ಯಾಂಟನೀಸ್ಝೋಪೊಟೆಕ್ಬ್ಲ" +
- "ಿಸ್ಸಿಂಬಲ್ಸ್ಝೆನಾಗಾಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮೊರೊಕ್ಕನ್ ಟಮಜೈಟ್ಝೂನಿಯಾವುದೇ ಭಾಷಾಸಂಬಂಧಿ ವಿ" +
- "ಷಯವಿಲ್ಲಜಾಝಾಆಧುನಿಕ ಪ್ರಮಾಣಿತ ಅರೇಬಿಕ್ಆಸ್ಟ್ರಿಯನ್ ಜರ್ಮನ್ಸ್ವಿಸ್ ಹೈ ಜರ್ಮನ್ಆಸ್" +
- "ಟ್ರೇಲಿಯನ್ ಇಂಗ್ಲೀಷ್ಕೆನೆಡಿಯನ್ ಇಂಗ್ಲೀಷ್ಬ್ರಿಟಿಷ್ ಇಂಗ್ಲೀಷ್ಅಮೆರಿಕನ್ ಇಂಗ್ಲೀಷ್" +
- "ಲ್ಯಾಟಿನ್ ಅಮೇರಿಕನ್ ಸ್ಪ್ಯಾನಿಷ್ಯುರೋಪಿಯನ್ ಸ್ಪ್ಯಾನಿಷ್ಮೆಕ್ಸಿಕನ್ ಸ್ಪ್ಯಾನಿಷ್ಕೆ" +
- "ನೆಡಿಯನ್ ಫ್ರೆಂಚ್ಸ್ವಿಸ್ ಫ್ರೆಂಚ್ಲೋ ಸ್ಯಾಕ್ಸನ್ಫ್ಲೆಮಿಷ್ಬ್ರೆಜಿಲಿಯನ್ ಪೋರ್ಚುಗೀಸ" +
- "್ಯೂರೋಪಿಯನ್ ಪೋರ್ಚುಗೀಸ್ಮಾಲ್ಡೇವಿಯನ್ಸರ್ಬೋ-ಕ್ರೊಯೇಶಿಯನ್ಕಾಂಗೊ ಸ್ವಹಿಲಿಸರಳೀಕೃತ " +
- "ಚೈನೀಸ್ಸಾಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್"
+ "\u200cಮುರ್ಟ್ಉಗಾರಿಟಿಕ್ಉಂಬುಂಡುಅಪರಿಚಿತ ಭಾಷೆವಾಯಿವೋಟಿಕ್ವುಂಜೊವಾಲ್ಸರ್ವಲಾಯ್ತಾವರಾ" +
+ "ಯ್ವಾಷೋವಾರ್ಲ್\u200cಪಿರಿವುಕಲ್ಮೈಕ್ಸೊಗಯಾವೊಯಪೀಸೆಯಾಂಗ್ಬೆನ್ಯೆಂಬಾಕ್ಯಾಂಟನೀಸ್ಝೋಪ" +
+ "ೊಟೆಕ್ಬ್ಲಿಸ್ಸಿಂಬಲ್ಸ್ಝೆನಾಗಾಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮೊರೊಕ್ಕನ್ ಟಮಜೈಟ್ಝೂನಿಯಾವುದೇ ಭಾಷಾಸ" +
+ "ಂಬಂಧಿ ವಿಷಯವಿಲ್ಲಜಾಝಾಆಧುನಿಕ ಪ್ರಮಾಣಿತ ಅರೇಬಿಕ್ಆಸ್ಟ್ರಿಯನ್ ಜರ್ಮನ್ಸ್ವಿಸ್ ಹೈ ಜ" +
+ "ರ್ಮನ್ಆಸ್ಟ್ರೇಲಿಯನ್ ಇಂಗ್ಲೀಷ್ಕೆನೆಡಿಯನ್ ಇಂಗ್ಲೀಷ್ಬ್ರಿಟಿಷ್ ಇಂಗ್ಲೀಷ್ಅಮೆರಿಕನ್ " +
+ "ಇಂಗ್ಲೀಷ್ಲ್ಯಾಟಿನ್ ಅಮೇರಿಕನ್ ಸ್ಪ್ಯಾನಿಷ್ಯುರೋಪಿಯನ್ ಸ್ಪ್ಯಾನಿಷ್ಮೆಕ್ಸಿಕನ್ ಸ್ಪ್" +
+ "ಯಾನಿಷ್ಕೆನೆಡಿಯನ್ ಫ್ರೆಂಚ್ಸ್ವಿಸ್ ಫ್ರೆಂಚ್ಲೋ ಸ್ಯಾಕ್ಸನ್ಫ್ಲೆಮಿಷ್ಬ್ರೆಜಿಲಿಯನ್ ಪ" +
+ "ೋರ್ಚುಗೀಸ್ಯೂರೋಪಿಯನ್ ಪೋರ್ಚುಗೀಸ್ಮಾಲ್ಡೇವಿಯನ್ಸರ್ಬೋ-ಕ್ರೊಯೇಶಿಯನ್ಕಾಂಗೊ ಸ್ವಹಿಲಿ" +
+ "ಸರಳೀಕೃತ ಚೈನೀಸ್ಸಾಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್"
var knLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -20514,18 +20519,18 @@ var knLangIdx = []uint16{ // 613 elements
0x27a5, 0x27a5, 0x27a5, 0x27b7, 0x27c3, 0x27d5, 0x27e4, 0x27f6,
0x2802, 0x281a, 0x281a, 0x2832, 0x284d, 0x284d, 0x2862, 0x2884,
0x28a3, 0x28a3, 0x28b2, 0x28b2, 0x28ca, 0x28ca, 0x28df, 0x28f1,
- 0x2900, 0x291b, 0x2950, 0x296e, 0x2989, 0x299e, 0x29aa, 0x29b6,
- 0x29b6, 0x29b6, 0x29b6, 0x29b6, 0x29c8, 0x29c8, 0x29d7, 0x29ec,
- 0x2a01, 0x2a10, 0x2a1c, 0x2a3d, 0x2a43, 0x2a58, 0x2a58, 0x2a61,
+ 0x2900, 0x291b, 0x2950, 0x296e, 0x2989, 0x299e, 0x29c0, 0x29cc,
+ 0x29cc, 0x29cc, 0x29cc, 0x29cc, 0x29de, 0x29de, 0x29ed, 0x2a02,
+ 0x2a17, 0x2a26, 0x2a32, 0x2a53, 0x2a59, 0x2a6e, 0x2a6e, 0x2a77,
// Entry 240 - 27F
- 0x2a6d, 0x2a7c, 0x2a97, 0x2aa6, 0x2aa6, 0x2ac4, 0x2adc, 0x2b06,
- 0x2b06, 0x2b18, 0x2b6b, 0x2b77, 0x2bc4, 0x2bd0, 0x2c11, 0x2c11,
- 0x2c42, 0x2c6e, 0x2cab, 0x2cdf, 0x2d10, 0x2d41, 0x2d91, 0x2dcb,
- 0x2e05, 0x2e05, 0x2e36, 0x2e5e, 0x2e80, 0x2e98, 0x2ed8, 0x2f12,
- 0x2f33, 0x2f64, 0x2f89, 0x2fb1, 0x2fe5,
+ 0x2a83, 0x2a92, 0x2aad, 0x2abc, 0x2abc, 0x2ada, 0x2af2, 0x2b1c,
+ 0x2b1c, 0x2b2e, 0x2b81, 0x2b8d, 0x2bda, 0x2be6, 0x2c27, 0x2c27,
+ 0x2c58, 0x2c84, 0x2cc1, 0x2cf5, 0x2d26, 0x2d57, 0x2da7, 0x2de1,
+ 0x2e1b, 0x2e1b, 0x2e4c, 0x2e74, 0x2e96, 0x2eae, 0x2eee, 0x2f28,
+ 0x2f49, 0x2f7a, 0x2f9f, 0x2fc7, 0x2ffb,
} // Size: 1250 bytes
-const koLangStr string = "" + // Size: 7030 bytes
+const koLangStr string = "" + // Size: 7045 bytes
"아파르어압카즈어아베스타어아프리칸스어아칸어암하라어아라곤어아랍어아삼어아바릭어아이마라어아제르바이잔어바슈키르어벨라루스어불가리아어비슬라마어" +
"밤바라어벵골어티베트어브르타뉴어보스니아어카탈로니아어체첸어차모로어코르시카어크리어체코어교회 슬라브어추바시어웨일스어덴마크어독일어디베히" +
"어종카어에웨어그리스어영어에스페란토어스페인어에스토니아어바스크어페르시아어풀라어핀란드어피지어페로어프랑스어서부 프리지아어아일랜드어스코" +
@@ -20558,9 +20563,9 @@ const koLangStr string = "" + // Size: 7030 bytes
"니어고대 아일랜드어타셸히트어샨어차디언 아라비아어시다모어남부 사미어룰레 사미어이나리 사미어스콜트 사미어소닌케어소그디엔어스라난 통" +
"가어세레르어사호어수쿠마어수수어수메르어코모로어고전 시리아어시리아어팀니어테조어테레노어테툼어티그레어티브어토켈라우제도어차후르어클링온어" +
"틀링깃족어탈리쉬어타마섹어니아사 통가어토크 피신어타로코어트심시안어툼부카어투발루어타사와크어투비니안어중앙 모로코 타마지트어우드말트어" +
- "유가리틱어움분두어어근바이어보틱어분조어월저어월라이타어와라이어와쇼어왈피리어우어칼미크어소가어야오족어얍페세어양본어옘바어광둥어사포테크어" +
- "블리스 심볼제나가어표준 모로코 타마지트어주니어언어 관련 내용 없음자자어현대 표준 아랍어고지 독일어(스위스)영어(호주)저지 색슨" +
- "어플라망어몰도바어세르비아-크로아티아어콩고 스와힐리어"
+ "유가리틱어움분두어알 수 없는 언어바이어보틱어분조어월저어월라이타어와라이어와쇼어왈피리어우어칼미크어소가어야오족어얍페세어양본어옘바어광" +
+ "둥어사포테크어블리스 심볼제나가어표준 모로코 타마지트어주니어언어 관련 내용 없음자자어현대 표준 아랍어고지 독일어(스위스)영어(호" +
+ "주)저지 색슨어플라망어몰도바어세르비아-크로아티아어콩고 스와힐리어"
var koLangIdx = []uint16{ // 611 elements
// Entry 0 - 3F
@@ -20641,18 +20646,18 @@ var koLangIdx = []uint16{ // 611 elements
0x186b, 0x186b, 0x186b, 0x1874, 0x187d, 0x1889, 0x1892, 0x189e,
0x18a7, 0x18bc, 0x18c8, 0x18d4, 0x18e3, 0x18ef, 0x18fb, 0x190e,
0x191e, 0x191e, 0x192a, 0x192a, 0x1939, 0x1939, 0x1945, 0x1951,
- 0x1960, 0x196f, 0x198f, 0x199e, 0x19ad, 0x19b9, 0x19bf, 0x19c8,
- 0x19c8, 0x19c8, 0x19c8, 0x19c8, 0x19d1, 0x19d1, 0x19da, 0x19e3,
- 0x19f2, 0x19fe, 0x1a07, 0x1a13, 0x1a19, 0x1a25, 0x1a25, 0x1a2e,
+ 0x1960, 0x196f, 0x198f, 0x199e, 0x19ad, 0x19b9, 0x19ce, 0x19d7,
+ 0x19d7, 0x19d7, 0x19d7, 0x19d7, 0x19e0, 0x19e0, 0x19e9, 0x19f2,
+ 0x1a01, 0x1a0d, 0x1a16, 0x1a22, 0x1a28, 0x1a34, 0x1a34, 0x1a3d,
// Entry 240 - 27F
- 0x1a3a, 0x1a46, 0x1a4f, 0x1a58, 0x1a58, 0x1a61, 0x1a70, 0x1a80,
- 0x1a80, 0x1a8c, 0x1aac, 0x1ab5, 0x1ad0, 0x1ad9, 0x1af0, 0x1af0,
- 0x1af0, 0x1b0b, 0x1b19, 0x1b19, 0x1b19, 0x1b19, 0x1b19, 0x1b19,
- 0x1b19, 0x1b19, 0x1b19, 0x1b19, 0x1b29, 0x1b35, 0x1b35, 0x1b35,
- 0x1b41, 0x1b60, 0x1b76,
+ 0x1a49, 0x1a55, 0x1a5e, 0x1a67, 0x1a67, 0x1a70, 0x1a7f, 0x1a8f,
+ 0x1a8f, 0x1a9b, 0x1abb, 0x1ac4, 0x1adf, 0x1ae8, 0x1aff, 0x1aff,
+ 0x1aff, 0x1b1a, 0x1b28, 0x1b28, 0x1b28, 0x1b28, 0x1b28, 0x1b28,
+ 0x1b28, 0x1b28, 0x1b28, 0x1b28, 0x1b38, 0x1b44, 0x1b44, 0x1b44,
+ 0x1b50, 0x1b6f, 0x1b85,
} // Size: 1246 bytes
-const kyLangStr string = "" + // Size: 6711 bytes
+const kyLangStr string = "" + // Size: 6728 bytes
"афарчаабхазчаафрикаанчааканчаамхарчаарагончоарабчаассамчааварикчеаймарач" +
"аазербайжанчабашкырчабеларусчаболгарчабисламачабамбарачабангладешчетибе" +
"тчебретончобоснийчекаталанчачеченчечаморрочокорсиканчачехчечиркөө славя" +
@@ -20695,12 +20700,12 @@ const kyLangStr string = "" + // Size: 6711 bytes
"үштүк курдчасеначакойраборо сенничеташелитчешанчатүштүк саамичелуле-сам" +
"ичеинари саамическолт саамичесонинкечесранан тонгочосахочосукумачакомор" +
"чосириячатимнечетесочотетумчатигречеклингончоток-писинчетарокочотумбука" +
- "чатувалучатасабакчатувинчеБорбордук Атлас тамазитчеудмуртчаумбундучатүп" +
- "күвайичевунжочовалцерчевольяттачаварайчаворлпиричеwuuкалмыкчасогачаянгб" +
- "енчейембачакантончомарокко тамазигт адабий тилиндезуничетилдик мазмун ж" +
- "окзазачаазыркы адабий араб тилиндеадабий немисче (Швейцария)испанча (Ев" +
- "ропа)төмөнкү саксончофламандчапортугалча (Европа)молдованчасерб-хорватк" +
- "онго суахаличекытайча (жөнөкөйлөштүрүлгөн)кытайча (салттуу)"
+ "чатувалучатасабакчатувинчеБорбордук Атлас тамазитчеудмуртчаумбундучабел" +
+ "гисиз тилдевайичевунжочовалцерчевольяттачаварайчаворлпиричеwuuкалмыкчас" +
+ "огачаянгбенчейембачакантончомарокко тамазигт адабий тилиндезуничетилдик" +
+ " мазмун жокзазачаазыркы адабий араб тилиндеадабий немисче (Швейцария)исп" +
+ "анча (Европа)төмөнкү саксончофламандчапортугалча (Европа)молдованчасерб" +
+ "-хорватконго суахаличекытайча (жөнөкөйлөштүрүлгөн)кытайча (салттуу)"
var kyLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -20781,18 +20786,18 @@ var kyLangIdx = []uint16{ // 613 elements
0x16a0, 0x16a0, 0x16a0, 0x16ae, 0x16ba, 0x16ba, 0x16c8, 0x16d6,
0x16d6, 0x16d6, 0x16d6, 0x16e8, 0x16e8, 0x16e8, 0x16e8, 0x16e8,
0x16fd, 0x16fd, 0x170d, 0x170d, 0x170d, 0x170d, 0x171f, 0x172f,
- 0x1741, 0x174f, 0x177f, 0x178f, 0x178f, 0x17a1, 0x17ab, 0x17b7,
- 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17b7, 0x17c5, 0x17d5,
- 0x17e9, 0x17f7, 0x17f7, 0x180b, 0x180e, 0x181e, 0x181e, 0x182a,
+ 0x1741, 0x174f, 0x177f, 0x178f, 0x178f, 0x17a1, 0x17bc, 0x17c8,
+ 0x17c8, 0x17c8, 0x17c8, 0x17c8, 0x17c8, 0x17c8, 0x17d6, 0x17e6,
+ 0x17fa, 0x1808, 0x1808, 0x181c, 0x181f, 0x182f, 0x182f, 0x183b,
// Entry 240 - 27F
- 0x182a, 0x182a, 0x183a, 0x1848, 0x1848, 0x1858, 0x1858, 0x1858,
- 0x1858, 0x1858, 0x1893, 0x189f, 0x18bf, 0x18cb, 0x18fc, 0x18fc,
- 0x18fc, 0x192c, 0x192c, 0x192c, 0x192c, 0x192c, 0x192c, 0x1949,
- 0x1949, 0x1949, 0x1949, 0x1949, 0x1968, 0x197a, 0x197a, 0x199d,
- 0x19b1, 0x19c6, 0x19e3, 0x1a18, 0x1a37,
+ 0x183b, 0x183b, 0x184b, 0x1859, 0x1859, 0x1869, 0x1869, 0x1869,
+ 0x1869, 0x1869, 0x18a4, 0x18b0, 0x18d0, 0x18dc, 0x190d, 0x190d,
+ 0x190d, 0x193d, 0x193d, 0x193d, 0x193d, 0x193d, 0x193d, 0x195a,
+ 0x195a, 0x195a, 0x195a, 0x195a, 0x1979, 0x198b, 0x198b, 0x19ae,
+ 0x19c2, 0x19d7, 0x19f4, 0x1a29, 0x1a48,
} // Size: 1250 bytes
-const loLangStr string = "" + // Size: 10855 bytes
+const loLangStr string = "" + // Size: 10894 bytes
"ອະຟາແອບຄາຊຽນອາເວັສແຕນອາຟຣິການອາການອຳຮາຣິກອາຣາໂກເນັດອາຣັບອັສຊາມີສອາວາຣິກອ" +
"າຍມາລາອາເຊີໄບຈານິບາຣກີເບລາຣັສຊຽນບັງກາຣຽນບິສລະມາບາມບາຣາເບັງກາລີທິເບທັນເ" +
"ບຣຕັນບອສນຽນຄາຕາລານຊີເຄນຊາມໍໂຣຄໍຊິກາຄີເຊກໂບດສລາວິກຊູວາຊເວວແດນິຊເຢຍລະມັນ" +
@@ -20838,14 +20843,14 @@ const loLangStr string = "" + // Size: 10855 bytes
"າດຊິດາໂມຊາມິໃຕ້ລຸນຊາມິອີນາຣິຊາມິສກອດຊາມິໂຊນິນກີຊອກດິນສຣານນານຕອນໂກເຊເລີ" +
"ຊາໂຮຊູຄູມ້າຊູຊູຊູເມີເລຍໂຄໂນຣຽນຊີເລຍແບບດັ້ງເດີມຊີເລຍທີມເນເຕໂຊເຕເລໂນເຕຕູ" +
"ມໄທກຣີຕີວໂຕເກເລົາຄຣິງກອນທລີງກິດທາມາກເຊກນາຍອາຊາຕອງກາທອກພີຊິນຕາໂລໂກຊີມຊີ" +
- "ແອນຕຳບູກາຕູວາລູຕາຊາວັກຕູວີນຽນອັດລາສ ທາມາຊີກ ກາງອຸດມັດຢູກາລິກອຳບັນດູລູດ" +
- "ໄວໂວຕິກວັນໂຈວາເຊີວາລາໂມວາເລວາໂຊວາຣພິຣິການມິກໂຊກາເຢົ້າຢັບແຍງເບນແຢມບາກວາ" +
- "ງຕຸ້ງຊາໂປແຕບສັນຍາລັກບລີຊິມເຊນາກາໂມຣັອກແຄນ ທາມາຊີກ ມາດຕະຖານຊູນີບໍ່ມີເນື" +
- "້ອຫາພາສາຊາຊາອາຣາບິກມາດຕະຖານສະໄໝໃໝ່ເຢຍລະມັນ (ໂອສຕຣິດ)ສະວິສ ໄຮ ເຈີແມນອັງ" +
- "ກິດ (ໂອດສະຕາລີ)ອັງກິດ (ບຣິດທິຊ)ອັງກິດ (ອາເມລິກັນ)ລາຕິນ ອາເມຣິກັນ ສະແປນ" +
- "ນິຊສະເປັນ ຢຸໂຣບເມັກຊິກັນ ສະແປນນິຊຟລັງ(ການາດາ)ຊາຊອນ ຕອນໄຕຟລີມິຊປອກຕຸຍກິ" +
- "ສ ບະເລຊີ່ນປອກຕຸຍກິສ ຢຸໂຣບໂມດາວຽນເຊີໂບ-ໂກເຊຍຄອງໂກ ຊວາຮີລິຈີນແບບຮຽບງ່າຍຈ" +
- "ີນແບບດັ້ງເດີມ"
+ "ແອນຕຳບູກາຕູວາລູຕາຊາວັກຕູວີນຽນອັດລາສ ທາມາຊີກ ກາງອຸດມັດຢູກາລິກອຳບັນດູບໍ່" +
+ "ສາມາດລະບຸພາສາໄວໂວຕິກວັນໂຈວາເຊີວາລາໂມວາເລວາໂຊວາຣພິຣິການມິກໂຊກາເຢົ້າຢັບແ" +
+ "ຍງເບນແຢມບາກວາງຕຸ້ງຊາໂປແຕບສັນຍາລັກບລີຊິມເຊນາກາໂມຣັອກແຄນ ທາມາຊີກ ມາດຕະຖາ" +
+ "ນຊູນີບໍ່ມີເນື້ອຫາພາສາຊາຊາອາຣາບິກມາດຕະຖານສະໄໝໃໝ່ເຢຍລະມັນ (ໂອສຕຣິດ)ສະວິສ" +
+ " ໄຮ ເຈີແມນອັງກິດ (ໂອດສະຕາລີ)ອັງກິດ (ບຣິດທິຊ)ອັງກິດ (ອາເມລິກັນ)ລາຕິນ ອາເມ" +
+ "ຣິກັນ ສະແປນນິຊສະເປັນ ຢຸໂຣບເມັກຊິກັນ ສະແປນນິຊຟລັງ(ການາດາ)ຊາຊອນ ຕອນໄຕຟລີ" +
+ "ມິຊປອກຕຸຍກິສ ບະເລຊີ່ນປອກຕຸຍກິສ ຢຸໂຣບໂມດາວຽນເຊີໂບ-ໂກເຊຍຄອງໂກ ຊວາຮີລິຈີນ" +
+ "ແບບຮຽບງ່າຍຈີນແບບດັ້ງເດີມ"
var loLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -20926,18 +20931,18 @@ var loLangIdx = []uint16{ // 613 elements
0x23b1, 0x23b1, 0x23b1, 0x23c0, 0x23cc, 0x23de, 0x23ed, 0x23fc,
0x2405, 0x241d, 0x241d, 0x2432, 0x2447, 0x2447, 0x245f, 0x2483,
0x249b, 0x249b, 0x24ad, 0x24ad, 0x24c5, 0x24c5, 0x24d7, 0x24e9,
- 0x24fe, 0x2513, 0x2545, 0x2557, 0x256c, 0x2581, 0x258a, 0x2590,
- 0x2590, 0x2590, 0x2590, 0x2590, 0x259f, 0x259f, 0x25ae, 0x25bd,
- 0x25cf, 0x25db, 0x25e7, 0x25fc, 0x25fc, 0x260e, 0x260e, 0x261a,
+ 0x24fe, 0x2513, 0x2545, 0x2557, 0x256c, 0x2581, 0x25b1, 0x25b7,
+ 0x25b7, 0x25b7, 0x25b7, 0x25b7, 0x25c6, 0x25c6, 0x25d5, 0x25e4,
+ 0x25f6, 0x2602, 0x260e, 0x2623, 0x2623, 0x2635, 0x2635, 0x2641,
// Entry 240 - 27F
- 0x2629, 0x2632, 0x2644, 0x2653, 0x2653, 0x266b, 0x2680, 0x26aa,
- 0x26aa, 0x26bc, 0x2706, 0x2712, 0x2742, 0x274e, 0x2790, 0x2790,
- 0x27c0, 0x27e9, 0x2819, 0x2819, 0x2843, 0x2873, 0x28b7, 0x28d9,
- 0x290d, 0x290d, 0x292d, 0x292d, 0x294c, 0x295e, 0x2992, 0x29bd,
- 0x29d2, 0x29f1, 0x2a16, 0x2a3d, 0x2a67,
+ 0x2650, 0x2659, 0x266b, 0x267a, 0x267a, 0x2692, 0x26a7, 0x26d1,
+ 0x26d1, 0x26e3, 0x272d, 0x2739, 0x2769, 0x2775, 0x27b7, 0x27b7,
+ 0x27e7, 0x2810, 0x2840, 0x2840, 0x286a, 0x289a, 0x28de, 0x2900,
+ 0x2934, 0x2934, 0x2954, 0x2954, 0x2973, 0x2985, 0x29b9, 0x29e4,
+ 0x29f9, 0x2a18, 0x2a3d, 0x2a64, 0x2a8e,
} // Size: 1250 bytes
-const ltLangStr string = "" + // Size: 5947 bytes
+const ltLangStr string = "" + // Size: 5958 bytes
"afarųabchazųavestųafrikanųakanųamharųaragonesųarabųasamųavarikųaimarųaze" +
"rbaidžaniečiųbaškirųbaltarusiųbulgarųbislamabambarųbengalųtibetiečiųbret" +
"onųbosniųkatalonųčečėnųčamorųkorsikiečiųkryčekųbažnytinė slavųčiuvašųval" +
@@ -21002,16 +21007,16 @@ const ltLangStr string = "" + // Size: 5947 bytes
"sileziečiųtulųtimnetesoTerenotetumtigretivTokelautsakurųklingonųtlingitų" +
"talyšųtamašekniasa tongųPapua pidžinųturoyoTarokotsakonųtsimšianmusulmon" +
"ų tatųtumbukųTuvalutasavakųtuviųCentrinio Maroko tamazitųudmurtųugaritų" +
- "umbundurūtvaivenetųvepsųvakarų flamandųpagrindinė frankonųVotikveruvunjo" +
- "valserųvalamovaraiVašovalrpirikinų kalbos vu tarmėkalmukųmegrelųsogųjaoj" +
- "apezųjangbenųjembųnjengatukinų kalbos Kantono tarmėzapotekųBLISS simboli" +
- "ųzelandųzenagastandartinė Maroko tamazigtųZuninėra kalbinio turiniozaza" +
- "šiuolaikinė standartinė arabųAustrijos vokiečiųŠveicarijos aukštutinė v" +
- "okiečiųAustralijos anglųKanados anglųDidžiosios Britanijos anglųJungtini" +
- "ų Valstijų anglųLotynų Amerikos ispanųEuropos ispanųMeksikos ispanųKana" +
- "dos prancūzųŠveicarijos prancūzųŽemutinės Saksonijos (Nyderlandai)flaman" +
- "dųBrazilijos portugalųEuropos portugalųmoldavųserbų-kroatųKongo suahilių" +
- "supaprastintoji kinųtradicinė kinų"
+ "umbundunežinoma kalbavaivenetųvepsųvakarų flamandųpagrindinė frankonųVot" +
+ "ikveruvunjovalserųvalamovaraiVašovalrpirikinų kalbos vu tarmėkalmukųmegr" +
+ "elųsogųjaojapezųjangbenųjembųnjengatukinų kalbos Kantono tarmėzapotekųBL" +
+ "ISS simboliųzelandųzenagastandartinė Maroko tamazigtųZuninėra kalbinio t" +
+ "uriniozazašiuolaikinė standartinė arabųAustrijos vokiečiųŠveicarijos auk" +
+ "štutinė vokiečiųAustralijos anglųKanados anglųDidžiosios Britanijos ang" +
+ "lųJungtinių Valstijų anglųLotynų Amerikos ispanųEuropos ispanųMeksikos i" +
+ "spanųKanados prancūzųŠveicarijos prancūzųŽemutinės Saksonijos (Nyderland" +
+ "ai)flamandųBrazilijos portugalųEuropos portugalųmoldavųserbų-kroatųKongo" +
+ " suahiliųsupaprastintoji kinųtradicinė kinų"
var ltLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -21092,18 +21097,18 @@ var ltLangIdx = []uint16{ // 613 elements
0x1367, 0x1373, 0x1378, 0x137d, 0x1381, 0x1387, 0x138c, 0x1391,
0x1394, 0x139b, 0x13a3, 0x13ac, 0x13b5, 0x13bd, 0x13c5, 0x13d1,
0x13e0, 0x13e6, 0x13ec, 0x13f4, 0x13fd, 0x140d, 0x1415, 0x141b,
- 0x1424, 0x142a, 0x1444, 0x144c, 0x1454, 0x145b, 0x145f, 0x1462,
- 0x1469, 0x146f, 0x1480, 0x1495, 0x149a, 0x149e, 0x14a3, 0x14ab,
- 0x14b1, 0x14b6, 0x14bb, 0x14c3, 0x14d9, 0x14e1, 0x14e9, 0x14ee,
+ 0x1424, 0x142a, 0x1444, 0x144c, 0x1454, 0x145b, 0x146a, 0x146d,
+ 0x1474, 0x147a, 0x148b, 0x14a0, 0x14a5, 0x14a9, 0x14ae, 0x14b6,
+ 0x14bc, 0x14c1, 0x14c6, 0x14ce, 0x14e4, 0x14ec, 0x14f4, 0x14f9,
// Entry 240 - 27F
- 0x14f1, 0x14f8, 0x1501, 0x1507, 0x150f, 0x152a, 0x1533, 0x1542,
- 0x154a, 0x1550, 0x156e, 0x1572, 0x1588, 0x158c, 0x15ad, 0x15ad,
- 0x15c1, 0x15e5, 0x15f7, 0x1605, 0x1622, 0x163d, 0x1655, 0x1664,
- 0x1674, 0x1674, 0x1686, 0x169d, 0x16c1, 0x16ca, 0x16df, 0x16f1,
- 0x16f9, 0x1707, 0x1716, 0x172b, 0x173b,
+ 0x14fc, 0x1503, 0x150c, 0x1512, 0x151a, 0x1535, 0x153e, 0x154d,
+ 0x1555, 0x155b, 0x1579, 0x157d, 0x1593, 0x1597, 0x15b8, 0x15b8,
+ 0x15cc, 0x15f0, 0x1602, 0x1610, 0x162d, 0x1648, 0x1660, 0x166f,
+ 0x167f, 0x167f, 0x1691, 0x16a8, 0x16cc, 0x16d5, 0x16ea, 0x16fc,
+ 0x1704, 0x1712, 0x1721, 0x1736, 0x1746,
} // Size: 1250 bytes
-const lvLangStr string = "" + // Size: 4355 bytes
+const lvLangStr string = "" + // Size: 4366 bytes
"afāruabhāzuavestaafrikanduakanuamharuaragoniešuarābuasamiešuavāruaimarua" +
"zerbaidžāņubaškīrubaltkrievubulgārubišlamābambarubengāļutibetiešubretoņu" +
"bosniešukatalāņučečenučamorrukorsikāņukrīčehubaznīcslāvučuvašuvelsiešudā" +
@@ -21152,14 +21157,14 @@ const lvLangStr string = "" + // Size: 4355 bytes
"mususušumerukomoruklasiskā sīriešusīriešutemnutesoterenotetumutigrutivut" +
"okelaviešuklingoņutlinkitutuareguNjasas tongutokpisinstarokocimšiāņutumb" +
"ukutuvaliešutasavakutuviešuCentrālmarokas tamazītsudmurtuugaritiešuumbun" +
- "dusaknevajuvotuvundžoVallisas vācuvalamuvarajuvašovarlpirīkalmikusogujao" +
- "japiešujanbaņujembukantoniešusapotekublissimbolikazenagustandarta marokā" +
- "ņu berberuzunjubez lingvistiska saturazazakimūsdienu standarta arābudie" +
- "nvidazerbaidžāņuAustrijas vācuŠveices augšvācuAustrālijas angļuKanādas a" +
- "ngļuLielbritānijas angļuASV angļuLatīņamerikas spāņuEiropas spāņuMeksika" +
- "s spāņuKanādas frančuŠveices frančulejassakšuflāmuBrazīlijas portugāļuEi" +
- "ropas portugāļumoldāvuserbu–horvātuKongo svahiliķīniešu vienkāršotāķīnie" +
- "šu tradicionālā"
+ "dunezināma valodavajuvotuvundžoVallisas vācuvalamuvarajuvašovarlpirīkalm" +
+ "ikusogujaojapiešujanbaņujembukantoniešusapotekublissimbolikazenagustanda" +
+ "rta marokāņu berberuzunjubez lingvistiska saturazazakimūsdienu standarta" +
+ " arābudienvidazerbaidžāņuAustrijas vācuŠveices augšvācuAustrālijas angļu" +
+ "Kanādas angļuLielbritānijas angļuASV angļuLatīņamerikas spāņuEiropas spā" +
+ "ņuMeksikas spāņuKanādas frančuŠveices frančulejassakšuflāmuBrazīlijas p" +
+ "ortugāļuEiropas portugāļumoldāvuserbu–horvātuKongo svahiliķīniešu vienkā" +
+ "ršotāķīniešu tradicionālā"
var lvLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -21240,18 +21245,18 @@ var lvLangIdx = []uint16{ // 613 elements
0x0e09, 0x0e09, 0x0e09, 0x0e0e, 0x0e12, 0x0e18, 0x0e1e, 0x0e23,
0x0e27, 0x0e33, 0x0e33, 0x0e3c, 0x0e44, 0x0e44, 0x0e4b, 0x0e57,
0x0e60, 0x0e60, 0x0e66, 0x0e66, 0x0e71, 0x0e71, 0x0e78, 0x0e82,
- 0x0e8a, 0x0e92, 0x0eab, 0x0eb2, 0x0ebd, 0x0ec4, 0x0ec9, 0x0ecd,
- 0x0ecd, 0x0ecd, 0x0ecd, 0x0ecd, 0x0ed1, 0x0ed1, 0x0ed8, 0x0ee6,
- 0x0eec, 0x0ef2, 0x0ef7, 0x0f00, 0x0f00, 0x0f07, 0x0f07, 0x0f0b,
+ 0x0e8a, 0x0e92, 0x0eab, 0x0eb2, 0x0ebd, 0x0ec4, 0x0ed4, 0x0ed8,
+ 0x0ed8, 0x0ed8, 0x0ed8, 0x0ed8, 0x0edc, 0x0edc, 0x0ee3, 0x0ef1,
+ 0x0ef7, 0x0efd, 0x0f02, 0x0f0b, 0x0f0b, 0x0f12, 0x0f12, 0x0f16,
// Entry 240 - 27F
- 0x0f0e, 0x0f16, 0x0f1e, 0x0f23, 0x0f23, 0x0f2e, 0x0f36, 0x0f43,
- 0x0f43, 0x0f49, 0x0f65, 0x0f6a, 0x0f81, 0x0f87, 0x0fa1, 0x0fb7,
- 0x0fc6, 0x0fd9, 0x0fec, 0x0ffb, 0x1011, 0x101b, 0x1032, 0x1041,
- 0x1051, 0x1051, 0x1061, 0x1071, 0x107c, 0x1082, 0x1099, 0x10ac,
- 0x10b4, 0x10c4, 0x10d1, 0x10ea, 0x1103,
+ 0x0f19, 0x0f21, 0x0f29, 0x0f2e, 0x0f2e, 0x0f39, 0x0f41, 0x0f4e,
+ 0x0f4e, 0x0f54, 0x0f70, 0x0f75, 0x0f8c, 0x0f92, 0x0fac, 0x0fc2,
+ 0x0fd1, 0x0fe4, 0x0ff7, 0x1006, 0x101c, 0x1026, 0x103d, 0x104c,
+ 0x105c, 0x105c, 0x106c, 0x107c, 0x1087, 0x108d, 0x10a4, 0x10b7,
+ 0x10bf, 0x10cf, 0x10dc, 0x10f5, 0x110e,
} // Size: 1250 bytes
-const mkLangStr string = "" + // Size: 10280 bytes
+const mkLangStr string = "" + // Size: 10297 bytes
"афарскиапхаскиавестанскиафрикансаканскиамхарскиарагонскиарапскиасамскиав" +
"арскиајмарскиазербејџанскибашкирскибелорускибугарскибисламабамбарабенга" +
"лскитибетскибретонскибосанскикаталонскичеченскичаморскикорзиканскикриче" +
@@ -21317,14 +21322,15 @@ const mkLangStr string = "" + // Size: 10280 bytes
"ен сирискисирискишлезискитулутимнетесотеренотетумтигретивтокелауанскица" +
"хурскиклингонскитлингитталишкитамашекњаса тонгаток писинтуројотарокоцак" +
"онскицимшијанскитатскитумбукатувалуанскитазавактуванскицентралноатланск" +
- "и тамазитскиудмуртскиугаритскиумбундукоренвајвенетскивепшкизападнофлама" +
- "нскимајнскофранконскивотскивирувунџовалсерволамоварајскивашоварлпиривук" +
- "алмичкимегрелскисогајаојапскијенгбенјембањенгатукантонскизапотечкиблисс" +
- "имболизеландскизенагастандарден марокански тамазитскизунибез лингвистич" +
- "ка содржиназазалитературен арапскиавстралиски англискиканадски англиски" +
- "британски англискиамерикански англискишпански (во Европа)канадски франц" +
- "ускишвајцарски францускифламанскипортугалски (во Европа)молдавскисрпско" +
- "хрватскиконгоански свахилипоедноставен кинескитрадиционален кинески"
+ "и тамазитскиудмуртскиугаритскиумбундунепознат јазиквајвенетскивепшкизап" +
+ "аднофламанскимајнскофранконскивотскивирувунџовалсерволамоварајскивашова" +
+ "рлпиривукалмичкимегрелскисогајаојапскијенгбенјембањенгатукантонскизапот" +
+ "ечкиблиссимболизеландскизенагастандарден марокански тамазитскизунибез л" +
+ "ингвистичка содржиназазалитературен арапскиавстралиски англискиканадски" +
+ " англискибритански англискиамерикански англискишпански (во Европа)канадс" +
+ "ки францускишвајцарски францускифламанскипортугалски (во Европа)молдавс" +
+ "кисрпскохрватскиконгоански свахилипоедноставен кинескитрадиционален кин" +
+ "ески"
var mkLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -21405,18 +21411,18 @@ var mkLangIdx = []uint16{ // 613 elements
0x2251, 0x2261, 0x2269, 0x2273, 0x227b, 0x2287, 0x2291, 0x229b,
0x22a1, 0x22b9, 0x22c9, 0x22dd, 0x22eb, 0x22f9, 0x2307, 0x231a,
0x232b, 0x2337, 0x2343, 0x2353, 0x2369, 0x2375, 0x2383, 0x2399,
- 0x23a7, 0x23b7, 0x23ee, 0x2400, 0x2412, 0x2420, 0x242a, 0x2430,
- 0x2440, 0x244c, 0x246c, 0x248e, 0x249a, 0x24a2, 0x24ac, 0x24b8,
- 0x24c4, 0x24d4, 0x24dc, 0x24ec, 0x24f0, 0x2500, 0x2512, 0x251a,
+ 0x23a7, 0x23b7, 0x23ee, 0x2400, 0x2412, 0x2420, 0x243b, 0x2441,
+ 0x2451, 0x245d, 0x247d, 0x249f, 0x24ab, 0x24b3, 0x24bd, 0x24c9,
+ 0x24d5, 0x24e5, 0x24ed, 0x24fd, 0x2501, 0x2511, 0x2523, 0x252b,
// Entry 240 - 27F
- 0x2520, 0x252c, 0x253a, 0x2544, 0x2552, 0x2564, 0x2576, 0x258c,
- 0x259e, 0x25aa, 0x25e8, 0x25f0, 0x2620, 0x2628, 0x264d, 0x264d,
- 0x264d, 0x264d, 0x2674, 0x2695, 0x26b8, 0x26df, 0x26df, 0x2701,
- 0x2701, 0x2701, 0x2724, 0x274b, 0x274b, 0x275d, 0x275d, 0x2787,
- 0x2799, 0x27b5, 0x27d8, 0x27ff, 0x2828,
+ 0x2531, 0x253d, 0x254b, 0x2555, 0x2563, 0x2575, 0x2587, 0x259d,
+ 0x25af, 0x25bb, 0x25f9, 0x2601, 0x2631, 0x2639, 0x265e, 0x265e,
+ 0x265e, 0x265e, 0x2685, 0x26a6, 0x26c9, 0x26f0, 0x26f0, 0x2712,
+ 0x2712, 0x2712, 0x2735, 0x275c, 0x275c, 0x276e, 0x276e, 0x2798,
+ 0x27aa, 0x27c6, 0x27e9, 0x2810, 0x2839,
} // Size: 1250 bytes
-const mlLangStr string = "" + // Size: 12319 bytes
+const mlLangStr string = "" + // Size: 12329 bytes
"അഫാർഅബ്\u200cഖാസിയൻഅവസ്റ്റാൻആഫ്രിക്കാൻസ്അകാൻ\u200cഅംഹാരിക്അരഗോണീസ്അറബിക്" +
"ആസ്സാമീസ്അവാരിക്അയ്മാറഅസർബൈജാനിബഷ്ഖിർബെലാറുഷ്യൻബൾഗേറിയൻബിസ്\u200cലാമബം" +
"ബാറബംഗാളിടിബറ്റൻബ്രെട്ടൺബോസ്നിയൻകറ്റാലാൻചെചൻചമോറോകോർസിക്കൻക്രീചെക്ക്ചർ" +
@@ -21470,12 +21476,12 @@ const mlLangStr string = "" + // Size: 12319 bytes
"െറർസാഹോസുകുമസുസുസുമേരിയൻകൊമോറിയൻപുരാതന സുറിയാനിഭാഷസുറിയാനിടിംനേടെസോടെറ" +
"േനോടെറ്റുംടൈഗ്രിടിവ്ടൊക്കേലൗക്ലിംഗോൺലിംഗ്വിറ്റ്ടമഷേക്ന്യാസാ ഡോങ്കടോക് " +
"പിസിൻതരോക്കോസിംഷ്യൻടുംബുകടുവാലുടസവാക്ക്തുവിനിയൻമധ്യ അറ്റ്\u200cലസ് ടമാ" +
- "സൈറ്റ്ഉഡ്മുർട്ട്ഉഗറിട്ടിക്ഉംബുന്ദുമൂലഭാഷവൈവോട്ടിക്വുൻജോവാൾസർവൊലൈറ്റവാര" +
- "േയ്വാഷൊവൂൾപിരിവു ചൈനീസ്കൽമൈക്സോഗോയാവോയെപ്പീസ്യാംഗ്ബെൻയംബകാന്റണീസ്സാപ്പ" +
- "ോടെക്ബ്ലിസ്സിംബൽസ്സെനഗസ്റ്റാൻഡേർഡ് മൊറോക്കൻ റ്റാമസിയറ്റ്സുനിഭാഷാപരമായ " +
- "ഉള്ളടക്കമൊന്നുമില്ലസാസാആധുനിക സ്റ്റാൻഡേർഡ് അറബിക്ഓസ്\u200cട്രിയൻ ജർമൻസ" +
- "്വിസ് ഹൈ ജർമൻഓസ്\u200cട്രേലിയൻ ഇംഗ്ലീഷ്കനേഡിയൻ ഇംഗ്ലീഷ്ബ്രിട്ടീഷ് ഇംഗ്" +
- "ലീഷ്അമേരിക്കൻ ഇംഗ്ലീഷ്ലാറ്റിൻ അമേരിക്കൻ സ്\u200cപാനിഷ്യൂറോപ്യൻ സ്" +
+ "സൈറ്റ്ഉഡ്മുർട്ട്ഉഗറിട്ടിക്ഉംബുന്ദുഅജ്ഞാത ഭാഷവൈവോട്ടിക്വുൻജോവാൾസർവൊലൈറ്" +
+ "റവാരേയ്വാഷൊവൂൾപിരിവു ചൈനീസ്കൽമൈക്സോഗോയാവോയെപ്പീസ്യാംഗ്ബെൻയംബകാന്റണീസ്സ" +
+ "ാപ്പോടെക്ബ്ലിസ്സിംബൽസ്സെനഗസ്റ്റാൻഡേർഡ് മൊറോക്കൻ റ്റാമസിയറ്റ്സുനിഭാഷാപര" +
+ "മായ ഉള്ളടക്കമൊന്നുമില്ലസാസാആധുനിക സ്റ്റാൻഡേർഡ് അറബിക്ഓസ്\u200cട്രിയൻ ജ" +
+ "ർമൻസ്വിസ് ഹൈ ജർമൻഓസ്\u200cട്രേലിയൻ ഇംഗ്ലീഷ്കനേഡിയൻ ഇംഗ്ലീഷ്ബ്രിട്ടീഷ് " +
+ "ഇംഗ്ലീഷ്അമേരിക്കൻ ഇംഗ്ലീഷ്ലാറ്റിൻ അമേരിക്കൻ സ്\u200cപാനിഷ്യൂറോപ്യൻ സ്" +
"\u200cപാനിഷ്മെക്സിക്കൻ സ്പാനിഷ്കനേഡിയൻ ഫ്രഞ്ച്സ്വിസ് ഫ്രഞ്ച്ലോ സാക്സൺഫ്ല" +
"മിഷ്ബ്രസീലിയൻ പോർച്ചുഗീസ്യൂറോപ്യൻ പോർച്ചുഗീസ്മോൾഡാവിയൻസെർബോ-ക്രൊയേഷ്യൻ" +
"കോംഗോ സ്വാഹിലിലളിതമാക്കിയ ചൈനീസ്പരമ്പരാഗത ചൈനീസ്"
@@ -21559,18 +21565,18 @@ var mlLangIdx = []uint16{ // 613 elements
0x27c7, 0x27c7, 0x27c7, 0x27d6, 0x27e2, 0x27f4, 0x2809, 0x281b,
0x2827, 0x283f, 0x283f, 0x2857, 0x2878, 0x2878, 0x288a, 0x28ac,
0x28c8, 0x28c8, 0x28dd, 0x28dd, 0x28f2, 0x28f2, 0x2904, 0x2916,
- 0x292e, 0x2946, 0x298a, 0x29a8, 0x29c6, 0x29de, 0x29f0, 0x29f6,
- 0x29f6, 0x29f6, 0x29f6, 0x29f6, 0x2a0e, 0x2a0e, 0x2a1d, 0x2a2c,
- 0x2a41, 0x2a53, 0x2a5f, 0x2a74, 0x2a8d, 0x2a9f, 0x2a9f, 0x2aab,
+ 0x292e, 0x2946, 0x298a, 0x29a8, 0x29c6, 0x29de, 0x29fa, 0x2a00,
+ 0x2a00, 0x2a00, 0x2a00, 0x2a00, 0x2a18, 0x2a18, 0x2a27, 0x2a36,
+ 0x2a4b, 0x2a5d, 0x2a69, 0x2a7e, 0x2a97, 0x2aa9, 0x2aa9, 0x2ab5,
// Entry 240 - 27F
- 0x2ab7, 0x2acf, 0x2ae7, 0x2af0, 0x2af0, 0x2b0b, 0x2b29, 0x2b50,
- 0x2b50, 0x2b5c, 0x2bbe, 0x2bca, 0x2c1f, 0x2c2b, 0x2c75, 0x2c75,
- 0x2ca0, 0x2cc6, 0x2d03, 0x2d31, 0x2d68, 0x2d9c, 0x2de9, 0x2e1d,
- 0x2e54, 0x2e54, 0x2e7f, 0x2ea7, 0x2ec0, 0x2ed5, 0x2f12, 0x2f4c,
- 0x2f67, 0x2f95, 0x2fbd, 0x2ff1, 0x301f,
+ 0x2ac1, 0x2ad9, 0x2af1, 0x2afa, 0x2afa, 0x2b15, 0x2b33, 0x2b5a,
+ 0x2b5a, 0x2b66, 0x2bc8, 0x2bd4, 0x2c29, 0x2c35, 0x2c7f, 0x2c7f,
+ 0x2caa, 0x2cd0, 0x2d0d, 0x2d3b, 0x2d72, 0x2da6, 0x2df3, 0x2e27,
+ 0x2e5e, 0x2e5e, 0x2e89, 0x2eb1, 0x2eca, 0x2edf, 0x2f1c, 0x2f56,
+ 0x2f71, 0x2f9f, 0x2fc7, 0x2ffb, 0x3029,
} // Size: 1250 bytes
-const mnLangStr string = "" + // Size: 5582 bytes
+const mnLangStr string = "" + // Size: 5605 bytes
"афарабхазафрикаканамхарарагонарабассамавар хэлаймараазербайжанбашкирбела" +
"русьболгарбисламбамбарабенгалтөвдбретонбосникаталанчеченьчаморро хэлкор" +
"сикчехсүмийн славян хэлчувашуэльсданигермандивехи хэлжонхаэвэгреканглиэ" +
@@ -21605,13 +21611,13 @@ const mnLangStr string = "" + // Size: 5582 bytes
"нталингамбайсангүсицилийншотландуудсенакёраборо сенитачелхитшаньөмнөд с" +
"амилюле самиинари самисколт самисонинкесранан тонгосахосукумакомори хэл" +
"сирийнтимнтэсотетумтигрклингон хэлток писинтарокотумбулатувалутасавакту" +
- "ватөв атласын тамазайтудмуртумбундурутвайвунжоуолсэруоллайттаварайхалим" +
- "аг хэлсогаянгбенембакантон хэлтамазитзунихэл зүйн агуулгагүйзазастандар" +
- "т арабавстри германшвейцари дээр германавстрали англиканад англибритани" +
- "йн англиамерикийн англилатин америкийн испаниевропын испанимексикийн ис" +
- "паниканад францшвейцари францбага саксонфламандпортугаль (бразил)европы" +
- "н португальмолдавхорватын сербконго свахилихялбаршуулсан хятадуламжлалт" +
- " хятад"
+ "ватөв атласын тамазайтудмуртумбундутодорхойгүй хэлвайвунжоуолсэруоллайт" +
+ "таварайхалимаг хэлсогаянгбенембакантон хэлтамазитзунихэл зүйн агуулгагү" +
+ "йзазастандарт арабавстри германшвейцари дээр германавстрали англиканад " +
+ "англибританийн англиамерикийн англилатин америкийн испаниевропын испани" +
+ "мексикийн испаниканад францшвейцари францбага саксонфламандпортугаль (б" +
+ "разил)европын португальмолдавхорватын сербконго свахилихялбаршуулсан хя" +
+ "тадуламжлалт хятад"
var mnLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -21692,18 +21698,18 @@ var mnLangIdx = []uint16{ // 613 elements
0x120b, 0x120b, 0x120b, 0x1213, 0x121b, 0x121b, 0x1225, 0x122d,
0x122d, 0x122d, 0x122d, 0x1242, 0x1242, 0x1242, 0x1242, 0x1242,
0x1253, 0x1253, 0x125f, 0x125f, 0x125f, 0x125f, 0x126d, 0x1279,
- 0x1287, 0x128f, 0x12b5, 0x12c1, 0x12c1, 0x12cf, 0x12d5, 0x12db,
- 0x12db, 0x12db, 0x12db, 0x12db, 0x12db, 0x12db, 0x12e5, 0x12f1,
- 0x1303, 0x130d, 0x130d, 0x130d, 0x130d, 0x1322, 0x1322, 0x132a,
+ 0x1287, 0x128f, 0x12b5, 0x12c1, 0x12c1, 0x12cf, 0x12ec, 0x12f2,
+ 0x12f2, 0x12f2, 0x12f2, 0x12f2, 0x12f2, 0x12f2, 0x12fc, 0x1308,
+ 0x131a, 0x1324, 0x1324, 0x1324, 0x1324, 0x1339, 0x1339, 0x1341,
// Entry 240 - 27F
- 0x132a, 0x132a, 0x1336, 0x133e, 0x133e, 0x1351, 0x1351, 0x1351,
- 0x1351, 0x1351, 0x135f, 0x1367, 0x138b, 0x1393, 0x13ac, 0x13ac,
- 0x13c5, 0x13eb, 0x1406, 0x141b, 0x1438, 0x1455, 0x147f, 0x149a,
- 0x14b9, 0x14b9, 0x14ce, 0x14e9, 0x14fe, 0x150c, 0x152d, 0x154e,
- 0x155a, 0x1573, 0x158c, 0x15b1, 0x15ce,
+ 0x1341, 0x1341, 0x134d, 0x1355, 0x1355, 0x1368, 0x1368, 0x1368,
+ 0x1368, 0x1368, 0x1376, 0x137e, 0x13a2, 0x13aa, 0x13c3, 0x13c3,
+ 0x13dc, 0x1402, 0x141d, 0x1432, 0x144f, 0x146c, 0x1496, 0x14b1,
+ 0x14d0, 0x14d0, 0x14e5, 0x1500, 0x1515, 0x1523, 0x1544, 0x1565,
+ 0x1571, 0x158a, 0x15a3, 0x15c8, 0x15e5,
} // Size: 1250 bytes
-const mrLangStr string = "" + // Size: 11500 bytes
+const mrLangStr string = "" + // Size: 11522 bytes
"अफारअबखेजियनअवेस्तनअफ्रिकान्सअकानअम्हारिकअर्गोनीजअरबीआसामीअ\u200dॅव्हेरि" +
"कऐमराअझरबैजानीबष्किरबेलारुशियनबल्गेरियनबिस्लामाबाम्बाराबंगालीतिबेटीब्र" +
"ेतॉनबोस्नियनकातालानचेचेनकॅमोरोकॉर्सिकनक्रीझेकचर्च स्लाव्हिकचूवाशवेल्शड" +
@@ -21752,14 +21758,14 @@ const mrLangStr string = "" + // Size: 11500 bytes
"ोल्ट सामीसोनिन्केसोग्डिएनस्रानान टॉन्गोसेरेरसाहोसुकुमासुसुसुमेरियनकोमो" +
"रियनअभिजात सिरियाकसिरियाकटिम्नेतेसोतेरेनोतेतुमटाइग्रेतिवटोकेलाऊक्लिंगो" +
"नलिंगिततामाशेकन्यासा टोन्गाटोक पिसिनतारोकोसिम्शियनतुम्बुकाटुवालुतासाव्" +
- "हाकटुवीनियनमध्य ऍटलास तॅमॅझायटउदमुर्तयुगॅरिटिकउम्बुन्डुरूटवाईवॉटिकवुंज" +
- "ोवालसेरवोलायतावारेवाशोवार्लपिरीव्हू चिनीकाल्मिकसोगायाओयापीसयानगबेनयेमब" +
- "ाकँटोनीजझेपोटेकब्लिसिम्बॉल्सझेनान्गाप्रमाण मोरोक्कन तॅमॅझायटझुनीभाषावै" +
- "ज्ञानिक सामग्री नाहीझाझाआधुनिक प्रमाणित अरबीऑस्ट्रियन जर्मनस्विस हाय ज" +
- "र्मनऑस्ट्रेलियन इंग्रजीकॅनडियन इंग्रजीब्रिटिश इंग्रजीअमेरिकन इंग्रजीलॅ" +
- "टिन अमेरिकन स्पॅनिशयुरोपियन स्पॅनिशमेक्सिकन स्पॅनिशकॅनडियन फ्रेंचस्विस" +
- " फ्रेंचलो सॅक्सनफ्लेमिशब्राझिलियन पोर्तुगीजयुरोपियन पोर्तुगीजमोल्डाव्हिय" +
- "नसर्बो-क्रोएशियनकाँगो स्वाहिलीसरलीकृत चीनीपारंपारिक चीनी"
+ "हाकटुवीनियनमध्य ऍटलास तॅमॅझायटउदमुर्तयुगॅरिटिकउम्बुन्डुअज्ञात भाषावाईव" +
+ "ॉटिकवुंजोवालसेरवोलायतावारेवाशोवार्लपिरीव्हू चिनीकाल्मिकसोगायाओयापीसयान" +
+ "गबेनयेमबाकँटोनीजझेपोटेकब्लिसिम्बॉल्सझेनान्गाप्रमाण मोरोक्कन तॅमॅझायटझु" +
+ "नीभाषावैज्ञानिक सामग्री नाहीझाझाआधुनिक प्रमाणित अरबीऑस्ट्रियन जर्मनस्व" +
+ "िस हाय जर्मनऑस्ट्रेलियन इंग्रजीकॅनडियन इंग्रजीब्रिटिश इंग्रजीअमेरिकन इ" +
+ "ंग्रजीलॅटिन अमेरिकन स्पॅनिशयुरोपियन स्पॅनिशमेक्सिकन स्पॅनिशकॅनडियन फ्र" +
+ "ेंचस्विस फ्रेंचलो सॅक्सनफ्लेमिशब्राझिलियन पोर्तुगीजयुरोपियन पोर्तुगीजम" +
+ "ोल्डाव्हियनसर्बो-क्रोएशियनकाँगो स्वाहिलीसरलीकृत चीनीपारंपारिक चीनी"
var mrLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -21840,18 +21846,18 @@ var mrLangIdx = []uint16{ // 613 elements
0x2565, 0x2565, 0x2565, 0x2577, 0x2583, 0x2595, 0x25a4, 0x25b9,
0x25c2, 0x25d7, 0x25d7, 0x25ef, 0x2601, 0x2601, 0x2616, 0x263b,
0x2654, 0x2654, 0x2666, 0x2666, 0x267e, 0x267e, 0x2696, 0x26a8,
- 0x26c3, 0x26db, 0x2710, 0x2725, 0x2740, 0x275b, 0x2764, 0x276d,
- 0x276d, 0x276d, 0x276d, 0x276d, 0x277c, 0x277c, 0x278b, 0x279d,
- 0x27b2, 0x27be, 0x27ca, 0x27e5, 0x27fe, 0x2813, 0x2813, 0x281f,
+ 0x26c3, 0x26db, 0x2710, 0x2725, 0x2740, 0x275b, 0x277a, 0x2783,
+ 0x2783, 0x2783, 0x2783, 0x2783, 0x2792, 0x2792, 0x27a1, 0x27b3,
+ 0x27c8, 0x27d4, 0x27e0, 0x27fb, 0x2814, 0x2829, 0x2829, 0x2835,
// Entry 240 - 27F
- 0x2828, 0x2837, 0x284c, 0x285b, 0x285b, 0x2870, 0x2885, 0x28ac,
- 0x28ac, 0x28c4, 0x2908, 0x2914, 0x295e, 0x296a, 0x29a2, 0x29a2,
- 0x29cd, 0x29f6, 0x2a2d, 0x2a58, 0x2a83, 0x2aae, 0x2ae9, 0x2b17,
- 0x2b45, 0x2b45, 0x2b6d, 0x2b8f, 0x2ba8, 0x2bbd, 0x2bf7, 0x2c2b,
- 0x2c4f, 0x2c7a, 0x2ca2, 0x2cc4, 0x2cec,
+ 0x283e, 0x284d, 0x2862, 0x2871, 0x2871, 0x2886, 0x289b, 0x28c2,
+ 0x28c2, 0x28da, 0x291e, 0x292a, 0x2974, 0x2980, 0x29b8, 0x29b8,
+ 0x29e3, 0x2a0c, 0x2a43, 0x2a6e, 0x2a99, 0x2ac4, 0x2aff, 0x2b2d,
+ 0x2b5b, 0x2b5b, 0x2b83, 0x2ba5, 0x2bbe, 0x2bd3, 0x2c0d, 0x2c41,
+ 0x2c65, 0x2c90, 0x2cb8, 0x2cda, 0x2d02,
} // Size: 1250 bytes
-const msLangStr string = "" + // Size: 3266 bytes
+const msLangStr string = "" + // Size: 3284 bytes
"aaAbkhaziaAvestanAfrikaansAkanAmharicAragonArabAssamAvaricAymaraAzerbaij" +
"anBashkirBelarusBulgariaBislamaBambaraBenggalaTibetBretonBosniaCatalonia" +
"ChechenChamorroCorsicaCzechSlavik GerejaChuvashWalesDenmarkJermanDivehiD" +
@@ -21891,13 +21897,13 @@ const msLangStr string = "" + // Size: 3266 bytes
"achelhitShanArab ChadianSami SelatanLule SamiInari SamiSkolt SamiSoninke" +
"Sranan TongoSahoSukumaComoriaSyriacTimneTesoTetumTigreKlingonTalyshTok P" +
"isinTarokoTumbukaTuvaluTasawaqTuvinianTamazight Atlas TengahUdmurtUmbund" +
- "uRootVaiVunjoWalserWolayttaWarayWarlpiriCina WuKalmykSogaYangbenYembaKan" +
- "tonisTamazight Maghribi StandardZuniTiada kandungan linguistikZazaArab S" +
- "tandard ModenJerman AustriaJerman Halus SwitzerlandInggeris AustraliaIng" +
- "geris KanadaInggeris BritishInggeris ASSepanyol Amerika LatinSepanyol Er" +
- "opahSepanyol MexicoPerancis KanadaPerancis SwitzerlandSaxon RendahFlemis" +
- "hPortugis BrazilPortugis EropahMoldaviaSerboCroatiaCongo SwahiliCina Rin" +
- "gkasCina Tradisional"
+ "uBahasa Tidak DiketahuiVaiVunjoWalserWolayttaWarayWarlpiriCina WuKalmykS" +
+ "ogaYangbenYembaKantonisTamazight Maghribi StandardZuniTiada kandungan li" +
+ "nguistikZazaArab Standard ModenJerman AustriaJerman Halus SwitzerlandIng" +
+ "geris AustraliaInggeris KanadaInggeris BritishInggeris ASSepanyol Amerik" +
+ "a LatinSepanyol EropahSepanyol MexicoPerancis KanadaPerancis Switzerland" +
+ "Saxon RendahFlemishPortugis BrazilPortugis EropahMoldaviaSerboCroatiaCon" +
+ "go SwahiliCina RingkasCina Tradisional"
var msLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -21978,18 +21984,18 @@ var msLangIdx = []uint16{ // 613 elements
0x0a91, 0x0a91, 0x0a91, 0x0a96, 0x0a9a, 0x0a9a, 0x0a9f, 0x0aa4,
0x0aa4, 0x0aa4, 0x0aa4, 0x0aab, 0x0aab, 0x0ab1, 0x0ab1, 0x0ab1,
0x0aba, 0x0aba, 0x0ac0, 0x0ac0, 0x0ac0, 0x0ac0, 0x0ac7, 0x0acd,
- 0x0ad4, 0x0adc, 0x0af2, 0x0af8, 0x0af8, 0x0aff, 0x0b03, 0x0b06,
- 0x0b06, 0x0b06, 0x0b06, 0x0b06, 0x0b06, 0x0b06, 0x0b0b, 0x0b11,
- 0x0b19, 0x0b1e, 0x0b1e, 0x0b26, 0x0b2d, 0x0b33, 0x0b33, 0x0b37,
+ 0x0ad4, 0x0adc, 0x0af2, 0x0af8, 0x0af8, 0x0aff, 0x0b15, 0x0b18,
+ 0x0b18, 0x0b18, 0x0b18, 0x0b18, 0x0b18, 0x0b18, 0x0b1d, 0x0b23,
+ 0x0b2b, 0x0b30, 0x0b30, 0x0b38, 0x0b3f, 0x0b45, 0x0b45, 0x0b49,
// Entry 240 - 27F
- 0x0b37, 0x0b37, 0x0b3e, 0x0b43, 0x0b43, 0x0b4b, 0x0b4b, 0x0b4b,
- 0x0b4b, 0x0b4b, 0x0b66, 0x0b6a, 0x0b84, 0x0b88, 0x0b9b, 0x0b9b,
- 0x0ba9, 0x0bc1, 0x0bd3, 0x0be2, 0x0bf2, 0x0bfd, 0x0c13, 0x0c22,
- 0x0c31, 0x0c31, 0x0c40, 0x0c54, 0x0c60, 0x0c67, 0x0c76, 0x0c85,
- 0x0c8d, 0x0c99, 0x0ca6, 0x0cb2, 0x0cc2,
+ 0x0b49, 0x0b49, 0x0b50, 0x0b55, 0x0b55, 0x0b5d, 0x0b5d, 0x0b5d,
+ 0x0b5d, 0x0b5d, 0x0b78, 0x0b7c, 0x0b96, 0x0b9a, 0x0bad, 0x0bad,
+ 0x0bbb, 0x0bd3, 0x0be5, 0x0bf4, 0x0c04, 0x0c0f, 0x0c25, 0x0c34,
+ 0x0c43, 0x0c43, 0x0c52, 0x0c66, 0x0c72, 0x0c79, 0x0c88, 0x0c97,
+ 0x0c9f, 0x0cab, 0x0cb8, 0x0cc4, 0x0cd4,
} // Size: 1250 bytes
-const myLangStr string = "" + // Size: 10322 bytes
+const myLangStr string = "" + // Size: 10320 bytes
"အာဖာအဘ်ခါဇီရာတောင်အာဖရိကအာကန်အမ်ဟာရစ်ခ်အာရာဂွန်အာရဗီအာသံအာဗာရစ်ခ်အိုင်မာ" +
"ရအဇာဘိုင်ဂျန်ဘက်ရှ်ကာဘီလာရုဇ်ဘူလ်ဂေးရီးယားဘစ်စ်လာမာဘန်ဘာရာဘင်္ဂါလီတိဘက" +
"်ဘရီတွန်ဘော့စ်နီးယားကတ်တလန်ချက်ချန်းချမိုရိုခိုစီကန်ခရီးချက်ချပ်ချ် စလ" +
@@ -22034,7 +22040,7 @@ const myLangStr string = "" + // Size: 10322 bytes
" ဆမ်နီအိုင်းရစ် ဟောင်းတာချယ်လ်ဟစ်ရှမ်းတောင် ဆာမိလူလီ ဆာမိအီနာရီ ဆာမိစခို" +
"းလ် ဆမ်မီဆိုနင်ကေးဆရာနန် တွန်ဂိုဆာဟိုဆူကူမာကိုမိုရီးယန်းဆီးရီးယားတင်မ်" +
"နဲတီဆိုတီတွမ်တီဂရီကလင်ဂွန်တော့ခ် ပိစင်တရိုကိုတမ်ဘူကာတူဗာလူတာဆာဝါခ်တူဗန" +
- "်အလယ်အာ့တလာစ် တာမာဇိုက်အူမူရတ်အူဘန်ဒူမူလရင်းမြစ်ဗိုင်ဗွန်ဂျိုဝေါလ်ဆာဝိ" +
+ "်အလယ်အာ့တလာစ် တာမာဇိုက်အူမူရတ်အူဘန်ဒူမသိသော ဘာသာဗိုင်ဗွန်ဂျိုဝေါလ်ဆာဝိ" +
"ုလက်တာဝါရေးဝေါလ်ပီရီကာလ်မိုက်ဆိုဂါရန်ဘဲန်ရမ်ဘာကွမ်တုံမိုရိုကို တမဇိုက်" +
"ဇူနီဘာသာစကားနှင့် ပတ်သက်သောအရာ မရှိပါဇာဇာဩစတြီးယား ဂျာမန်အလီမဲန်နစ် ဂျ" +
"ာမန်ဩစတြေးလျှ အင်္ဂလိပ်ကနေဒါ အင်္ဂလိပ်ဗြိတိသျှ အင်္ဂလိပ်အမေရိကန် အင်္ဂ" +
@@ -22120,18 +22126,18 @@ var myLangIdx = []uint16{ // 611 elements
0x22e7, 0x22e7, 0x22e7, 0x22fc, 0x230b, 0x230b, 0x231d, 0x232c,
0x232c, 0x232c, 0x232c, 0x2344, 0x2344, 0x2344, 0x2344, 0x2344,
0x2366, 0x2366, 0x237b, 0x237b, 0x237b, 0x237b, 0x2390, 0x23a2,
- 0x23ba, 0x23c9, 0x2409, 0x241e, 0x241e, 0x2433, 0x2454, 0x2463,
- 0x2463, 0x2463, 0x2463, 0x2463, 0x2463, 0x2463, 0x247b, 0x2490,
- 0x24a8, 0x24b7, 0x24b7, 0x24d2, 0x24d2, 0x24ed, 0x24ed, 0x24fc,
+ 0x23ba, 0x23c9, 0x2409, 0x241e, 0x241e, 0x2433, 0x2452, 0x2461,
+ 0x2461, 0x2461, 0x2461, 0x2461, 0x2461, 0x2461, 0x2479, 0x248e,
+ 0x24a6, 0x24b5, 0x24b5, 0x24d0, 0x24d0, 0x24eb, 0x24eb, 0x24fa,
// Entry 240 - 27F
- 0x24fc, 0x24fc, 0x2511, 0x2520, 0x2520, 0x2535, 0x2535, 0x2535,
- 0x2535, 0x2535, 0x2566, 0x2572, 0x25d1, 0x25dd, 0x25dd, 0x25dd,
- 0x260b, 0x263c, 0x2673, 0x269e, 0x26d2, 0x2706, 0x2706, 0x2727,
- 0x2727, 0x2727, 0x274c, 0x276e, 0x279b, 0x27b6, 0x27e1, 0x2809,
- 0x2827, 0x2827, 0x2852,
+ 0x24fa, 0x24fa, 0x250f, 0x251e, 0x251e, 0x2533, 0x2533, 0x2533,
+ 0x2533, 0x2533, 0x2564, 0x2570, 0x25cf, 0x25db, 0x25db, 0x25db,
+ 0x2609, 0x263a, 0x2671, 0x269c, 0x26d0, 0x2704, 0x2704, 0x2725,
+ 0x2725, 0x2725, 0x274a, 0x276c, 0x2799, 0x27b4, 0x27df, 0x2807,
+ 0x2825, 0x2825, 0x2850,
} // Size: 1246 bytes
-const neLangStr string = "" + // Size: 13512 bytes
+const neLangStr string = "" + // Size: 13539 bytes
"अफारअब्खाजियालीअवेस्तानअफ्रिकान्सआकानअम्हारिकअरागोनीअरबीआसामीअवारिकऐमारा" +
"अजरबैजानीबास्किरबेलारुसीबुल्गेरियालीबिस्लामबाम्बाराबंगालीतिब्बतीब्रेटन" +
"बोस्नियालीक्याटालनचेचेनचामोर्रोकोर्सिकनक्रीचेकचर्च स्लाभिकचुभासवेल्शडे" +
@@ -22190,14 +22196,14 @@ const neLangStr string = "" + // Size: 13512 bytes
"ीदक्षिणी सामीलुले सामीइनारी सामीस्कोइट सामीसोनिन्केस्रानान टोङ्गोसाहोस" +
"ुकुमासुसूसुमेरियालीकोमोरीपरम्परागत सिरियाकसिरियाकटिम्नेटेसोटेटुमटिग्रे" +
"क्लिङ्गनन्यास टोङ्गाटोक पिसिनटारोकोमुस्लिम टाटटुम्बुकाटुभालुतासावाकटुभ" +
- "िनियालीकेन्द्रीय एट्लास टामाजिघटउड्मुर्टउम्बुन्डीrootभाइमुख्य-फ्राङ्को" +
- "नियालीभुन्जोवाल्सरवोलेट्टावारेवार्ल्पिरीकाल्मिकमिनग्रेलियालीसोगायाङ्बे" +
- "नयेम्बान्हिनगातुकान्टोनियालीब्लिससिम्बोल्समानक मोरोक्कोन तामाजिघटजुनीभ" +
- "ाषिक सामग्री छैनजाजाआधुनिक मानक अरबीअस्ट्रियाली जर्मनस्वीस हाई जर्मनअस" +
- "्ट्रेलियाली अङ्ग्रेजीक्यानाडेली अङ्ग्रेजीबेलायती अङ्ग्रेजीअमेरिकी अङ्ग" +
- "्रेजील्याटिन अमेरिकी स्पेनीयुरोपेली स्पेनीमेक्सिकन स्पेनीक्यानेडाली फ्" +
- "रान्सेलीतल्लो साक्सनफ्लेमिसब्राजिली पोर्तुगीयुरोपेली पोर्तुगीकङ्गो स्व" +
- "ाहिलीसरलिकृत चिनियाँपरम्परागत चिनियाँ"
+ "िनियालीकेन्द्रीय एट्लास टामाजिघटउड्मुर्टउम्बुन्डीअज्ञात भाषाभाइमुख्य-फ" +
+ "्राङ्कोनियालीभुन्जोवाल्सरवोलेट्टावारेवार्ल्पिरीकाल्मिकमिनग्रेलियालीसोग" +
+ "ायाङ्बेनयेम्बान्हिनगातुकान्टोनियालीब्लिससिम्बोल्समानक मोरोक्कोन तामाजि" +
+ "घटजुनीभाषिक सामग्री छैनजाजाआधुनिक मानक अरबीअस्ट्रियाली जर्मनस्वीस हाई " +
+ "जर्मनअस्ट्रेलियाली अङ्ग्रेजीक्यानाडेली अङ्ग्रेजीबेलायती अङ्ग्रेजीअमेरि" +
+ "की अङ्ग्रेजील्याटिन अमेरिकी स्पेनीयुरोपेली स्पेनीमेक्सिकन स्पेनीक्याने" +
+ "डाली फ्रान्सेलीतल्लो साक्सनफ्लेमिसब्राजिली पोर्तुगीयुरोपेली पोर्तुगीकङ" +
+ "्गो स्वाहिलीसरलिकृत चिनियाँपरम्परागत चिनियाँ"
var neLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -22278,18 +22284,18 @@ var neLangIdx = []uint16{ // 613 elements
0x2dce, 0x2dce, 0x2dce, 0x2de0, 0x2dec, 0x2dec, 0x2dfb, 0x2e0d,
0x2e0d, 0x2e0d, 0x2e0d, 0x2e25, 0x2e25, 0x2e25, 0x2e25, 0x2e47,
0x2e60, 0x2e60, 0x2e72, 0x2e72, 0x2e72, 0x2e91, 0x2ea9, 0x2ebb,
- 0x2ed0, 0x2eee, 0x2f35, 0x2f4d, 0x2f4d, 0x2f68, 0x2f6c, 0x2f75,
- 0x2f75, 0x2f75, 0x2f75, 0x2faf, 0x2faf, 0x2faf, 0x2fc1, 0x2fd3,
- 0x2feb, 0x2ff7, 0x2ff7, 0x3015, 0x3015, 0x302a, 0x3051, 0x305d,
+ 0x2ed0, 0x2eee, 0x2f35, 0x2f4d, 0x2f4d, 0x2f68, 0x2f87, 0x2f90,
+ 0x2f90, 0x2f90, 0x2f90, 0x2fca, 0x2fca, 0x2fca, 0x2fdc, 0x2fee,
+ 0x3006, 0x3012, 0x3012, 0x3030, 0x3030, 0x3045, 0x306c, 0x3078,
// Entry 240 - 27F
- 0x305d, 0x305d, 0x3072, 0x3084, 0x309f, 0x30c3, 0x30c3, 0x30ed,
- 0x30ed, 0x30ed, 0x312e, 0x313a, 0x3169, 0x3175, 0x31a1, 0x31a1,
- 0x31d2, 0x31fb, 0x323e, 0x3278, 0x32a9, 0x32da, 0x3318, 0x3343,
- 0x336e, 0x336e, 0x33ab, 0x33ab, 0x33cd, 0x33e2, 0x3413, 0x3444,
- 0x3444, 0x3444, 0x346c, 0x3497, 0x34c8,
+ 0x3078, 0x3078, 0x308d, 0x309f, 0x30ba, 0x30de, 0x30de, 0x3108,
+ 0x3108, 0x3108, 0x3149, 0x3155, 0x3184, 0x3190, 0x31bc, 0x31bc,
+ 0x31ed, 0x3216, 0x3259, 0x3293, 0x32c4, 0x32f5, 0x3333, 0x335e,
+ 0x3389, 0x3389, 0x33c6, 0x33c6, 0x33e8, 0x33fd, 0x342e, 0x345f,
+ 0x345f, 0x345f, 0x3487, 0x34b2, 0x34e3,
} // Size: 1250 bytes
-const nlLangStr string = "" + // Size: 4728 bytes
+const nlLangStr string = "" + // Size: 4738 bytes
"AfarAbchazischAvestischAfrikaansAkanAmhaarsAragoneesArabischAssameesAvar" +
"ischAymaraAzerbeidzjaansBasjkiersWit-RussischBulgaarsBislamaBambaraBenga" +
"alsTibetaansBretonsBosnischCatalaansTsjetsjeensChamorroCorsicaansCreeTsj" +
@@ -22351,11 +22357,11 @@ const nlLangStr string = "" + // Size: 4728 bytes
"ek SyrischSyrischSilezischTuluTimneTesoTerenoTetunTigreTivTokelausTsakhu" +
"rKlingonTlingitTalyshTamashekNyasa TongaTok PisinTuroyoTarokoTsakonischT" +
"simshianMoslim TatToemboekaTuvaluaansTasawaqToevaansTamazight (Centraal-" +
- "Marokko)OedmoertsOegaritischUmbunduRootVaiVenetiaansWepsischWest-VlaamsO" +
- "pperfrankischVotischVõroVunjoWalserWolayttaWarayWashoWarlpiriWuyuKalmuks" +
- "MingreelsSogaYaoYapeesYangbenYembaNheengatuKantoneesZapotecBlissymbolenZ" +
- "eeuwsZenagaStandaard Marokkaanse TamazightZunigeen linguïstische inhoudZ" +
- "azaServo-Kroatisch"
+ "Marokko)OedmoertsOegaritischUmbunduonbekende taalVaiVenetiaansWepsischWe" +
+ "st-VlaamsOpperfrankischVotischVõroVunjoWalserWolayttaWarayWashoWarlpiriW" +
+ "uyuKalmuksMingreelsSogaYaoYapeesYangbenYembaNheengatuKantoneesZapotecBli" +
+ "ssymbolenZeeuwsZenagaStandaard Marokkaanse TamazightZunigeen linguïstisc" +
+ "he inhoudZazaServo-Kroatisch"
var nlLangIdx = []uint16{ // 610 elements
// Entry 0 - 3F
@@ -22436,18 +22442,18 @@ var nlLangIdx = []uint16{ // 610 elements
0x107d, 0x1086, 0x108a, 0x108f, 0x1093, 0x1099, 0x109e, 0x10a3,
0x10a6, 0x10ae, 0x10b5, 0x10bc, 0x10c3, 0x10c9, 0x10d1, 0x10dc,
0x10e5, 0x10eb, 0x10f1, 0x10fb, 0x1104, 0x110e, 0x1117, 0x1121,
- 0x1128, 0x1130, 0x114c, 0x1155, 0x1160, 0x1167, 0x116b, 0x116e,
- 0x1178, 0x1180, 0x118b, 0x1199, 0x11a0, 0x11a5, 0x11aa, 0x11b0,
- 0x11b8, 0x11bd, 0x11c2, 0x11ca, 0x11ce, 0x11d5, 0x11de, 0x11e2,
+ 0x1128, 0x1130, 0x114c, 0x1155, 0x1160, 0x1167, 0x1175, 0x1178,
+ 0x1182, 0x118a, 0x1195, 0x11a3, 0x11aa, 0x11af, 0x11b4, 0x11ba,
+ 0x11c2, 0x11c7, 0x11cc, 0x11d4, 0x11d8, 0x11df, 0x11e8, 0x11ec,
// Entry 240 - 27F
- 0x11e5, 0x11eb, 0x11f2, 0x11f7, 0x1200, 0x1209, 0x1210, 0x121c,
- 0x1222, 0x1228, 0x1247, 0x124b, 0x1265, 0x1269, 0x1269, 0x1269,
- 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269,
- 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269, 0x1269,
- 0x1269, 0x1278,
+ 0x11ef, 0x11f5, 0x11fc, 0x1201, 0x120a, 0x1213, 0x121a, 0x1226,
+ 0x122c, 0x1232, 0x1251, 0x1255, 0x126f, 0x1273, 0x1273, 0x1273,
+ 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273,
+ 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273, 0x1273,
+ 0x1273, 0x1282,
} // Size: 1244 bytes
-const noLangStr string = "" + // Size: 4834 bytes
+const noLangStr string = "" + // Size: 4844 bytes
"afarabkhasiskavestiskafrikaansakanamhariskaragonskarabiskassamesiskavari" +
"skaymaraaserbajdsjanskbasjkirskhviterussiskbulgarskbislamabambarabengali" +
"tibetanskbretonskbosniskkatalansktsjetsjenskchamorrokorsikanskcreetsjekk" +
@@ -22509,12 +22515,12 @@ const noLangStr string = "" + // Size: 4834 bytes
"iskschlesisktulutemnetesoterenotetumtigrétivtokelauisktsakhurskklingontl" +
"ingittalysjtamasjeknyasa-tongansktok pisinturoyotarokotsakonisktsimshian" +
"muslimsk tattumbukatuvalsktasawaqtuvinsksentralmarokkansk tamazightudmur" +
- "tiskugaritiskumbundurotvaivenetianskvepsiskvestflamskMain-frankiskvotisk" +
- "sørestiskvunjowalsertyskwolayttawaray-waraywashowarlpiriwukalmukkiskming" +
- "relsksogayaoyapesiskyangbenyembanheengatukantonesiskzapotekiskblissymbol" +
- "erzeeuwszenagastandard marrokansk tamazightzuniuten språklig innholdzaza" +
- "iskmoderne standardarabisknedersaksiskflamskmoldovskserbokroatiskkongole" +
- "sisk swahiliforenklet kinesisktradisjonell kinesisk"
+ "tiskugaritiskumbunduukjent språkvaivenetianskvepsiskvestflamskMain-frank" +
+ "iskvotisksørestiskvunjowalsertyskwolayttawaray-waraywashowarlpiriwukalmu" +
+ "kkiskmingrelsksogayaoyapesiskyangbenyembanheengatukantonesiskzapotekiskb" +
+ "lissymbolerzeeuwszenagastandard marrokansk tamazightzuniuten språklig in" +
+ "nholdzazaiskmoderne standardarabisknedersaksiskflamskmoldovskserbokroati" +
+ "skkongolesisk swahiliforenklet kinesisktradisjonell kinesisk"
var noLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -22595,18 +22601,18 @@ var noLangIdx = []uint16{ // 613 elements
0x106f, 0x1078, 0x107c, 0x1081, 0x1085, 0x108b, 0x1090, 0x1096,
0x1099, 0x10a3, 0x10ac, 0x10b3, 0x10ba, 0x10c0, 0x10c8, 0x10d6,
0x10df, 0x10e5, 0x10eb, 0x10f4, 0x10fd, 0x1109, 0x1110, 0x1117,
- 0x111e, 0x1125, 0x1140, 0x1149, 0x1152, 0x1159, 0x115c, 0x115f,
- 0x1169, 0x1170, 0x117a, 0x1187, 0x118d, 0x1197, 0x119c, 0x11a6,
- 0x11ae, 0x11b9, 0x11be, 0x11c6, 0x11c8, 0x11d2, 0x11db, 0x11df,
+ 0x111e, 0x1125, 0x1140, 0x1149, 0x1152, 0x1159, 0x1166, 0x1169,
+ 0x1173, 0x117a, 0x1184, 0x1191, 0x1197, 0x11a1, 0x11a6, 0x11b0,
+ 0x11b8, 0x11c3, 0x11c8, 0x11d0, 0x11d2, 0x11dc, 0x11e5, 0x11e9,
// Entry 240 - 27F
- 0x11e2, 0x11ea, 0x11f1, 0x11f6, 0x11ff, 0x120a, 0x1214, 0x1220,
- 0x1226, 0x122c, 0x1249, 0x124d, 0x1263, 0x126a, 0x1281, 0x1281,
- 0x1281, 0x1281, 0x1281, 0x1281, 0x1281, 0x1281, 0x1281, 0x1281,
- 0x1281, 0x1281, 0x1281, 0x1281, 0x128d, 0x1293, 0x1293, 0x1293,
- 0x129b, 0x12a8, 0x12bb, 0x12cd, 0x12e2,
+ 0x11ec, 0x11f4, 0x11fb, 0x1200, 0x1209, 0x1214, 0x121e, 0x122a,
+ 0x1230, 0x1236, 0x1253, 0x1257, 0x126d, 0x1274, 0x128b, 0x128b,
+ 0x128b, 0x128b, 0x128b, 0x128b, 0x128b, 0x128b, 0x128b, 0x128b,
+ 0x128b, 0x128b, 0x128b, 0x128b, 0x1297, 0x129d, 0x129d, 0x129d,
+ 0x12a5, 0x12b2, 0x12c5, 0x12d7, 0x12ec,
} // Size: 1250 bytes
-const paLangStr string = "" + // Size: 8148 bytes
+const paLangStr string = "" + // Size: 8173 bytes
"ਅਫ਼ਾਰਅਬਖਾਜ਼ੀਅਨਅਫ਼ਰੀਕੀਅਕਾਨਅਮਹਾਰਿਕਅਰਾਗੋਨੀਅਰਬੀਅਸਾਮੀਅਵਾਰਿਕਅਈਮਾਰਾਅਜ਼ਰਬਾਈਜਾਨੀਬ" +
"ਸ਼ਕੀਰਬੇਲਾਰੂਸੀਬੁਲਗਾਰੀਆਈਬਿਸਲਾਮਾਬੰਬਾਰਾਬੰਗਾਲੀਤਿੱਬਤੀਬਰੇਟਨਬੋਸਨੀਆਈਕੈਟਾਲਾਨਚੇਚਨ" +
"ਚਮੋਰੋਕੋਰਸੀਕਨਚੈੱਕਚਰਚ ਸਲਾਵੀਚੁਵਾਸ਼ਵੈਲਸ਼ਡੈਨਿਸ਼ਜਰਮਨਦਿਵੇਹੀਜ਼ੋਂਗਖਾਈਵਈਯੂਨਾਨੀਅੰ" +
@@ -22642,11 +22648,11 @@ const paLangStr string = "" + // Size: 8148 bytes
"ਖਣੀ ਕੁਰਦਿਸ਼ਸੇਨਾਕੋਇਰਾਬੋਰੋ ਸੇਂਨੀਟਚੇਲਹਿਟਸ਼ਾਨਦੱਖਣੀ ਸਾਮੀਲਿਊਲ ਸਾਮੀਇਨਾਰੀ ਸਾਮੀ" +
"ਸਕੌਲਟ ਸਾਮੀਸੋਨਿੰਕੇਸ੍ਰਾਨਾਨ ਟੋਂਗੋਸਾਹੋਸੁਕੁਮਾਕੋਮੋਰੀਅਨਸੀਰੀਆਈਟਿਮਨੇਟੇਸੋਟੇਟਮਟਿਗ" +
"ਰਾਕਲਿੰਗਨਟੋਕ ਪਿਸਿਨਟਾਰੋਕੋਤੁੰਬੁਕਾਟਿਊਵਾਲੂਤਾਸਾਵਿਕਤੁਵੀਨੀਅਨਮੱਧ ਐਟਲਸ ਤਮਾਜ਼ਿਤਉਦ" +
- "ਮੁਰਤਉਮਬੁੰਡੂਰੂਟਵਾਈਵੂੰਜੋਵਾਲਸਰਵੋਲਾਏਟਾਵੈਰੇਵਾਲਪੁਰੀਚੀਨੀ ਵੂਕਾਲਮਿਕਸੋਗਾਯਾਂਗਬੇਨਯ" +
- "ੇਂਬਾਕੈਂਟੋਨੀਜ਼ਮਿਆਰੀ ਮੋਰੋਕੇਨ ਟਾਮਾਜ਼ਿਕਜ਼ੂਨੀਬੋਲੀ ਸੰਬੰਧੀ ਕੋਈ ਸਮੱਗਰੀ ਨਹੀਂਜ਼ਾ" +
- "ਜ਼ਾਆਧੁਨਿਕ ਮਿਆਰੀ ਅਰਬੀਜਰਮਨ (ਆਸਟਰੀਆਈ)ਅੰਗਰੇਜ਼ੀ (ਬਰਤਾਨਵੀ)ਅੰਗਰੇਜ਼ੀ (ਅਮਰੀਕੀ)ਸ" +
- "ਪੇਨੀ (ਯੂਰਪੀ)ਫਰਾਂਸੀਸੀ (ਕੈਨੇਡੀਅਨ)ਲੋ ਸੈਕਸਨਫਲੈਮਿਸ਼ਪੁਰਤਗਾਲੀ (ਬ੍ਰਾਜ਼ੀਲੀ)ਪੁਰਤ" +
- "ਗਾਲੀ (ਯੂਰਪੀ)ਮੋਲਡਾਵੀਆਈਚੀਨੀ (ਸਰਲ)ਚੀਨੀ (ਰਵਾਇਤੀ)"
+ "ਮੁਰਤਉਮਬੁੰਡੂਅਣਪਛਾਤੀ ਬੋਲੀਵਾਈਵੂੰਜੋਵਾਲਸਰਵੋਲਾਏਟਾਵੈਰੇਵਾਲਪੁਰੀਚੀਨੀ ਵੂਕਾਲਮਿਕਸੋਗ" +
+ "ਾਯਾਂਗਬੇਨਯੇਂਬਾਕੈਂਟੋਨੀਜ਼ਮਿਆਰੀ ਮੋਰੋਕੇਨ ਟਾਮਾਜ਼ਿਕਜ਼ੂਨੀਬੋਲੀ ਸੰਬੰਧੀ ਕੋਈ ਸਮੱਗਰ" +
+ "ੀ ਨਹੀਂਜ਼ਾਜ਼ਾਆਧੁਨਿਕ ਮਿਆਰੀ ਅਰਬੀਜਰਮਨ (ਆਸਟਰੀਆਈ)ਅੰਗਰੇਜ਼ੀ (ਬਰਤਾਨਵੀ)ਅੰਗਰੇਜ਼ੀ " +
+ "(ਅਮਰੀਕੀ)ਸਪੇਨੀ (ਯੂਰਪੀ)ਫਰਾਂਸੀਸੀ (ਕੈਨੇਡੀਅਨ)ਲੋ ਸੈਕਸਨਫਲੈਮਿਸ਼ਪੁਰਤਗਾਲੀ (ਬ੍ਰਾਜ਼ੀ" +
+ "ਲੀ)ਪੁਰਤਗਾਲੀ (ਯੂਰਪੀ)ਮੋਲਡਾਵੀਆਈਚੀਨੀ (ਸਰਲ)ਚੀਨੀ (ਰਵਾਇਤੀ)"
var paLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -22727,18 +22733,18 @@ var paLangIdx = []uint16{ // 613 elements
0x1b56, 0x1b56, 0x1b56, 0x1b65, 0x1b71, 0x1b71, 0x1b7d, 0x1b8c,
0x1b8c, 0x1b8c, 0x1b8c, 0x1b9e, 0x1b9e, 0x1b9e, 0x1b9e, 0x1b9e,
0x1bb7, 0x1bb7, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bde, 0x1bf3,
- 0x1c08, 0x1c20, 0x1c4c, 0x1c5e, 0x1c5e, 0x1c73, 0x1c7c, 0x1c85,
- 0x1c85, 0x1c85, 0x1c85, 0x1c85, 0x1c85, 0x1c85, 0x1c94, 0x1ca3,
- 0x1cb8, 0x1cc4, 0x1cc4, 0x1cd9, 0x1cec, 0x1cfe, 0x1cfe, 0x1d0a,
+ 0x1c08, 0x1c20, 0x1c4c, 0x1c5e, 0x1c5e, 0x1c73, 0x1c95, 0x1c9e,
+ 0x1c9e, 0x1c9e, 0x1c9e, 0x1c9e, 0x1c9e, 0x1c9e, 0x1cad, 0x1cbc,
+ 0x1cd1, 0x1cdd, 0x1cdd, 0x1cf2, 0x1d05, 0x1d17, 0x1d17, 0x1d23,
// Entry 240 - 27F
- 0x1d0a, 0x1d0a, 0x1d1f, 0x1d2e, 0x1d2e, 0x1d49, 0x1d49, 0x1d49,
- 0x1d49, 0x1d49, 0x1d87, 0x1d96, 0x1ddf, 0x1df1, 0x1e20, 0x1e20,
- 0x1e44, 0x1e44, 0x1e44, 0x1e44, 0x1e74, 0x1ea1, 0x1ea1, 0x1ec2,
- 0x1ec2, 0x1ec2, 0x1ef5, 0x1ef5, 0x1f0b, 0x1f20, 0x1f56, 0x1f80,
- 0x1f9b, 0x1f9b, 0x1f9b, 0x1fb3, 0x1fd4,
+ 0x1d23, 0x1d23, 0x1d38, 0x1d47, 0x1d47, 0x1d62, 0x1d62, 0x1d62,
+ 0x1d62, 0x1d62, 0x1da0, 0x1daf, 0x1df8, 0x1e0a, 0x1e39, 0x1e39,
+ 0x1e5d, 0x1e5d, 0x1e5d, 0x1e5d, 0x1e8d, 0x1eba, 0x1eba, 0x1edb,
+ 0x1edb, 0x1edb, 0x1f0e, 0x1f0e, 0x1f24, 0x1f39, 0x1f6f, 0x1f99,
+ 0x1fb4, 0x1fb4, 0x1fb4, 0x1fcc, 0x1fed,
} // Size: 1250 bytes
-const plLangStr string = "" + // Size: 5567 bytes
+const plLangStr string = "" + // Size: 5568 bytes
"afarabchaskiawestyjskiafrikaansakanamharskiaragońskiarabskiasamskiawarsk" +
"iajmaraazerbejdżańskibaszkirskibiałoruskibułgarskibislamabambarabengalsk" +
"itybetańskibretońskibośniackikatalońskiczeczeńskiczamorrokorsykańskikric" +
@@ -22804,17 +22810,17 @@ const plLangStr string = "" + // Size: 5567 bytes
"susumeryjskikomoryjskisyriackisyryjskiśląskitulutemneatesoterenotetumtig" +
"retiwtokelaucachurskiklingońskitlingittałyskitamaszektonga (Niasa)tok pi" +
"sinturoyotarokocakońskitsimshiantackitumbukatuvalutasawaqtuwińskitamazig" +
- "ht (Atlas Środkowy)udmurckiugaryckiumbundujęzyk rdzennywaiweneckiwepskiz" +
- "achodnioflamandzkimeński frankońskiwotiackivõrovunjowalserwolaytawarajwa" +
- "showarlpiriwukałmuckimegrelskisogayaojapskiyangbenyembanheengatukantońsk" +
- "izapoteckiblisszelandzkizenagastandardowy marokański tamazightzunibrak t" +
- "reści o charakterze językowymzazakiwspółczesny arabskiaustriacki niemiec" +
- "kiwysokoniemiecki (Szwajcaria)australijski angielskikanadyjski angielski" +
- "brytyjski angielskiamerykański angielskiamerykański hiszpańskieuropejski" +
- " hiszpańskimeksykański hiszpańskikanadyjski francuskiszwajcarski francus" +
- "kidolnosaksońskiflamandzkibrazylijski portugalskieuropejski portugalskim" +
- "ołdawskiserbsko-chorwackikongijski suahilichiński uproszczonychiński tra" +
- "dycyjny"
+ "ht (Atlas Środkowy)udmurckiugaryckiumbundunieznany językwaiweneckiwepski" +
+ "zachodnioflamandzkimeński frankońskiwotiackivõrovunjowalserwolaytawarajw" +
+ "ashowarlpiriwukałmuckimegrelskisogayaojapskiyangbenyembanheengatukantońs" +
+ "kizapoteckiblisszelandzkizenagastandardowy marokański tamazightzunibrak " +
+ "treści o charakterze językowymzazakiwspółczesny arabskiaustriacki niemie" +
+ "ckiwysokoniemiecki (Szwajcaria)australijski angielskikanadyjski angielsk" +
+ "ibrytyjski angielskiamerykański angielskiamerykański hiszpańskieuropejsk" +
+ "i hiszpańskimeksykański hiszpańskikanadyjski francuskiszwajcarski francu" +
+ "skidolnosaksońskiflamandzkibrazylijski portugalskieuropejski portugalski" +
+ "mołdawskiserbsko-chorwackikongijski suahilichiński uproszczonychiński tr" +
+ "adycyjny"
var plLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -22895,18 +22901,18 @@ var plLangIdx = []uint16{ // 613 elements
0x121a, 0x1222, 0x1226, 0x122b, 0x1230, 0x1236, 0x123b, 0x1240,
0x1243, 0x124a, 0x1253, 0x125e, 0x1265, 0x126d, 0x1275, 0x1282,
0x128b, 0x1291, 0x1297, 0x12a0, 0x12a9, 0x12ae, 0x12b5, 0x12bb,
- 0x12c2, 0x12cb, 0x12e6, 0x12ee, 0x12f6, 0x12fd, 0x130b, 0x130e,
- 0x1315, 0x131b, 0x132e, 0x1341, 0x1349, 0x134e, 0x1353, 0x1359,
- 0x1360, 0x1365, 0x136a, 0x1372, 0x1374, 0x137d, 0x1386, 0x138a,
+ 0x12c2, 0x12cb, 0x12e6, 0x12ee, 0x12f6, 0x12fd, 0x130c, 0x130f,
+ 0x1316, 0x131c, 0x132f, 0x1342, 0x134a, 0x134f, 0x1354, 0x135a,
+ 0x1361, 0x1366, 0x136b, 0x1373, 0x1375, 0x137e, 0x1387, 0x138b,
// Entry 240 - 27F
- 0x138d, 0x1393, 0x139a, 0x139f, 0x13a8, 0x13b2, 0x13bb, 0x13c0,
- 0x13c9, 0x13cf, 0x13f0, 0x13f4, 0x1419, 0x141f, 0x1434, 0x1434,
- 0x1448, 0x1464, 0x147a, 0x148e, 0x14a1, 0x14b7, 0x14cf, 0x14e5,
- 0x14fd, 0x14fd, 0x1511, 0x1526, 0x1535, 0x153f, 0x1556, 0x156c,
- 0x1576, 0x1587, 0x1598, 0x15ac, 0x15bf,
+ 0x138e, 0x1394, 0x139b, 0x13a0, 0x13a9, 0x13b3, 0x13bc, 0x13c1,
+ 0x13ca, 0x13d0, 0x13f1, 0x13f5, 0x141a, 0x1420, 0x1435, 0x1435,
+ 0x1449, 0x1465, 0x147b, 0x148f, 0x14a2, 0x14b8, 0x14d0, 0x14e6,
+ 0x14fe, 0x14fe, 0x1512, 0x1527, 0x1536, 0x1540, 0x1557, 0x156d,
+ 0x1577, 0x1588, 0x1599, 0x15ad, 0x15c0,
} // Size: 1250 bytes
-const ptLangStr string = "" + // Size: 4104 bytes
+const ptLangStr string = "" + // Size: 4119 bytes
"afarabcázioavésticoafricânerakanamáricoaragonêsárabeassamêsavaricaimaraa" +
"zerbaijanobashkirbielorrussobúlgarobislamábambarabengalitibetanobretãobó" +
"sniocatalãochechenochamorrocórsicocreetchecoeslavo eclesiásticotchuvache" +
@@ -22957,11 +22963,12 @@ const ptLangStr string = "" + // Size: 4104 bytes
"rinamêssereresahosukumasususumériocomorianosiríaco clássicosiríacotimnet" +
"esoterenotétumtigrétivtoquelauanoklingontlinguitetamaxequetonganês de Ny" +
"asatok pisintarokotsimshianotumbukatuvaluanotasawaqtuvinianotamazight do" +
- " Atlas Centraludmurteugaríticoumbunduraizvaivóticovunjowalserwolayttawar" +
- "aywashowarlpiriwukalmyklusogayaoyapeseyangbenyembacantonêszapotecosímbol" +
- "os bliszenagatamazight marroquino padrãozunhisem conteúdo linguísticozaz" +
- "aárabe modernoazeri sulalto alemão (Suíça)baixo saxãoflamengomoldávioser" +
- "vo-croatasuaíli do Congochinês simplificadochinês tradicional"
+ " Atlas Centraludmurteugaríticoumbunduidioma desconhecidovaivóticovunjowa" +
+ "lserwolayttawaraywashowarlpiriwukalmyklusogayaoyapeseyangbenyembacantonê" +
+ "szapotecosímbolos bliszenagatamazight marroquino padrãozunhisem conteúdo" +
+ " linguísticozazaárabe modernoazeri sulalto alemão (Suíça)baixo saxãoflam" +
+ "engomoldávioservo-croatasuaíli do Congochinês simplificadochinês tradici" +
+ "onal"
var ptLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -23042,18 +23049,18 @@ var ptLangIdx = []uint16{ // 613 elements
0x0e02, 0x0e02, 0x0e02, 0x0e07, 0x0e0b, 0x0e11, 0x0e17, 0x0e1d,
0x0e20, 0x0e2b, 0x0e2b, 0x0e32, 0x0e3b, 0x0e3b, 0x0e44, 0x0e56,
0x0e5f, 0x0e5f, 0x0e65, 0x0e65, 0x0e6f, 0x0e6f, 0x0e76, 0x0e7f,
- 0x0e86, 0x0e8f, 0x0ea9, 0x0eb0, 0x0eba, 0x0ec1, 0x0ec5, 0x0ec8,
- 0x0ec8, 0x0ec8, 0x0ec8, 0x0ec8, 0x0ecf, 0x0ecf, 0x0ed4, 0x0eda,
- 0x0ee2, 0x0ee7, 0x0eec, 0x0ef4, 0x0ef6, 0x0efc, 0x0efc, 0x0f02,
+ 0x0e86, 0x0e8f, 0x0ea9, 0x0eb0, 0x0eba, 0x0ec1, 0x0ed4, 0x0ed7,
+ 0x0ed7, 0x0ed7, 0x0ed7, 0x0ed7, 0x0ede, 0x0ede, 0x0ee3, 0x0ee9,
+ 0x0ef1, 0x0ef6, 0x0efb, 0x0f03, 0x0f05, 0x0f0b, 0x0f0b, 0x0f11,
// Entry 240 - 27F
- 0x0f05, 0x0f0b, 0x0f12, 0x0f17, 0x0f17, 0x0f20, 0x0f28, 0x0f36,
- 0x0f36, 0x0f3c, 0x0f58, 0x0f5d, 0x0f77, 0x0f7b, 0x0f89, 0x0f92,
- 0x0f92, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8,
- 0x0fa8, 0x0fa8, 0x0fa8, 0x0fa8, 0x0fb4, 0x0fbc, 0x0fbc, 0x0fbc,
- 0x0fc5, 0x0fd1, 0x0fe1, 0x0ff5, 0x1008,
+ 0x0f14, 0x0f1a, 0x0f21, 0x0f26, 0x0f26, 0x0f2f, 0x0f37, 0x0f45,
+ 0x0f45, 0x0f4b, 0x0f67, 0x0f6c, 0x0f86, 0x0f8a, 0x0f98, 0x0fa1,
+ 0x0fa1, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7,
+ 0x0fb7, 0x0fb7, 0x0fb7, 0x0fb7, 0x0fc3, 0x0fcb, 0x0fcb, 0x0fcb,
+ 0x0fd4, 0x0fe0, 0x0ff0, 0x1004, 0x1017,
} // Size: 1250 bytes
-const ptPTLangStr string = "" + // Size: 882 bytes
+const ptPTLangStr string = "" + // Size: 878 bytes
"africanêschecochuvasheweestóniofrísico ocidentalhaúçahindiarménioigbocan" +
"arimgandamacedónionorueguês nynorsknorueguês bokmåloccitanoosséticopolac" +
"opastókinyarwandasami do nortetigríniaturcomanotongaiorubainglês antigom" +
@@ -23062,10 +23069,10 @@ const ptPTLangStr string = "" + // Size: 882 bytes
"ássicoalemão suíçocabardianocrioulo cabo-verdianolezghianoluri do norte" +
"luomohawkbaixo-alemãonórdico antigolíngua pangasinesapersa antigolíngua " +
"pohnpeicaprovençal antigorajastanêssakhairlandês antigoárabe do Chadeina" +
- "ri samirootvaisogaárabe moderno padrãoalemão austríacoalto alemão suíçoi" +
- "nglês australianoinglês canadianoinglês britânicoinglês americanoespanho" +
- "l latino-americanoespanhol europeufrancês canadianofrancês suíçobaixo-sa" +
- "xãoportuguês do Brasilportuguês europeu"
+ "ri samivaisogaárabe moderno padrãoalemão austríacoalto alemão suíçoinglê" +
+ "s australianoinglês canadianoinglês britânicoinglês americanoespanhol la" +
+ "tino-americanoespanhol europeufrancês canadianofrancês suíçobaixo-saxãop" +
+ "ortuguês do Brasilportuguês europeu"
var ptPTLangIdx = []uint16{ // 608 elements
// Entry 0 - 3F
@@ -23146,17 +23153,17 @@ var ptPTLangIdx = []uint16{ // 608 elements
0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267,
0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267,
0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267,
- 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x026b, 0x026e,
- 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e,
- 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x0272,
+ 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x0267, 0x026a,
+ 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a,
+ 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026a, 0x026e,
// Entry 240 - 27F
- 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0272,
- 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0272, 0x0288, 0x0288,
- 0x029a, 0x02ae, 0x02c1, 0x02d2, 0x02e4, 0x02f5, 0x030e, 0x031e,
- 0x031e, 0x031e, 0x0330, 0x0340, 0x034c, 0x034c, 0x0360, 0x0372,
+ 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e,
+ 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x026e, 0x0284, 0x0284,
+ 0x0296, 0x02aa, 0x02bd, 0x02ce, 0x02e0, 0x02f1, 0x030a, 0x031a,
+ 0x031a, 0x031a, 0x032c, 0x033c, 0x0348, 0x0348, 0x035c, 0x036e,
} // Size: 1240 bytes
-const roLangStr string = "" + // Size: 4228 bytes
+const roLangStr string = "" + // Size: 4243 bytes
"afarabhazăavestanăafrikaansakanamharicăaragonezăarabăasamezăavarăaymaraa" +
"zerăbașkirăbielorusăbulgarăbislamabambarabengalezătibetanăbretonăbosniac" +
"ăcatalanăcecenăchamorrocorsicanăcreecehăslavonăciuvașăgalezădanezăgerma" +
@@ -23207,12 +23214,12 @@ const roLangStr string = "" + // Size: 4228 bytes
"samiinari samiskolt samisoninkesogdiensranan tongoserersahosukumasususum" +
"erianăcomorezăsiriacă clasicăsiriacătimnetesoterenotetumtigretivtokelauk" +
"lingonianătlingittamasheknyasa tongatok pisintarokotsimshiantumbukatuval" +
- "utasawaqtuvanătamazight central marocanăudmurtugariticăumbundurootvaivot" +
- "icăvunjowalserwolaitawaraywashowarlpirichineză wucalmucăsogayaoyapezăyan" +
- "gbenyembacantonezăzapotecăsimboluri Bilsszenagatamazight standard maroca" +
- "năzunifară conținut lingvisticzazaarabă standard modernăgermană standard" +
- " (Elveția)saxona de josflamandămoldoveneascăsârbo-croatăswahili (R.D. Co" +
- "ngo)chineză tradițională"
+ "utasawaqtuvanătamazight central marocanăudmurtugariticăumbundulimbă necu" +
+ "noscutăvaivoticăvunjowalserwolaitawaraywashowarlpirichineză wucalmucăsog" +
+ "ayaoyapezăyangbenyembacantonezăzapotecăsimboluri Bilsszenagatamazight st" +
+ "andard marocanăzunifară conținut lingvisticzazaarabă standard modernăger" +
+ "mană standard (Elveția)saxona de josflamandămoldoveneascăsârbo-croatăswa" +
+ "hili (R.D. Congo)chineză tradițională"
var roLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -23293,18 +23300,18 @@ var roLangIdx = []uint16{ // 613 elements
0x0e80, 0x0e80, 0x0e80, 0x0e85, 0x0e89, 0x0e8f, 0x0e94, 0x0e99,
0x0e9c, 0x0ea3, 0x0ea3, 0x0eaf, 0x0eb6, 0x0eb6, 0x0ebe, 0x0ec9,
0x0ed2, 0x0ed2, 0x0ed8, 0x0ed8, 0x0ee1, 0x0ee1, 0x0ee8, 0x0eee,
- 0x0ef5, 0x0efc, 0x0f17, 0x0f1d, 0x0f27, 0x0f2e, 0x0f32, 0x0f35,
- 0x0f35, 0x0f35, 0x0f35, 0x0f35, 0x0f3c, 0x0f3c, 0x0f41, 0x0f47,
- 0x0f4e, 0x0f53, 0x0f58, 0x0f60, 0x0f6b, 0x0f73, 0x0f73, 0x0f77,
+ 0x0ef5, 0x0efc, 0x0f17, 0x0f1d, 0x0f27, 0x0f2e, 0x0f41, 0x0f44,
+ 0x0f44, 0x0f44, 0x0f44, 0x0f44, 0x0f4b, 0x0f4b, 0x0f50, 0x0f56,
+ 0x0f5d, 0x0f62, 0x0f67, 0x0f6f, 0x0f7a, 0x0f82, 0x0f82, 0x0f86,
// Entry 240 - 27F
- 0x0f7a, 0x0f81, 0x0f88, 0x0f8d, 0x0f8d, 0x0f97, 0x0fa0, 0x0faf,
- 0x0faf, 0x0fb5, 0x0fd1, 0x0fd5, 0x0fef, 0x0ff3, 0x100b, 0x100b,
- 0x100b, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027, 0x1027,
- 0x1027, 0x1027, 0x1027, 0x1027, 0x1034, 0x103d, 0x103d, 0x103d,
- 0x104b, 0x1059, 0x106d, 0x106d, 0x1084,
+ 0x0f89, 0x0f90, 0x0f97, 0x0f9c, 0x0f9c, 0x0fa6, 0x0faf, 0x0fbe,
+ 0x0fbe, 0x0fc4, 0x0fe0, 0x0fe4, 0x0ffe, 0x1002, 0x101a, 0x101a,
+ 0x101a, 0x1036, 0x1036, 0x1036, 0x1036, 0x1036, 0x1036, 0x1036,
+ 0x1036, 0x1036, 0x1036, 0x1036, 0x1043, 0x104c, 0x104c, 0x104c,
+ 0x105a, 0x1068, 0x107c, 0x107c, 0x1093,
} // Size: 1250 bytes
-const ruLangStr string = "" + // Size: 9389 bytes
+const ruLangStr string = "" + // Size: 9395 bytes
"афарскийабхазскийавестийскийафрикаансаканамхарскийарагонскийарабскийасса" +
"мскийаварскийаймараазербайджанскийбашкирскийбелорусскийболгарскийбислам" +
"абамбарабенгальскийтибетскийбретонскийбоснийскийкаталанскийчеченскийчам" +
@@ -23362,16 +23369,16 @@ const ruLangStr string = "" + // Size: 9389 bytes
"ерерсахосукумасусушумерскийкоморскийклассический сирийскийсирийскийтемн" +
"етесотеренотетумтигретивитокелайскийклингонскийтлингиттамашектонгаток-п" +
"исинтуройоседекскийцимшиантумбукатувалутасавактувинскийсреднеатласский " +
- "тамазигхтскийудмуртскийугаритскийумбундукорневой языкваиводскийвунджова" +
- "ллисскийволамоварайвашовальбиривукалмыцкийсогаяояпянгбенйембакантонский" +
- "сапотекскийблиссимволиказенагскийтамазигхтскийзуньинет языкового матери" +
- "алазазаарабский литературныйавстрийский немецкийлитературный швейцарски" +
- "й немецкийавстралийский английскийканадский английскийбританский англий" +
- "скийамериканский английскийлатиноамериканский испанскийевропейский испа" +
- "нскиймексиканский испанскийканадский французскийшвейцарский французский" +
- "нижнесаксонскийфламандскийбразильский португальскийевропейский португал" +
- "ьскиймолдавскийсербскохорватскийконголезский суахиликитайский, упрощенн" +
- "ое письмокитайский, традиционное письмо"
+ "тамазигхтскийудмуртскийугаритскийумбундунеизвестный языкваиводскийвундж" +
+ "оваллисскийволамоварайвашовальбиривукалмыцкийсогаяояпянгбенйембакантонс" +
+ "кийсапотекскийблиссимволиказенагскийтамазигхтскийзуньинет языкового мат" +
+ "ериалазазаарабский литературныйавстрийский немецкийлитературный швейцар" +
+ "ский немецкийавстралийский английскийканадский английскийбританский анг" +
+ "лийскийамериканский английскийлатиноамериканский испанскийевропейский и" +
+ "спанскиймексиканский испанскийканадский французскийшвейцарский французс" +
+ "кийнижнесаксонскийфламандскийбразильский португальскийевропейский порту" +
+ "гальскиймолдавскийсербскохорватскийконголезский суахиликитайский, упрощ" +
+ "енное письмокитайский, традиционное письмо"
var ruLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -23452,18 +23459,18 @@ var ruLangIdx = []uint16{ // 613 elements
0x1e58, 0x1e58, 0x1e58, 0x1e62, 0x1e6a, 0x1e76, 0x1e80, 0x1e8a,
0x1e92, 0x1ea8, 0x1ea8, 0x1ebe, 0x1ecc, 0x1ecc, 0x1eda, 0x1ee4,
0x1ef5, 0x1f01, 0x1f13, 0x1f13, 0x1f21, 0x1f21, 0x1f2f, 0x1f3b,
- 0x1f49, 0x1f5b, 0x1f94, 0x1fa8, 0x1fbc, 0x1fca, 0x1fe3, 0x1fe9,
- 0x1fe9, 0x1fe9, 0x1fe9, 0x1fe9, 0x1ff7, 0x1ff7, 0x2003, 0x2017,
- 0x2023, 0x202d, 0x2035, 0x2045, 0x2049, 0x205b, 0x205b, 0x2063,
+ 0x1f49, 0x1f5b, 0x1f94, 0x1fa8, 0x1fbc, 0x1fca, 0x1fe9, 0x1fef,
+ 0x1fef, 0x1fef, 0x1fef, 0x1fef, 0x1ffd, 0x1ffd, 0x2009, 0x201d,
+ 0x2029, 0x2033, 0x203b, 0x204b, 0x204f, 0x2061, 0x2061, 0x2069,
// Entry 240 - 27F
- 0x2067, 0x206b, 0x2077, 0x2081, 0x2081, 0x2095, 0x20ab, 0x20c5,
- 0x20c5, 0x20d7, 0x20f1, 0x20fb, 0x2127, 0x212f, 0x2158, 0x2158,
- 0x217f, 0x21bf, 0x21ee, 0x2215, 0x223e, 0x226b, 0x22a2, 0x22cb,
- 0x22f6, 0x22f6, 0x231f, 0x234c, 0x236a, 0x2380, 0x23b1, 0x23e2,
- 0x23f6, 0x2418, 0x243f, 0x2474, 0x24ad,
+ 0x206d, 0x2071, 0x207d, 0x2087, 0x2087, 0x209b, 0x20b1, 0x20cb,
+ 0x20cb, 0x20dd, 0x20f7, 0x2101, 0x212d, 0x2135, 0x215e, 0x215e,
+ 0x2185, 0x21c5, 0x21f4, 0x221b, 0x2244, 0x2271, 0x22a8, 0x22d1,
+ 0x22fc, 0x22fc, 0x2325, 0x2352, 0x2370, 0x2386, 0x23b7, 0x23e8,
+ 0x23fc, 0x241e, 0x2445, 0x247a, 0x24b3,
} // Size: 1250 bytes
-const siLangStr string = "" + // Size: 9440 bytes
+const siLangStr string = "" + // Size: 9465 bytes
"අෆාර්ඇබ්කාසියානුඅප්\u200dරිකානුඅකාන්ඇම්හාරික්ඇරගොනීස්අරාබිඇසමියානුඇවරික්" +
"අයිමරාඅසර්බයිජාන්බාෂ්කිර්බෙලරුසියානුබල්ගේරියානුබිස්ලමාබම්බරාබෙංගාලිටිබ" +
"ෙට්බ්\u200dරේටොන්බොස්නියානුකැටලන්චෙච්නියානුචමොරොක්\u200dරොඑශියානුචෙත්ච" +
@@ -23504,14 +23511,14 @@ const siLangStr string = "" + // Size: 9440 bytes
"රො සෙන්නිටචේල්හිට්ශාන්දකුණු සාමිලුලේ සාමිඉනාරි සාමිස්කොල්ට් සාමිසොනින්" +
"කෙස්\u200dරන් ටොන්ගොසහොසුකුමාකොමොරියන්ස්\u200dරයෑක්ටිම්නෙටෙසෝටේටම්ටීග්" +
"\u200dරෙක්ලින්ගොන්ටොක් පිසින්ටරොකොටුම්බුකාටුවාලුටසවාක්ටුවිනියන්මධ්\u200d" +
- "යම ඇට්ලස් ටමසිට්අඩ්මර්ට්උබුන්ඩුරූට්වයිවුන්ජෝවොල්සර්වොලෙට්ටවොරෙය්වොපිරි" +
- "වූ චයිනිස්කල්මික්සොගායන්ග්බෙන්යෙම්බාකැන්ටොනීස්සම්මත මොරොක්කෝ ටමසිග්ත්ස" +
- "ුනිවාග් විද්\u200dයා අන්තර්ගතයක් නැතසාසානවීන සම්මත අරාබිඔස්ට්\u200dරිය" +
- "ානු ජර්මන්ස්විස් උසස් ජර්මන්ඕස්ට්\u200dරේලියානු ඉංග්\u200dරීසිකැනේඩියා" +
- "නු ඉංග්\u200dරීසිබ්\u200dරිතාන්\u200dය ඉංග්\u200dරීසිඇමෙරිකානු ඉංග්" +
- "\u200dරීසිලතින් ඇමරිකානු ස්පාඤ්ඤයුරෝපීය ස්පාඤ්ඤමෙක්සිකානු ස්පාඤ්ඤකැනේඩිය" +
- "ානු ප්\u200dරංශස්විස් ප්\u200dරංශපහළ සැක්සන්ෆ්ලෙමිශ්බ්\u200dරසීල පෘතුග" +
- "ීසියුරෝපීය පෘතුගීසිමොල්ඩවිආනුසුළුකළ චීනසාම්ප්\u200dරදායික චීන"
+ "යම ඇට්ලස් ටමසිට්අඩ්මර්ට්උබුන්ඩුනොදන්නා භාෂාවවයිවුන්ජෝවොල්සර්වොලෙට්ටවොර" +
+ "ෙය්වොපිරිවූ චයිනිස්කල්මික්සොගායන්ග්බෙන්යෙම්බාකැන්ටොනීස්සම්මත මොරොක්කෝ " +
+ "ටමසිග්ත්සුනිවාග් විද්\u200dයා අන්තර්ගතයක් නැතසාසානවීන සම්මත අරාබිඔස්ට්" +
+ "\u200dරියානු ජර්මන්ස්විස් උසස් ජර්මන්ඕස්ට්\u200dරේලියානු ඉංග්\u200dරීසික" +
+ "ැනේඩියානු ඉංග්\u200dරීසිබ්\u200dරිතාන්\u200dය ඉංග්\u200dරීසිඇමෙරිකානු " +
+ "ඉංග්\u200dරීසිලතින් ඇමරිකානු ස්පාඤ්ඤයුරෝපීය ස්පාඤ්ඤමෙක්සිකානු ස්පාඤ්ඤක" +
+ "ැනේඩියානු ප්\u200dරංශස්විස් ප්\u200dරංශපහළ සැක්සන්ෆ්ලෙමිශ්බ්\u200dරසීල" +
+ " පෘතුගීසියුරෝපීය පෘතුගීසිමොල්ඩවිආනුසුළුකළ චීනසාම්ප්\u200dරදායික චීන"
var siLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -23592,18 +23599,18 @@ var siLangIdx = []uint16{ // 613 elements
0x1e78, 0x1e78, 0x1e78, 0x1e8a, 0x1e96, 0x1e96, 0x1ea5, 0x1eba,
0x1eba, 0x1eba, 0x1eba, 0x1ed8, 0x1ed8, 0x1ed8, 0x1ed8, 0x1ed8,
0x1ef7, 0x1ef7, 0x1f06, 0x1f06, 0x1f06, 0x1f06, 0x1f1e, 0x1f30,
- 0x1f42, 0x1f5d, 0x1f95, 0x1fad, 0x1fad, 0x1fc2, 0x1fce, 0x1fd7,
- 0x1fd7, 0x1fd7, 0x1fd7, 0x1fd7, 0x1fd7, 0x1fd7, 0x1fe9, 0x1ffe,
- 0x2013, 0x2025, 0x2025, 0x2037, 0x2053, 0x2068, 0x2068, 0x2074,
+ 0x1f42, 0x1f5d, 0x1f95, 0x1fad, 0x1fad, 0x1fc2, 0x1fe7, 0x1ff0,
+ 0x1ff0, 0x1ff0, 0x1ff0, 0x1ff0, 0x1ff0, 0x1ff0, 0x2002, 0x2017,
+ 0x202c, 0x203e, 0x203e, 0x2050, 0x206c, 0x2081, 0x2081, 0x208d,
// Entry 240 - 27F
- 0x2074, 0x2074, 0x208f, 0x20a1, 0x20a1, 0x20bf, 0x20bf, 0x20bf,
- 0x20bf, 0x20bf, 0x2100, 0x210c, 0x215a, 0x2166, 0x2192, 0x2192,
- 0x21c9, 0x21fb, 0x2241, 0x227b, 0x22b8, 0x22ef, 0x232d, 0x2358,
- 0x238c, 0x238c, 0x23bd, 0x23e2, 0x2401, 0x2419, 0x2447, 0x2475,
- 0x2493, 0x2493, 0x2493, 0x24af, 0x24e0,
+ 0x208d, 0x208d, 0x20a8, 0x20ba, 0x20ba, 0x20d8, 0x20d8, 0x20d8,
+ 0x20d8, 0x20d8, 0x2119, 0x2125, 0x2173, 0x217f, 0x21ab, 0x21ab,
+ 0x21e2, 0x2214, 0x225a, 0x2294, 0x22d1, 0x2308, 0x2346, 0x2371,
+ 0x23a5, 0x23a5, 0x23d6, 0x23fb, 0x241a, 0x2432, 0x2460, 0x248e,
+ 0x24ac, 0x24ac, 0x24ac, 0x24c8, 0x24f9,
} // Size: 1250 bytes
-const skLangStr string = "" + // Size: 5794 bytes
+const skLangStr string = "" + // Size: 5802 bytes
"afarčinaabcházčinaavestčinaafrikánčinaakančinaamharčinaaragónčinaarabčin" +
"aásamčinaavarčinaaymarčinaazerbajdžančinabaškirčinabieloruštinabulharčin" +
"abislamabambarčinabengálčinatibetčinabretónčinabosniačtinakatalánčinačeč" +
@@ -23666,16 +23673,16 @@ const skLangStr string = "" + // Size: 5794 bytes
"nasahosukumasususumerčinakomorčinasýrčina (klasická)sýrčinatemnetesoterê" +
"natetumčinatigrejčinativtokelauštinaklingónčinatlingitčinatuaregčinaňasa" +
" tonganovoguinejský pidžintarokocimšjančinatumbukatuvalčinatasawaqtuvian" +
- "činastredomarocká tuaregčinaudmurtčinaugaritčinaumbundukoreňvaivodčinav" +
- "unjowalserčinawalamčinawaraywashowarlpirikalmyčtinasogajaojapčinajangben" +
- "yembakantončinazapotéčtinasystém Blisszenagatuaregčina (štandardná maroc" +
- "ká)zuništinabez jazykového obsahuzazaarabčina (moderná štandardná)nemčin" +
- "a (rakúska)nemčina (švajčiarska spisovná)angličtina (austrálska)angličti" +
- "na (kanadská)angličtina (britská)angličtina (americká)španielčina (latin" +
- "skoamerická)španielčina (európska)španielčina (mexická)francúzština (kan" +
- "adská)francúzština (švajčiarska)dolná saštinaflámčinaportugalčina (brazí" +
- "lska)portugalčina (európska)moldavčinasrbochorvátčinasvahilčina (konžská" +
- ")čínština (zjednodušená)čínština (tradičná)"
+ "činastredomarocká tuaregčinaudmurtčinaugaritčinaumbunduneznámy jazykvai" +
+ "vodčinavunjowalserčinawalamčinawaraywashowarlpirikalmyčtinasogajaojapčin" +
+ "ajangbenyembakantončinazapotéčtinasystém Blisszenagatuaregčina (štandard" +
+ "ná marocká)zuništinabez jazykového obsahuzazaarabčina (moderná štandardn" +
+ "á)nemčina (rakúska)nemčina (švajčiarska spisovná)angličtina (austrálska" +
+ ")angličtina (kanadská)angličtina (britská)angličtina (americká)španielči" +
+ "na (latinskoamerická)španielčina (európska)španielčina (mexická)francúzš" +
+ "tina (kanadská)francúzština (švajčiarska)dolná saštinaflámčinaportugalči" +
+ "na (brazílska)portugalčina (európska)moldavčinasrbochorvátčinasvahilčina" +
+ " (konžská)čínština (zjednodušená)čínština (tradičná)"
var skLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -23756,18 +23763,18 @@ var skLangIdx = []uint16{ // 613 elements
0x12f6, 0x12f6, 0x12f6, 0x12fb, 0x12ff, 0x1306, 0x1310, 0x131b,
0x131e, 0x132b, 0x132b, 0x1338, 0x1344, 0x1344, 0x134f, 0x135a,
0x1370, 0x1370, 0x1376, 0x1376, 0x1383, 0x1383, 0x138a, 0x1394,
- 0x139b, 0x13a6, 0x13c0, 0x13cb, 0x13d6, 0x13dd, 0x13e3, 0x13e6,
- 0x13e6, 0x13e6, 0x13e6, 0x13e6, 0x13ee, 0x13ee, 0x13f3, 0x13fe,
- 0x1408, 0x140d, 0x1412, 0x141a, 0x141a, 0x1425, 0x1425, 0x1429,
+ 0x139b, 0x13a6, 0x13c0, 0x13cb, 0x13d6, 0x13dd, 0x13eb, 0x13ee,
+ 0x13ee, 0x13ee, 0x13ee, 0x13ee, 0x13f6, 0x13f6, 0x13fb, 0x1406,
+ 0x1410, 0x1415, 0x141a, 0x1422, 0x1422, 0x142d, 0x142d, 0x1431,
// Entry 240 - 27F
- 0x142c, 0x1434, 0x143b, 0x1440, 0x1440, 0x144b, 0x1458, 0x1465,
- 0x1465, 0x146b, 0x148e, 0x1498, 0x14ae, 0x14b2, 0x14d3, 0x14d3,
- 0x14e6, 0x1508, 0x1521, 0x1538, 0x154e, 0x1565, 0x1586, 0x159f,
- 0x15b7, 0x15b7, 0x15d1, 0x15ef, 0x15fe, 0x1608, 0x1622, 0x163b,
- 0x1646, 0x1657, 0x166e, 0x168a, 0x16a2,
+ 0x1434, 0x143c, 0x1443, 0x1448, 0x1448, 0x1453, 0x1460, 0x146d,
+ 0x146d, 0x1473, 0x1496, 0x14a0, 0x14b6, 0x14ba, 0x14db, 0x14db,
+ 0x14ee, 0x1510, 0x1529, 0x1540, 0x1556, 0x156d, 0x158e, 0x15a7,
+ 0x15bf, 0x15bf, 0x15d9, 0x15f7, 0x1606, 0x1610, 0x162a, 0x1643,
+ 0x164e, 0x165f, 0x1676, 0x1692, 0x16aa,
} // Size: 1250 bytes
-const slLangStr string = "" + // Size: 6423 bytes
+const slLangStr string = "" + // Size: 6424 bytes
"afarščinaabhaščinaavestijščinaafrikanščinaakanščinaamharščinaaragonščina" +
"arabščinaasamščinaavarščinaajmarščinaazerbajdžanščinabaškirščinabelorušč" +
"inabolgarščinabislamščinabambarščinabengalščinatibetanščinabretonščinabo" +
@@ -23836,16 +23843,16 @@ const slLangStr string = "" + // Size: 6423 bytes
"inatemnejščinatesotetumščinatigrejščinativščinatokelavščinaklingonščinat" +
"lingitščinatamajaščinamalavijska tongščinatok pisintarokotsimščinatumbuk" +
"ščinatuvalujščinatasawaqtuvinščinatamašek (srednji atlas)udmurtščinauga" +
- "ritski jezikumbundščinarootščinavajščinavotjaščinavunjowalservalamščinav" +
- "arajščinavašajščinavarlpirščinakalmiščinasogščinajaojščinajapščinajangbe" +
- "njembajščinakantonščinazapoteščinaznakovni jezik Blisszenaščinastandardn" +
- "i maroški tamazigzunijščinabrez jezikoslovne vsebinezazajščinasodobna st" +
- "andardna arabščinaavstrijska nemščinavisoka nemščina (Švica)avstralska a" +
- "ngleščinakanadska angleščinaangleščina (VB)angleščina (ZDA)latinskoameri" +
- "ška španščinaiberska španščinakanadska francoščinašvicarska francoščina" +
- "nizka saščinaflamščinabrazilska portugalščinaiberska portugalščinamoldav" +
- "ščinasrbohrvaščinakongoška svahilščinapoenostavljena kitajščinatradicio" +
- "nalna kitajščina"
+ "ritski jezikumbundščinaneznan jezikvajščinavotjaščinavunjowalservalamšči" +
+ "navarajščinavašajščinavarlpirščinakalmiščinasogščinajaojščinajapščinajan" +
+ "gbenjembajščinakantonščinazapoteščinaznakovni jezik Blisszenaščinastanda" +
+ "rdni maroški tamazigzunijščinabrez jezikoslovne vsebinezazajščinasodobna" +
+ " standardna arabščinaavstrijska nemščinavisoka nemščina (Švica)avstralsk" +
+ "a angleščinakanadska angleščinaangleščina (VB)angleščina (ZDA)latinskoam" +
+ "eriška španščinaiberska španščinakanadska francoščinašvicarska francošči" +
+ "nanizka saščinaflamščinabrazilska portugalščinaiberska portugalščinamold" +
+ "avščinasrbohrvaščinakongoška svahilščinapoenostavljena kitajščinatradici" +
+ "onalna kitajščina"
var slLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -23926,18 +23933,18 @@ var slLangIdx = []uint16{ // 613 elements
0x153c, 0x153c, 0x153c, 0x1549, 0x154d, 0x154d, 0x1559, 0x1566,
0x1570, 0x157e, 0x157e, 0x158c, 0x159a, 0x159a, 0x15a7, 0x15bd,
0x15c6, 0x15c6, 0x15cc, 0x15cc, 0x15d7, 0x15d7, 0x15e4, 0x15f2,
- 0x15f9, 0x1605, 0x161d, 0x162a, 0x1639, 0x1646, 0x1651, 0x165b,
- 0x165b, 0x165b, 0x165b, 0x165b, 0x1667, 0x1667, 0x166c, 0x1672,
- 0x167e, 0x168a, 0x1697, 0x16a5, 0x16a5, 0x16b1, 0x16b1, 0x16bb,
+ 0x15f9, 0x1605, 0x161d, 0x162a, 0x1639, 0x1646, 0x1652, 0x165c,
+ 0x165c, 0x165c, 0x165c, 0x165c, 0x1668, 0x1668, 0x166d, 0x1673,
+ 0x167f, 0x168b, 0x1698, 0x16a6, 0x16a6, 0x16b2, 0x16b2, 0x16bc,
// Entry 240 - 27F
- 0x16c6, 0x16d0, 0x16d7, 0x16e4, 0x16e4, 0x16f1, 0x16fe, 0x1712,
- 0x1712, 0x171d, 0x1738, 0x1744, 0x175d, 0x1769, 0x1787, 0x1787,
- 0x179c, 0x17b6, 0x17cd, 0x17e2, 0x17f3, 0x1805, 0x1823, 0x1837,
- 0x1837, 0x1837, 0x184d, 0x1865, 0x1874, 0x187f, 0x1898, 0x18af,
- 0x18bc, 0x18cb, 0x18e2, 0x18fd, 0x1917,
+ 0x16c7, 0x16d1, 0x16d8, 0x16e5, 0x16e5, 0x16f2, 0x16ff, 0x1713,
+ 0x1713, 0x171e, 0x1739, 0x1745, 0x175e, 0x176a, 0x1788, 0x1788,
+ 0x179d, 0x17b7, 0x17ce, 0x17e3, 0x17f4, 0x1806, 0x1824, 0x1838,
+ 0x1838, 0x1838, 0x184e, 0x1866, 0x1875, 0x1880, 0x1899, 0x18b0,
+ 0x18bd, 0x18cc, 0x18e3, 0x18fe, 0x1918,
} // Size: 1250 bytes
-const sqLangStr string = "" + // Size: 4427 bytes
+const sqLangStr string = "" + // Size: 4430 bytes
"afarishtabkazishtafrikanishtakanishtamarishtaragonezishtarabishtasamezis" +
"htavarikishtajmarishtazerbajxhanishtbashkirishtbjellorusishtbullgarishtb" +
"islamishtbambarishtbengalishttibetishtbretonishtboshnjakishtkatalonishtç" +
@@ -23990,15 +23997,15 @@ const sqLangStr string = "" + // Size: 4427 bytes
"samishte skoltisoninkishtsrananisht (sranantongoisht)sahoishtsukumaishtk" +
"amorianishtsiriakishttimneishttesoishttetumishttigreishtklingonishtpisin" +
"ishte tokutorokoishttumbukaishttuvaluishttasavakishttuvinianishttamaziat" +
- "ishte atlase qendroreudmurtishtumbunduishtrutishtvaishtvunxhoishtualseri" +
- "shtulajtaishtuarajishtuarlpirishtkalmikishtsogishtjangbenishtjembaishtka" +
- "ntonezishttamaziatishte standarde marokenezunishtnuk ka përmbajtje gjuhë" +
- "sorezazaishtarabishte standarde modernegjermanishte austriakegjermanisht" +
- "e zvicerane (dialekti i Alpeve)anglishte australianeanglishte kanadezean" +
- "glishte britanikeanglishte amerikanespanjishte amerikano-latinespanjisht" +
- "e evropianespanjishte meksikanefrëngjishte kanadezefrëngjishte zvicerane" +
- "gjermanishte saksone e vendeve të ulëtaflamandishtportugalishte brazilia" +
- "neportugalishte evropianemoldavishtserbo-kroatishtsuahilishte kongoje"
+ "ishte atlase qendroreudmurtishtumbunduishte panjohurvaishtvunxhoishtuals" +
+ "erishtulajtaishtuarajishtuarlpirishtkalmikishtsogishtjangbenishtjembaish" +
+ "tkantonezishttamaziatishte standarde marokenezunishtnuk ka përmbajtje gj" +
+ "uhësorezazaishtarabishte standarde modernegjermanishte austriakegjermani" +
+ "shte zvicerane (dialekti i Alpeve)anglishte australianeanglishte kanadez" +
+ "eanglishte britanikeanglishte amerikanespanjishte amerikano-latinespanji" +
+ "shte evropianespanjishte meksikanefrëngjishte kanadezefrëngjishte zvicer" +
+ "anegjermanishte saksone e vendeve të ulëtaflamandishtportugalishte brazi" +
+ "lianeportugalishte evropianemoldavishtserbo-kroatishtsuahilishte kongoje"
var sqLangIdx = []uint16{ // 611 elements
// Entry 0 - 3F
@@ -24079,18 +24086,18 @@ var sqLangIdx = []uint16{ // 611 elements
0x0e45, 0x0e45, 0x0e45, 0x0e4e, 0x0e56, 0x0e56, 0x0e5f, 0x0e68,
0x0e68, 0x0e68, 0x0e68, 0x0e73, 0x0e73, 0x0e73, 0x0e73, 0x0e73,
0x0e82, 0x0e82, 0x0e8c, 0x0e8c, 0x0e8c, 0x0e8c, 0x0e97, 0x0ea1,
- 0x0eac, 0x0eb8, 0x0ed5, 0x0edf, 0x0edf, 0x0eea, 0x0ef1, 0x0ef7,
- 0x0ef7, 0x0ef7, 0x0ef7, 0x0ef7, 0x0ef7, 0x0ef7, 0x0f01, 0x0f0b,
- 0x0f15, 0x0f1e, 0x0f1e, 0x0f29, 0x0f29, 0x0f33, 0x0f33, 0x0f3a,
+ 0x0eac, 0x0eb8, 0x0ed5, 0x0edf, 0x0edf, 0x0eea, 0x0ef4, 0x0efa,
+ 0x0efa, 0x0efa, 0x0efa, 0x0efa, 0x0efa, 0x0efa, 0x0f04, 0x0f0e,
+ 0x0f18, 0x0f21, 0x0f21, 0x0f2c, 0x0f2c, 0x0f36, 0x0f36, 0x0f3d,
// Entry 240 - 27F
- 0x0f3a, 0x0f3a, 0x0f45, 0x0f4e, 0x0f4e, 0x0f5a, 0x0f5a, 0x0f5a,
- 0x0f5a, 0x0f5a, 0x0f7a, 0x0f81, 0x0f9e, 0x0fa6, 0x0fc1, 0x0fc1,
- 0x0fd7, 0x1001, 0x1016, 0x1028, 0x103b, 0x104e, 0x1069, 0x107d,
- 0x1091, 0x1091, 0x10a6, 0x10bc, 0x10e5, 0x10f0, 0x1108, 0x111f,
- 0x1129, 0x1138, 0x114b,
+ 0x0f3d, 0x0f3d, 0x0f48, 0x0f51, 0x0f51, 0x0f5d, 0x0f5d, 0x0f5d,
+ 0x0f5d, 0x0f5d, 0x0f7d, 0x0f84, 0x0fa1, 0x0fa9, 0x0fc4, 0x0fc4,
+ 0x0fda, 0x1004, 0x1019, 0x102b, 0x103e, 0x1051, 0x106c, 0x1080,
+ 0x1094, 0x1094, 0x10a9, 0x10bf, 0x10e8, 0x10f3, 0x110b, 0x1122,
+ 0x112c, 0x113b, 0x114e,
} // Size: 1246 bytes
-const srLangStr string = "" + // Size: 8071 bytes
+const srLangStr string = "" + // Size: 8092 bytes
"афарскиабхаскиавестанскиафрикансаканскиамхарскиарагонскиарапскиасамскиав" +
"арскиајмараазербејџанскибашкирскибелорускибугарскибисламабамбарабенгалс" +
"китибетанскибретонскибосанскикаталонскичеченскичаморокорзиканскикричешк" +
@@ -24142,13 +24149,13 @@ const srLangStr string = "" + // Size: 8071 bytes
"кисранан тонгосерерскисахосукумасусусумерскикоморскисиријачкисиријскити" +
"мнетесотеренотетумтигретивтокелауклингонскитлингиттамашекњаса тонгаток " +
"писинтарокоцимшиантумбукатувалутасавактувинскицентралноатласки тамазигт" +
- "удмуртскиугаритскиумбундуРутваиводскивунџовалсерскиволајтаварајскивашов" +
- "арлпирикалмичкисогајаојапскијангбенјембакантонскизапотечкиблисимболизен" +
- "агастандардни марокански тамазигтзунибез лингвистичког садржајазазасавр" +
- "емени стандардни арапскишвајцарски високи немачкиенглески (Велика Брита" +
- "нија)енглески (Сједињене Америчке Државе)нискосаксонскифламанскипортуга" +
- "лски (Португал)молдавскисрпскохрватскикисвахилипоједностављени кинескит" +
- "радиционални кинески"
+ "удмуртскиугаритскиумбундунепознат језикваиводскивунџовалсерскиволајтава" +
+ "рајскивашоварлпирикалмичкисогајаојапскијангбенјембакантонскизапотечкибл" +
+ "исимболизенагастандардни марокански тамазигтзунибез лингвистичког садрж" +
+ "ајазазасавремени стандардни арапскишвајцарски високи немачкиенглески (В" +
+ "елика Британија)енглески (Сједињене Америчке Државе)нискосаксонскифлама" +
+ "нскипортугалски (Португал)молдавскисрпскохрватскикисвахилипоједноставље" +
+ "ни кинескитрадиционални кинески"
var srLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -24229,18 +24236,18 @@ var srLangIdx = []uint16{ // 613 elements
0x1b04, 0x1b04, 0x1b04, 0x1b0e, 0x1b16, 0x1b22, 0x1b2c, 0x1b36,
0x1b3c, 0x1b4a, 0x1b4a, 0x1b5e, 0x1b6c, 0x1b6c, 0x1b7a, 0x1b8d,
0x1b9e, 0x1b9e, 0x1baa, 0x1baa, 0x1bb8, 0x1bb8, 0x1bc6, 0x1bd2,
- 0x1be0, 0x1bf0, 0x1c21, 0x1c33, 0x1c45, 0x1c53, 0x1c59, 0x1c5f,
- 0x1c5f, 0x1c5f, 0x1c5f, 0x1c5f, 0x1c6b, 0x1c6b, 0x1c75, 0x1c87,
- 0x1c95, 0x1ca5, 0x1cad, 0x1cbd, 0x1cbd, 0x1ccd, 0x1ccd, 0x1cd5,
+ 0x1be0, 0x1bf0, 0x1c21, 0x1c33, 0x1c45, 0x1c53, 0x1c6e, 0x1c74,
+ 0x1c74, 0x1c74, 0x1c74, 0x1c74, 0x1c80, 0x1c80, 0x1c8a, 0x1c9c,
+ 0x1caa, 0x1cba, 0x1cc2, 0x1cd2, 0x1cd2, 0x1ce2, 0x1ce2, 0x1cea,
// Entry 240 - 27F
- 0x1cdb, 0x1ce7, 0x1cf5, 0x1cff, 0x1cff, 0x1d11, 0x1d23, 0x1d37,
- 0x1d37, 0x1d43, 0x1d7d, 0x1d85, 0x1db7, 0x1dbf, 0x1df5, 0x1df5,
- 0x1df5, 0x1e25, 0x1e25, 0x1e25, 0x1e57, 0x1e9a, 0x1e9a, 0x1e9a,
- 0x1e9a, 0x1e9a, 0x1e9a, 0x1e9a, 0x1eb6, 0x1ec8, 0x1ec8, 0x1ef1,
- 0x1f03, 0x1f1f, 0x1f31, 0x1f5e, 0x1f87,
+ 0x1cf0, 0x1cfc, 0x1d0a, 0x1d14, 0x1d14, 0x1d26, 0x1d38, 0x1d4c,
+ 0x1d4c, 0x1d58, 0x1d92, 0x1d9a, 0x1dcc, 0x1dd4, 0x1e0a, 0x1e0a,
+ 0x1e0a, 0x1e3a, 0x1e3a, 0x1e3a, 0x1e6c, 0x1eaf, 0x1eaf, 0x1eaf,
+ 0x1eaf, 0x1eaf, 0x1eaf, 0x1eaf, 0x1ecb, 0x1edd, 0x1edd, 0x1f06,
+ 0x1f18, 0x1f34, 0x1f46, 0x1f73, 0x1f9c,
} // Size: 1250 bytes
-const srLatnLangStr string = "" + // Size: 4236 bytes
+const srLatnLangStr string = "" + // Size: 4247 bytes
"afarskiabhaskiavestanskiafrikansakanskiamharskiaragonskiarapskiasamskiav" +
"arskiajmaraazerbejdžanskibaškirskibeloruskibugarskibislamabambarabengals" +
"kitibetanskibretonskibosanskikatalonskičečenskičamorokorzikanskikričeški" +
@@ -24292,13 +24299,13 @@ const srLatnLangStr string = "" + // Size: 4236 bytes
"ngosererskisahosukumasususumerskikomorskisirijačkisirijskitimnetesoteren" +
"otetumtigretivtokelauklingonskitlingittamašeknjasa tongatok pisintarokoc" +
"imšiantumbukatuvalutasavaktuvinskicentralnoatlaski tamazigtudmurtskiugar" +
- "itskiumbunduRutvaivodskivundžovalserskivolajtavarajskivašovarlpirikalmič" +
- "kisogajaojapskijangbenjembakantonskizapotečkiblisimbolizenagastandardni " +
- "marokanski tamazigtzunibez lingvističkog sadržajazazasavremeni standardn" +
- "i arapskišvajcarski visoki nemačkiengleski (Velika Britanija)engleski (S" +
- "jedinjene Američke Države)niskosaksonskiflamanskiportugalski (Portugal)m" +
- "oldavskisrpskohrvatskikisvahilipojednostavljeni kineskitradicionalni kin" +
- "eski"
+ "itskiumbundunepoznat jezikvaivodskivundžovalserskivolajtavarajskivašovar" +
+ "lpirikalmičkisogajaojapskijangbenjembakantonskizapotečkiblisimbolizenaga" +
+ "standardni marokanski tamazigtzunibez lingvističkog sadržajazazasavremen" +
+ "i standardni arapskišvajcarski visoki nemačkiengleski (Velika Britanija)" +
+ "engleski (Sjedinjene Američke Države)niskosaksonskiflamanskiportugalski " +
+ "(Portugal)moldavskisrpskohrvatskikisvahilipojednostavljeni kineskitradic" +
+ "ionalni kineski"
var srLatnLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -24379,18 +24386,18 @@ var srLatnLangIdx = []uint16{ // 613 elements
0x0e2e, 0x0e2e, 0x0e2e, 0x0e33, 0x0e37, 0x0e3d, 0x0e42, 0x0e47,
0x0e4a, 0x0e51, 0x0e51, 0x0e5b, 0x0e62, 0x0e62, 0x0e6a, 0x0e75,
0x0e7e, 0x0e7e, 0x0e84, 0x0e84, 0x0e8c, 0x0e8c, 0x0e93, 0x0e99,
- 0x0ea0, 0x0ea8, 0x0ec1, 0x0eca, 0x0ed3, 0x0eda, 0x0edd, 0x0ee0,
- 0x0ee0, 0x0ee0, 0x0ee0, 0x0ee0, 0x0ee6, 0x0ee6, 0x0eed, 0x0ef6,
- 0x0efd, 0x0f05, 0x0f0a, 0x0f12, 0x0f12, 0x0f1b, 0x0f1b, 0x0f1f,
+ 0x0ea0, 0x0ea8, 0x0ec1, 0x0eca, 0x0ed3, 0x0eda, 0x0ee8, 0x0eeb,
+ 0x0eeb, 0x0eeb, 0x0eeb, 0x0eeb, 0x0ef1, 0x0ef1, 0x0ef8, 0x0f01,
+ 0x0f08, 0x0f10, 0x0f15, 0x0f1d, 0x0f1d, 0x0f26, 0x0f26, 0x0f2a,
// Entry 240 - 27F
- 0x0f22, 0x0f28, 0x0f2f, 0x0f34, 0x0f34, 0x0f3d, 0x0f47, 0x0f51,
- 0x0f51, 0x0f57, 0x0f75, 0x0f79, 0x0f95, 0x0f99, 0x0fb5, 0x0fb5,
- 0x0fb5, 0x0fd0, 0x0fd0, 0x0fd0, 0x0feb, 0x1012, 0x1012, 0x1012,
- 0x1012, 0x1012, 0x1012, 0x1012, 0x1020, 0x1029, 0x1029, 0x103f,
- 0x1048, 0x1056, 0x105f, 0x1077, 0x108c,
+ 0x0f2d, 0x0f33, 0x0f3a, 0x0f3f, 0x0f3f, 0x0f48, 0x0f52, 0x0f5c,
+ 0x0f5c, 0x0f62, 0x0f80, 0x0f84, 0x0fa0, 0x0fa4, 0x0fc0, 0x0fc0,
+ 0x0fc0, 0x0fdb, 0x0fdb, 0x0fdb, 0x0ff6, 0x101d, 0x101d, 0x101d,
+ 0x101d, 0x101d, 0x101d, 0x101d, 0x102b, 0x1034, 0x1034, 0x104a,
+ 0x1053, 0x1061, 0x106a, 0x1082, 0x1097,
} // Size: 1250 bytes
-const svLangStr string = "" + // Size: 5455 bytes
+const svLangStr string = "" + // Size: 5468 bytes
"afarabchaziskaavestiskaafrikaansakanamhariskaaragonesiskaarabiskaassames" +
"iskaavariskaaymaraazerbajdzjanskabasjkiriskavitryskabulgariskabislamabam" +
"barabengalitibetanskabretonskabosniskakatalanskatjetjenskachamorrokorsik" +
@@ -24456,16 +24463,17 @@ const svLangStr string = "" + // Size: 5455 bytes
"sisk syriskasyriskasilesiskatulutemnetesoterenotetumtigrétivitokelauiska" +
"tsakhurklingonskatlingittalyshtamasheknyasatonganskatok pisinturoyotarok" +
"otsakodiskatsimshianmuslimsk tatariskatumbukatuvaluanskatasawaqtuviniska" +
- "centralmarockansk tamazightudmurtiskaugaritiskaumbundurotvajvenetianskav" +
- "epsvästflamländskaMain-frankiskavotiskavõruvunjowalsertyskawalamowaraywa" +
- "showarlpiriwukalmuckiskamingrelianskalusogakiyaojapetiskayangbenbamileké" +
- "-jembanheengatukantonesiskazapotekblissymbolerzeeländskazenagamarockansk" +
- " standard-tamazightzuniinget språkligt innehållzazaiskamodern standardar" +
- "abiskaösterrikisk tyskaschweizisk högtyskaaustralisk engelskakanadensisk" +
- " engelskabrittisk engelskaamerikansk engelskalatinamerikansk spanskaeuro" +
- "peisk spanskamexikansk spanskakanadensisk franskaschweizisk franskalågsa" +
- "xiskaflamländskabrasiliansk portugisiskaeuropeisk portugisiskamoldaviska" +
- "serbokroatiskaKongo-swahiliförenklad kinesiskatraditionell kinesiska"
+ "centralmarockansk tamazightudmurtiskaugaritiskaumbunduobestämt språkvajv" +
+ "enetianskavepsvästflamländskaMain-frankiskavotiskavõruvunjowalsertyskawa" +
+ "lamowaraywashowarlpiriwukalmuckiskamingrelianskalusogakiyaojapetiskayang" +
+ "benbamileké-jembanheengatukantonesiskazapotekblissymbolerzeeländskazenag" +
+ "amarockansk standard-tamazightzuniinget språkligt innehållzazaiskamodern" +
+ " standardarabiskaösterrikisk tyskaschweizisk högtyskaaustralisk engelska" +
+ "kanadensisk engelskabrittisk engelskaamerikansk engelskalatinamerikansk " +
+ "spanskaeuropeisk spanskamexikansk spanskakanadensisk franskaschweizisk f" +
+ "ranskalågsaxiskaflamländskabrasiliansk portugisiskaeuropeisk portugisisk" +
+ "amoldaviskaserbokroatiskaKongo-swahiliförenklad kinesiskatraditionell ki" +
+ "nesiska"
var svLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -24546,18 +24554,18 @@ var svLangIdx = []uint16{ // 613 elements
0x11b1, 0x11ba, 0x11be, 0x11c3, 0x11c7, 0x11cd, 0x11d2, 0x11d8,
0x11dc, 0x11e7, 0x11ee, 0x11f8, 0x11ff, 0x1205, 0x120d, 0x121b,
0x1224, 0x122a, 0x1230, 0x123a, 0x1243, 0x1255, 0x125c, 0x1267,
- 0x126e, 0x1277, 0x1292, 0x129c, 0x12a6, 0x12ad, 0x12b0, 0x12b3,
- 0x12be, 0x12c2, 0x12d3, 0x12e1, 0x12e8, 0x12ed, 0x12f2, 0x12fd,
- 0x1303, 0x1308, 0x130d, 0x1315, 0x1317, 0x1322, 0x132f, 0x1335,
+ 0x126e, 0x1277, 0x1292, 0x129c, 0x12a6, 0x12ad, 0x12bd, 0x12c0,
+ 0x12cb, 0x12cf, 0x12e0, 0x12ee, 0x12f5, 0x12fa, 0x12ff, 0x130a,
+ 0x1310, 0x1315, 0x131a, 0x1322, 0x1324, 0x132f, 0x133c, 0x1342,
// Entry 240 - 27F
- 0x133a, 0x1343, 0x134a, 0x1359, 0x1362, 0x136e, 0x1375, 0x1381,
- 0x138c, 0x1392, 0x13af, 0x13b3, 0x13cd, 0x13d5, 0x13ec, 0x13ec,
- 0x13fe, 0x1412, 0x1425, 0x1439, 0x144a, 0x145d, 0x1474, 0x1485,
- 0x1496, 0x1496, 0x14a9, 0x14bb, 0x14c6, 0x14d2, 0x14ea, 0x1500,
- 0x150a, 0x1518, 0x1525, 0x1539, 0x154f,
+ 0x1347, 0x1350, 0x1357, 0x1366, 0x136f, 0x137b, 0x1382, 0x138e,
+ 0x1399, 0x139f, 0x13bc, 0x13c0, 0x13da, 0x13e2, 0x13f9, 0x13f9,
+ 0x140b, 0x141f, 0x1432, 0x1446, 0x1457, 0x146a, 0x1481, 0x1492,
+ 0x14a3, 0x14a3, 0x14b6, 0x14c8, 0x14d3, 0x14df, 0x14f7, 0x150d,
+ 0x1517, 0x1525, 0x1532, 0x1546, 0x155c,
} // Size: 1250 bytes
-const swLangStr string = "" + // Size: 3904 bytes
+const swLangStr string = "" + // Size: 3919 bytes
"KiafarKiabkhaziKiafrikanaKiakaniKiamhariKiaragoniKiarabuKiassamKiavariKi" +
"aymaraKiazerbaijaniKibashkirKibelarusiKibulgariaKibislamaKibambaraKibeng" +
"aliKitibetiKibretoniKibosniaKikatalaniKichecheniaKichamorroKikosikaniKic" +
@@ -24607,12 +24615,12 @@ const swLangStr string = "" + // Size: 3904 bytes
"ha KusiniKisami cha LuleKisami cha InariKisami cha SkoltKisoninkeLugha y" +
"a Sranan TongoKisahoKisukumaKisusuShikomorLugha ya SyriacKitemneKitesoKi" +
"tetumKitigreKiklingoniKitokpisinKitarokoKitumbukaKituvaluKitasawaqKituva" +
- "Central Atlas TamazightUdmurtUmbunduRootKivaiKivunjoWalserKiwolayttaKiwa" +
- "rayKiwarlpiriKikalmykKisogaKiyaoKiyangbenKiyembaKikantoniTamaziti Sanifu" +
- " ya KimorokoKizuniHakuna maudhui ya lughaKizazaKiarabu Sanifu cha Kisasa" +
- "Kihispania (Uhispania)Kihispania (Mexico)Kifaransa (Canada)KiflemiKireno" +
- " (Brazil)Kiserbia-kroeshiaKingwanaKichina (Kilichorahisishwa)Kichina cha" +
- " Jadi"
+ "Central Atlas TamazightUdmurtUmbunduLugha IsiyojulikanaKivaiKivunjoWalse" +
+ "rKiwolayttaKiwarayKiwarlpiriKikalmykKisogaKiyaoKiyangbenKiyembaKikantoni" +
+ "Tamaziti Sanifu ya KimorokoKizuniHakuna maudhui ya lughaKizazaKiarabu Sa" +
+ "nifu cha KisasaKihispania (Uhispania)Kihispania (Mexico)Kifaransa (Canad" +
+ "a)KiflemiKireno (Brazil)Kiserbia-kroeshiaKingwanaKichina (Kilichorahisis" +
+ "hwa)Kichina cha Jadi"
var swLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -24693,18 +24701,18 @@ var swLangIdx = []uint16{ // 613 elements
0x0d7c, 0x0d7c, 0x0d7c, 0x0d83, 0x0d89, 0x0d89, 0x0d90, 0x0d97,
0x0d97, 0x0d97, 0x0d97, 0x0da1, 0x0da1, 0x0da1, 0x0da1, 0x0da1,
0x0dab, 0x0dab, 0x0db3, 0x0db3, 0x0db3, 0x0db3, 0x0dbc, 0x0dc4,
- 0x0dcd, 0x0dd3, 0x0dea, 0x0df0, 0x0df0, 0x0df7, 0x0dfb, 0x0e00,
- 0x0e00, 0x0e00, 0x0e00, 0x0e00, 0x0e00, 0x0e00, 0x0e07, 0x0e0d,
- 0x0e17, 0x0e1e, 0x0e1e, 0x0e28, 0x0e28, 0x0e30, 0x0e30, 0x0e36,
+ 0x0dcd, 0x0dd3, 0x0dea, 0x0df0, 0x0df0, 0x0df7, 0x0e0a, 0x0e0f,
+ 0x0e0f, 0x0e0f, 0x0e0f, 0x0e0f, 0x0e0f, 0x0e0f, 0x0e16, 0x0e1c,
+ 0x0e26, 0x0e2d, 0x0e2d, 0x0e37, 0x0e37, 0x0e3f, 0x0e3f, 0x0e45,
// Entry 240 - 27F
- 0x0e3b, 0x0e3b, 0x0e44, 0x0e4b, 0x0e4b, 0x0e54, 0x0e54, 0x0e54,
- 0x0e54, 0x0e54, 0x0e6f, 0x0e75, 0x0e8c, 0x0e92, 0x0eab, 0x0eab,
- 0x0eab, 0x0eab, 0x0eab, 0x0eab, 0x0eab, 0x0eab, 0x0eab, 0x0ec1,
- 0x0ed4, 0x0ed4, 0x0ee6, 0x0ee6, 0x0ee6, 0x0eed, 0x0efc, 0x0efc,
- 0x0efc, 0x0f0d, 0x0f15, 0x0f30, 0x0f40,
+ 0x0e4a, 0x0e4a, 0x0e53, 0x0e5a, 0x0e5a, 0x0e63, 0x0e63, 0x0e63,
+ 0x0e63, 0x0e63, 0x0e7e, 0x0e84, 0x0e9b, 0x0ea1, 0x0eba, 0x0eba,
+ 0x0eba, 0x0eba, 0x0eba, 0x0eba, 0x0eba, 0x0eba, 0x0eba, 0x0ed0,
+ 0x0ee3, 0x0ee3, 0x0ef5, 0x0ef5, 0x0ef5, 0x0efc, 0x0f0b, 0x0f0b,
+ 0x0f0b, 0x0f1c, 0x0f24, 0x0f3f, 0x0f4f,
} // Size: 1250 bytes
-const taLangStr string = "" + // Size: 12975 bytes
+const taLangStr string = "" + // Size: 13006 bytes
"அஃபார்அப்காஜியான்அவெஸ்தான்ஆஃப்ரிகான்ஸ்அகான்அம்ஹாரிக்ஆர்கோனீஸ்அரபிக்அஸ்ஸா" +
"மீஸ்அவேரிக்அய்மராஅஸர்பைஜானிபஷ்கிர்பெலாருஷியன்பல்கேரியன்பிஸ்லாமாபம்பாரா" +
"வங்காளம்திபெத்தியன்பிரெட்டன்போஸ்னியன்கேட்டலான்செச்சென்சாமோரோகார்சிகன்க" +
@@ -24759,15 +24767,15 @@ const taLangStr string = "" + // Size: 12975 bytes
"்ட் சமிசோனின்கேசோக்தியன்ஸ்ரானன் டோங்கோசெரெர்சஹோசுகுமாசுசுசுமேரியன்கொமோ" +
"ரியன்பாரம்பரிய சிரியாக்சிரியாக்டிம்னேடெசோடெரெனோடெடும்டைக்ரேடிவ்டோகேலௌக" +
"்ளிங்கோன்லிங்கிட்தமஷேக்நயாசா டோங்காடோக் பிஸின்தரோகோட்ஸிம்ஷியன்தும்புகா" +
- "டுவாலுடசவாக்டுவினியன்மத்திய அட்லஸ் டமசைட்உட்முர்ட்உகாரிடிக்அம்பொண்டுரூ" +
- "ட்வைவோட்க்வுன்ஜோவால்சேர்வோலாய்ட்டாவாரேவாஷோவல்பிரிவூ சீனம்கல்மிக்சோகாயா" +
- "வ்யாபேசேயாங்பென்யெம்பாகாண்டோனீஸ்ஜாபோடெக்ப்லிஸ்ஸிம்பால்ஸ்ஜெனகாஸ்டாண்டர்" +
- "ட் மொராக்கன் தமாசைட்ஜூனிமொழி உள்ளடக்கம் ஏதுமில்லைஜாஜாநவீன நிலையான அரபி" +
- "க்ஆஸ்திரிய ஜெர்மன்ஸ்விஸ் ஹை ஜெர்மன்ஆஸ்திரேலிய ஆங்கிலம்கனடிய ஆங்கிலம்பி" +
- "ரிட்டிஷ் ஆங்கிலம்அமெரிக்க ஆங்கிலம்லத்தின் அமெரிக்க ஸ்பானிஷ்ஐரோப்பிய ஸ்" +
- "பானிஷ்மெக்ஸிகன் ஸ்பானிஷ்கனடிய பிரெஞ்சுஸ்விஸ் பிரஞ்சுலோ சாக்ஸன்ஃப்லெமிஷ" +
- "்பிரேசிலிய போர்ச்சுகீஸ்ஐரோப்பிய போர்ச்சுகீஸ்மோல்டாவியன்செர்போ-குரோஷியன" +
- "்காங்கோ ஸ்வாஹிலிஎளிதாக்கப்பட்ட சீனம்பாரம்பரிய சீனம்"
+ "டுவாலுடசவாக்டுவினியன்மத்திய அட்லஸ் டமசைட்உட்முர்ட்உகாரிடிக்அம்பொண்டுஅற" +
+ "ியப்படாத மொழிவைவோட்க்வுன்ஜோவால்சேர்வோலாய்ட்டாவாரேவாஷோவல்பிரிவூ சீனம்கல" +
+ "்மிக்சோகாயாவ்யாபேசேயாங்பென்யெம்பாகாண்டோனீஸ்ஜாபோடெக்ப்லிஸ்ஸிம்பால்ஸ்ஜென" +
+ "காஸ்டாண்டர்ட் மொராக்கன் தமாசைட்ஜூனிமொழி உள்ளடக்கம் ஏதுமில்லைஜாஜாநவீன ந" +
+ "ிலையான அரபிக்ஆஸ்திரிய ஜெர்மன்ஸ்விஸ் ஹை ஜெர்மன்ஆஸ்திரேலிய ஆங்கிலம்கனடிய" +
+ " ஆங்கிலம்பிரிட்டிஷ் ஆங்கிலம்அமெரிக்க ஆங்கிலம்லத்தின் அமெரிக்க ஸ்பானிஷ்ஐர" +
+ "ோப்பிய ஸ்பானிஷ்மெக்ஸிகன் ஸ்பானிஷ்கனடிய பிரெஞ்சுஸ்விஸ் பிரஞ்சுலோ சாக்ஸன" +
+ "்ஃப்லெமிஷ்பிரேசிலிய போர்ச்சுகீஸ்ஐரோப்பிய போர்ச்சுகீஸ்மோல்டாவியன்செர்போ" +
+ "-குரோஷியன்காங்கோ ஸ்வாஹிலிஎளிதாக்கப்பட்ட சீனம்பாரம்பரிய சீனம்"
var taLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -24848,18 +24856,18 @@ var taLangIdx = []uint16{ // 613 elements
0x2a7d, 0x2a7d, 0x2a7d, 0x2a8f, 0x2a9b, 0x2aad, 0x2abf, 0x2ad1,
0x2add, 0x2aef, 0x2aef, 0x2b0d, 0x2b25, 0x2b25, 0x2b37, 0x2b59,
0x2b78, 0x2b78, 0x2b87, 0x2b87, 0x2ba8, 0x2ba8, 0x2bc0, 0x2bd2,
- 0x2be4, 0x2bff, 0x2c37, 0x2c52, 0x2c6d, 0x2c88, 0x2c94, 0x2c9a,
- 0x2c9a, 0x2c9a, 0x2c9a, 0x2c9a, 0x2cac, 0x2cac, 0x2cbe, 0x2cd6,
- 0x2cf4, 0x2d00, 0x2d0c, 0x2d21, 0x2d37, 0x2d4c, 0x2d4c, 0x2d58,
+ 0x2be4, 0x2bff, 0x2c37, 0x2c52, 0x2c6d, 0x2c88, 0x2cb3, 0x2cb9,
+ 0x2cb9, 0x2cb9, 0x2cb9, 0x2cb9, 0x2ccb, 0x2ccb, 0x2cdd, 0x2cf5,
+ 0x2d13, 0x2d1f, 0x2d2b, 0x2d40, 0x2d56, 0x2d6b, 0x2d6b, 0x2d77,
// Entry 240 - 27F
- 0x2d64, 0x2d76, 0x2d8e, 0x2da0, 0x2da0, 0x2dbe, 0x2dd6, 0x2e06,
- 0x2e06, 0x2e15, 0x2e68, 0x2e74, 0x2ebb, 0x2ec7, 0x2efc, 0x2efc,
- 0x2f2a, 0x2f59, 0x2f90, 0x2fb8, 0x2fef, 0x3020, 0x3067, 0x3098,
- 0x30cc, 0x30cc, 0x30f4, 0x311c, 0x3138, 0x3153, 0x3193, 0x31d0,
- 0x31f1, 0x321f, 0x324a, 0x3284, 0x32af,
+ 0x2d83, 0x2d95, 0x2dad, 0x2dbf, 0x2dbf, 0x2ddd, 0x2df5, 0x2e25,
+ 0x2e25, 0x2e34, 0x2e87, 0x2e93, 0x2eda, 0x2ee6, 0x2f1b, 0x2f1b,
+ 0x2f49, 0x2f78, 0x2faf, 0x2fd7, 0x300e, 0x303f, 0x3086, 0x30b7,
+ 0x30eb, 0x30eb, 0x3113, 0x313b, 0x3157, 0x3172, 0x31b2, 0x31ef,
+ 0x3210, 0x323e, 0x3269, 0x32a3, 0x32ce,
} // Size: 1250 bytes
-const teLangStr string = "" + // Size: 12415 bytes
+const teLangStr string = "" + // Size: 12434 bytes
"అఫార్అబ్ఖాజియన్అవేస్టాన్ఆఫ్రికాన్స్అకాన్అమ్హారిక్అరగోనిస్అరబిక్అస్సామీస్" +
"అవారిక్ఐమారాఅజర్బైజానిబష్కిర్బెలరుషియన్బల్గేరియన్బిస్లామాబంబారాబాంగ్లా" +
"టిబెటన్బ్రెటన్బోస్నియన్కెటలాన్చెచెన్చమర్రోకోర్సికన్క్రిచెక్చర్చ స్లావి" +
@@ -24912,15 +24920,15 @@ const teLangStr string = "" + // Size: 12415 bytes
"గ్డియన్స్రానన్ టోనగోసెరేర్సహోసుకుమాసుసుసుమేరియాన్కొమొరియన్సాంప్రదాయ సి" +
"రియాక్సిరియాక్తుళుటింనేటెసోటెరెనోటేటంటీగ్రెటివ్టోకెలావ్క్లింగాన్ట్లింగ" +
"ిట్టామషేక్న్యాసా టోన్గాటోక్ పిసిన్తరోకోశింషీయన్టుంబుకాటువాలుటసావాఖ్టువ" +
- "ినియన్సెంట్రల్ అట్లాస్ టామాజైట్ఉడ్ముర్ట్ఉగారిటిక్ఉమ్బుండురూట్వాయివోటిక" +
- "్వుంజొవాల్సర్వాలేట్టావారేవాషోవార్లపిరివు చైనీస్కల్మిక్సొగాయాయేయాపిస్యా" +
- "ంగ్\u200cబెన్యెంబాకాంటనీస్జపోటెక్బ్లిసింబల్స్జెనాగాప్రామాణిక మొరొకన్ త" +
- "మజియట్జునిలిపి లేదుజాజాఆధునిక ప్రామాణిక అరబిక్ఆస్ట్రేలియన్ జర్మన్స్విస" +
- "్ హై జర్మన్ఆస్ట్రేలియన్ ఇంగ్లీష్కెనడియన్ ఇంగ్లీష్బ్రిటిష్ ఇంగ్లీష్అమెర" +
- "ికన్ ఇంగ్లీష్లాటిన్ అమెరికన్ స్పానిష్యూరోపియన్ స్పానిష్మెక్సికన్ స్పాన" +
- "ిష్కెనడియెన్ ఫ్రెంచ్స్విస్ ఫ్రెంచ్లో సాక్సన్ఫ్లెమిష్బ్రెజీలియన్ పోర్చు" +
- "గీస్యూరోపియన్ పోర్చుగీస్మొల్డావియన్సేర్బో-క్రొయేషియన్కాంగో స్వాహిలిసరళ" +
- "ీకృత చైనీస్సాంప్రదాయక చైనీస్"
+ "ినియన్సెంట్రల్ అట్లాస్ టామాజైట్ఉడ్ముర్ట్ఉగారిటిక్ఉమ్బుండుతెలియని భాషవా" +
+ "యివోటిక్వుంజొవాల్సర్వాలేట్టావారేవాషోవార్లపిరివు చైనీస్కల్మిక్సొగాయాయేయ" +
+ "ాపిస్యాంగ్\u200cబెన్యెంబాకాంటనీస్జపోటెక్బ్లిసింబల్స్జెనాగాప్రామాణిక మొ" +
+ "రొకన్ తమజియట్జునిలిపి లేదుజాజాఆధునిక ప్రామాణిక అరబిక్ఆస్ట్రేలియన్ జర్మ" +
+ "న్స్విస్ హై జర్మన్ఆస్ట్రేలియన్ ఇంగ్లీష్కెనడియన్ ఇంగ్లీష్బ్రిటిష్ ఇంగ్ల" +
+ "ీష్అమెరికన్ ఇంగ్లీష్లాటిన్ అమెరికన్ స్పానిష్యూరోపియన్ స్పానిష్మెక్సికన" +
+ "్ స్పానిష్కెనడియెన్ ఫ్రెంచ్స్విస్ ఫ్రెంచ్లో సాక్సన్ఫ్లెమిష్బ్రెజీలియన్" +
+ " పోర్చుగీస్యూరోపియన్ పోర్చుగీస్మొల్డావియన్సేర్బో-క్రొయేషియన్కాంగో స్వాహి" +
+ "లిసరళీకృత చైనీస్సాంప్రదాయక చైనీస్"
var teLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -25001,18 +25009,18 @@ var teLangIdx = []uint16{ // 613 elements
0x286c, 0x286c, 0x2878, 0x2887, 0x2893, 0x28a5, 0x28b1, 0x28c3,
0x28cf, 0x28e7, 0x28e7, 0x2902, 0x291d, 0x291d, 0x2932, 0x2957,
0x2976, 0x2976, 0x2985, 0x2985, 0x299d, 0x299d, 0x29b2, 0x29c4,
- 0x29d9, 0x29f4, 0x2a3b, 0x2a56, 0x2a71, 0x2a89, 0x2a95, 0x2aa1,
- 0x2aa1, 0x2aa1, 0x2aa1, 0x2aa1, 0x2ab3, 0x2ab3, 0x2ac2, 0x2ad7,
- 0x2aef, 0x2afb, 0x2b07, 0x2b22, 0x2b3b, 0x2b50, 0x2b50, 0x2b5c,
+ 0x29d9, 0x29f4, 0x2a3b, 0x2a56, 0x2a71, 0x2a89, 0x2aa8, 0x2ab4,
+ 0x2ab4, 0x2ab4, 0x2ab4, 0x2ab4, 0x2ac6, 0x2ac6, 0x2ad5, 0x2aea,
+ 0x2b02, 0x2b0e, 0x2b1a, 0x2b35, 0x2b4e, 0x2b63, 0x2b63, 0x2b6f,
// Entry 240 - 27F
- 0x2b68, 0x2b7a, 0x2b98, 0x2ba7, 0x2ba7, 0x2bbf, 0x2bd4, 0x2bf8,
- 0x2bf8, 0x2c0a, 0x2c51, 0x2c5d, 0x2c76, 0x2c82, 0x2cc3, 0x2cc3,
- 0x2cfa, 0x2d26, 0x2d63, 0x2d94, 0x2dc5, 0x2df6, 0x2e3a, 0x2e6e,
- 0x2ea2, 0x2ea2, 0x2ed3, 0x2efb, 0x2f17, 0x2f2f, 0x2f6f, 0x2fa9,
- 0x2fca, 0x2ffe, 0x3026, 0x304e, 0x307f,
+ 0x2b7b, 0x2b8d, 0x2bab, 0x2bba, 0x2bba, 0x2bd2, 0x2be7, 0x2c0b,
+ 0x2c0b, 0x2c1d, 0x2c64, 0x2c70, 0x2c89, 0x2c95, 0x2cd6, 0x2cd6,
+ 0x2d0d, 0x2d39, 0x2d76, 0x2da7, 0x2dd8, 0x2e09, 0x2e4d, 0x2e81,
+ 0x2eb5, 0x2eb5, 0x2ee6, 0x2f0e, 0x2f2a, 0x2f42, 0x2f82, 0x2fbc,
+ 0x2fdd, 0x3011, 0x3039, 0x3061, 0x3092,
} // Size: 1250 bytes
-const thLangStr string = "" + // Size: 13813 bytes
+const thLangStr string = "" + // Size: 13852 bytes
"อะฟาร์อับคาซอเวสตะแอฟริกานส์อาคันอัมฮาราอารากอนอาหรับอัสสัมอาวาร์ไอย์มาร" +
"าอาเซอร์ไบจานบัชคีร์เบลารุสบัลแกเรียบิสลามาบัมบาราเบงกาลีทิเบตเบรตันบอ" +
"สเนียกาตาลังเชเชนชามอร์โรคอร์ซิกาครีเช็กเชอร์ชสลาวิกชูวัชเวลส์เดนมาร์ก" +
@@ -25071,15 +25079,15 @@ const thLangStr string = "" + // Size: 13813 bytes
"ซูซูเมอโคเมอเรียนซีเรียแบบดั้งเดิมซีเรียไซลีเซียตูลูทิมเนเตโซเทเรโนเตต" +
"ุมตีเกรทิฟโตเกเลาแซคเซอร์คลิงกอนทลิงกิตทาลิชทามาเชกไนอะซาตองกาท็อกพิซิ" +
"นตูโรโยทาโรโกซาโคเนียซิมชีแอนตัตมุสลิมทุมบูกาตูวาลูตัสซาวัคตูวาทามาไซต" +
- "์แอตลาสกลางอุดมูร์ตยูการิตอุมบุนดูรูทไวเวเนโต้เวปส์เฟลมิชตะวันตกเมน-ฟร" +
- "านโกเนียโวทิกโวโรวุนจูวัลเซอร์วาลาโมวาเรย์วาโชวอล์เพอร์รีจีนอู๋คัลมืยค" +
- "์เมเกรเลียโซกาเย้ายัปแยงเบนเยมบาเหงงกาตุกวางตุ้งซาโปเตกบลิสซิมโบลส์เซแ" +
- "ลนด์เซนากาทามาไซต์โมร็อกโกมาตรฐานซูนิไม่มีข้อมูลภาษาซาซาอาหรับมาตรฐานส" +
- "มัยใหม่เยอรมัน - ออสเตรียเยอรมันสูง (สวิส)อังกฤษ - ออสเตรเลียอังกฤษ - " +
- "แคนาดาอังกฤษ - สหราชอาณาจักรอังกฤษ - อเมริกันสเปน - ละตินอเมริกาสเปน -" +
- " ยุโรปสเปน - เม็กซิโกฝรั่งเศส - แคนาดาฝรั่งเศส (สวิส)แซกซอนใต้เฟลมิชโปรต" +
- "ุเกส - บราซิลโปรตุเกส - ยุโรปมอลโดวาเซอร์โบ-โครเอเชียสวาฮีลี-คองโกจีนต" +
- "ัวย่อจีนตัวเต็ม"
+ "์แอตลาสกลางอุดมูร์ตยูการิตอุมบุนดูภาษาที่ไม่รู้จักไวเวเนโต้เวปส์เฟลมิช" +
+ "ตะวันตกเมน-ฟรานโกเนียโวทิกโวโรวุนจูวัลเซอร์วาลาโมวาเรย์วาโชวอล์เพอร์รี" +
+ "จีนอู๋คัลมืยค์เมเกรเลียโซกาเย้ายัปแยงเบนเยมบาเหงงกาตุกวางตุ้งซาโปเตกบล" +
+ "ิสซิมโบลส์เซแลนด์เซนากาทามาไซต์โมร็อกโกมาตรฐานซูนิไม่มีข้อมูลภาษาซาซาอ" +
+ "าหรับมาตรฐานสมัยใหม่เยอรมัน - ออสเตรียเยอรมันสูง (สวิส)อังกฤษ - ออสเตร" +
+ "เลียอังกฤษ - แคนาดาอังกฤษ - สหราชอาณาจักรอังกฤษ - อเมริกันสเปน - ละติน" +
+ "อเมริกาสเปน - ยุโรปสเปน - เม็กซิโกฝรั่งเศส - แคนาดาฝรั่งเศส (สวิส)แซกซ" +
+ "อนใต้เฟลมิชโปรตุเกส - บราซิลโปรตุเกส - ยุโรปมอลโดวาเซอร์โบ-โครเอเชียสว" +
+ "าฮีลี-คองโกจีนตัวย่อจีนตัวเต็ม"
var thLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -25160,18 +25168,18 @@ var thLangIdx = []uint16{ // 613 elements
0x2d88, 0x2da0, 0x2dac, 0x2dbb, 0x2dc7, 0x2dd9, 0x2de8, 0x2df7,
0x2e00, 0x2e15, 0x2e2d, 0x2e42, 0x2e57, 0x2e66, 0x2e7b, 0x2e9c,
0x2eb7, 0x2ec9, 0x2edb, 0x2ef3, 0x2f0b, 0x2f26, 0x2f3b, 0x2f4d,
- 0x2f65, 0x2f71, 0x2fa7, 0x2fbf, 0x2fd4, 0x2fec, 0x2ff5, 0x2ffb,
- 0x3010, 0x301f, 0x3046, 0x306e, 0x307d, 0x3089, 0x3098, 0x30b0,
- 0x30c2, 0x30d4, 0x30e0, 0x3101, 0x3113, 0x312b, 0x3146, 0x3152,
+ 0x2f65, 0x2f71, 0x2fa7, 0x2fbf, 0x2fd4, 0x2fec, 0x301c, 0x3022,
+ 0x3037, 0x3046, 0x306d, 0x3095, 0x30a4, 0x30b0, 0x30bf, 0x30d7,
+ 0x30e9, 0x30fb, 0x3107, 0x3128, 0x313a, 0x3152, 0x316d, 0x3179,
// Entry 240 - 27F
- 0x315e, 0x3167, 0x3179, 0x3188, 0x31a0, 0x31b8, 0x31cd, 0x31f1,
- 0x3206, 0x3218, 0x325d, 0x3269, 0x3296, 0x32a2, 0x32e1, 0x32e1,
- 0x3311, 0x333e, 0x3371, 0x3398, 0x33d4, 0x3401, 0x3434, 0x3452,
- 0x3479, 0x3479, 0x34a6, 0x34cd, 0x34e8, 0x34fa, 0x3527, 0x3551,
- 0x3566, 0x3597, 0x35bc, 0x35d7, 0x35f5,
+ 0x3185, 0x318e, 0x31a0, 0x31af, 0x31c7, 0x31df, 0x31f4, 0x3218,
+ 0x322d, 0x323f, 0x3284, 0x3290, 0x32bd, 0x32c9, 0x3308, 0x3308,
+ 0x3338, 0x3365, 0x3398, 0x33bf, 0x33fb, 0x3428, 0x345b, 0x3479,
+ 0x34a0, 0x34a0, 0x34cd, 0x34f4, 0x350f, 0x3521, 0x354e, 0x3578,
+ 0x358d, 0x35be, 0x35e3, 0x35fe, 0x361c,
} // Size: 1250 bytes
-const trLangStr string = "" + // Size: 5927 bytes
+const trLangStr string = "" + // Size: 5935 bytes
"AfarAbhazcaAvestçeAfrikaancaAkanAmharcaAragoncaArapçaAssamcaAvar DiliAym" +
"araAzericeBaşkırtçaBelarusçaBulgarcaBislamaBambaraBengalceTibetçeBretonc" +
"aBoşnakçaKatalancaÇeçenceÇamorro diliKorsikacaKriceÇekçeKilise SlavcasıÇ" +
@@ -25241,16 +25249,16 @@ const trLangStr string = "" + // Size: 5927 bytes
"ilezyacaTulucaTimneTesoTerenoTetumTigreTivTokelau diliSahurcaKlingoncaTl" +
"ingitTalışçaTamaşekNyasa TongaTok PisinTuroyoTarokoTsakoncaTsimshianTatç" +
"aTumbukaTuvalyancaTasawaqTuvacaOrta Atlas TamazigtiUdmurtçaUgarit diliUm" +
- "bunduKökenVaiVenedikçeVeps diliBatı FlamancaMain Frankonya DiliVotçaVõro" +
- "VunjoWalserValamoVarayVaşoWarlpiriWu ÇincesiKalmıkçaMegrelceSogaYaoYapça" +
- "YangbenYembaNheengatuKantoncaZapotek diliBlis SembolleriZelandacaZenaga " +
- "diliStandart Fas TamazigtiZuniceDilbilim içeriği yokZazacaModern Standar" +
- "t ArapçaGüney AzericeAvusturya Almancasıİsviçre Yüksek AlmancasıAvustral" +
- "ya İngilizcesiKanada İngilizcesiİngiliz İngilizcesiAmerikan İngilizcesiL" +
- "atin Amerika İspanyolcasıAvrupa İspanyolcasıMeksika İspanyolcasıKanada F" +
- "ransızcasıİsviçre FransızcasıAşağı SaksoncaFlamancaBrezilya Portekizcesi" +
- "Avrupa PortekizcesiMoldovacaSırp-Hırvat DiliKongo SvahiliBasitleştirilmi" +
- "ş ÇinceGeleneksel Çince"
+ "bunduBilinmeyen DilVaiVenedikçeVeps diliBatı FlamancaMain Frankonya Dili" +
+ "VotçaVõroVunjoWalserValamoVarayVaşoWarlpiriWu ÇincesiKalmıkçaMegrelceSog" +
+ "aYaoYapçaYangbenYembaNheengatuKantoncaZapotek diliBlis SembolleriZelanda" +
+ "caZenaga diliStandart Fas TamazigtiZuniceDilbilim içeriği yokZazacaModer" +
+ "n Standart ArapçaGüney AzericeAvusturya Almancasıİsviçre Yüksek Almancas" +
+ "ıAvustralya İngilizcesiKanada İngilizcesiİngiliz İngilizcesiAmerikan İn" +
+ "gilizcesiLatin Amerika İspanyolcasıAvrupa İspanyolcasıMeksika İspanyolca" +
+ "sıKanada Fransızcasıİsviçre FransızcasıAşağı SaksoncaFlamancaBrezilya Po" +
+ "rtekizcesiAvrupa PortekizcesiMoldovacaSırp-Hırvat DiliKongo SvahiliBasit" +
+ "leştirilmiş ÇinceGeleneksel Çince"
var trLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -25331,18 +25339,18 @@ var trLangIdx = []uint16{ // 613 elements
0x137c, 0x1385, 0x138b, 0x1390, 0x1394, 0x139a, 0x139f, 0x13a4,
0x13a7, 0x13b3, 0x13ba, 0x13c3, 0x13ca, 0x13d4, 0x13dc, 0x13e7,
0x13f0, 0x13f6, 0x13fc, 0x1404, 0x140d, 0x1413, 0x141a, 0x1424,
- 0x142b, 0x1431, 0x1445, 0x144e, 0x1459, 0x1460, 0x1466, 0x1469,
- 0x1473, 0x147c, 0x148a, 0x149d, 0x14a3, 0x14a8, 0x14ad, 0x14b3,
- 0x14b9, 0x14be, 0x14c3, 0x14cb, 0x14d6, 0x14e0, 0x14e8, 0x14ec,
+ 0x142b, 0x1431, 0x1445, 0x144e, 0x1459, 0x1460, 0x146e, 0x1471,
+ 0x147b, 0x1484, 0x1492, 0x14a5, 0x14ab, 0x14b0, 0x14b5, 0x14bb,
+ 0x14c1, 0x14c6, 0x14cb, 0x14d3, 0x14de, 0x14e8, 0x14f0, 0x14f4,
// Entry 240 - 27F
- 0x14ef, 0x14f5, 0x14fc, 0x1501, 0x150a, 0x1512, 0x151e, 0x152d,
- 0x1536, 0x1541, 0x1557, 0x155d, 0x1573, 0x1579, 0x1590, 0x159e,
- 0x15b2, 0x15ce, 0x15e5, 0x15f8, 0x160d, 0x1622, 0x163e, 0x1653,
- 0x1669, 0x1669, 0x167d, 0x1694, 0x16a5, 0x16ad, 0x16c2, 0x16d5,
- 0x16de, 0x16f0, 0x16fd, 0x1716, 0x1727,
+ 0x14f7, 0x14fd, 0x1504, 0x1509, 0x1512, 0x151a, 0x1526, 0x1535,
+ 0x153e, 0x1549, 0x155f, 0x1565, 0x157b, 0x1581, 0x1598, 0x15a6,
+ 0x15ba, 0x15d6, 0x15ed, 0x1600, 0x1615, 0x162a, 0x1646, 0x165b,
+ 0x1671, 0x1671, 0x1685, 0x169c, 0x16ad, 0x16b5, 0x16ca, 0x16dd,
+ 0x16e6, 0x16f8, 0x1705, 0x171e, 0x172f,
} // Size: 1250 bytes
-const ukLangStr string = "" + // Size: 9189 bytes
+const ukLangStr string = "" + // Size: 9202 bytes
"афарськаабхазькаавестійськаафрикаансаканамхарськаарагонськаарабськаассам" +
"ськааварськааймараазербайджанськабашкирськабілоруськаболгарськабісламаб" +
"амбарабенгальськатибетськабретонськабоснійськакаталонськачеченськачамор" +
@@ -25401,14 +25409,14 @@ const ukLangStr string = "" + // Size: 9189 bytes
"тсонінкесогдійськасранан тонгосерерсахосукумасусушумерськакоморськасирі" +
"йська класичнасирійськатемнетесотеренотетумтигретівтокелауклінгонтлінгі" +
"ттамашекньяса тонгаток-пісінтарокоцимшиантумбукатувалутасавактувинськац" +
- "ентральномароканська тамазітудмуртськаугаритськаумбундукоріньваїводська" +
- "вуньовалзерськаваламоварайвашовалпірікалмицькасогаяояпянгбенємбакантонс" +
- "ькасапотекськаблісса мовазенагастандартна марокканська берберськазуньїн" +
- "емає мовного вмістузазакісучасна стандартна арабськапівденноазербайджан" +
- "ськаверхньонімецька (Швейцарія)британська англійськаамериканська англій" +
- "ськаіспанська (Європа)нижньосаксонськафламандськапортугальська (Європа)" +
- "молдавськасербсько-хорватськаконгійське суахілікитайська спрощенакитайс" +
- "ька традиційна"
+ "ентральномароканська тамазітудмуртськаугаритськаумбундуневідома моваваї" +
+ "водськавуньовалзерськаваламоварайвашовалпірікалмицькасогаяояпянгбенємба" +
+ "кантонськасапотекськаблісса мовазенагастандартна марокканська берберськ" +
+ "азуньїнемає мовного вмістузазакісучасна стандартна арабськапівденноазер" +
+ "байджанськаверхньонімецька (Швейцарія)британська англійськаамериканська" +
+ " англійськаіспанська (Європа)нижньосаксонськафламандськапортугальська (Є" +
+ "вропа)молдавськасербсько-хорватськаконгійське суахілікитайська спрощена" +
+ "китайська традиційна"
var ukLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -25489,18 +25497,18 @@ var ukLangIdx = []uint16{ // 613 elements
0x1f12, 0x1f12, 0x1f12, 0x1f1c, 0x1f24, 0x1f30, 0x1f3a, 0x1f44,
0x1f4a, 0x1f58, 0x1f58, 0x1f66, 0x1f74, 0x1f74, 0x1f82, 0x1f97,
0x1fa8, 0x1fa8, 0x1fb4, 0x1fb4, 0x1fc2, 0x1fc2, 0x1fd0, 0x1fdc,
- 0x1fea, 0x1ffc, 0x2035, 0x2049, 0x205d, 0x206b, 0x2077, 0x207d,
- 0x207d, 0x207d, 0x207d, 0x207d, 0x208b, 0x208b, 0x2095, 0x20a9,
- 0x20b5, 0x20bf, 0x20c7, 0x20d5, 0x20d5, 0x20e7, 0x20e7, 0x20ef,
+ 0x1fea, 0x1ffc, 0x2035, 0x2049, 0x205d, 0x206b, 0x2084, 0x208a,
+ 0x208a, 0x208a, 0x208a, 0x208a, 0x2098, 0x2098, 0x20a2, 0x20b6,
+ 0x20c2, 0x20cc, 0x20d4, 0x20e2, 0x20e2, 0x20f4, 0x20f4, 0x20fc,
// Entry 240 - 27F
- 0x20f3, 0x20f7, 0x2103, 0x210b, 0x210b, 0x211f, 0x2135, 0x214a,
- 0x214a, 0x2156, 0x2198, 0x21a2, 0x21c8, 0x21d4, 0x2208, 0x2236,
- 0x2236, 0x2269, 0x2269, 0x2269, 0x2292, 0x22bf, 0x22bf, 0x22e0,
- 0x22e0, 0x22e0, 0x22e0, 0x22e0, 0x2300, 0x2316, 0x2316, 0x233f,
- 0x2353, 0x2378, 0x239b, 0x23be, 0x23e5,
+ 0x2100, 0x2104, 0x2110, 0x2118, 0x2118, 0x212c, 0x2142, 0x2157,
+ 0x2157, 0x2163, 0x21a5, 0x21af, 0x21d5, 0x21e1, 0x2215, 0x2243,
+ 0x2243, 0x2276, 0x2276, 0x2276, 0x229f, 0x22cc, 0x22cc, 0x22ed,
+ 0x22ed, 0x22ed, 0x22ed, 0x22ed, 0x230d, 0x2323, 0x2323, 0x234c,
+ 0x2360, 0x2385, 0x23a8, 0x23cb, 0x23f2,
} // Size: 1250 bytes
-const urLangStr string = "" + // Size: 5313 bytes
+const urLangStr string = "" + // Size: 5330 bytes
"افارابقازیانایفریکانزاکانامہاریاراگونیزعربیآسامیاواریایماراآذربائیجانیبا" +
"شکیربیلاروسیبلغاریبسلامابمبارابنگالیتبتیبریٹنبوسنیکیٹالانچیچنکموروکوراس" +
"یکنچیکچرچ سلاؤچوواشویلشڈینشجرمنڈیویہیژونگکھاایویونانیانگریزیایسپرانٹوہس" +
@@ -25533,13 +25541,13 @@ const urLangStr string = "" + // Size: 5313 bytes
"یسیلینسکاٹجنوبی کردسیناكويرابورو سينیتشلحيتشانجنوبی سامیلول سامیاناری س" +
"امیسکولٹ سامیسوننکےسرانن ٹونگوساہوسکوماکوموریائیسریانیٹمنےتیسوٹیٹمٹگرےک" +
"لنگنٹوک پِسِنٹوروکوٹمبوکاتووالوتاساواقتووینینسینٹرل ایٹلس ٹمازائٹادمورت" +
- "اومبوندوروٹوائیونجووالسروولایتاوارےوارلپیریwuuکالمیکسوگایانگبینیمباکینٹ" +
- "ونیزاسٹینڈرڈ مراقشی تمازیقیزونیکوئی لسانی مواد نہیںزازاماڈرن اسٹینڈرڈ ع" +
- "ربیآزربائیجانی (عربی)آسٹریائی جرمنسوئس ہائی جرمنآسٹریلیائی انگریزیکینیڈ" +
- "ین انگریزیبرطانوی انگریزیامریکی انگریزیلاطینی امریکی ہسپانوییورپی ہسپان" +
- "ویمیکسیکن ہسپانویکینیڈین فرانسیسیسوئس فرینچادنی سیکسنفلیمِشبرازیلی پرتگ" +
- "الییورپی پرتگالیمالدوواسربو-کروئیشینکانگو سواحلیچینی (آسان کردہ)روایتی " +
- "چینی"
+ "اومبوندونامعلوم زبانوائیونجووالسروولایتاوارےوارلپیریwuuکالمیکسوگایانگبی" +
+ "نیمباکینٹونیزاسٹینڈرڈ مراقشی تمازیقیزونیکوئی لسانی مواد نہیںزازاماڈرن ا" +
+ "سٹینڈرڈ عربیآزربائیجانی (عربی)آسٹریائی جرمنسوئس ہائی جرمنآسٹریلیائی انگ" +
+ "ریزیکینیڈین انگریزیبرطانوی انگریزیامریکی انگریزیلاطینی امریکی ہسپانوییو" +
+ "رپی ہسپانویمیکسیکن ہسپانویکینیڈین فرانسیسیسوئس فرینچادنی سیکسنفلیمِشبرا" +
+ "زیلی پرتگالییورپی پرتگالیمالدوواسربو-کروئیشینکانگو سواحلیچینی (آسان کرد" +
+ "ہ)روایتی چینی"
var urLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -25620,15 +25628,15 @@ var urLangIdx = []uint16{ // 613 elements
0x10dc, 0x10dc, 0x10dc, 0x10e4, 0x10ec, 0x10ec, 0x10f4, 0x10fc,
0x10fc, 0x10fc, 0x10fc, 0x1106, 0x1106, 0x1106, 0x1106, 0x1106,
0x1117, 0x1117, 0x1123, 0x1123, 0x1123, 0x1123, 0x112f, 0x113b,
- 0x1149, 0x1157, 0x117d, 0x1189, 0x1189, 0x1199, 0x119f, 0x11a7,
- 0x11a7, 0x11a7, 0x11a7, 0x11a7, 0x11a7, 0x11a7, 0x11af, 0x11b9,
- 0x11c7, 0x11cf, 0x11cf, 0x11df, 0x11e2, 0x11ee, 0x11ee, 0x11f6,
+ 0x1149, 0x1157, 0x117d, 0x1189, 0x1189, 0x1199, 0x11b0, 0x11b8,
+ 0x11b8, 0x11b8, 0x11b8, 0x11b8, 0x11b8, 0x11b8, 0x11c0, 0x11ca,
+ 0x11d8, 0x11e0, 0x11e0, 0x11f0, 0x11f3, 0x11ff, 0x11ff, 0x1207,
// Entry 240 - 27F
- 0x11f6, 0x11f6, 0x1204, 0x120c, 0x120c, 0x121c, 0x121c, 0x121c,
- 0x121c, 0x121c, 0x1248, 0x1250, 0x1275, 0x127d, 0x12a1, 0x12c2,
- 0x12db, 0x12f5, 0x1318, 0x1335, 0x1352, 0x136d, 0x1395, 0x13ae,
- 0x13cb, 0x13cb, 0x13ea, 0x13fd, 0x1410, 0x141c, 0x1439, 0x1452,
- 0x1460, 0x1479, 0x1490, 0x14ac, 0x14c1,
+ 0x1207, 0x1207, 0x1215, 0x121d, 0x121d, 0x122d, 0x122d, 0x122d,
+ 0x122d, 0x122d, 0x1259, 0x1261, 0x1286, 0x128e, 0x12b2, 0x12d3,
+ 0x12ec, 0x1306, 0x1329, 0x1346, 0x1363, 0x137e, 0x13a6, 0x13bf,
+ 0x13dc, 0x13dc, 0x13fb, 0x140e, 0x1421, 0x142d, 0x144a, 0x1463,
+ 0x1471, 0x148a, 0x14a1, 0x14bd, 0x14d2,
} // Size: 1250 bytes
const uzLangStr string = "" + // Size: 2777 bytes
@@ -25664,13 +25672,13 @@ const uzLangStr string = "" + // Size: 2777 bytes
"angusitsiliyashotlandjanubiy kurdsenakoyraboro-sennitashelxitshanjanubiy" +
" saamlule-saaminari-saamskolt-saamsoninkesranan-tongosukumaqamartimnetes" +
"otetumtigreklingontok-piksintarokotumbukatuvalutasavaktuvamarkaziy atlas" +
- " tamazigxtudmurtumbundutub aholi tilivaivunjovarayvalbiriwuuqalmoqsogaya" +
- "ngbenyembakantontamazigxtzunitil tarkibi yo‘qzazastandart arabnemis (Avs" +
- "triya)yuqori nemis (Shveytsariya)ingliz (Avstraliya)ingliz (Kanada)ingli" +
- "z (Britaniya)ingliz (Amerika)ispan (Lotin Amerikasi)ispan (Yevropa)ispan" +
- " (Meksika)fransuz (Kanada)fransuz (Shveytsariya)quyi saksonflamandportug" +
- "al (Braziliya)portugal (Yevropa)moldovansuaxili (Kongo)xitoy (soddalashg" +
- "an)xitoy (an’anaviy)"
+ " tamazigxtudmurtumbundunoma’lum tilvaivunjovarayvalbiriwuuqalmoqsogayang" +
+ "benyembakantontamazigxtzunitil tarkibi yo‘qzazastandart arabnemis (Avstr" +
+ "iya)yuqori nemis (Shveytsariya)ingliz (Avstraliya)ingliz (Kanada)ingliz " +
+ "(Britaniya)ingliz (Amerika)ispan (Lotin Amerikasi)ispan (Yevropa)ispan (" +
+ "Meksika)fransuz (Kanada)fransuz (Shveytsariya)quyi saksonflamandportugal" +
+ " (Braziliya)portugal (Yevropa)moldovansuaxili (Kongo)xitoy (soddalashgan" +
+ ")xitoy (an’anaviy)"
var uzLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -25762,7 +25770,7 @@ var uzLangIdx = []uint16{ // 613 elements
0x0aa3, 0x0aa3, 0x0ab2, 0x0ac6, 0x0ad9,
} // Size: 1250 bytes
-const viLangStr string = "" + // Size: 8662 bytes
+const viLangStr string = "" + // Size: 8681 bytes
"Tiếng AfarTiếng AbkhaziaTiếng AvestanTiếng AfrikaansTiếng AkanTiếng Amha" +
"ricTiếng AragonTiếng Ả RậpTiếng AssamTiếng AvaricTiếng AymaraTiếng Azerb" +
"aijanTiếng BashkirTiếng BelarusTiếng BulgariaTiếng BislamaTiếng BambaraT" +
@@ -25856,15 +25864,15 @@ const viLangStr string = "" + // Size: 8662 bytes
"iếng TigreTiếng TivTiếng TokelauTiếng KlingonTiếng TlingitTiếng Tamashek" +
"Tiếng Nyasa TongaTiếng Tok PisinTiếng TarokoTiếng TsimshianTiếng Tumbuka" +
"Tiếng TuvaluTiếng TasawaqTiếng TuvinianTiếng Tamazight Miền Trung Ma-rốc" +
- "Tiếng UdmurtTiếng UgariticTiếng UmbunduTiếng RootTiếng VaiTiếng VoticTiế" +
- "ng VunjoTiếng WalserTiếng WalamoTiếng WarayTiếng WashoTiếng WarlpiriTiến" +
- "g NgôTiếng KalmykTiếng SogaTiếng YaoTiếng YapTiếng YangbenTiếng YembaTiế" +
- "ng Quảng ĐôngTiếng ZapotecKý hiệu BlissymbolsTiếng ZenagaTiếng Tamazight" +
- " Chuẩn của Ma-rốcTiếng ZuniKhông có nội dung ngôn ngữTiếng ZazaTiếng Ả R" +
- "ập Hiện đạiTiếng Thượng Giéc-man (Thụy Sĩ)Tiếng Anh (Anh)Tiếng Anh (Mỹ" +
- ")Tiếng Tây Ban Nha (Mỹ La tinh)Tiếng Tây Ban Nha (Châu Âu)Tiếng Hạ Saxon" +
- "Tiếng FlemishTiếng Bồ Đào Nha (Châu Âu)Tiếng MoldovaTiếng Serbo-CroatiaT" +
- "iếng Swahili Congo"
+ "Tiếng UdmurtTiếng UgariticTiếng UmbunduNgôn ngữ không xác địnhTiếng VaiT" +
+ "iếng VoticTiếng VunjoTiếng WalserTiếng WalamoTiếng WarayTiếng WashoTiếng" +
+ " WarlpiriTiếng NgôTiếng KalmykTiếng SogaTiếng YaoTiếng YapTiếng YangbenT" +
+ "iếng YembaTiếng Quảng ĐôngTiếng ZapotecKý hiệu BlissymbolsTiếng ZenagaTi" +
+ "ếng Tamazight Chuẩn của Ma-rốcTiếng ZuniKhông có nội dung ngôn ngữTiến" +
+ "g ZazaTiếng Ả Rập Hiện đạiTiếng Thượng Giéc-man (Thụy Sĩ)Tiếng Anh (Anh)" +
+ "Tiếng Anh (Mỹ)Tiếng Tây Ban Nha (Mỹ La tinh)Tiếng Tây Ban Nha (Châu Âu)T" +
+ "iếng Hạ SaxonTiếng FlemishTiếng Bồ Đào Nha (Châu Âu)Tiếng MoldovaTiếng S" +
+ "erbo-CroatiaTiếng Swahili Congo"
var viLangIdx = []uint16{ // 611 elements
// Entry 0 - 3F
@@ -25945,18 +25953,18 @@ var viLangIdx = []uint16{ // 611 elements
0x1dd8, 0x1dd8, 0x1dd8, 0x1de5, 0x1df1, 0x1dff, 0x1e0c, 0x1e19,
0x1e24, 0x1e33, 0x1e33, 0x1e42, 0x1e51, 0x1e51, 0x1e61, 0x1e74,
0x1e85, 0x1e85, 0x1e93, 0x1e93, 0x1ea4, 0x1ea4, 0x1eb3, 0x1ec1,
- 0x1ed0, 0x1ee0, 0x1f07, 0x1f15, 0x1f25, 0x1f34, 0x1f40, 0x1f4b,
- 0x1f4b, 0x1f4b, 0x1f4b, 0x1f4b, 0x1f58, 0x1f58, 0x1f65, 0x1f73,
- 0x1f81, 0x1f8e, 0x1f9b, 0x1fab, 0x1fb7, 0x1fc5, 0x1fc5, 0x1fd1,
+ 0x1ed0, 0x1ee0, 0x1f07, 0x1f15, 0x1f25, 0x1f34, 0x1f53, 0x1f5e,
+ 0x1f5e, 0x1f5e, 0x1f5e, 0x1f5e, 0x1f6b, 0x1f6b, 0x1f78, 0x1f86,
+ 0x1f94, 0x1fa1, 0x1fae, 0x1fbe, 0x1fca, 0x1fd8, 0x1fd8, 0x1fe4,
// Entry 240 - 27F
- 0x1fdc, 0x1fe7, 0x1ff6, 0x2003, 0x2003, 0x2019, 0x2028, 0x203e,
- 0x203e, 0x204c, 0x2074, 0x2080, 0x20a1, 0x20ad, 0x20cc, 0x20cc,
- 0x20cc, 0x20f4, 0x20f4, 0x20f4, 0x2105, 0x2117, 0x213a, 0x215a,
- 0x215a, 0x215a, 0x215a, 0x215a, 0x216c, 0x217b, 0x217b, 0x219d,
- 0x21ac, 0x21c1, 0x21d6,
+ 0x1fef, 0x1ffa, 0x2009, 0x2016, 0x2016, 0x202c, 0x203b, 0x2051,
+ 0x2051, 0x205f, 0x2087, 0x2093, 0x20b4, 0x20c0, 0x20df, 0x20df,
+ 0x20df, 0x2107, 0x2107, 0x2107, 0x2118, 0x212a, 0x214d, 0x216d,
+ 0x216d, 0x216d, 0x216d, 0x216d, 0x217f, 0x218e, 0x218e, 0x21b0,
+ 0x21bf, 0x21d4, 0x21e9,
} // Size: 1246 bytes
-const zhLangStr string = "" + // Size: 6428 bytes
+const zhLangStr string = "" + // Size: 6431 bytes
"阿法尔文阿布哈西亚语阿维斯塔文南非荷兰语阿肯文阿姆哈拉文阿拉贡文阿拉伯语阿萨姆文阿瓦尔文艾马拉文阿塞拜疆语巴什基尔文白俄罗斯语保加利亚语比斯拉马" +
"文班巴拉文孟加拉语藏语布列塔尼文波斯尼亚语加泰罗尼亚语车臣文查莫罗文科西嘉文克里族文捷克语教会斯拉夫文楚瓦什文威尔士语丹麦语德文迪维希文宗卡" +
"文埃维文希腊语英语世界语西班牙文爱沙尼亚语巴斯克文波斯文富拉文芬兰语斐济文法罗文法语西弗里西亚文爱尔兰语苏格兰盖尔文加利西亚语瓜拉尼文古吉拉" +
@@ -25984,10 +25992,10 @@ const zhLangStr string = "" + // Size: 6428 bytes
"斯坦文拉帕努伊文拉罗汤加文兰博文吉普赛文阿罗蒙文罗瓦文桑达韦文萨哈文萨马利亚阿拉姆文桑布鲁文萨萨克文桑塔利文甘拜文桑古文西西里文苏格兰文南库" +
"尔德文塞内卡文塞纳文塞尔库普文东桑海文古爱尔兰文希尔哈文掸文乍得阿拉伯文悉达摩文南萨米文律勒萨米文伊纳里萨米文斯科特萨米文索宁克文粟特文苏里" +
"南汤加文塞雷尔文萨霍文苏库马文苏苏文苏美尔文科摩罗文古典叙利亚文古叙利亚文泰姆奈文特索文特伦诺文德顿文提格雷文蒂夫文托克劳文克林贡文特林吉特" +
- "文塔马奇克文尼亚萨汤加文托克皮辛文太鲁阁文钦西安文通布卡文图瓦卢文北桑海文图瓦文塔马齐格特文乌德穆尔特文乌加里特文翁本杜文根语言瓦伊文维普森" +
- "文沃提克文温旧文瓦尔瑟文瓦拉莫文瓦瑞文瓦绍文瓦尔皮瑞文吴语卡尔梅克文索加文瑶族语雅浦文洋卞文耶姆巴文粤语萨波蒂克文布里斯符号泽纳加文标准摩洛" +
- "哥塔马塞特文祖尼文无语言内容扎扎文现代标准阿拉伯语南阿塞拜疆文奥地利德文瑞士高地德文拉丁美洲西班牙文欧洲西班牙文墨西哥西班牙文低萨克森文佛兰" +
- "德文巴西葡萄牙文欧洲葡萄牙文摩尔多瓦文塞尔维亚-克罗地亚文刚果斯瓦希里文简体中文繁体中文"
+ "文塔马奇克文尼亚萨汤加文托克皮辛文太鲁阁文钦西安文通布卡文图瓦卢文北桑海文图瓦文塔马齐格特文乌德穆尔特文乌加里特文翁本杜文未知语言瓦伊文维普" +
+ "森文沃提克文温旧文瓦尔瑟文瓦拉莫文瓦瑞文瓦绍文瓦尔皮瑞文吴语卡尔梅克文索加文瑶族语雅浦文洋卞文耶姆巴文粤语萨波蒂克文布里斯符号泽纳加文标准摩" +
+ "洛哥塔马塞特文祖尼文无语言内容扎扎文现代标准阿拉伯语南阿塞拜疆文奥地利德文瑞士高地德文拉丁美洲西班牙文欧洲西班牙文墨西哥西班牙文低萨克森文佛" +
+ "兰德文巴西葡萄牙文欧洲葡萄牙文摩尔多瓦文塞尔维亚-克罗地亚文刚果斯瓦希里文简体中文繁体中文"
var zhLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -26068,18 +26076,18 @@ var zhLangIdx = []uint16{ // 613 elements
0x15c1, 0x15c1, 0x15c1, 0x15cd, 0x15d6, 0x15e2, 0x15eb, 0x15f7,
0x1600, 0x160c, 0x160c, 0x1618, 0x1627, 0x1627, 0x1636, 0x1648,
0x1657, 0x1657, 0x1663, 0x1663, 0x166f, 0x166f, 0x167b, 0x1687,
- 0x1693, 0x169c, 0x16ae, 0x16c0, 0x16cf, 0x16db, 0x16e4, 0x16ed,
- 0x16ed, 0x16f9, 0x16f9, 0x16f9, 0x1705, 0x1705, 0x170e, 0x171a,
- 0x1726, 0x172f, 0x1738, 0x1747, 0x174d, 0x175c, 0x175c, 0x1765,
+ 0x1693, 0x169c, 0x16ae, 0x16c0, 0x16cf, 0x16db, 0x16e7, 0x16f0,
+ 0x16f0, 0x16fc, 0x16fc, 0x16fc, 0x1708, 0x1708, 0x1711, 0x171d,
+ 0x1729, 0x1732, 0x173b, 0x174a, 0x1750, 0x175f, 0x175f, 0x1768,
// Entry 240 - 27F
- 0x176e, 0x1777, 0x1780, 0x178c, 0x178c, 0x1792, 0x17a1, 0x17b0,
- 0x17b0, 0x17bc, 0x17da, 0x17e3, 0x17f2, 0x17fb, 0x1813, 0x1825,
- 0x1834, 0x1846, 0x1846, 0x1846, 0x1846, 0x1846, 0x185e, 0x1870,
- 0x1885, 0x1885, 0x1885, 0x1885, 0x1894, 0x18a0, 0x18b2, 0x18c4,
- 0x18d3, 0x18ef, 0x1904, 0x1910, 0x191c,
+ 0x1771, 0x177a, 0x1783, 0x178f, 0x178f, 0x1795, 0x17a4, 0x17b3,
+ 0x17b3, 0x17bf, 0x17dd, 0x17e6, 0x17f5, 0x17fe, 0x1816, 0x1828,
+ 0x1837, 0x1849, 0x1849, 0x1849, 0x1849, 0x1849, 0x1861, 0x1873,
+ 0x1888, 0x1888, 0x1888, 0x1888, 0x1897, 0x18a3, 0x18b5, 0x18c7,
+ 0x18d6, 0x18f2, 0x1907, 0x1913, 0x191f,
} // Size: 1250 bytes
-const zhHantLangStr string = "" + // Size: 7573 bytes
+const zhHantLangStr string = "" + // Size: 7576 bytes
"阿法文阿布哈茲文阿維斯塔文南非荷蘭文阿坎文阿姆哈拉文阿拉貢文阿拉伯文阿薩姆文阿瓦爾文艾馬拉文亞塞拜然文巴什喀爾文白俄羅斯文保加利亞文比斯拉馬文班" +
"巴拉文孟加拉文藏文布列塔尼文波士尼亞文加泰蘭文車臣文查莫洛文科西嘉文克里文捷克文宗教斯拉夫文楚瓦什文威爾斯文丹麥文德文迪維西文宗卡文埃維文希" +
"臘文英文世界文西班牙文愛沙尼亞文巴斯克文波斯文富拉文芬蘭文斐濟文法羅文法文西弗里西亞文愛爾蘭文蘇格蘭蓋爾文加利西亞文瓜拉尼文古吉拉特文曼島文" +
@@ -26113,10 +26121,10 @@ const zhHantLangStr string = "" + // Size: 7573 bytes
"東桑海文古愛爾蘭文薩莫吉希亞文希爾哈文撣文阿拉伯文(查德)希達摩文下西利西亞文塞拉亞文南薩米文魯勒薩米文伊納里薩米文斯科特薩米文索尼基文索格" +
"底亞納文蘇拉南東墎文塞雷爾文薩霍文沙特菲士蘭文蘇庫馬文蘇蘇文蘇美文葛摩文古敘利亞文敘利亞文西利西亞文圖盧文提姆文特索文泰雷諾文泰頓文蒂格雷文" +
"提夫文托克勞文查庫爾文克林貢文特林基特文塔里什文塔馬奇克文東加文(尼亞薩)托比辛文圖羅尤文太魯閣文特薩克尼恩文欽西安文穆斯林塔特文圖姆布卡文" +
- "吐瓦魯文北桑海文圖瓦文中阿特拉斯塔馬塞特文烏德穆爾特文烏加列文姆本杜文根語言瓦伊文威尼斯文維普森文西佛蘭德文美茵-法蘭克尼亞文沃提克文佛羅文" +
- "溫舊文瓦爾瑟文瓦拉莫文瓦瑞文瓦紹文沃皮瑞文吳語卡爾梅克文明格列爾文索加文瑤文雅浦文洋卞文耶姆巴文奈恩加圖文粵語薩波特克文布列斯符號西蘭文澤納" +
- "加文標準摩洛哥塔馬塞特文祖尼文無語言內容扎扎文現代標準阿拉伯文高地德文(瑞士)低地薩克遜文佛蘭芒文摩爾多瓦文塞爾維亞克羅埃西亞文史瓦希里文(" +
- "剛果)簡體中文繁體中文"
+ "吐瓦魯文北桑海文圖瓦文中阿特拉斯塔馬塞特文烏德穆爾特文烏加列文姆本杜文未知語言瓦伊文威尼斯文維普森文西佛蘭德文美茵-法蘭克尼亞文沃提克文佛羅" +
+ "文溫舊文瓦爾瑟文瓦拉莫文瓦瑞文瓦紹文沃皮瑞文吳語卡爾梅克文明格列爾文索加文瑤文雅浦文洋卞文耶姆巴文奈恩加圖文粵語薩波特克文布列斯符號西蘭文澤" +
+ "納加文標準摩洛哥塔馬塞特文祖尼文無語言內容扎扎文現代標準阿拉伯文高地德文(瑞士)低地薩克遜文佛蘭芒文摩爾多瓦文塞爾維亞克羅埃西亞文史瓦希里文" +
+ "(剛果)簡體中文繁體中文"
var zhHantLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -26197,18 +26205,18 @@ var zhHantLangIdx = []uint16{ // 613 elements
0x19e3, 0x19f2, 0x19fb, 0x1a04, 0x1a0d, 0x1a19, 0x1a22, 0x1a2e,
0x1a37, 0x1a43, 0x1a4f, 0x1a5b, 0x1a6a, 0x1a76, 0x1a85, 0x1a9d,
0x1aa9, 0x1ab5, 0x1ac1, 0x1ad3, 0x1adf, 0x1af1, 0x1b00, 0x1b0c,
- 0x1b18, 0x1b21, 0x1b3f, 0x1b51, 0x1b5d, 0x1b69, 0x1b72, 0x1b7b,
- 0x1b87, 0x1b93, 0x1ba2, 0x1bbb, 0x1bc7, 0x1bd0, 0x1bd9, 0x1be5,
- 0x1bf1, 0x1bfa, 0x1c03, 0x1c0f, 0x1c15, 0x1c24, 0x1c33, 0x1c3c,
+ 0x1b18, 0x1b21, 0x1b3f, 0x1b51, 0x1b5d, 0x1b69, 0x1b75, 0x1b7e,
+ 0x1b8a, 0x1b96, 0x1ba5, 0x1bbe, 0x1bca, 0x1bd3, 0x1bdc, 0x1be8,
+ 0x1bf4, 0x1bfd, 0x1c06, 0x1c12, 0x1c18, 0x1c27, 0x1c36, 0x1c3f,
// Entry 240 - 27F
- 0x1c42, 0x1c4b, 0x1c54, 0x1c60, 0x1c6f, 0x1c75, 0x1c84, 0x1c93,
- 0x1c9c, 0x1ca8, 0x1cc6, 0x1ccf, 0x1cde, 0x1ce7, 0x1cff, 0x1cff,
- 0x1cff, 0x1d17, 0x1d17, 0x1d17, 0x1d17, 0x1d17, 0x1d17, 0x1d17,
- 0x1d17, 0x1d17, 0x1d17, 0x1d17, 0x1d29, 0x1d35, 0x1d35, 0x1d35,
- 0x1d44, 0x1d62, 0x1d7d, 0x1d89, 0x1d95,
+ 0x1c45, 0x1c4e, 0x1c57, 0x1c63, 0x1c72, 0x1c78, 0x1c87, 0x1c96,
+ 0x1c9f, 0x1cab, 0x1cc9, 0x1cd2, 0x1ce1, 0x1cea, 0x1d02, 0x1d02,
+ 0x1d02, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a,
+ 0x1d1a, 0x1d1a, 0x1d1a, 0x1d1a, 0x1d2c, 0x1d38, 0x1d38, 0x1d38,
+ 0x1d47, 0x1d65, 0x1d80, 0x1d8c, 0x1d98,
} // Size: 1250 bytes
-const zuLangStr string = "" + // Size: 4670 bytes
+const zuLangStr string = "" + // Size: 4680 bytes
"isi-Afarisi-Abkhaziani-Afrikaansisi-Akanisi-Amharicisi-Aragoneseisi-Arab" +
"icisi-Assameseisi-Avaricisi-Aymaraisi-Azerbaijaniisi-Bashkirisi-Belarusi" +
"anisi-Bulgarii-Bislamaisi-Bambaraisi-Bengaliisi-Tibetanisi-Bretonisi-Bos" +
@@ -26265,15 +26273,15 @@ const zuLangStr string = "" + // Size: 4670 bytes
"ri Samiisi-Skolt Samii-Soninkei-Sranan Tongoi-Sahoi-Sukumaisi-Comoriani-" +
"Syriacisi-Timneisi-Tesoisi-Tetumisi-Tigreisi-Klingonisi-Tok Pisinisi-Tar" +
"okoisi-Tumbukaisi-Tuvaluisi-Tasawaqisi-Tuvinianisi-Central Atlas Tamazig" +
- "htisi-Udmurtisi-Umbundui-Rootisi-VaiisiVunjoisi-Walserisi-Wolayttaisi-Wa" +
- "rayisi-Warlpiriisi-Wu Chineseisi-Kalmykisi-Sogaisi-Yangbenisi-Yembaisi-C" +
- "antoneseisi-Moroccan Tamazight esivamileisi-Zuniakukho okuqukethwe kolim" +
- "iisi-Zazaisi-Arabic esivamile sesimanjeisi-Austrian Germani-Swiss High G" +
- "ermanisi-Austrillian Englishi-Canadian Englishi-British Englishi-America" +
- "n Englishisi-Latin American Spanishi-European Spanishi-Mexican Spanishi-" +
- "Canadian Frenchi-Swiss Frenchisi-Low Saxonisi-Flemishisi-Brazillian Port" +
- "ugueseisi-European Portugueseisi-Moldavianisi-Serbo-Croatianisi-Congo Sw" +
- "ahiliisi-Chinese (esenziwe-lula)isi-Chinese (Okosiko)"
+ "htisi-Udmurtisi-Umbunduulimi olungaziwaisi-VaiisiVunjoisi-Walserisi-Wola" +
+ "yttaisi-Warayisi-Warlpiriisi-Wu Chineseisi-Kalmykisi-Sogaisi-Yangbenisi-" +
+ "Yembaisi-Cantoneseisi-Moroccan Tamazight esivamileisi-Zuniakukho okuquke" +
+ "thwe kolimiisi-Zazaisi-Arabic esivamile sesimanjeisi-Austrian Germani-Sw" +
+ "iss High Germanisi-Austrillian Englishi-Canadian Englishi-British Englis" +
+ "hi-American Englishisi-Latin American Spanishi-European Spanishi-Mexican" +
+ " Spanishi-Canadian Frenchi-Swiss Frenchisi-Low Saxonisi-Flemishisi-Brazi" +
+ "llian Portugueseisi-European Portugueseisi-Moldavianisi-Serbo-Croatianis" +
+ "i-Congo Swahiliisi-Chinese (esenziwe-lula)isi-Chinese (Okosiko)"
var zuLangIdx = []uint16{ // 613 elements
// Entry 0 - 3F
@@ -26354,18 +26362,18 @@ var zuLangIdx = []uint16{ // 613 elements
0x0f3f, 0x0f3f, 0x0f3f, 0x0f48, 0x0f50, 0x0f50, 0x0f59, 0x0f62,
0x0f62, 0x0f62, 0x0f62, 0x0f6d, 0x0f6d, 0x0f6d, 0x0f6d, 0x0f6d,
0x0f7a, 0x0f7a, 0x0f84, 0x0f84, 0x0f84, 0x0f84, 0x0f8f, 0x0f99,
- 0x0fa4, 0x0fb0, 0x0fcb, 0x0fd5, 0x0fd5, 0x0fe0, 0x0fe6, 0x0fed,
- 0x0fed, 0x0fed, 0x0fed, 0x0fed, 0x0fed, 0x0fed, 0x0ff5, 0x0fff,
- 0x100b, 0x1014, 0x1014, 0x1020, 0x102e, 0x1038, 0x1038, 0x1040,
+ 0x0fa4, 0x0fb0, 0x0fcb, 0x0fd5, 0x0fd5, 0x0fe0, 0x0ff0, 0x0ff7,
+ 0x0ff7, 0x0ff7, 0x0ff7, 0x0ff7, 0x0ff7, 0x0ff7, 0x0fff, 0x1009,
+ 0x1015, 0x101e, 0x101e, 0x102a, 0x1038, 0x1042, 0x1042, 0x104a,
// Entry 240 - 27F
- 0x1040, 0x1040, 0x104b, 0x1054, 0x1054, 0x1061, 0x1061, 0x1061,
- 0x1061, 0x1061, 0x1081, 0x1089, 0x10a2, 0x10aa, 0x10c8, 0x10c8,
- 0x10db, 0x10ee, 0x1105, 0x1117, 0x1128, 0x113a, 0x1154, 0x1166,
- 0x1177, 0x1177, 0x1188, 0x1196, 0x11a3, 0x11ae, 0x11c7, 0x11de,
- 0x11eb, 0x11fd, 0x120e, 0x1229, 0x123e,
+ 0x104a, 0x104a, 0x1055, 0x105e, 0x105e, 0x106b, 0x106b, 0x106b,
+ 0x106b, 0x106b, 0x108b, 0x1093, 0x10ac, 0x10b4, 0x10d2, 0x10d2,
+ 0x10e5, 0x10f8, 0x110f, 0x1121, 0x1132, 0x1144, 0x115e, 0x1170,
+ 0x1181, 0x1181, 0x1192, 0x11a0, 0x11ad, 0x11b8, 0x11d1, 0x11e8,
+ 0x11f5, 0x1207, 0x1218, 0x1233, 0x1248,
} // Size: 1250 bytes
-// Total size for lang: 1022818 bytes (1022 KB)
+// Total size for lang: 1024178 bytes (1024 KB)
// Number of keys: 175
var (
@@ -50333,4 +50341,4 @@ var selfHeaders = [1]header{
// Total size for self: 4040 bytes (4 KB)
-// Total table size 2127659 bytes (2077KiB); checksum: E92D966F
+// Total table size 2129019 bytes (2079KiB); checksum: C21E1902
diff --git a/vendor/golang.org/x/text/language/doc.go b/vendor/golang.org/x/text/language/doc.go
new file mode 100644
index 000000000..8afecd50e
--- /dev/null
+++ b/vendor/golang.org/x/text/language/doc.go
@@ -0,0 +1,102 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package language implements BCP 47 language tags and related functionality.
+//
+// The most important function of package language is to match a list of
+// user-preferred languages to a list of supported languages.
+// It alleviates the developer of dealing with the complexity of this process
+// and provides the user with the best experience
+// (see https://blog.golang.org/matchlang).
+//
+//
+// Matching preferred against supported languages
+//
+// A Matcher for an application that supports English, Australian English,
+// Danish, and standard Mandarin can be created as follows:
+//
+// var matcher = language.NewMatcher([]language.Tag{
+// language.English, // The first language is used as fallback.
+// language.MustParse("en-AU"),
+// language.Danish,
+// language.Chinese,
+// })
+//
+// This list of supported languages is typically implied by the languages for
+// which there exists translations of the user interface.
+//
+// User-preferred languages usually come as a comma-separated list of BCP 47
+// language tags.
+// The MatchString finds best matches for such strings:
+//
+// handler(w http.ResponseWriter, r *http.Request) {
+// lang, _ := r.Cookie("lang")
+// accept := r.Header.Get("Accept-Language")
+// tag, _ := language.MatchStrings(matcher, lang.String(), accept)
+//
+// // tag should now be used for the initialization of any
+// // locale-specific service.
+// }
+//
+// The Matcher's Match method can be used to match Tags directly.
+//
+// Matchers are aware of the intricacies of equivalence between languages, such
+// as deprecated subtags, legacy tags, macro languages, mutual
+// intelligibility between scripts and languages, and transparently passing
+// BCP 47 user configuration.
+// For instance, it will know that a reader of Bokmål Danish can read Norwegian
+// and will know that Cantonese ("yue") is a good match for "zh-HK".
+//
+//
+// Using match results
+//
+// To guarantee a consistent user experience to the user it is important to
+// use the same language tag for the selection of any locale-specific services.
+// For example, it is utterly confusing to substitute spelled-out numbers
+// or dates in one language in text of another language.
+// More subtly confusing is using the wrong sorting order or casing
+// algorithm for a certain language.
+//
+// All the packages in x/text that provide locale-specific services
+// (e.g. collate, cases) should be initialized with the tag that was
+// obtained at the start of an interaction with the user.
+//
+// Note that Tag that is returned by Match and MatchString may differ from any
+// of the supported languages, as it may contain carried over settings from
+// the user tags.
+// This may be inconvenient when your application has some additional
+// locale-specific data for your supported languages.
+// Match and MatchString both return the index of the matched supported tag
+// to simplify associating such data with the matched tag.
+//
+//
+// Canonicalization
+//
+// If one uses the Matcher to compare languages one does not need to
+// worry about canonicalization.
+//
+// The meaning of a Tag varies per application. The language package
+// therefore delays canonicalization and preserves information as much
+// as possible. The Matcher, however, will always take into account that
+// two different tags may represent the same language.
+//
+// By default, only legacy and deprecated tags are converted into their
+// canonical equivalent. All other information is preserved. This approach makes
+// the confidence scores more accurate and allows matchers to distinguish
+// between variants that are otherwise lost.
+//
+// As a consequence, two tags that should be treated as identical according to
+// BCP 47 or CLDR, like "en-Latn" and "en", will be represented differently. The
+// Matcher handles such distinctions, though, and is aware of the
+// equivalence relations. The CanonType type can be used to alter the
+// canonicalization form.
+//
+// References
+//
+// BCP 47 - Tags for Identifying Languages http://tools.ietf.org/html/bcp47
+//
+package language // import "golang.org/x/text/language"
+
+// TODO: explanation on how to match languages for your own locale-specific
+// service.
diff --git a/vendor/golang.org/x/text/language/examples_test.go b/vendor/golang.org/x/text/language/examples_test.go
index 05e712d77..d5e8176dc 100644
--- a/vendor/golang.org/x/text/language/examples_test.go
+++ b/vendor/golang.org/x/text/language/examples_test.go
@@ -6,6 +6,7 @@ package language_test
import (
"fmt"
+ "net/http"
"golang.org/x/text/language"
)
@@ -274,7 +275,7 @@ func ExampleMatcher() {
fmt.Println("----")
- // Croatian speakers will likely understand Serbian written in Latin script.
+ // Someone specifying sr-Latn is probably fine with getting Croatian.
fmt.Println(m.Match(language.Make("sr-Latn")))
// We match SimplifiedChinese, but with Low confidence.
@@ -331,11 +332,27 @@ func ExampleMatcher() {
// af 3 High
// ----
// iw 9 Exact
- // iw-IL 8 Exact
+ // he 10 Exact
// ----
// fr-u-cu-frf 2 Exact
// fr-u-cu-frf 2 High
// en-u-co-phonebk 0 No
+
+ // TODO: "he" should be "he-u-rg-IL High"
+}
+
+func ExampleMatchStrings() {
+ // languages supported by this service:
+ matcher := language.NewMatcher([]language.Tag{
+ language.English, language.Dutch, language.German,
+ })
+
+ http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
+ lang, _ := r.Cookie("lang")
+ tag, _ := language.MatchStrings(matcher, lang.String(), r.Header.Get("Accept-Language"))
+
+ fmt.Println("User language:", tag)
+ })
}
func ExampleComprehends() {
diff --git a/vendor/golang.org/x/text/language/gen.go b/vendor/golang.org/x/text/language/gen.go
index 153269bc1..7c260e5c2 100644
--- a/vendor/golang.org/x/text/language/gen.go
+++ b/vendor/golang.org/x/text/language/gen.go
@@ -698,8 +698,8 @@ func (b *builder) computeRegionGroups() {
b.groups[group] = index(len(b.groups))
}
}
- if len(b.groups) > 32 {
- log.Fatalf("only 32 groups supported, found %d", len(b.groups))
+ if len(b.groups) > 64 {
+ log.Fatalf("only 64 groups supported, found %d", len(b.groups))
}
b.writeConst("nRegionGroups", len(b.groups))
}
@@ -1417,20 +1417,27 @@ func (b *builder) writeMatchData() {
}
b.writeSlice("regionToGroups", regionToGroups)
+ // maps language id to in- and out-of-group region.
+ paradigmLocales := [][3]uint16{}
+ locales := strings.Split(lm[0].ParadigmLocales[0].Locales, " ")
+ for i := 0; i < len(locales); i += 2 {
+ x := [3]uint16{}
+ for j := 0; j < 2; j++ {
+ pc := strings.SplitN(locales[i+j], "-", 2)
+ x[0] = b.langIndex(pc[0])
+ if len(pc) == 2 {
+ x[1+j] = uint16(b.region.index(pc[1]))
+ }
+ }
+ paradigmLocales = append(paradigmLocales, x)
+ }
+ b.writeSlice("paradigmLocales", paradigmLocales)
+
b.writeType(mutualIntelligibility{})
b.writeType(scriptIntelligibility{})
b.writeType(regionIntelligibility{})
- matchLang := []mutualIntelligibility{{
- // TODO: remove once CLDR is fixed.
- want: uint16(b.langIndex("sr")),
- have: uint16(b.langIndex("hr")),
- distance: uint8(5),
- }, {
- want: uint16(b.langIndex("sr")),
- have: uint16(b.langIndex("bs")),
- distance: uint8(5),
- }}
+ matchLang := []mutualIntelligibility{}
matchScript := []scriptIntelligibility{}
matchRegion := []regionIntelligibility{}
// Convert the languageMatch entries in lists keyed by desired language.
@@ -1559,7 +1566,7 @@ func (b *builder) writeRegionInclusionData() {
}
}
- regionContainment := make([]uint32, len(b.groups))
+ regionContainment := make([]uint64, len(b.groups))
for _, g := range b.groups {
l := containment[g]
@@ -1577,10 +1584,10 @@ func (b *builder) writeRegionInclusionData() {
b.writeSlice("regionContainment", regionContainment)
regionInclusion := make([]uint8, len(b.region.s))
- bvs := make(map[uint32]index)
+ bvs := make(map[uint64]index)
// Make the first bitvector positions correspond with the groups.
for r, i := range b.groups {
- bv := uint32(1 << i)
+ bv := uint64(1 << i)
for _, g := range mm[r] {
bv |= 1 << g
}
@@ -1589,7 +1596,7 @@ func (b *builder) writeRegionInclusionData() {
}
for r := 1; r < len(b.region.s); r++ {
if _, ok := b.groups[r]; !ok {
- bv := uint32(0)
+ bv := uint64(0)
for _, g := range mm[r] {
bv |= 1 << g
}
@@ -1604,9 +1611,9 @@ func (b *builder) writeRegionInclusionData() {
}
}
b.writeSlice("regionInclusion", regionInclusion)
- regionInclusionBits := make([]uint32, len(bvs))
+ regionInclusionBits := make([]uint64, len(bvs))
for k, v := range bvs {
- regionInclusionBits[v] = uint32(k)
+ regionInclusionBits[v] = uint64(k)
}
// Add bit vectors for increasingly large distances until a fixed point is reached.
regionInclusionNext := []uint8{}
diff --git a/vendor/golang.org/x/text/language/index.go b/vendor/golang.org/x/text/language/index.go
index 973db9fd5..69ac557dc 100644
--- a/vendor/golang.org/x/text/language/index.go
+++ b/vendor/golang.org/x/text/language/index.go
@@ -7,763 +7,763 @@ package language
const NumCompactTags = 754
var specialTags = []Tag{ // 2 elements
- 0: {lang: 0xd7, region: 0x6d, script: 0x0, pVariant: 0x5, pExt: 0xe, str: "ca-ES-valencia"},
- 1: {lang: 0x138, region: 0x134, script: 0x0, pVariant: 0x5, pExt: 0x5, str: "en-US-u-va-posix"},
+ 0: {lang: 0xd7, region: 0x6e, script: 0x0, pVariant: 0x5, pExt: 0xe, str: "ca-ES-valencia"},
+ 1: {lang: 0x138, region: 0x135, script: 0x0, pVariant: 0x5, pExt: 0x5, str: "en-US-u-va-posix"},
} // Size: 72 bytes
var coreTags = map[uint32]uint16{
0x0: 0, // und
0x01600000: 3, // af
- 0x016000d1: 4, // af-NA
- 0x01600160: 5, // af-ZA
+ 0x016000d2: 4, // af-NA
+ 0x01600161: 5, // af-ZA
0x01c00000: 6, // agq
- 0x01c00051: 7, // agq-CM
+ 0x01c00052: 7, // agq-CM
0x02100000: 8, // ak
- 0x0210007f: 9, // ak-GH
+ 0x02100080: 9, // ak-GH
0x02700000: 10, // am
- 0x0270006e: 11, // am-ET
+ 0x0270006f: 11, // am-ET
0x03a00000: 12, // ar
0x03a00001: 13, // ar-001
- 0x03a00022: 14, // ar-AE
- 0x03a00038: 15, // ar-BH
- 0x03a00061: 16, // ar-DJ
- 0x03a00066: 17, // ar-DZ
- 0x03a0006a: 18, // ar-EG
- 0x03a0006b: 19, // ar-EH
- 0x03a0006c: 20, // ar-ER
- 0x03a00096: 21, // ar-IL
- 0x03a0009a: 22, // ar-IQ
- 0x03a000a0: 23, // ar-JO
- 0x03a000a7: 24, // ar-KM
- 0x03a000ab: 25, // ar-KW
- 0x03a000af: 26, // ar-LB
- 0x03a000b8: 27, // ar-LY
- 0x03a000b9: 28, // ar-MA
- 0x03a000c8: 29, // ar-MR
- 0x03a000e0: 30, // ar-OM
- 0x03a000ec: 31, // ar-PS
- 0x03a000f2: 32, // ar-QA
- 0x03a00107: 33, // ar-SA
- 0x03a0010a: 34, // ar-SD
- 0x03a00114: 35, // ar-SO
- 0x03a00116: 36, // ar-SS
- 0x03a0011b: 37, // ar-SY
- 0x03a0011f: 38, // ar-TD
- 0x03a00127: 39, // ar-TN
- 0x03a0015d: 40, // ar-YE
+ 0x03a00023: 14, // ar-AE
+ 0x03a00039: 15, // ar-BH
+ 0x03a00062: 16, // ar-DJ
+ 0x03a00067: 17, // ar-DZ
+ 0x03a0006b: 18, // ar-EG
+ 0x03a0006c: 19, // ar-EH
+ 0x03a0006d: 20, // ar-ER
+ 0x03a00097: 21, // ar-IL
+ 0x03a0009b: 22, // ar-IQ
+ 0x03a000a1: 23, // ar-JO
+ 0x03a000a8: 24, // ar-KM
+ 0x03a000ac: 25, // ar-KW
+ 0x03a000b0: 26, // ar-LB
+ 0x03a000b9: 27, // ar-LY
+ 0x03a000ba: 28, // ar-MA
+ 0x03a000c9: 29, // ar-MR
+ 0x03a000e1: 30, // ar-OM
+ 0x03a000ed: 31, // ar-PS
+ 0x03a000f3: 32, // ar-QA
+ 0x03a00108: 33, // ar-SA
+ 0x03a0010b: 34, // ar-SD
+ 0x03a00115: 35, // ar-SO
+ 0x03a00117: 36, // ar-SS
+ 0x03a0011c: 37, // ar-SY
+ 0x03a00120: 38, // ar-TD
+ 0x03a00128: 39, // ar-TN
+ 0x03a0015e: 40, // ar-YE
0x04000000: 41, // ars
0x04300000: 42, // as
- 0x04300098: 43, // as-IN
+ 0x04300099: 43, // as-IN
0x04400000: 44, // asa
- 0x0440012e: 45, // asa-TZ
+ 0x0440012f: 45, // asa-TZ
0x04800000: 46, // ast
- 0x0480006d: 47, // ast-ES
+ 0x0480006e: 47, // ast-ES
0x05800000: 48, // az
0x0581e000: 49, // az-Cyrl
- 0x0581e031: 50, // az-Cyrl-AZ
- 0x05852000: 51, // az-Latn
- 0x05852031: 52, // az-Latn-AZ
+ 0x0581e032: 50, // az-Cyrl-AZ
+ 0x05855000: 51, // az-Latn
+ 0x05855032: 52, // az-Latn-AZ
0x05e00000: 53, // bas
- 0x05e00051: 54, // bas-CM
+ 0x05e00052: 54, // bas-CM
0x07100000: 55, // be
- 0x07100046: 56, // be-BY
+ 0x07100047: 56, // be-BY
0x07500000: 57, // bem
- 0x07500161: 58, // bem-ZM
+ 0x07500162: 58, // bem-ZM
0x07900000: 59, // bez
- 0x0790012e: 60, // bez-TZ
+ 0x0790012f: 60, // bez-TZ
0x07e00000: 61, // bg
- 0x07e00037: 62, // bg-BG
+ 0x07e00038: 62, // bg-BG
0x08200000: 63, // bh
0x0a000000: 64, // bm
- 0x0a0000c2: 65, // bm-ML
+ 0x0a0000c3: 65, // bm-ML
0x0a500000: 66, // bn
- 0x0a500034: 67, // bn-BD
- 0x0a500098: 68, // bn-IN
+ 0x0a500035: 67, // bn-BD
+ 0x0a500099: 68, // bn-IN
0x0a900000: 69, // bo
- 0x0a900052: 70, // bo-CN
- 0x0a900098: 71, // bo-IN
+ 0x0a900053: 70, // bo-CN
+ 0x0a900099: 71, // bo-IN
0x0b200000: 72, // br
- 0x0b200077: 73, // br-FR
+ 0x0b200078: 73, // br-FR
0x0b500000: 74, // brx
- 0x0b500098: 75, // brx-IN
+ 0x0b500099: 75, // brx-IN
0x0b700000: 76, // bs
0x0b71e000: 77, // bs-Cyrl
- 0x0b71e032: 78, // bs-Cyrl-BA
- 0x0b752000: 79, // bs-Latn
- 0x0b752032: 80, // bs-Latn-BA
+ 0x0b71e033: 78, // bs-Cyrl-BA
+ 0x0b755000: 79, // bs-Latn
+ 0x0b755033: 80, // bs-Latn-BA
0x0d700000: 81, // ca
- 0x0d700021: 82, // ca-AD
- 0x0d70006d: 83, // ca-ES
- 0x0d700077: 84, // ca-FR
- 0x0d70009d: 85, // ca-IT
+ 0x0d700022: 82, // ca-AD
+ 0x0d70006e: 83, // ca-ES
+ 0x0d700078: 84, // ca-FR
+ 0x0d70009e: 85, // ca-IT
0x0dc00000: 86, // ce
- 0x0dc00105: 87, // ce-RU
+ 0x0dc00106: 87, // ce-RU
0x0df00000: 88, // cgg
- 0x0df00130: 89, // cgg-UG
+ 0x0df00131: 89, // cgg-UG
0x0e500000: 90, // chr
- 0x0e500134: 91, // chr-US
+ 0x0e500135: 91, // chr-US
0x0e900000: 92, // ckb
- 0x0e90009a: 93, // ckb-IQ
- 0x0e90009b: 94, // ckb-IR
+ 0x0e90009b: 93, // ckb-IQ
+ 0x0e90009c: 94, // ckb-IR
0x0f900000: 95, // cs
- 0x0f90005d: 96, // cs-CZ
+ 0x0f90005e: 96, // cs-CZ
0x0fd00000: 97, // cu
- 0x0fd00105: 98, // cu-RU
+ 0x0fd00106: 98, // cu-RU
0x0ff00000: 99, // cy
- 0x0ff0007a: 100, // cy-GB
+ 0x0ff0007b: 100, // cy-GB
0x10000000: 101, // da
- 0x10000062: 102, // da-DK
- 0x10000081: 103, // da-GL
+ 0x10000063: 102, // da-DK
+ 0x10000082: 103, // da-GL
0x10700000: 104, // dav
- 0x107000a3: 105, // dav-KE
+ 0x107000a4: 105, // dav-KE
0x10c00000: 106, // de
- 0x10c0002d: 107, // de-AT
- 0x10c00035: 108, // de-BE
- 0x10c0004d: 109, // de-CH
- 0x10c0005f: 110, // de-DE
- 0x10c0009d: 111, // de-IT
- 0x10c000b1: 112, // de-LI
- 0x10c000b6: 113, // de-LU
+ 0x10c0002e: 107, // de-AT
+ 0x10c00036: 108, // de-BE
+ 0x10c0004e: 109, // de-CH
+ 0x10c00060: 110, // de-DE
+ 0x10c0009e: 111, // de-IT
+ 0x10c000b2: 112, // de-LI
+ 0x10c000b7: 113, // de-LU
0x11600000: 114, // dje
- 0x116000d3: 115, // dje-NE
+ 0x116000d4: 115, // dje-NE
0x11e00000: 116, // dsb
- 0x11e0005f: 117, // dsb-DE
+ 0x11e00060: 117, // dsb-DE
0x12300000: 118, // dua
- 0x12300051: 119, // dua-CM
+ 0x12300052: 119, // dua-CM
0x12700000: 120, // dv
0x12a00000: 121, // dyo
- 0x12a00113: 122, // dyo-SN
+ 0x12a00114: 122, // dyo-SN
0x12c00000: 123, // dz
- 0x12c00042: 124, // dz-BT
+ 0x12c00043: 124, // dz-BT
0x12e00000: 125, // ebu
- 0x12e000a3: 126, // ebu-KE
+ 0x12e000a4: 126, // ebu-KE
0x12f00000: 127, // ee
- 0x12f0007f: 128, // ee-GH
- 0x12f00121: 129, // ee-TG
+ 0x12f00080: 128, // ee-GH
+ 0x12f00122: 129, // ee-TG
0x13500000: 130, // el
- 0x1350005c: 131, // el-CY
- 0x13500086: 132, // el-GR
+ 0x1350005d: 131, // el-CY
+ 0x13500087: 132, // el-GR
0x13800000: 133, // en
0x13800001: 134, // en-001
0x1380001a: 135, // en-150
- 0x13800024: 136, // en-AG
- 0x13800025: 137, // en-AI
- 0x1380002c: 138, // en-AS
- 0x1380002d: 139, // en-AT
- 0x1380002e: 140, // en-AU
- 0x13800033: 141, // en-BB
- 0x13800035: 142, // en-BE
- 0x13800039: 143, // en-BI
- 0x1380003c: 144, // en-BM
- 0x13800041: 145, // en-BS
- 0x13800045: 146, // en-BW
- 0x13800047: 147, // en-BZ
- 0x13800048: 148, // en-CA
- 0x13800049: 149, // en-CC
- 0x1380004d: 150, // en-CH
- 0x1380004f: 151, // en-CK
- 0x13800051: 152, // en-CM
- 0x1380005b: 153, // en-CX
- 0x1380005c: 154, // en-CY
- 0x1380005f: 155, // en-DE
- 0x13800060: 156, // en-DG
- 0x13800062: 157, // en-DK
- 0x13800063: 158, // en-DM
- 0x1380006c: 159, // en-ER
- 0x13800071: 160, // en-FI
- 0x13800072: 161, // en-FJ
- 0x13800073: 162, // en-FK
- 0x13800074: 163, // en-FM
- 0x1380007a: 164, // en-GB
- 0x1380007b: 165, // en-GD
- 0x1380007e: 166, // en-GG
- 0x1380007f: 167, // en-GH
- 0x13800080: 168, // en-GI
- 0x13800082: 169, // en-GM
- 0x13800089: 170, // en-GU
- 0x1380008b: 171, // en-GY
- 0x1380008c: 172, // en-HK
- 0x13800095: 173, // en-IE
- 0x13800096: 174, // en-IL
- 0x13800097: 175, // en-IM
- 0x13800098: 176, // en-IN
- 0x13800099: 177, // en-IO
- 0x1380009e: 178, // en-JE
- 0x1380009f: 179, // en-JM
- 0x138000a3: 180, // en-KE
- 0x138000a6: 181, // en-KI
- 0x138000a8: 182, // en-KN
- 0x138000ac: 183, // en-KY
- 0x138000b0: 184, // en-LC
- 0x138000b3: 185, // en-LR
- 0x138000b4: 186, // en-LS
- 0x138000be: 187, // en-MG
- 0x138000bf: 188, // en-MH
- 0x138000c5: 189, // en-MO
- 0x138000c6: 190, // en-MP
- 0x138000c9: 191, // en-MS
- 0x138000ca: 192, // en-MT
- 0x138000cb: 193, // en-MU
- 0x138000cd: 194, // en-MW
- 0x138000cf: 195, // en-MY
- 0x138000d1: 196, // en-NA
- 0x138000d4: 197, // en-NF
- 0x138000d5: 198, // en-NG
- 0x138000d8: 199, // en-NL
- 0x138000dc: 200, // en-NR
- 0x138000de: 201, // en-NU
- 0x138000df: 202, // en-NZ
- 0x138000e5: 203, // en-PG
- 0x138000e6: 204, // en-PH
- 0x138000e7: 205, // en-PK
- 0x138000ea: 206, // en-PN
- 0x138000eb: 207, // en-PR
- 0x138000ef: 208, // en-PW
- 0x13800106: 209, // en-RW
- 0x13800108: 210, // en-SB
- 0x13800109: 211, // en-SC
- 0x1380010a: 212, // en-SD
- 0x1380010b: 213, // en-SE
- 0x1380010c: 214, // en-SG
- 0x1380010d: 215, // en-SH
- 0x1380010e: 216, // en-SI
- 0x13800111: 217, // en-SL
- 0x13800116: 218, // en-SS
- 0x1380011a: 219, // en-SX
- 0x1380011c: 220, // en-SZ
- 0x1380011e: 221, // en-TC
- 0x13800124: 222, // en-TK
- 0x13800128: 223, // en-TO
- 0x1380012b: 224, // en-TT
- 0x1380012c: 225, // en-TV
- 0x1380012e: 226, // en-TZ
- 0x13800130: 227, // en-UG
- 0x13800132: 228, // en-UM
- 0x13800134: 229, // en-US
- 0x13800138: 230, // en-VC
- 0x1380013b: 231, // en-VG
- 0x1380013c: 232, // en-VI
- 0x1380013e: 233, // en-VU
- 0x13800141: 234, // en-WS
- 0x13800160: 235, // en-ZA
- 0x13800161: 236, // en-ZM
- 0x13800163: 237, // en-ZW
+ 0x13800025: 136, // en-AG
+ 0x13800026: 137, // en-AI
+ 0x1380002d: 138, // en-AS
+ 0x1380002e: 139, // en-AT
+ 0x1380002f: 140, // en-AU
+ 0x13800034: 141, // en-BB
+ 0x13800036: 142, // en-BE
+ 0x1380003a: 143, // en-BI
+ 0x1380003d: 144, // en-BM
+ 0x13800042: 145, // en-BS
+ 0x13800046: 146, // en-BW
+ 0x13800048: 147, // en-BZ
+ 0x13800049: 148, // en-CA
+ 0x1380004a: 149, // en-CC
+ 0x1380004e: 150, // en-CH
+ 0x13800050: 151, // en-CK
+ 0x13800052: 152, // en-CM
+ 0x1380005c: 153, // en-CX
+ 0x1380005d: 154, // en-CY
+ 0x13800060: 155, // en-DE
+ 0x13800061: 156, // en-DG
+ 0x13800063: 157, // en-DK
+ 0x13800064: 158, // en-DM
+ 0x1380006d: 159, // en-ER
+ 0x13800072: 160, // en-FI
+ 0x13800073: 161, // en-FJ
+ 0x13800074: 162, // en-FK
+ 0x13800075: 163, // en-FM
+ 0x1380007b: 164, // en-GB
+ 0x1380007c: 165, // en-GD
+ 0x1380007f: 166, // en-GG
+ 0x13800080: 167, // en-GH
+ 0x13800081: 168, // en-GI
+ 0x13800083: 169, // en-GM
+ 0x1380008a: 170, // en-GU
+ 0x1380008c: 171, // en-GY
+ 0x1380008d: 172, // en-HK
+ 0x13800096: 173, // en-IE
+ 0x13800097: 174, // en-IL
+ 0x13800098: 175, // en-IM
+ 0x13800099: 176, // en-IN
+ 0x1380009a: 177, // en-IO
+ 0x1380009f: 178, // en-JE
+ 0x138000a0: 179, // en-JM
+ 0x138000a4: 180, // en-KE
+ 0x138000a7: 181, // en-KI
+ 0x138000a9: 182, // en-KN
+ 0x138000ad: 183, // en-KY
+ 0x138000b1: 184, // en-LC
+ 0x138000b4: 185, // en-LR
+ 0x138000b5: 186, // en-LS
+ 0x138000bf: 187, // en-MG
+ 0x138000c0: 188, // en-MH
+ 0x138000c6: 189, // en-MO
+ 0x138000c7: 190, // en-MP
+ 0x138000ca: 191, // en-MS
+ 0x138000cb: 192, // en-MT
+ 0x138000cc: 193, // en-MU
+ 0x138000ce: 194, // en-MW
+ 0x138000d0: 195, // en-MY
+ 0x138000d2: 196, // en-NA
+ 0x138000d5: 197, // en-NF
+ 0x138000d6: 198, // en-NG
+ 0x138000d9: 199, // en-NL
+ 0x138000dd: 200, // en-NR
+ 0x138000df: 201, // en-NU
+ 0x138000e0: 202, // en-NZ
+ 0x138000e6: 203, // en-PG
+ 0x138000e7: 204, // en-PH
+ 0x138000e8: 205, // en-PK
+ 0x138000eb: 206, // en-PN
+ 0x138000ec: 207, // en-PR
+ 0x138000f0: 208, // en-PW
+ 0x13800107: 209, // en-RW
+ 0x13800109: 210, // en-SB
+ 0x1380010a: 211, // en-SC
+ 0x1380010b: 212, // en-SD
+ 0x1380010c: 213, // en-SE
+ 0x1380010d: 214, // en-SG
+ 0x1380010e: 215, // en-SH
+ 0x1380010f: 216, // en-SI
+ 0x13800112: 217, // en-SL
+ 0x13800117: 218, // en-SS
+ 0x1380011b: 219, // en-SX
+ 0x1380011d: 220, // en-SZ
+ 0x1380011f: 221, // en-TC
+ 0x13800125: 222, // en-TK
+ 0x13800129: 223, // en-TO
+ 0x1380012c: 224, // en-TT
+ 0x1380012d: 225, // en-TV
+ 0x1380012f: 226, // en-TZ
+ 0x13800131: 227, // en-UG
+ 0x13800133: 228, // en-UM
+ 0x13800135: 229, // en-US
+ 0x13800139: 230, // en-VC
+ 0x1380013c: 231, // en-VG
+ 0x1380013d: 232, // en-VI
+ 0x1380013f: 233, // en-VU
+ 0x13800142: 234, // en-WS
+ 0x13800161: 235, // en-ZA
+ 0x13800162: 236, // en-ZM
+ 0x13800164: 237, // en-ZW
0x13b00000: 238, // eo
0x13b00001: 239, // eo-001
0x13d00000: 240, // es
- 0x13d0001e: 241, // es-419
- 0x13d0002b: 242, // es-AR
- 0x13d0003e: 243, // es-BO
- 0x13d00040: 244, // es-BR
- 0x13d00047: 245, // es-BZ
- 0x13d00050: 246, // es-CL
- 0x13d00053: 247, // es-CO
- 0x13d00055: 248, // es-CR
- 0x13d00058: 249, // es-CU
- 0x13d00064: 250, // es-DO
- 0x13d00067: 251, // es-EA
- 0x13d00068: 252, // es-EC
- 0x13d0006d: 253, // es-ES
- 0x13d00085: 254, // es-GQ
- 0x13d00088: 255, // es-GT
- 0x13d0008e: 256, // es-HN
- 0x13d00093: 257, // es-IC
- 0x13d000ce: 258, // es-MX
- 0x13d000d7: 259, // es-NI
- 0x13d000e1: 260, // es-PA
- 0x13d000e3: 261, // es-PE
- 0x13d000e6: 262, // es-PH
- 0x13d000eb: 263, // es-PR
- 0x13d000f0: 264, // es-PY
- 0x13d00119: 265, // es-SV
- 0x13d00134: 266, // es-US
- 0x13d00135: 267, // es-UY
- 0x13d0013a: 268, // es-VE
+ 0x13d0001f: 241, // es-419
+ 0x13d0002c: 242, // es-AR
+ 0x13d0003f: 243, // es-BO
+ 0x13d00041: 244, // es-BR
+ 0x13d00048: 245, // es-BZ
+ 0x13d00051: 246, // es-CL
+ 0x13d00054: 247, // es-CO
+ 0x13d00056: 248, // es-CR
+ 0x13d00059: 249, // es-CU
+ 0x13d00065: 250, // es-DO
+ 0x13d00068: 251, // es-EA
+ 0x13d00069: 252, // es-EC
+ 0x13d0006e: 253, // es-ES
+ 0x13d00086: 254, // es-GQ
+ 0x13d00089: 255, // es-GT
+ 0x13d0008f: 256, // es-HN
+ 0x13d00094: 257, // es-IC
+ 0x13d000cf: 258, // es-MX
+ 0x13d000d8: 259, // es-NI
+ 0x13d000e2: 260, // es-PA
+ 0x13d000e4: 261, // es-PE
+ 0x13d000e7: 262, // es-PH
+ 0x13d000ec: 263, // es-PR
+ 0x13d000f1: 264, // es-PY
+ 0x13d0011a: 265, // es-SV
+ 0x13d00135: 266, // es-US
+ 0x13d00136: 267, // es-UY
+ 0x13d0013b: 268, // es-VE
0x13f00000: 269, // et
- 0x13f00069: 270, // et-EE
+ 0x13f0006a: 270, // et-EE
0x14400000: 271, // eu
- 0x1440006d: 272, // eu-ES
+ 0x1440006e: 272, // eu-ES
0x14500000: 273, // ewo
- 0x14500051: 274, // ewo-CM
+ 0x14500052: 274, // ewo-CM
0x14700000: 275, // fa
- 0x14700023: 276, // fa-AF
- 0x1470009b: 277, // fa-IR
+ 0x14700024: 276, // fa-AF
+ 0x1470009c: 277, // fa-IR
0x14d00000: 278, // ff
- 0x14d00051: 279, // ff-CM
- 0x14d00083: 280, // ff-GN
- 0x14d000c8: 281, // ff-MR
- 0x14d00113: 282, // ff-SN
+ 0x14d00052: 279, // ff-CM
+ 0x14d00084: 280, // ff-GN
+ 0x14d000c9: 281, // ff-MR
+ 0x14d00114: 282, // ff-SN
0x15000000: 283, // fi
- 0x15000071: 284, // fi-FI
+ 0x15000072: 284, // fi-FI
0x15200000: 285, // fil
- 0x152000e6: 286, // fil-PH
+ 0x152000e7: 286, // fil-PH
0x15700000: 287, // fo
- 0x15700062: 288, // fo-DK
- 0x15700075: 289, // fo-FO
+ 0x15700063: 288, // fo-DK
+ 0x15700076: 289, // fo-FO
0x15d00000: 290, // fr
- 0x15d00035: 291, // fr-BE
- 0x15d00036: 292, // fr-BF
- 0x15d00039: 293, // fr-BI
- 0x15d0003a: 294, // fr-BJ
- 0x15d0003b: 295, // fr-BL
- 0x15d00048: 296, // fr-CA
- 0x15d0004a: 297, // fr-CD
- 0x15d0004b: 298, // fr-CF
- 0x15d0004c: 299, // fr-CG
- 0x15d0004d: 300, // fr-CH
- 0x15d0004e: 301, // fr-CI
- 0x15d00051: 302, // fr-CM
- 0x15d00061: 303, // fr-DJ
- 0x15d00066: 304, // fr-DZ
- 0x15d00077: 305, // fr-FR
- 0x15d00079: 306, // fr-GA
- 0x15d0007d: 307, // fr-GF
- 0x15d00083: 308, // fr-GN
- 0x15d00084: 309, // fr-GP
- 0x15d00085: 310, // fr-GQ
- 0x15d00090: 311, // fr-HT
- 0x15d000a7: 312, // fr-KM
- 0x15d000b6: 313, // fr-LU
- 0x15d000b9: 314, // fr-MA
- 0x15d000ba: 315, // fr-MC
- 0x15d000bd: 316, // fr-MF
- 0x15d000be: 317, // fr-MG
- 0x15d000c2: 318, // fr-ML
- 0x15d000c7: 319, // fr-MQ
- 0x15d000c8: 320, // fr-MR
- 0x15d000cb: 321, // fr-MU
- 0x15d000d2: 322, // fr-NC
- 0x15d000d3: 323, // fr-NE
- 0x15d000e4: 324, // fr-PF
- 0x15d000e9: 325, // fr-PM
- 0x15d00101: 326, // fr-RE
- 0x15d00106: 327, // fr-RW
- 0x15d00109: 328, // fr-SC
- 0x15d00113: 329, // fr-SN
- 0x15d0011b: 330, // fr-SY
- 0x15d0011f: 331, // fr-TD
- 0x15d00121: 332, // fr-TG
- 0x15d00127: 333, // fr-TN
- 0x15d0013e: 334, // fr-VU
- 0x15d0013f: 335, // fr-WF
- 0x15d0015e: 336, // fr-YT
+ 0x15d00036: 291, // fr-BE
+ 0x15d00037: 292, // fr-BF
+ 0x15d0003a: 293, // fr-BI
+ 0x15d0003b: 294, // fr-BJ
+ 0x15d0003c: 295, // fr-BL
+ 0x15d00049: 296, // fr-CA
+ 0x15d0004b: 297, // fr-CD
+ 0x15d0004c: 298, // fr-CF
+ 0x15d0004d: 299, // fr-CG
+ 0x15d0004e: 300, // fr-CH
+ 0x15d0004f: 301, // fr-CI
+ 0x15d00052: 302, // fr-CM
+ 0x15d00062: 303, // fr-DJ
+ 0x15d00067: 304, // fr-DZ
+ 0x15d00078: 305, // fr-FR
+ 0x15d0007a: 306, // fr-GA
+ 0x15d0007e: 307, // fr-GF
+ 0x15d00084: 308, // fr-GN
+ 0x15d00085: 309, // fr-GP
+ 0x15d00086: 310, // fr-GQ
+ 0x15d00091: 311, // fr-HT
+ 0x15d000a8: 312, // fr-KM
+ 0x15d000b7: 313, // fr-LU
+ 0x15d000ba: 314, // fr-MA
+ 0x15d000bb: 315, // fr-MC
+ 0x15d000be: 316, // fr-MF
+ 0x15d000bf: 317, // fr-MG
+ 0x15d000c3: 318, // fr-ML
+ 0x15d000c8: 319, // fr-MQ
+ 0x15d000c9: 320, // fr-MR
+ 0x15d000cc: 321, // fr-MU
+ 0x15d000d3: 322, // fr-NC
+ 0x15d000d4: 323, // fr-NE
+ 0x15d000e5: 324, // fr-PF
+ 0x15d000ea: 325, // fr-PM
+ 0x15d00102: 326, // fr-RE
+ 0x15d00107: 327, // fr-RW
+ 0x15d0010a: 328, // fr-SC
+ 0x15d00114: 329, // fr-SN
+ 0x15d0011c: 330, // fr-SY
+ 0x15d00120: 331, // fr-TD
+ 0x15d00122: 332, // fr-TG
+ 0x15d00128: 333, // fr-TN
+ 0x15d0013f: 334, // fr-VU
+ 0x15d00140: 335, // fr-WF
+ 0x15d0015f: 336, // fr-YT
0x16800000: 337, // fur
- 0x1680009d: 338, // fur-IT
+ 0x1680009e: 338, // fur-IT
0x16c00000: 339, // fy
- 0x16c000d8: 340, // fy-NL
+ 0x16c000d9: 340, // fy-NL
0x16d00000: 341, // ga
- 0x16d00095: 342, // ga-IE
+ 0x16d00096: 342, // ga-IE
0x17c00000: 343, // gd
- 0x17c0007a: 344, // gd-GB
+ 0x17c0007b: 344, // gd-GB
0x18e00000: 345, // gl
- 0x18e0006d: 346, // gl-ES
+ 0x18e0006e: 346, // gl-ES
0x1a100000: 347, // gsw
- 0x1a10004d: 348, // gsw-CH
- 0x1a100077: 349, // gsw-FR
- 0x1a1000b1: 350, // gsw-LI
+ 0x1a10004e: 348, // gsw-CH
+ 0x1a100078: 349, // gsw-FR
+ 0x1a1000b2: 350, // gsw-LI
0x1a200000: 351, // gu
- 0x1a200098: 352, // gu-IN
+ 0x1a200099: 352, // gu-IN
0x1a700000: 353, // guw
0x1a900000: 354, // guz
- 0x1a9000a3: 355, // guz-KE
+ 0x1a9000a4: 355, // guz-KE
0x1aa00000: 356, // gv
- 0x1aa00097: 357, // gv-IM
+ 0x1aa00098: 357, // gv-IM
0x1b200000: 358, // ha
- 0x1b20007f: 359, // ha-GH
- 0x1b2000d3: 360, // ha-NE
- 0x1b2000d5: 361, // ha-NG
+ 0x1b200080: 359, // ha-GH
+ 0x1b2000d4: 360, // ha-NE
+ 0x1b2000d6: 361, // ha-NG
0x1b600000: 362, // haw
- 0x1b600134: 363, // haw-US
+ 0x1b600135: 363, // haw-US
0x1ba00000: 364, // he
- 0x1ba00096: 365, // he-IL
+ 0x1ba00097: 365, // he-IL
0x1bc00000: 366, // hi
- 0x1bc00098: 367, // hi-IN
+ 0x1bc00099: 367, // hi-IN
0x1cf00000: 368, // hr
- 0x1cf00032: 369, // hr-BA
- 0x1cf0008f: 370, // hr-HR
+ 0x1cf00033: 369, // hr-BA
+ 0x1cf00090: 370, // hr-HR
0x1d000000: 371, // hsb
- 0x1d00005f: 372, // hsb-DE
+ 0x1d000060: 372, // hsb-DE
0x1d300000: 373, // hu
- 0x1d300091: 374, // hu-HU
+ 0x1d300092: 374, // hu-HU
0x1d500000: 375, // hy
- 0x1d500027: 376, // hy-AM
+ 0x1d500028: 376, // hy-AM
0x1df00000: 377, // id
- 0x1df00094: 378, // id-ID
+ 0x1df00095: 378, // id-ID
0x1e500000: 379, // ig
- 0x1e5000d5: 380, // ig-NG
+ 0x1e5000d6: 380, // ig-NG
0x1e800000: 381, // ii
- 0x1e800052: 382, // ii-CN
+ 0x1e800053: 382, // ii-CN
0x1f600000: 383, // is
- 0x1f60009c: 384, // is-IS
+ 0x1f60009d: 384, // is-IS
0x1f700000: 385, // it
- 0x1f70004d: 386, // it-CH
- 0x1f70009d: 387, // it-IT
- 0x1f700112: 388, // it-SM
- 0x1f700137: 389, // it-VA
+ 0x1f70004e: 386, // it-CH
+ 0x1f70009e: 387, // it-IT
+ 0x1f700113: 388, // it-SM
+ 0x1f700138: 389, // it-VA
0x1f800000: 390, // iu
0x1fe00000: 391, // ja
- 0x1fe000a1: 392, // ja-JP
+ 0x1fe000a2: 392, // ja-JP
0x20100000: 393, // jbo
0x20500000: 394, // jgo
- 0x20500051: 395, // jgo-CM
+ 0x20500052: 395, // jgo-CM
0x20800000: 396, // jmc
- 0x2080012e: 397, // jmc-TZ
+ 0x2080012f: 397, // jmc-TZ
0x20c00000: 398, // jv
0x20e00000: 399, // ka
- 0x20e0007c: 400, // ka-GE
+ 0x20e0007d: 400, // ka-GE
0x21000000: 401, // kab
- 0x21000066: 402, // kab-DZ
+ 0x21000067: 402, // kab-DZ
0x21400000: 403, // kaj
0x21500000: 404, // kam
- 0x215000a3: 405, // kam-KE
+ 0x215000a4: 405, // kam-KE
0x21d00000: 406, // kcg
0x22100000: 407, // kde
- 0x2210012e: 408, // kde-TZ
+ 0x2210012f: 408, // kde-TZ
0x22500000: 409, // kea
- 0x22500059: 410, // kea-CV
+ 0x2250005a: 410, // kea-CV
0x23200000: 411, // khq
- 0x232000c2: 412, // khq-ML
+ 0x232000c3: 412, // khq-ML
0x23700000: 413, // ki
- 0x237000a3: 414, // ki-KE
+ 0x237000a4: 414, // ki-KE
0x24000000: 415, // kk
- 0x240000ad: 416, // kk-KZ
+ 0x240000ae: 416, // kk-KZ
0x24200000: 417, // kkj
- 0x24200051: 418, // kkj-CM
+ 0x24200052: 418, // kkj-CM
0x24300000: 419, // kl
- 0x24300081: 420, // kl-GL
+ 0x24300082: 420, // kl-GL
0x24400000: 421, // kln
- 0x244000a3: 422, // kln-KE
+ 0x244000a4: 422, // kln-KE
0x24800000: 423, // km
- 0x248000a5: 424, // km-KH
+ 0x248000a6: 424, // km-KH
0x24f00000: 425, // kn
- 0x24f00098: 426, // kn-IN
+ 0x24f00099: 426, // kn-IN
0x25200000: 427, // ko
- 0x252000a9: 428, // ko-KP
- 0x252000aa: 429, // ko-KR
+ 0x252000aa: 428, // ko-KP
+ 0x252000ab: 429, // ko-KR
0x25400000: 430, // kok
- 0x25400098: 431, // kok-IN
+ 0x25400099: 431, // kok-IN
0x26800000: 432, // ks
- 0x26800098: 433, // ks-IN
+ 0x26800099: 433, // ks-IN
0x26900000: 434, // ksb
- 0x2690012e: 435, // ksb-TZ
+ 0x2690012f: 435, // ksb-TZ
0x26b00000: 436, // ksf
- 0x26b00051: 437, // ksf-CM
+ 0x26b00052: 437, // ksf-CM
0x26c00000: 438, // ksh
- 0x26c0005f: 439, // ksh-DE
+ 0x26c00060: 439, // ksh-DE
0x27200000: 440, // ku
0x27f00000: 441, // kw
- 0x27f0007a: 442, // kw-GB
+ 0x27f0007b: 442, // kw-GB
0x28800000: 443, // ky
- 0x288000a4: 444, // ky-KG
+ 0x288000a5: 444, // ky-KG
0x28f00000: 445, // lag
- 0x28f0012e: 446, // lag-TZ
+ 0x28f0012f: 446, // lag-TZ
0x29300000: 447, // lb
- 0x293000b6: 448, // lb-LU
+ 0x293000b7: 448, // lb-LU
0x2a100000: 449, // lg
- 0x2a100130: 450, // lg-UG
+ 0x2a100131: 450, // lg-UG
0x2ad00000: 451, // lkt
- 0x2ad00134: 452, // lkt-US
+ 0x2ad00135: 452, // lkt-US
0x2b300000: 453, // ln
- 0x2b300029: 454, // ln-AO
- 0x2b30004a: 455, // ln-CD
- 0x2b30004b: 456, // ln-CF
- 0x2b30004c: 457, // ln-CG
+ 0x2b30002a: 454, // ln-AO
+ 0x2b30004b: 455, // ln-CD
+ 0x2b30004c: 456, // ln-CF
+ 0x2b30004d: 457, // ln-CG
0x2b600000: 458, // lo
- 0x2b6000ae: 459, // lo-LA
+ 0x2b6000af: 459, // lo-LA
0x2bd00000: 460, // lrc
- 0x2bd0009a: 461, // lrc-IQ
- 0x2bd0009b: 462, // lrc-IR
+ 0x2bd0009b: 461, // lrc-IQ
+ 0x2bd0009c: 462, // lrc-IR
0x2be00000: 463, // lt
- 0x2be000b5: 464, // lt-LT
+ 0x2be000b6: 464, // lt-LT
0x2c000000: 465, // lu
- 0x2c00004a: 466, // lu-CD
+ 0x2c00004b: 466, // lu-CD
0x2c200000: 467, // luo
- 0x2c2000a3: 468, // luo-KE
+ 0x2c2000a4: 468, // luo-KE
0x2c300000: 469, // luy
- 0x2c3000a3: 470, // luy-KE
+ 0x2c3000a4: 470, // luy-KE
0x2c500000: 471, // lv
- 0x2c5000b7: 472, // lv-LV
+ 0x2c5000b8: 472, // lv-LV
0x2cf00000: 473, // mas
- 0x2cf000a3: 474, // mas-KE
- 0x2cf0012e: 475, // mas-TZ
+ 0x2cf000a4: 474, // mas-KE
+ 0x2cf0012f: 475, // mas-TZ
0x2e700000: 476, // mer
- 0x2e7000a3: 477, // mer-KE
+ 0x2e7000a4: 477, // mer-KE
0x2eb00000: 478, // mfe
- 0x2eb000cb: 479, // mfe-MU
+ 0x2eb000cc: 479, // mfe-MU
0x2ef00000: 480, // mg
- 0x2ef000be: 481, // mg-MG
+ 0x2ef000bf: 481, // mg-MG
0x2f000000: 482, // mgh
- 0x2f0000d0: 483, // mgh-MZ
+ 0x2f0000d1: 483, // mgh-MZ
0x2f200000: 484, // mgo
- 0x2f200051: 485, // mgo-CM
+ 0x2f200052: 485, // mgo-CM
0x2fd00000: 486, // mk
- 0x2fd000c1: 487, // mk-MK
+ 0x2fd000c2: 487, // mk-MK
0x30200000: 488, // ml
- 0x30200098: 489, // ml-IN
+ 0x30200099: 489, // ml-IN
0x30900000: 490, // mn
- 0x309000c4: 491, // mn-MN
+ 0x309000c5: 491, // mn-MN
0x31900000: 492, // mr
- 0x31900098: 493, // mr-IN
+ 0x31900099: 493, // mr-IN
0x31d00000: 494, // ms
- 0x31d0003d: 495, // ms-BN
- 0x31d000cf: 496, // ms-MY
- 0x31d0010c: 497, // ms-SG
+ 0x31d0003e: 495, // ms-BN
+ 0x31d000d0: 496, // ms-MY
+ 0x31d0010d: 497, // ms-SG
0x31e00000: 498, // mt
- 0x31e000ca: 499, // mt-MT
+ 0x31e000cb: 499, // mt-MT
0x32300000: 500, // mua
- 0x32300051: 501, // mua-CM
+ 0x32300052: 501, // mua-CM
0x32f00000: 502, // my
- 0x32f000c3: 503, // my-MM
+ 0x32f000c4: 503, // my-MM
0x33800000: 504, // mzn
- 0x3380009b: 505, // mzn-IR
+ 0x3380009c: 505, // mzn-IR
0x33f00000: 506, // nah
0x34300000: 507, // naq
- 0x343000d1: 508, // naq-NA
+ 0x343000d2: 508, // naq-NA
0x34500000: 509, // nb
- 0x345000d9: 510, // nb-NO
- 0x3450010f: 511, // nb-SJ
+ 0x345000da: 510, // nb-NO
+ 0x34500110: 511, // nb-SJ
0x34c00000: 512, // nd
- 0x34c00163: 513, // nd-ZW
+ 0x34c00164: 513, // nd-ZW
0x34e00000: 514, // nds
- 0x34e0005f: 515, // nds-DE
- 0x34e000d8: 516, // nds-NL
+ 0x34e00060: 515, // nds-DE
+ 0x34e000d9: 516, // nds-NL
0x34f00000: 517, // ne
- 0x34f00098: 518, // ne-IN
- 0x34f000da: 519, // ne-NP
+ 0x34f00099: 518, // ne-IN
+ 0x34f000db: 519, // ne-NP
0x36500000: 520, // nl
- 0x3650002f: 521, // nl-AW
- 0x36500035: 522, // nl-BE
- 0x3650003f: 523, // nl-BQ
- 0x3650005a: 524, // nl-CW
- 0x365000d8: 525, // nl-NL
- 0x36500115: 526, // nl-SR
- 0x3650011a: 527, // nl-SX
+ 0x36500030: 521, // nl-AW
+ 0x36500036: 522, // nl-BE
+ 0x36500040: 523, // nl-BQ
+ 0x3650005b: 524, // nl-CW
+ 0x365000d9: 525, // nl-NL
+ 0x36500116: 526, // nl-SR
+ 0x3650011b: 527, // nl-SX
0x36600000: 528, // nmg
- 0x36600051: 529, // nmg-CM
+ 0x36600052: 529, // nmg-CM
0x36800000: 530, // nn
- 0x368000d9: 531, // nn-NO
+ 0x368000da: 531, // nn-NO
0x36a00000: 532, // nnh
- 0x36a00051: 533, // nnh-CM
+ 0x36a00052: 533, // nnh-CM
0x36d00000: 534, // no
0x37300000: 535, // nqo
0x37400000: 536, // nr
0x37800000: 537, // nso
0x37e00000: 538, // nus
- 0x37e00116: 539, // nus-SS
+ 0x37e00117: 539, // nus-SS
0x38500000: 540, // ny
0x38700000: 541, // nyn
- 0x38700130: 542, // nyn-UG
+ 0x38700131: 542, // nyn-UG
0x38e00000: 543, // om
- 0x38e0006e: 544, // om-ET
- 0x38e000a3: 545, // om-KE
+ 0x38e0006f: 544, // om-ET
+ 0x38e000a4: 545, // om-KE
0x39300000: 546, // or
- 0x39300098: 547, // or-IN
+ 0x39300099: 547, // or-IN
0x39600000: 548, // os
- 0x3960007c: 549, // os-GE
- 0x39600105: 550, // os-RU
+ 0x3960007d: 549, // os-GE
+ 0x39600106: 550, // os-RU
0x39b00000: 551, // pa
0x39b05000: 552, // pa-Arab
- 0x39b050e7: 553, // pa-Arab-PK
- 0x39b2f000: 554, // pa-Guru
- 0x39b2f098: 555, // pa-Guru-IN
+ 0x39b050e8: 553, // pa-Arab-PK
+ 0x39b32000: 554, // pa-Guru
+ 0x39b32099: 555, // pa-Guru-IN
0x39f00000: 556, // pap
0x3b100000: 557, // pl
- 0x3b1000e8: 558, // pl-PL
+ 0x3b1000e9: 558, // pl-PL
0x3bb00000: 559, // prg
0x3bb00001: 560, // prg-001
0x3bc00000: 561, // ps
- 0x3bc00023: 562, // ps-AF
+ 0x3bc00024: 562, // ps-AF
0x3be00000: 563, // pt
- 0x3be00029: 564, // pt-AO
- 0x3be00040: 565, // pt-BR
- 0x3be0004d: 566, // pt-CH
- 0x3be00059: 567, // pt-CV
- 0x3be00085: 568, // pt-GQ
- 0x3be0008a: 569, // pt-GW
- 0x3be000b6: 570, // pt-LU
- 0x3be000c5: 571, // pt-MO
- 0x3be000d0: 572, // pt-MZ
- 0x3be000ed: 573, // pt-PT
- 0x3be00117: 574, // pt-ST
- 0x3be00125: 575, // pt-TL
+ 0x3be0002a: 564, // pt-AO
+ 0x3be00041: 565, // pt-BR
+ 0x3be0004e: 566, // pt-CH
+ 0x3be0005a: 567, // pt-CV
+ 0x3be00086: 568, // pt-GQ
+ 0x3be0008b: 569, // pt-GW
+ 0x3be000b7: 570, // pt-LU
+ 0x3be000c6: 571, // pt-MO
+ 0x3be000d1: 572, // pt-MZ
+ 0x3be000ee: 573, // pt-PT
+ 0x3be00118: 574, // pt-ST
+ 0x3be00126: 575, // pt-TL
0x3c200000: 576, // qu
- 0x3c20003e: 577, // qu-BO
- 0x3c200068: 578, // qu-EC
- 0x3c2000e3: 579, // qu-PE
+ 0x3c20003f: 577, // qu-BO
+ 0x3c200069: 578, // qu-EC
+ 0x3c2000e4: 579, // qu-PE
0x3d200000: 580, // rm
- 0x3d20004d: 581, // rm-CH
+ 0x3d20004e: 581, // rm-CH
0x3d700000: 582, // rn
- 0x3d700039: 583, // rn-BI
+ 0x3d70003a: 583, // rn-BI
0x3da00000: 584, // ro
- 0x3da000bb: 585, // ro-MD
- 0x3da00103: 586, // ro-RO
+ 0x3da000bc: 585, // ro-MD
+ 0x3da00104: 586, // ro-RO
0x3dc00000: 587, // rof
- 0x3dc0012e: 588, // rof-TZ
+ 0x3dc0012f: 588, // rof-TZ
0x3e000000: 589, // ru
- 0x3e000046: 590, // ru-BY
- 0x3e0000a4: 591, // ru-KG
- 0x3e0000ad: 592, // ru-KZ
- 0x3e0000bb: 593, // ru-MD
- 0x3e000105: 594, // ru-RU
- 0x3e00012f: 595, // ru-UA
+ 0x3e000047: 590, // ru-BY
+ 0x3e0000a5: 591, // ru-KG
+ 0x3e0000ae: 592, // ru-KZ
+ 0x3e0000bc: 593, // ru-MD
+ 0x3e000106: 594, // ru-RU
+ 0x3e000130: 595, // ru-UA
0x3e300000: 596, // rw
- 0x3e300106: 597, // rw-RW
+ 0x3e300107: 597, // rw-RW
0x3e400000: 598, // rwk
- 0x3e40012e: 599, // rwk-TZ
+ 0x3e40012f: 599, // rwk-TZ
0x3e900000: 600, // sah
- 0x3e900105: 601, // sah-RU
+ 0x3e900106: 601, // sah-RU
0x3ea00000: 602, // saq
- 0x3ea000a3: 603, // saq-KE
+ 0x3ea000a4: 603, // saq-KE
0x3f100000: 604, // sbp
- 0x3f10012e: 605, // sbp-TZ
+ 0x3f10012f: 605, // sbp-TZ
0x3fa00000: 606, // sdh
0x3fb00000: 607, // se
- 0x3fb00071: 608, // se-FI
- 0x3fb000d9: 609, // se-NO
- 0x3fb0010b: 610, // se-SE
+ 0x3fb00072: 608, // se-FI
+ 0x3fb000da: 609, // se-NO
+ 0x3fb0010c: 610, // se-SE
0x3fd00000: 611, // seh
- 0x3fd000d0: 612, // seh-MZ
+ 0x3fd000d1: 612, // seh-MZ
0x3ff00000: 613, // ses
- 0x3ff000c2: 614, // ses-ML
+ 0x3ff000c3: 614, // ses-ML
0x40000000: 615, // sg
- 0x4000004b: 616, // sg-CF
+ 0x4000004c: 616, // sg-CF
0x40600000: 617, // shi
- 0x40652000: 618, // shi-Latn
- 0x406520b9: 619, // shi-Latn-MA
- 0x406d2000: 620, // shi-Tfng
- 0x406d20b9: 621, // shi-Tfng-MA
+ 0x40655000: 618, // shi-Latn
+ 0x406550ba: 619, // shi-Latn-MA
+ 0x406d8000: 620, // shi-Tfng
+ 0x406d80ba: 621, // shi-Tfng-MA
0x40a00000: 622, // si
- 0x40a000b2: 623, // si-LK
+ 0x40a000b3: 623, // si-LK
0x41000000: 624, // sk
- 0x41000110: 625, // sk-SK
+ 0x41000111: 625, // sk-SK
0x41400000: 626, // sl
- 0x4140010e: 627, // sl-SI
+ 0x4140010f: 627, // sl-SI
0x41a00000: 628, // sma
0x41b00000: 629, // smi
0x41c00000: 630, // smj
0x41d00000: 631, // smn
- 0x41d00071: 632, // smn-FI
+ 0x41d00072: 632, // smn-FI
0x42000000: 633, // sms
0x42100000: 634, // sn
- 0x42100163: 635, // sn-ZW
+ 0x42100164: 635, // sn-ZW
0x42700000: 636, // so
- 0x42700061: 637, // so-DJ
- 0x4270006e: 638, // so-ET
- 0x427000a3: 639, // so-KE
- 0x42700114: 640, // so-SO
+ 0x42700062: 637, // so-DJ
+ 0x4270006f: 638, // so-ET
+ 0x427000a4: 639, // so-KE
+ 0x42700115: 640, // so-SO
0x42f00000: 641, // sq
- 0x42f00026: 642, // sq-AL
- 0x42f000c1: 643, // sq-MK
- 0x42f0014c: 644, // sq-XK
+ 0x42f00027: 642, // sq-AL
+ 0x42f000c2: 643, // sq-MK
+ 0x42f0014d: 644, // sq-XK
0x43000000: 645, // sr
0x4301e000: 646, // sr-Cyrl
- 0x4301e032: 647, // sr-Cyrl-BA
- 0x4301e0bc: 648, // sr-Cyrl-ME
- 0x4301e104: 649, // sr-Cyrl-RS
- 0x4301e14c: 650, // sr-Cyrl-XK
- 0x43052000: 651, // sr-Latn
- 0x43052032: 652, // sr-Latn-BA
- 0x430520bc: 653, // sr-Latn-ME
- 0x43052104: 654, // sr-Latn-RS
- 0x4305214c: 655, // sr-Latn-XK
+ 0x4301e033: 647, // sr-Cyrl-BA
+ 0x4301e0bd: 648, // sr-Cyrl-ME
+ 0x4301e105: 649, // sr-Cyrl-RS
+ 0x4301e14d: 650, // sr-Cyrl-XK
+ 0x43055000: 651, // sr-Latn
+ 0x43055033: 652, // sr-Latn-BA
+ 0x430550bd: 653, // sr-Latn-ME
+ 0x43055105: 654, // sr-Latn-RS
+ 0x4305514d: 655, // sr-Latn-XK
0x43500000: 656, // ss
0x43800000: 657, // ssy
0x43900000: 658, // st
0x44200000: 659, // sv
- 0x44200030: 660, // sv-AX
- 0x44200071: 661, // sv-FI
- 0x4420010b: 662, // sv-SE
+ 0x44200031: 660, // sv-AX
+ 0x44200072: 661, // sv-FI
+ 0x4420010c: 662, // sv-SE
0x44300000: 663, // sw
- 0x4430004a: 664, // sw-CD
- 0x443000a3: 665, // sw-KE
- 0x4430012e: 666, // sw-TZ
- 0x44300130: 667, // sw-UG
+ 0x4430004b: 664, // sw-CD
+ 0x443000a4: 665, // sw-KE
+ 0x4430012f: 666, // sw-TZ
+ 0x44300131: 667, // sw-UG
0x44c00000: 668, // syr
0x44e00000: 669, // ta
- 0x44e00098: 670, // ta-IN
- 0x44e000b2: 671, // ta-LK
- 0x44e000cf: 672, // ta-MY
- 0x44e0010c: 673, // ta-SG
+ 0x44e00099: 670, // ta-IN
+ 0x44e000b3: 671, // ta-LK
+ 0x44e000d0: 672, // ta-MY
+ 0x44e0010d: 673, // ta-SG
0x45f00000: 674, // te
- 0x45f00098: 675, // te-IN
+ 0x45f00099: 675, // te-IN
0x46200000: 676, // teo
- 0x462000a3: 677, // teo-KE
- 0x46200130: 678, // teo-UG
+ 0x462000a4: 677, // teo-KE
+ 0x46200131: 678, // teo-UG
0x46900000: 679, // th
- 0x46900122: 680, // th-TH
+ 0x46900123: 680, // th-TH
0x46d00000: 681, // ti
- 0x46d0006c: 682, // ti-ER
- 0x46d0006e: 683, // ti-ET
+ 0x46d0006d: 682, // ti-ER
+ 0x46d0006f: 683, // ti-ET
0x46f00000: 684, // tig
0x47400000: 685, // tk
- 0x47400126: 686, // tk-TM
+ 0x47400127: 686, // tk-TM
0x47e00000: 687, // tn
0x48000000: 688, // to
- 0x48000128: 689, // to-TO
+ 0x48000129: 689, // to-TO
0x48800000: 690, // tr
- 0x4880005c: 691, // tr-CY
- 0x4880012a: 692, // tr-TR
+ 0x4880005d: 691, // tr-CY
+ 0x4880012b: 692, // tr-TR
0x48c00000: 693, // ts
0x4a200000: 694, // twq
- 0x4a2000d3: 695, // twq-NE
+ 0x4a2000d4: 695, // twq-NE
0x4a700000: 696, // tzm
- 0x4a7000b9: 697, // tzm-MA
+ 0x4a7000ba: 697, // tzm-MA
0x4aa00000: 698, // ug
- 0x4aa00052: 699, // ug-CN
+ 0x4aa00053: 699, // ug-CN
0x4ac00000: 700, // uk
- 0x4ac0012f: 701, // uk-UA
+ 0x4ac00130: 701, // uk-UA
0x4b200000: 702, // ur
- 0x4b200098: 703, // ur-IN
- 0x4b2000e7: 704, // ur-PK
+ 0x4b200099: 703, // ur-IN
+ 0x4b2000e8: 704, // ur-PK
0x4ba00000: 705, // uz
0x4ba05000: 706, // uz-Arab
- 0x4ba05023: 707, // uz-Arab-AF
+ 0x4ba05024: 707, // uz-Arab-AF
0x4ba1e000: 708, // uz-Cyrl
- 0x4ba1e136: 709, // uz-Cyrl-UZ
- 0x4ba52000: 710, // uz-Latn
- 0x4ba52136: 711, // uz-Latn-UZ
+ 0x4ba1e137: 709, // uz-Cyrl-UZ
+ 0x4ba55000: 710, // uz-Latn
+ 0x4ba55137: 711, // uz-Latn-UZ
0x4bc00000: 712, // vai
- 0x4bc52000: 713, // vai-Latn
- 0x4bc520b3: 714, // vai-Latn-LR
- 0x4bcd9000: 715, // vai-Vaii
- 0x4bcd90b3: 716, // vai-Vaii-LR
+ 0x4bc55000: 713, // vai-Latn
+ 0x4bc550b4: 714, // vai-Latn-LR
+ 0x4bcdf000: 715, // vai-Vaii
+ 0x4bcdf0b4: 716, // vai-Vaii-LR
0x4be00000: 717, // ve
0x4c100000: 718, // vi
- 0x4c10013d: 719, // vi-VN
+ 0x4c10013e: 719, // vi-VN
0x4c700000: 720, // vo
0x4c700001: 721, // vo-001
0x4ca00000: 722, // vun
- 0x4ca0012e: 723, // vun-TZ
+ 0x4ca0012f: 723, // vun-TZ
0x4cc00000: 724, // wa
0x4cd00000: 725, // wae
- 0x4cd0004d: 726, // wae-CH
+ 0x4cd0004e: 726, // wae-CH
0x4e300000: 727, // wo
0x4f000000: 728, // xh
0x4f900000: 729, // xog
- 0x4f900130: 730, // xog-UG
+ 0x4f900131: 730, // xog-UG
0x50700000: 731, // yav
- 0x50700051: 732, // yav-CM
+ 0x50700052: 732, // yav-CM
0x51000000: 733, // yi
0x51000001: 734, // yi-001
0x51600000: 735, // yo
- 0x5160003a: 736, // yo-BJ
- 0x516000d5: 737, // yo-NG
+ 0x5160003b: 736, // yo-BJ
+ 0x516000d6: 737, // yo-NG
0x51d00000: 738, // yue
- 0x51d0008c: 739, // yue-HK
+ 0x51d0008d: 739, // yue-HK
0x52600000: 740, // zgh
- 0x526000b9: 741, // zgh-MA
+ 0x526000ba: 741, // zgh-MA
0x52700000: 742, // zh
- 0x52734000: 743, // zh-Hans
- 0x52734052: 744, // zh-Hans-CN
- 0x5273408c: 745, // zh-Hans-HK
- 0x527340c5: 746, // zh-Hans-MO
- 0x5273410c: 747, // zh-Hans-SG
- 0x52735000: 748, // zh-Hant
- 0x5273508c: 749, // zh-Hant-HK
- 0x527350c5: 750, // zh-Hant-MO
- 0x5273512d: 751, // zh-Hant-TW
+ 0x52737000: 743, // zh-Hans
+ 0x52737053: 744, // zh-Hans-CN
+ 0x5273708d: 745, // zh-Hans-HK
+ 0x527370c6: 746, // zh-Hans-MO
+ 0x5273710d: 747, // zh-Hans-SG
+ 0x52738000: 748, // zh-Hant
+ 0x5273808d: 749, // zh-Hant-HK
+ 0x527380c6: 750, // zh-Hant-MO
+ 0x5273812e: 751, // zh-Hant-TW
0x52c00000: 752, // zu
- 0x52c00160: 753, // zu-ZA
+ 0x52c00161: 753, // zu-ZA
}
// Total table size 4592 bytes (4KiB); checksum: C25F8AFF
diff --git a/vendor/golang.org/x/text/language/language.go b/vendor/golang.org/x/text/language/language.go
index f1012c952..ed1011f18 100644
--- a/vendor/golang.org/x/text/language/language.go
+++ b/vendor/golang.org/x/text/language/language.go
@@ -5,102 +5,7 @@
//go:generate go run gen.go gen_common.go -output tables.go
//go:generate go run gen_index.go
-// Package language implements BCP 47 language tags and related functionality.
-//
-// The Tag type, which is used to represent languages, is agnostic to the
-// meaning of its subtags. Tags are not fully canonicalized to preserve
-// information that may be valuable in certain contexts. As a consequence, two
-// different tags may represent identical languages.
-//
-// Initializing language- or locale-specific components usually consists of
-// two steps. The first step is to select a display language based on the
-// preferred languages of the user and the languages supported by an application.
-// The second step is to create the language-specific services based on
-// this selection. Each is discussed in more details below.
-//
-// Matching preferred against supported languages
-//
-// An application may support various languages. This list is typically limited
-// by the languages for which there exists translations of the user interface.
-// Similarly, a user may provide a list of preferred languages which is limited
-// by the languages understood by this user.
-// An application should use a Matcher to find the best supported language based
-// on the user's preferred list.
-// Matchers are aware of the intricacies of equivalence between languages.
-// The default Matcher implementation takes into account things such as
-// deprecated subtags, legacy tags, and mutual intelligibility between scripts
-// and languages.
-//
-// A Matcher for English, Australian English, Danish, and standard Mandarin can
-// be defined as follows:
-//
-// var matcher = language.NewMatcher([]language.Tag{
-// language.English, // The first language is used as fallback.
-// language.MustParse("en-AU"),
-// language.Danish,
-// language.Chinese,
-// })
-//
-// The following code selects the best match for someone speaking Spanish and
-// Norwegian:
-//
-// preferred := []language.Tag{ language.Spanish, language.Norwegian }
-// tag, _, _ := matcher.Match(preferred...)
-//
-// In this case, the best match is Danish, as Danish is sufficiently a match to
-// Norwegian to not have to fall back to the default.
-// See ParseAcceptLanguage on how to handle the Accept-Language HTTP header.
-//
-// Selecting language-specific services
-//
-// One should always use the Tag returned by the Matcher to create an instance
-// of any of the language-specific services provided by the text repository.
-// This prevents the mixing of languages, such as having a different language for
-// messages and display names, as well as improper casing or sorting order for
-// the selected language.
-// Using the returned Tag also allows user-defined settings, such as collation
-// order or numbering system to be transparently passed as options.
-//
-// If you have language-specific data in your application, however, it will in
-// most cases suffice to use the index returned by the matcher to identify
-// the user language.
-// The following loop provides an alternative in case this is not sufficient:
-//
-// supported := map[language.Tag]data{
-// language.English: enData,
-// language.MustParse("en-AU"): enAUData,
-// language.Danish: daData,
-// language.Chinese: zhData,
-// }
-// tag, _, _ := matcher.Match(preferred...)
-// for ; tag != language.Und; tag = tag.Parent() {
-// if v, ok := supported[tag]; ok {
-// return v
-// }
-// }
-// return enData // should not reach here
-//
-// Repeatedly taking the Parent of the tag returned by Match will eventually
-// match one of the tags used to initialize the Matcher.
-//
-// Canonicalization
-//
-// By default, only legacy and deprecated tags are converted into their
-// canonical equivalent. All other information is preserved. This approach makes
-// the confidence scores more accurate and allows matchers to distinguish
-// between variants that are otherwise lost.
-//
-// As a consequence, two tags that should be treated as identical according to
-// BCP 47 or CLDR, like "en-Latn" and "en", will be represented differently. The
-// Matchers will handle such distinctions, though, and are aware of the
-// equivalence relations. The CanonType type can be used to alter the
-// canonicalization form.
-//
-// References
-//
-// BCP 47 - Tags for Identifying Languages
-// http://tools.ietf.org/html/bcp47
-package language // import "golang.org/x/text/language"
+package language
// TODO: Remove above NOTE after:
// - verifying that tables are dropped correctly (most notably matcher tables).
diff --git a/vendor/golang.org/x/text/language/match.go b/vendor/golang.org/x/text/language/match.go
index 63bc744a3..15b74d125 100644
--- a/vendor/golang.org/x/text/language/match.go
+++ b/vendor/golang.org/x/text/language/match.go
@@ -16,6 +16,29 @@ func PreferSameScript(preferSame bool) MatchOption {
return func(m *matcher) { m.preferSameScript = preferSame }
}
+// TODO(v1.0.0): consider making Matcher a concrete type, instead of interface.
+// There doesn't seem to be too much need for multiple types.
+// Making it a concrete type allows MatchStrings to be a method, which will
+// improve its discoverability.
+
+// MatchStrings parses and matches the given strings until one of them matches
+// the language in the Matcher. A string may be an Accept-Language header as
+// handled by ParseAcceptLanguage. The default language is returned if no
+// other language matched.
+func MatchStrings(m Matcher, lang ...string) (tag Tag, index int) {
+ for _, accept := range lang {
+ desired, _, err := ParseAcceptLanguage(accept)
+ if err != nil {
+ continue
+ }
+ if tag, index, conf := m.Match(desired...); conf != No {
+ return tag, index
+ }
+ }
+ tag, index, _ = m.Match()
+ return
+}
+
// Matcher is the interface that wraps the Match method.
//
// Match returns the best match for any of the given tags, along with
@@ -83,9 +106,8 @@ func (m *matcher) Match(want ...Tag) (t Tag, index int, c Confidence) {
// to do after the fact, so we do it here.
// TODO: add in alternative variants to -u-va-.
// TODO: add preferred region to -u-rg-.
- // TODO: add other extensions. Merge with existing extensions.
- if u, ok := w.Extension('u'); ok {
- t, _ = Raw.Compose(t, u)
+ if e := w.Extensions(); len(e) > 0 {
+ t, _ = Raw.Compose(t, e)
}
return t, index, c
}
@@ -122,7 +144,7 @@ var ErrMissingLikelyTagsData = errors.New("missing likely tags data")
// addLikelySubtags sets subtags to their most likely value, given the locale.
// In most cases this means setting fields for unknown values, but in some
-// cases it may alter a value. It returns a ErrMissingLikelyTagsData error
+// cases it may alter a value. It returns an ErrMissingLikelyTagsData error
// if the given locale cannot be expanded.
func (t Tag) addLikelySubtags() (Tag, error) {
id, err := addTags(t)
@@ -331,8 +353,9 @@ func minimizeTags(t Tag) (Tag, error) {
// 1) compute the match between the two tags.
// 2) if the match is better than the previous best match, replace it
// with the new match. (see next section)
-// b) if the current best match is above a certain threshold, return this
-// match without proceeding to the next tag in "desired". [See Note 1]
+// b) if the current best match is Exact and pin is true the result will be
+// frozen to the language found thusfar, although better matches may
+// still be found for the same language.
// 3) If the best match so far is below a certain threshold, return "default".
//
// Ranking:
@@ -381,9 +404,6 @@ func minimizeTags(t Tag) (Tag, error) {
// found wins.
//
// Notes:
-// [1] Note that even if we may not have a perfect match, if a match is above a
-// certain threshold, it is considered a better match than any other match
-// to a tag later in the list of preferred language tags.
// [2] In practice, as matching of Exact is done in a separate phase from
// matching the other levels, we reuse the Exact level to mean MaxExact in
// the second phase. As a consequence, we only need the levels defined by
@@ -429,8 +449,8 @@ type matcher struct {
// matchHeader has the lists of tags for exact matches and matches based on
// maximized and canonicalized tags for a given language.
type matchHeader struct {
- exact []*haveTag
- max []*haveTag
+ haveTags []*haveTag
+ original bool
}
// haveTag holds a supported Tag and its maximized script and region. The maximized
@@ -460,7 +480,7 @@ type haveTag struct {
func makeHaveTag(tag Tag, index int) (haveTag, langID) {
max := tag
- if tag.lang != 0 {
+ if tag.lang != 0 || tag.region != 0 || tag.script != 0 {
max, _ = max.canonicalize(All)
max, _ = addTags(max)
max.remakeString()
@@ -485,29 +505,27 @@ func altScript(l langID, s scriptID) scriptID {
// addIfNew adds a haveTag to the list of tags only if it is a unique tag.
// Tags that have the same maximized values are linked by index.
func (h *matchHeader) addIfNew(n haveTag, exact bool) {
+ h.original = h.original || exact
// Don't add new exact matches.
- for _, v := range h.exact {
+ for _, v := range h.haveTags {
if v.tag.equalsRest(n.tag) {
return
}
}
- if exact {
- h.exact = append(h.exact, &n)
- }
// Allow duplicate maximized tags, but create a linked list to allow quickly
// comparing the equivalents and bail out.
- for i, v := range h.max {
+ for i, v := range h.haveTags {
if v.maxScript == n.maxScript &&
v.maxRegion == n.maxRegion &&
v.tag.variantOrPrivateTagStr() == n.tag.variantOrPrivateTagStr() {
- for h.max[i].nextMax != 0 {
- i = int(h.max[i].nextMax)
+ for h.haveTags[i].nextMax != 0 {
+ i = int(h.haveTags[i].nextMax)
}
- h.max[i].nextMax = uint16(len(h.max))
+ h.haveTags[i].nextMax = uint16(len(h.haveTags))
break
}
}
- h.max = append(h.max, &n)
+ h.haveTags = append(h.haveTags, &n)
}
// header returns the matchHeader for the given language. It creates one if
@@ -553,27 +571,26 @@ func newMatcher(supported []Tag, options []MatchOption) *matcher {
m.header(tag.lang).addIfNew(pair, true)
m.supported = append(m.supported, &pair)
}
- m.default_ = m.header(supported[0].lang).exact[0]
+ m.default_ = m.header(supported[0].lang).haveTags[0]
+ // Keep these in two different loops to support the case that two equivalent
+ // languages are distinguished, such as iw and he.
for i, tag := range supported {
pair, max := makeHaveTag(tag, i)
if max != tag.lang {
- m.header(max).addIfNew(pair, false)
+ m.header(max).addIfNew(pair, true)
}
}
- // TODO: include alt script.
- // - don't replace regions, but allow regions to be made more specific.
-
// update is used to add indexes in the map for equivalent languages.
- // If force is true, the update will also apply to derived entries. To
- // avoid applying a "transitive closure", use false.
- update := func(want, have uint16, conf Confidence, force bool) {
+ // update will only add entries to original indexes, thus not computing any
+ // transitive relations.
+ update := func(want, have uint16, conf Confidence) {
if hh := m.index[langID(have)]; hh != nil {
- if !force && len(hh.exact) == 0 {
+ if !hh.original {
return
}
hw := m.header(langID(want))
- for _, ht := range hh.max {
+ for _, ht := range hh.haveTags {
v := *ht
if conf < v.conf {
v.conf = conf
@@ -582,7 +599,7 @@ func newMatcher(supported []Tag, options []MatchOption) *matcher {
if v.altScript != 0 {
v.altScript = altScript(langID(want), v.maxScript)
}
- hw.addIfNew(v, conf == Exact && len(hh.exact) > 0)
+ hw.addIfNew(v, conf == Exact && hh.original)
}
}
}
@@ -590,9 +607,9 @@ func newMatcher(supported []Tag, options []MatchOption) *matcher {
// Add entries for languages with mutual intelligibility as defined by CLDR's
// languageMatch data.
for _, ml := range matchLang {
- update(ml.want, ml.have, toConf(ml.distance), false)
+ update(ml.want, ml.have, toConf(ml.distance))
if !ml.oneway {
- update(ml.have, ml.want, toConf(ml.distance), false)
+ update(ml.have, ml.want, toConf(ml.distance))
}
}
@@ -602,10 +619,6 @@ func newMatcher(supported []Tag, options []MatchOption) *matcher {
// (their canonicalization simply substitutes a different language code, but
// nothing else), the match confidence is Exact, otherwise it is High.
for i, lm := range langAliasMap {
- if lm.from == _sh {
- continue
- }
-
// If deprecated codes match and there is no fiddling with the script or
// or region, we consider it an exact match.
conf := Exact
@@ -613,9 +626,9 @@ func newMatcher(supported []Tag, options []MatchOption) *matcher {
if !isExactEquivalent(langID(lm.from)) {
conf = High
}
- update(lm.to, lm.from, conf, true)
+ update(lm.to, lm.from, conf)
}
- update(lm.from, lm.to, conf, true)
+ update(lm.from, lm.to, conf)
}
return m
}
@@ -624,28 +637,29 @@ func newMatcher(supported []Tag, options []MatchOption) *matcher {
// account the order of preference of the given tags.
func (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) {
best := bestMatch{}
- for _, w := range want {
+ for i, w := range want {
var max Tag
// Check for exact match first.
h := m.index[w.lang]
if w.lang != 0 {
- // Base language is defined.
if h == nil {
continue
}
- for i := range h.exact {
- have := h.exact[i]
- if have.tag.equalsRest(w) {
- return have, w, Exact
- }
+ // Base language is defined.
+ max, _ = w.canonicalize(Legacy | Deprecated | Macro)
+ // A region that is added through canonicalization is stronger than
+ // a maximized region: set it in the original (e.g. mo -> ro-MD).
+ if w.region != max.region {
+ w.region = max.region
}
- max, _ = w.canonicalize(Legacy | Deprecated)
+ // TODO: should we do the same for scripts?
+ // See test case: en, sr, nl ; sh ; sr
max, _ = addTags(max)
} else {
// Base language is not defined.
if h != nil {
- for i := range h.exact {
- have := h.exact[i]
+ for i := range h.haveTags {
+ have := h.haveTags[i]
if have.tag.equalsRest(w) {
return have, w, Exact
}
@@ -661,16 +675,23 @@ func (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) {
continue
}
}
+ pin := true
+ for _, t := range want[i+1:] {
+ if w.lang == t.lang {
+ pin = false
+ break
+ }
+ }
// Check for match based on maximized tag.
- for i := range h.max {
- have := h.max[i]
- best.update(have, w, max.script, max.region)
+ for i := range h.haveTags {
+ have := h.haveTags[i]
+ best.update(have, w, max.script, max.region, pin)
if best.conf == Exact {
for have.nextMax != 0 {
- have = h.max[have.nextMax]
- best.update(have, w, max.script, max.region)
+ have = h.haveTags[have.nextMax]
+ best.update(have, w, max.script, max.region, pin)
}
- return best.have, best.want, High
+ return best.have, best.want, best.conf
}
}
}
@@ -685,43 +706,68 @@ func (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) {
// bestMatch accumulates the best match so far.
type bestMatch struct {
- have *haveTag
- want Tag
- conf Confidence
+ have *haveTag
+ want Tag
+ conf Confidence
+ pinnedRegion regionID
+ pinLanguage bool
+ sameRegionGroup bool
// Cached results from applying tie-breaking rules.
origLang bool
origReg bool
+ paradigmReg bool
regGroupDist uint8
- regDist uint8
origScript bool
- parentDist uint8 // 255 if have is not an ancestor of want tag.
}
// update updates the existing best match if the new pair is considered to be a
-// better match.
-// To determine if the given pair is a better match, it first computes the rough
-// confidence level. If this surpasses the current match, it will replace it and
-// update the tie-breaker rule cache. If there is a tie, it proceeds with applying
-// a series of tie-breaker rules. If there is no conclusive winner after applying
-// the tie-breaker rules, it leaves the current match as the preferred match.
-func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion regionID) {
+// better match. To determine if the given pair is a better match, it first
+// computes the rough confidence level. If this surpasses the current match, it
+// will replace it and update the tie-breaker rule cache. If there is a tie, it
+// proceeds with applying a series of tie-breaker rules. If there is no
+// conclusive winner after applying the tie-breaker rules, it leaves the current
+// match as the preferred match.
+//
+// If pin is true and have and tag are a strong match, it will henceforth only
+// consider matches for this language. This corresponds to the nothing that most
+// users have a strong preference for the first defined language. A user can
+// still prefer a second language over a dialect of the preferred language by
+// explicitly specifying dialects, e.g. "en, nl, en-GB". In this case pin should
+// be false.
+func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion regionID, pin bool) {
// Bail if the maximum attainable confidence is below that of the current best match.
c := have.conf
if c < m.conf {
return
}
- if have.maxScript != maxScript {
+ // Don't change the language once we already have found an exact match.
+ if m.pinLanguage && tag.lang != m.want.lang {
+ return
+ }
+ // Pin the region group if we are comparing tags for the same language.
+ if tag.lang == m.want.lang && m.sameRegionGroup {
+ _, sameGroup := regionGroupDist(m.pinnedRegion, have.maxRegion, have.maxScript, m.want.lang)
+ if !sameGroup {
+ return
+ }
+ }
+ if c == Exact && have.maxScript == maxScript {
+ // If there is another language and then another entry of this language,
+ // don't pin anything, otherwise pin the language.
+ m.pinLanguage = pin
+ }
+ if have.tag.equalsRest(tag) {
+ } else if have.maxScript != maxScript {
// There is usually very little comprehension between different scripts.
- // In a few cases there may still be Low comprehension. This possibility is
- // pre-computed and stored in have.altScript.
+ // In a few cases there may still be Low comprehension. This possibility
+ // is pre-computed and stored in have.altScript.
if Low < m.conf || have.altScript != maxScript {
return
}
c = Low
} else if have.maxRegion != maxRegion {
- // There is usually a small difference between languages across regions.
- // We use the region distance (below) to disambiguate between equal matches.
if High < c {
+ // There is usually a small difference between languages across regions.
c = High
}
}
@@ -748,14 +794,6 @@ func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion
beaten = true
}
- regGroupDist := regionGroupDist(have.maxRegion, maxRegion, maxScript, tag.lang)
- if !beaten && m.regGroupDist != regGroupDist {
- if regGroupDist > m.regGroupDist {
- return
- }
- beaten = true
- }
-
// We prefer if the pre-maximized region was specified and identical.
origReg := have.tag.region == tag.region && tag.region != 0
if !beaten && m.origReg != origReg {
@@ -765,45 +803,26 @@ func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion
beaten = true
}
- // TODO: remove the region distance rule. Region distance has been replaced
- // by the region grouping rule. For now we leave it as it still seems to
- // have a net positive effect when applied after the grouping rule.
- // Possible solutions:
- // - apply the primary locale rule first to effectively disable region
- // region distance if groups are defined.
- // - express the following errors in terms of grouping (if possible)
- // - find another method of handling the following cases.
- // maximization of legacy: find mo in
- // "sr-Cyrl, sr-Latn, ro, ro-MD": have ro; want ro-MD (High)
- // region distance French: find fr-US in
- // "en, fr, fr-CA, fr-CH": have fr; want fr-CA (High)
-
- // Next we prefer smaller distances between regions, as defined by
- // regionDist.
- regDist := uint8(regionDistance(have.maxRegion, maxRegion))
- if !beaten && m.regDist != regDist {
- if regDist > m.regDist {
+ regGroupDist, sameGroup := regionGroupDist(have.maxRegion, maxRegion, maxScript, tag.lang)
+ if !beaten && m.regGroupDist != regGroupDist {
+ if regGroupDist > m.regGroupDist {
return
}
beaten = true
}
- // Next we prefer if the pre-maximized script was specified and identical.
- origScript := have.tag.script == tag.script && tag.script != 0
- if !beaten && m.origScript != origScript {
- if m.origScript {
+ paradigmReg := isParadigmLocale(tag.lang, have.maxRegion)
+ if !beaten && m.paradigmReg != paradigmReg {
+ if !paradigmReg {
return
}
beaten = true
}
- // Finally we prefer tags which have a closer parent relationship.
- // TODO: the parent relationship no longer seems necessary. It doesn't hurt
- // to leave it in as the final tie-breaker, though, especially until the
- // grouping data has further matured.
- parentDist := parentDistance(have.tag.region, tag)
- if !beaten && m.parentDist != parentDist {
- if parentDist > m.parentDist {
+ // Next we prefer if the pre-maximized script was specified and identical.
+ origScript := have.tag.script == tag.script && tag.script != 0
+ if !beaten && m.origScript != origScript {
+ if m.origScript {
return
}
beaten = true
@@ -814,35 +833,30 @@ func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion
m.have = have
m.want = tag
m.conf = c
+ m.pinnedRegion = maxRegion
+ m.sameRegionGroup = sameGroup
m.origLang = origLang
m.origReg = origReg
+ m.paradigmReg = paradigmReg
m.origScript = origScript
m.regGroupDist = regGroupDist
- m.regDist = regDist
- m.parentDist = parentDist
}
}
-// parentDistance returns the number of times Parent must be called before the
-// regions match. It is assumed that it has already been checked that lang and
-// script are identical. If haveRegion does not occur in the ancestor chain of
-// tag, it returns 255.
-func parentDistance(haveRegion regionID, tag Tag) uint8 {
- p := tag.Parent()
- d := uint8(1)
- for haveRegion != p.region {
- if p.region == 0 {
- return 255
+func isParadigmLocale(lang langID, r regionID) bool {
+ for _, e := range paradigmLocales {
+ if langID(e[0]) == lang && (r == regionID(e[1]) || r == regionID(e[2])) {
+ return true
}
- p = p.Parent()
- d++
}
- return d
+ return false
}
// regionGroupDist computes the distance between two regions based on their
// CLDR grouping.
-func regionGroupDist(a, b regionID, script scriptID, lang langID) uint8 {
+func regionGroupDist(a, b regionID, script scriptID, lang langID) (dist uint8, same bool) {
+ const defaultDistance = 4
+
aGroup := uint(regionToGroups[a]) << 1
bGroup := uint(regionToGroups[b]) << 1
for _, ri := range matchRegion {
@@ -850,40 +864,16 @@ func regionGroupDist(a, b regionID, script scriptID, lang langID) uint8 {
group := uint(1 << (ri.group &^ 0x80))
if 0x80&ri.group == 0 {
if aGroup&bGroup&group != 0 { // Both regions are in the group.
- return ri.distance
+ return ri.distance, ri.distance == defaultDistance
}
} else {
if (aGroup|bGroup)&group == 0 { // Both regions are not in the group.
- return ri.distance
+ return ri.distance, ri.distance == defaultDistance
}
}
}
}
- const defaultDistance = 4
- return defaultDistance
-}
-
-// regionDistance computes the distance between two regions based on the
-// distance in the graph of region containments as defined in CLDR. It iterates
-// over increasingly inclusive sets of groups, represented as bit vectors, until
-// the source bit vector has bits in common with the destination vector.
-func regionDistance(a, b regionID) int {
- if a == b {
- return 0
- }
- p, q := regionInclusion[a], regionInclusion[b]
- if p < nRegionGroups {
- p, q = q, p
- }
- set := regionInclusionBits
- if q < nRegionGroups && set[p]&(1<<q) != 0 {
- return 1
- }
- d := 2
- for goal := set[q]; set[p]&goal == 0; p = regionInclusionNext[p] {
- d++
- }
- return d
+ return defaultDistance, true
}
func (t Tag) variants() string {
@@ -930,4 +920,14 @@ func init() {
notEquivalent = append(notEquivalent, langID(lm.from))
}
}
+ // Maximize undefined regions of paradigm locales.
+ for i, v := range paradigmLocales {
+ max, _ := addTags(Tag{lang: langID(v[0])})
+ if v[1] == 0 {
+ paradigmLocales[i][1] = uint16(max.region)
+ }
+ if v[2] == 0 {
+ paradigmLocales[i][2] = uint16(max.region)
+ }
+ }
}
diff --git a/vendor/golang.org/x/text/language/match_test.go b/vendor/golang.org/x/text/language/match_test.go
index 4fb56a025..8b60b07a3 100644
--- a/vendor/golang.org/x/text/language/match_test.go
+++ b/vendor/golang.org/x/text/language/match_test.go
@@ -10,6 +10,7 @@ import (
"fmt"
"os"
"path"
+ "path/filepath"
"strings"
"testing"
@@ -19,39 +20,42 @@ import (
var verbose = flag.Bool("verbose", false, "set to true to print the internal tables of matchers")
-func TestCLDRCompliance(t *testing.T) {
- r, err := os.Open("testdata/localeMatcherTest.txt")
- if err != nil {
- t.Fatal(err)
- }
- ucd.Parse(r, func(p *ucd.Parser) {
- name := strings.Replace(path.Join(p.String(0), p.String(1)), " ", "", -1)
- if skip[name] {
- return
+func TestCompliance(t *testing.T) {
+ filepath.Walk("testdata", func(file string, info os.FileInfo, err error) error {
+ if info.IsDir() {
+ return nil
}
- t.Run(name, func(t *testing.T) {
- supported := makeTagList(p.String(0))
- desired := makeTagList(p.String(1))
- gotCombined, index, _ := NewMatcher(supported).Match(desired...)
-
- gotMatch := supported[index]
- wantMatch := Make(p.String(2))
- if gotMatch != wantMatch {
- t.Fatalf("match: got %q; want %q", gotMatch, wantMatch)
- }
- wantCombined, err := Parse(p.String(3))
- if err == nil && gotCombined != wantCombined {
- t.Errorf("combined: got %q; want %q", gotCombined, wantCombined)
+ r, err := os.Open(file)
+ if err != nil {
+ t.Fatal(err)
+ }
+ ucd.Parse(r, func(p *ucd.Parser) {
+ name := strings.Replace(path.Join(p.String(0), p.String(1)), " ", "", -1)
+ if skip[name] {
+ return
}
+ t.Run(info.Name()+"/"+name, func(t *testing.T) {
+ supported := makeTagList(p.String(0))
+ desired := makeTagList(p.String(1))
+ gotCombined, index, conf := NewMatcher(supported).Match(desired...)
+
+ gotMatch := supported[index]
+ wantMatch := mk(p.String(2))
+ if gotMatch != wantMatch {
+ t.Fatalf("match: got %q; want %q (%v)", gotMatch, wantMatch, conf)
+ }
+ wantCombined, err := Raw.Parse(p.String(3))
+ if err == nil && gotCombined != wantCombined {
+ t.Errorf("combined: got %q; want %q (%v)", gotCombined, wantCombined, conf)
+ }
+ })
})
+ return nil
})
}
var skip = map[string]bool{
// TODO: bugs
- // und-<region> is not expanded to the appropriate language.
- "en-Hant-TW,und-TW/zh-Hant": true, // match: got "en-Hant-TW"; want "und-TW"
- "en-Hant-TW,und-TW/zh": true, // match: got "en-Hant-TW"; want "und-TW"
// Honor the wildcard match. This may only be useful to select non-exact
// stuff.
"mul,af/nl": true, // match: got "af"; want "mul"
@@ -63,15 +67,6 @@ var skip = map[string]bool{
// Inconsistencies with Mark Davis' implementation where it is not clear
// which is better.
- // Go prefers exact matches over less exact preferred ones.
- // Preferring desired ones might be better.
- "en,de,fr,ja/de-CH,fr": true, // match: got "fr"; want "de"
- "en-GB,en,de,fr,ja/de-CH,fr": true, // match: got "fr"; want "de"
- "pt-PT,pt-BR,es,es-419/pt-US,pt-PT": true, // match: got "pt-PT"; want "pt-BR"
- "pt-PT,pt,es,es-419/pt-US,pt-PT,pt": true, // match: got "pt-PT"; want "pt"
- "en,sv/en-GB,sv": true, // match: got "sv"; want "en"
- "en-NZ,en-IT/en-US": true, // match: got "en-IT"; want "en-NZ"
-
// Inconsistencies in combined. I think the Go approach is more appropriate.
// We could use -u-rg- and -u-va- as alternative.
"und,fr/fr-BE-fonipa": true, // combined: got "fr"; want "fr-BE-fonipa"
@@ -80,20 +75,8 @@ var skip = map[string]bool{
"und,no/nn-BE-fonipa": true, // combined: got "no"; want "no-BE-fonipa"
"50,und,fr-CA-fonupa/fr-BE-fonipa": true, // combined: got "fr-CA-fonupa"; want "fr-BE-fonipa"
- // Spec says prefer primary locales. But what is the benefit? Shouldn't
- // the developer just not specify the primary locale first in the list?
- // TODO: consider adding a SortByPreferredLocale function to ensure tags
- // are ordered such that the preferred locale rule is observed.
- // TODO: most of these cases are solved by getting rid of the region
- // distance tie-breaker rule (see comments there).
- "und,es,es-MA,es-MX,es-419/es-EA": true, // match: got "es-MA"; want "es"
- "und,es-MA,es,es-419,es-MX/es-EA": true, // match: got "es-MA"; want "es"
- "und,en,en-GU,en-IN,en-GB/en-ZA": true, // match: got "en-IN"; want "en-GB"
- "und,en,en-GU,en-IN,en-GB/en-VI": true, // match: got "en-GU"; want "en"
- "und,en-GU,en,en-GB,en-IN/en-VI": true, // match: got "en-GU"; want "en"
-
- // Falling back to the default seems more appropriate than falling back
- // on a language with the same script.
+ // The initial number is a threshold. As we don't use scoring, we will not
+ // implement this.
"50,und,fr-Cyrl-CA-fonupa/fr-BE-fonipa": true,
// match: got "und"; want "fr-Cyrl-CA-fonupa"
// combined: got "und"; want "fr-Cyrl-BE-fonipa"
@@ -106,11 +89,65 @@ var skip = map[string]bool{
func makeTagList(s string) (tags []Tag) {
for _, s := range strings.Split(s, ",") {
- tags = append(tags, Make(strings.TrimSpace(s)))
+ tags = append(tags, mk(strings.TrimSpace(s)))
}
return tags
}
+func TestMatchStrings(t *testing.T) {
+ testCases := []struct {
+ supported string
+ desired string // strings separted by |
+ tag string
+ index int
+ }{{
+ supported: "en",
+ desired: "",
+ tag: "en",
+ index: 0,
+ }, {
+ supported: "en",
+ desired: "nl",
+ tag: "en",
+ index: 0,
+ }, {
+ supported: "en,nl",
+ desired: "nl",
+ tag: "nl",
+ index: 1,
+ }, {
+ supported: "en,nl",
+ desired: "nl|en",
+ tag: "nl",
+ index: 1,
+ }, {
+ supported: "en-GB,nl",
+ desired: "en ; q=0.1,nl",
+ tag: "nl",
+ index: 1,
+ }, {
+ supported: "en-GB,nl",
+ desired: "en;q=0.005 | dk; q=0.1,nl ",
+ tag: "en-GB",
+ index: 0,
+ }, {
+ // do not match faulty tags with und
+ supported: "en,und",
+ desired: "|en",
+ tag: "en",
+ index: 0,
+ }}
+ for _, tc := range testCases {
+ t.Run(path.Join(tc.supported, tc.desired), func(t *testing.T) {
+ m := NewMatcher(makeTagList(tc.supported))
+ tag, index := MatchStrings(m, strings.Split(tc.desired, "|")...)
+ if tag.String() != tc.tag || index != tc.index {
+ t.Errorf("got %v, %d; want %v, %d", tag, index, tc.tag, tc.index)
+ }
+ })
+ }
+}
+
func TestAddLikelySubtags(t *testing.T) {
tests := []struct{ in, out string }{
{"aa", "aa-Latn-ET"},
@@ -132,6 +169,7 @@ func TestAddLikelySubtags(t *testing.T) {
{"und-YT", "fr-Latn-YT"},
{"und-Arab", "ar-Arab-EG"},
{"und-AM", "hy-Armn-AM"},
+ {"und-TW", "zh-Hant-TW"},
{"und-002", "en-Latn-NG"},
{"und-Latn-002", "en-Latn-NG"},
{"en-Latn-002", "en-Latn-NG"},
@@ -266,6 +304,12 @@ func TestRegionGroups(t *testing.T) {
}{
{"zh-TW", "zh-HK", 5},
{"zh-MO", "zh-HK", 4},
+ {"es-ES", "es-AR", 5},
+ {"es-ES", "es", 4},
+ {"es-419", "es-MX", 4},
+ {"es-AR", "es-MX", 4},
+ {"es-ES", "es-MX", 5},
+ {"es-PT", "es-MX", 5},
}
for _, tc := range testCases {
a := MustParse(tc.a)
@@ -277,67 +321,27 @@ func TestRegionGroups(t *testing.T) {
t.Errorf("scripts differ: %q vs %q", aScript, bScript)
continue
}
- d := regionGroupDist(a.region, b.region, aScript.scriptID, a.lang)
+ d, _ := regionGroupDist(a.region, b.region, aScript.scriptID, a.lang)
if d != tc.distance {
t.Errorf("got %q; want %q", d, tc.distance)
}
}
}
-func TestRegionDistance(t *testing.T) {
- tests := []struct {
- a, b string
- d int
- }{
- {"NL", "NL", 0},
- {"NL", "EU", 1},
- {"EU", "NL", 1},
- {"005", "005", 0},
- {"NL", "BE", 2},
- {"CO", "005", 1},
- {"005", "CO", 1},
- {"CO", "419", 2},
- {"419", "CO", 2},
- {"005", "419", 1},
- {"419", "005", 1},
- {"001", "013", 2},
- {"013", "001", 2},
- {"CO", "CW", 4},
- {"CO", "PW", 6},
- {"CO", "BV", 6},
- {"ZZ", "QQ", 2},
- }
- for i, tt := range tests {
- testtext.Run(t, tt.a+"/"+tt.b, func(t *testing.T) {
- ra, _ := getRegionID([]byte(tt.a))
- rb, _ := getRegionID([]byte(tt.b))
- if d := regionDistance(ra, rb); d != tt.d {
- t.Errorf("%d: d(%s, %s) = %v; want %v", i, tt.a, tt.b, d, tt.d)
- }
- })
- }
-}
-
-func TestParentDistance(t *testing.T) {
- tests := []struct {
- parent string
- tag string
- d uint8
- }{
- {"en-001", "en-AU", 1},
- {"pt-PT", "pt-AO", 1},
- {"pt", "pt-AO", 2},
- {"en-AU", "en-GB", 255},
- {"en-NL", "en-AU", 255},
- // Note that pt-BR and en-US are not automatically minimized.
- {"pt-BR", "pt-AO", 255},
- {"en-US", "en-AU", 255},
+func TestIsParadigmLocale(t *testing.T) {
+ testCases := map[string]bool{
+ "en-US": true,
+ "en-GB": true,
+ "en-VI": false,
+ "es-GB": false,
+ "es-ES": true,
+ "es-419": true,
}
- for _, tt := range tests {
- r := Raw.MustParse(tt.parent).region
- tag := Raw.MustParse(tt.tag)
- if d := parentDistance(r, tag); d != tt.d {
- t.Errorf("d(%s, %s) was %d; want %d", r, tag, d, tt.d)
+ for str, want := range testCases {
+ tag := Make(str)
+ got := isParadigmLocale(tag.lang, tag.region)
+ if got != want {
+ t.Errorf("isPL(%q) = %v; want %v", str, got, want)
}
}
}
@@ -355,12 +359,8 @@ func (m *matcher) String() string {
func (h *matchHeader) String() string {
w := &bytes.Buffer{}
- fmt.Fprintf(w, "exact: ")
- for _, h := range h.exact {
- fmt.Fprintf(w, "%v, ", h)
- }
- fmt.Fprint(w, "; max: ")
- for _, h := range h.max {
+ fmt.Fprint(w, "haveTag: ")
+ for _, h := range h.haveTags {
fmt.Fprintf(w, "%v, ", h)
}
return w.String()
@@ -370,35 +370,8 @@ func (t haveTag) String() string {
return fmt.Sprintf("%v:%d:%v:%v-%v|%v", t.tag, t.index, t.conf, t.maxRegion, t.maxScript, t.altScript)
}
-func parseSupported(list string) (out []Tag) {
- for _, s := range strings.Split(list, ",") {
- out = append(out, mk(strings.TrimSpace(s)))
- }
- return out
-}
-
-// The test set for TestBestMatch is defined in data_test.go.
-func TestBestMatch(t *testing.T) {
- for _, tt := range matchTests {
- supported := parseSupported(tt.supported)
- m := newMatcher(supported, nil)
- if *verbose {
- fmt.Printf("%s:\n%v\n", tt.comment, m)
- }
- for _, tm := range tt.test {
- t.Run(path.Join(tt.comment, tt.supported, tm.desired), func(t *testing.T) {
- tag, _, conf := m.Match(parseSupported(tm.desired)...)
- if tag.String() != tm.match {
- t.Errorf("find %s in %q: have %s; want %s (%v)", tm.desired, tt.supported, tag, tm.match, conf)
- }
- })
-
- }
- }
-}
-
func TestBestMatchAlloc(t *testing.T) {
- m := NewMatcher(parseSupported("en sr nl"))
+ m := NewMatcher(makeTagList("en sr nl"))
// Go allocates when creating a list of tags from a single tag!
list := []Tag{English}
avg := testtext.AllocsPerRun(1, func() {
diff --git a/vendor/golang.org/x/text/language/parse.go b/vendor/golang.org/x/text/language/parse.go
index cfa28f56e..fca2d30e5 100644
--- a/vendor/golang.org/x/text/language/parse.go
+++ b/vendor/golang.org/x/text/language/parse.go
@@ -765,7 +765,7 @@ func nextExtension(s string, p int) int {
var errInvalidWeight = errors.New("ParseAcceptLanguage: invalid weight")
-// ParseAcceptLanguage parses the contents of a Accept-Language header as
+// ParseAcceptLanguage parses the contents of an Accept-Language header as
// defined in http://www.ietf.org/rfc/rfc2616.txt and returns a list of Tags and
// a list of corresponding quality weights. It is more permissive than RFC 2616
// and may return non-nil slices even if the input is not valid.
diff --git a/vendor/golang.org/x/text/language/tables.go b/vendor/golang.org/x/text/language/tables.go
index a108554a4..ec17f97ad 100644
--- a/vendor/golang.org/x/text/language/tables.go
+++ b/vendor/golang.org/x/text/language/tables.go
@@ -7,11 +7,11 @@ import "golang.org/x/text/internal/tag"
// CLDRVersion is the CLDR version from which the tables in this package are derived.
const CLDRVersion = "31"
-const numLanguages = 8654
+const numLanguages = 8665
-const numScripts = 230
+const numScripts = 237
-const numRegions = 356
+const numRegions = 357
type fromTo struct {
from uint16
@@ -333,7 +333,7 @@ var langNoIndex = [2197]uint8{
// Entry 200 - 23F
0xdf, 0xc3, 0x83, 0x82, 0xc0, 0xfb, 0x57, 0x27,
0xcd, 0x55, 0xe7, 0x01, 0x00, 0x20, 0xb2, 0xc5,
- 0xa4, 0x45, 0x25, 0x9b, 0x02, 0xcf, 0xe0, 0xdf,
+ 0xa4, 0x45, 0x25, 0x9b, 0x02, 0xdf, 0xe0, 0xdf,
0x03, 0x44, 0x08, 0x10, 0x01, 0x04, 0x01, 0xe3,
0x92, 0x54, 0xdb, 0x28, 0xd1, 0x5f, 0xf6, 0x6d,
0x79, 0xed, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01,
@@ -354,7 +354,7 @@ var langNoIndex = [2197]uint8{
0xe2, 0xef, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05,
0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60,
- 0xe5, 0x48, 0x00, 0x81, 0x20, 0xc0, 0x05, 0x80,
+ 0xe7, 0x48, 0x00, 0x81, 0x20, 0xc0, 0x05, 0x80,
0x03, 0x00, 0x00, 0x00, 0x8c, 0x50, 0x40, 0x04,
0x84, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20,
// Entry 2C0 - 2FF
@@ -398,7 +398,7 @@ var langNoIndex = [2197]uint8{
0xf2, 0xff, 0x31, 0xff, 0xf2, 0x1e, 0x90, 0xf7,
0xf1, 0xf9, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00,
0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11,
- 0x84, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01,
+ 0x86, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01,
0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10,
0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2,
0xb9, 0xfd, 0xfc, 0xba, 0xfe, 0xef, 0xc7, 0xbe,
@@ -414,12 +414,12 @@ var langNoIndex = [2197]uint8{
// Entry 440 - 47F
0xfd, 0xfe, 0xfb, 0xff, 0xfe, 0xeb, 0x1f, 0x7d,
0x2f, 0xfd, 0xb6, 0xb5, 0xa5, 0xfc, 0xff, 0xfd,
- 0x7f, 0x4e, 0xbf, 0x8e, 0xae, 0xff, 0xee, 0xdf,
+ 0x7f, 0x4e, 0xbf, 0x8f, 0xae, 0xff, 0xee, 0xdf,
0x7f, 0xf7, 0x73, 0x02, 0x02, 0x04, 0xfc, 0xf7,
0xff, 0xb7, 0xd7, 0xef, 0xfe, 0xcd, 0xf5, 0xce,
0xe2, 0x8e, 0xe7, 0xbf, 0xb7, 0xff, 0x56, 0xbd,
0xcd, 0xff, 0xfb, 0xff, 0xdf, 0xd7, 0xea, 0xff,
- 0xe5, 0x5f, 0x6d, 0x0f, 0xa7, 0x51, 0x04, 0x44,
+ 0xe5, 0x5f, 0x6d, 0x0f, 0xa7, 0x51, 0x06, 0xc4,
// Entry 480 - 4BF
0x13, 0x50, 0x5d, 0xaf, 0xa6, 0xfd, 0x99, 0xfb,
0x63, 0x1d, 0x53, 0xff, 0xef, 0xb7, 0x35, 0x20,
@@ -473,7 +473,7 @@ var langNoIndex = [2197]uint8{
0x31, 0x00, 0x00, 0x00, 0x01, 0x10, 0x02, 0x20,
0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x20, 0x00,
0x00, 0x1f, 0xdf, 0xd2, 0xb9, 0xff, 0xfd, 0x3f,
- 0x1f, 0x18, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe,
+ 0x1f, 0x98, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe,
// Entry 600 - 63F
0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xd9,
0xb7, 0xf6, 0xfb, 0xb3, 0xc7, 0xff, 0x6f, 0xf1,
@@ -484,7 +484,7 @@ var langNoIndex = [2197]uint8{
0xbe, 0x5f, 0x46, 0x1b, 0xe9, 0x5f, 0x50, 0x18,
0x02, 0xfa, 0xf7, 0x9d, 0x15, 0x97, 0x05, 0x0f,
// Entry 640 - 67F
- 0x75, 0xc4, 0x7d, 0x81, 0x82, 0xf1, 0x57, 0x6c,
+ 0x75, 0xc4, 0x7d, 0x81, 0x92, 0xf1, 0x57, 0x6c,
0xff, 0xe4, 0xef, 0x6f, 0xff, 0xfc, 0xdd, 0xde,
0xfc, 0xfd, 0x76, 0x5f, 0x7a, 0x1f, 0x00, 0x98,
0x02, 0xfb, 0xa3, 0xef, 0xf3, 0xd6, 0xf2, 0xff,
@@ -500,7 +500,7 @@ var langNoIndex = [2197]uint8{
0x04, 0x00, 0x00, 0x40, 0xd4, 0x02, 0x04, 0x00,
0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x01, 0x06,
0x50, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00,
- 0x04, 0x00, 0x10, 0x8c, 0x58, 0xd5, 0x0d, 0x0f,
+ 0x04, 0x00, 0x10, 0xcc, 0x58, 0xd5, 0x0d, 0x0f,
// Entry 6C0 - 6FF
0x14, 0x4d, 0xf1, 0x16, 0x44, 0xd1, 0x42, 0x08,
0x40, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00,
@@ -521,7 +521,7 @@ var langNoIndex = [2197]uint8{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 740 - 77F
0x00, 0x00, 0x00, 0xef, 0xd5, 0xfd, 0xcf, 0x7e,
- 0xa0, 0x11, 0x00, 0x00, 0x00, 0x92, 0x01, 0x44,
+ 0xb0, 0x11, 0x00, 0x00, 0x00, 0x92, 0x01, 0x44,
0xcd, 0xf9, 0x5c, 0x00, 0x01, 0x00, 0x30, 0x04,
0x04, 0x55, 0x00, 0x01, 0x04, 0xf4, 0x3f, 0x4a,
0x01, 0x00, 0x00, 0xb0, 0x80, 0x00, 0x55, 0x55,
@@ -533,7 +533,7 @@ var langNoIndex = [2197]uint8{
0x00, 0x00, 0x20, 0x00, 0x24, 0x44, 0x00, 0x00,
0x10, 0x03, 0x11, 0x02, 0x01, 0x00, 0x00, 0xf0,
0xf5, 0xff, 0xd5, 0x97, 0xbc, 0x70, 0xd6, 0x78,
- 0x78, 0x15, 0x50, 0x00, 0xa4, 0x84, 0xa9, 0x41,
+ 0x78, 0x15, 0x50, 0x01, 0xa4, 0x84, 0xa9, 0x41,
0x00, 0x00, 0x00, 0x6b, 0x39, 0x52, 0x74, 0x00,
0xe8, 0x30, 0x90, 0x6a, 0x92, 0x00, 0x00, 0x02,
0xff, 0xef, 0xff, 0x4b, 0x85, 0x53, 0xf4, 0xed,
@@ -582,8 +582,8 @@ var altLangIndex = [6]uint16{
}
// langAliasMap maps langIDs to their suggested replacements.
-// Size: 644 bytes, 161 elements
-var langAliasMap = [161]fromTo{
+// Size: 656 bytes, 164 elements
+var langAliasMap = [164]fromTo{
0: {from: 0x82, to: 0x88},
1: {from: 0x185, to: 0x1ac},
2: {from: 0x1f1, to: 0x1df},
@@ -659,142 +659,145 @@ var langAliasMap = [161]fromTo{
72: {from: 0x1a87, to: 0x1f6},
73: {from: 0x1b57, to: 0x1f8},
74: {from: 0x1b83, to: 0x1512},
- 75: {from: 0x2035, to: 0x37ae},
- 76: {from: 0x203a, to: 0x20da},
- 77: {from: 0x2057, to: 0x309},
- 78: {from: 0x20e0, to: 0x272},
- 79: {from: 0x20eb, to: 0x261},
- 80: {from: 0x20ef, to: 0x22b},
- 81: {from: 0x20f6, to: 0x254},
- 82: {from: 0x210c, to: 0x21e8},
- 83: {from: 0x2132, to: 0x27b},
- 84: {from: 0x2196, to: 0x120},
- 85: {from: 0x21cb, to: 0x155e},
- 86: {from: 0x21e3, to: 0x502},
- 87: {from: 0x21f1, to: 0x49d},
- 88: {from: 0x222a, to: 0x120},
- 89: {from: 0x2234, to: 0x120},
- 90: {from: 0x225f, to: 0x927},
- 91: {from: 0x2313, to: 0x3223},
- 92: {from: 0x237f, to: 0x3362},
- 93: {from: 0x246f, to: 0x2c5},
- 94: {from: 0x24e1, to: 0x2fd},
- 95: {from: 0x24ed, to: 0x2f8},
- 96: {from: 0x24f7, to: 0x31d},
- 97: {from: 0x254d, to: 0xb58},
- 98: {from: 0x25a6, to: 0xe2},
- 99: {from: 0x263b, to: 0x2ce},
- 100: {from: 0x26c6, to: 0x26b1},
- 101: {from: 0x26f6, to: 0x3c6},
- 102: {from: 0x2724, to: 0x3cac},
- 103: {from: 0x2762, to: 0x26b1},
- 104: {from: 0x2786, to: 0x4355},
- 105: {from: 0x28ec, to: 0x2834},
- 106: {from: 0x2911, to: 0x34f},
- 107: {from: 0x2983, to: 0x2da4},
- 108: {from: 0x2b17, to: 0x38b},
- 109: {from: 0x2bf9, to: 0x393},
- 110: {from: 0x2c3c, to: 0x3cac},
- 111: {from: 0x2cf9, to: 0x3bc},
- 112: {from: 0x2d10, to: 0x594},
- 113: {from: 0x2d44, to: 0x147},
- 114: {from: 0x2d45, to: 0x147},
- 115: {from: 0x2dfc, to: 0x2ef},
- 116: {from: 0x2e05, to: 0x19c9},
- 117: {from: 0x2e17, to: 0x2d92},
- 118: {from: 0x2e1e, to: 0x290},
- 119: {from: 0x2e51, to: 0x7d},
- 120: {from: 0x2e62, to: 0x227f},
- 121: {from: 0x2e9d, to: 0x2e98},
- 122: {from: 0x2eec, to: 0x2ed4},
- 123: {from: 0x3190, to: 0x3c2},
- 124: {from: 0x3363, to: 0x338b},
- 125: {from: 0x3427, to: 0x3da},
- 126: {from: 0x34eb, to: 0x18cd},
- 127: {from: 0x35e3, to: 0x410},
- 128: {from: 0x3655, to: 0x244},
- 129: {from: 0x3673, to: 0x3f2},
- 130: {from: 0x36fa, to: 0x443},
- 131: {from: 0x37bd, to: 0x120},
- 132: {from: 0x3813, to: 0x38ef},
- 133: {from: 0x3828, to: 0x2c98},
- 134: {from: 0x382c, to: 0xa9},
- 135: {from: 0x382f, to: 0x3225},
- 136: {from: 0x3869, to: 0x39a3},
- 137: {from: 0x388f, to: 0x3fbd},
- 138: {from: 0x38a2, to: 0x39d4},
- 139: {from: 0x38b1, to: 0x1fa1},
- 140: {from: 0x38b2, to: 0x2e97},
- 141: {from: 0x3959, to: 0x47c},
- 142: {from: 0x3b4b, to: 0xd8e},
- 143: {from: 0x3b75, to: 0x136},
- 144: {from: 0x3c96, to: 0x4ba},
- 145: {from: 0x3fba, to: 0xff},
- 146: {from: 0x4205, to: 0xa8e},
- 147: {from: 0x42bb, to: 0x570},
- 148: {from: 0x42f6, to: 0x3f5d},
- 149: {from: 0x4375, to: 0x258},
- 150: {from: 0x43c8, to: 0x36c8},
- 151: {from: 0x43ca, to: 0x10e},
- 152: {from: 0x44ac, to: 0x331f},
- 153: {from: 0x44e0, to: 0x510},
- 154: {from: 0x45c7, to: 0x2406},
- 155: {from: 0x45da, to: 0x26d9},
- 156: {from: 0x460d, to: 0x48ab},
- 157: {from: 0x46ab, to: 0x469d},
- 158: {from: 0x473b, to: 0x4742},
- 159: {from: 0x4913, to: 0x31d},
- 160: {from: 0x49a4, to: 0x521},
+ 75: {from: 0x1d61, to: 0x2c98},
+ 76: {from: 0x2035, to: 0x37ae},
+ 77: {from: 0x203a, to: 0x20da},
+ 78: {from: 0x2057, to: 0x309},
+ 79: {from: 0x20e0, to: 0x272},
+ 80: {from: 0x20eb, to: 0x261},
+ 81: {from: 0x20ef, to: 0x22b},
+ 82: {from: 0x20f6, to: 0x254},
+ 83: {from: 0x210c, to: 0x21e8},
+ 84: {from: 0x2132, to: 0x27b},
+ 85: {from: 0x215d, to: 0x910},
+ 86: {from: 0x2196, to: 0x120},
+ 87: {from: 0x21cb, to: 0x155e},
+ 88: {from: 0x21e3, to: 0x502},
+ 89: {from: 0x21f1, to: 0x49d},
+ 90: {from: 0x222a, to: 0x120},
+ 91: {from: 0x2234, to: 0x120},
+ 92: {from: 0x225f, to: 0x927},
+ 93: {from: 0x2313, to: 0x3223},
+ 94: {from: 0x237f, to: 0x3362},
+ 95: {from: 0x246f, to: 0x2c5},
+ 96: {from: 0x24e1, to: 0x2fd},
+ 97: {from: 0x24ed, to: 0x2f8},
+ 98: {from: 0x24f7, to: 0x31d},
+ 99: {from: 0x254d, to: 0xb58},
+ 100: {from: 0x25a6, to: 0xe2},
+ 101: {from: 0x263b, to: 0x2ce},
+ 102: {from: 0x26c6, to: 0x26b1},
+ 103: {from: 0x26f6, to: 0x3c6},
+ 104: {from: 0x2724, to: 0x3cac},
+ 105: {from: 0x2762, to: 0x26b1},
+ 106: {from: 0x2786, to: 0x4355},
+ 107: {from: 0x28ec, to: 0x2834},
+ 108: {from: 0x2911, to: 0x34f},
+ 109: {from: 0x2983, to: 0x2da4},
+ 110: {from: 0x2b17, to: 0x38b},
+ 111: {from: 0x2bf9, to: 0x393},
+ 112: {from: 0x2c3c, to: 0x3cac},
+ 113: {from: 0x2cf9, to: 0x3bc},
+ 114: {from: 0x2d10, to: 0x594},
+ 115: {from: 0x2d44, to: 0x147},
+ 116: {from: 0x2d45, to: 0x147},
+ 117: {from: 0x2dfc, to: 0x2ef},
+ 118: {from: 0x2e05, to: 0x19c9},
+ 119: {from: 0x2e17, to: 0x2d92},
+ 120: {from: 0x2e1e, to: 0x290},
+ 121: {from: 0x2e51, to: 0x7d},
+ 122: {from: 0x2e62, to: 0x227f},
+ 123: {from: 0x2e9d, to: 0x2e98},
+ 124: {from: 0x2eec, to: 0x2ed4},
+ 125: {from: 0x3190, to: 0x3c2},
+ 126: {from: 0x3363, to: 0x338b},
+ 127: {from: 0x3427, to: 0x3da},
+ 128: {from: 0x34eb, to: 0x18cd},
+ 129: {from: 0x35c5, to: 0x2c98},
+ 130: {from: 0x35e3, to: 0x410},
+ 131: {from: 0x3655, to: 0x244},
+ 132: {from: 0x3673, to: 0x3f2},
+ 133: {from: 0x36fa, to: 0x443},
+ 134: {from: 0x37bd, to: 0x120},
+ 135: {from: 0x3813, to: 0x38ef},
+ 136: {from: 0x3828, to: 0x2c98},
+ 137: {from: 0x382c, to: 0xa9},
+ 138: {from: 0x382f, to: 0x3225},
+ 139: {from: 0x3869, to: 0x39a3},
+ 140: {from: 0x388f, to: 0x3fbd},
+ 141: {from: 0x38a2, to: 0x39d4},
+ 142: {from: 0x38b1, to: 0x1fa1},
+ 143: {from: 0x38b2, to: 0x2e97},
+ 144: {from: 0x3959, to: 0x47c},
+ 145: {from: 0x3b4b, to: 0xd8e},
+ 146: {from: 0x3b75, to: 0x136},
+ 147: {from: 0x3c96, to: 0x4ba},
+ 148: {from: 0x3fba, to: 0xff},
+ 149: {from: 0x4205, to: 0xa8e},
+ 150: {from: 0x42bb, to: 0x570},
+ 151: {from: 0x42f6, to: 0x3f5d},
+ 152: {from: 0x4375, to: 0x258},
+ 153: {from: 0x43c8, to: 0x36c8},
+ 154: {from: 0x43ca, to: 0x10e},
+ 155: {from: 0x44ac, to: 0x331f},
+ 156: {from: 0x44e0, to: 0x510},
+ 157: {from: 0x45c7, to: 0x2406},
+ 158: {from: 0x45da, to: 0x26d9},
+ 159: {from: 0x460d, to: 0x48ab},
+ 160: {from: 0x46ab, to: 0x469d},
+ 161: {from: 0x473b, to: 0x4742},
+ 162: {from: 0x4913, to: 0x31d},
+ 163: {from: 0x49a4, to: 0x521},
}
-// Size: 161 bytes, 161 elements
-var langAliasTypes = [161]langAliasType{
+// Size: 164 bytes, 164 elements
+var langAliasTypes = [164]langAliasType{
// Entry 0 - 3F
1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2,
1, 1, 2, 0, 1, 0, 1, 2, 1, 1, 0, 0, 2, 1, 1, 0,
2, 0, 0, 1, 0, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0,
2, 1, 1, 1, 1, 2, 1, 0, 1, 1, 2, 2, 0, 1, 2, 0,
// Entry 40 - 7F
- 1, 0, 1, 1, 1, 1, 0, 0, 2, 1, 0, 0, 0, 1, 1, 1,
- 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 2, 2,
- 2, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1,
- 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 2,
+ 1, 0, 1, 1, 1, 1, 0, 0, 2, 1, 0, 0, 0, 0, 1, 1,
+ 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+ 2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1,
+ 0, 1, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2,
// Entry 80 - BF
- 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0,
- 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1,
- 1,
+ 0, 0, 2, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+ 1, 1, 0, 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0,
+ 0, 1, 1, 1,
}
const (
- _Latn = 82
- _Hani = 50
- _Hans = 52
- _Hant = 53
- _Qaaa = 131
- _Qaai = 139
- _Qabx = 180
- _Zinh = 224
- _Zyyy = 229
- _Zzzz = 230
+ _Latn = 85
+ _Hani = 53
+ _Hans = 55
+ _Hant = 56
+ _Qaaa = 136
+ _Qaai = 144
+ _Qabx = 185
+ _Zinh = 231
+ _Zyyy = 236
+ _Zzzz = 237
)
// script is an alphabetically sorted list of ISO 15924 codes. The index
// of the script in the string, divided by 4, is the internal scriptID.
-const script tag.Index = "" + // Size: 928 bytes
+const script tag.Index = "" + // Size: 956 bytes
"----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo" +
- "BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCprtCyrlCyrsDevaDsrtDuplEgyd" +
- "EgyhEgypElbaEthiGeokGeorGlagGothGranGrekGujrGuruHanbHangHaniHanoHansHant" +
- "HatrHebrHiraHluwHmngHrktHungIndsItalJamoJavaJpanJurcKaliKanaKharKhmrKhoj" +
- "KitlKitsKndaKoreKpelKthiLanaLaooLatfLatgLatnLekeLepcLimbLinaLinbLisuLoma" +
- "LyciLydiMahjMandManiMarcMayaMendMercMeroMlymModiMongMoonMrooMteiMultMymr" +
- "NarbNbatNewaNkgbNkooNshuOgamOlckOrkhOryaOsgeOsmaPalmPaucPermPhagPhliPhlp" +
- "PhlvPhnxPiqdPlrdPrtiQaaaQaabQaacQaadQaaeQaafQaagQaahQaaiQaajQaakQaalQaam" +
- "QaanQaaoQaapQaaqQaarQaasQaatQaauQaavQaawQaaxQaayQaazQabaQabbQabcQabdQabe" +
- "QabfQabgQabhQabiQabjQabkQablQabmQabnQaboQabpQabqQabrQabsQabtQabuQabvQabw" +
- "QabxRjngRoroRunrSamrSaraSarbSaurSgnwShawShrdSiddSindSinhSoraSundSyloSyrc" +
- "SyreSyrjSyrnTagbTakrTaleTaluTamlTangTavtTeluTengTfngTglgThaaThaiTibtTirh" +
- "UgarVaiiVispWaraWoleXpeoXsuxYiiiZinhZmthZsyeZsymZxxxZyyyZzzz\xff\xff\xff" +
- "\xff"
+ "BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCprtCyrlCyrsDevaDogrDsrtDupl" +
+ "EgydEgyhEgypElbaEthiGeokGeorGlagGongGonmGothGranGrekGujrGuruHanbHangHani" +
+ "HanoHansHantHatrHebrHiraHluwHmngHrktHungIndsItalJamoJavaJpanJurcKaliKana" +
+ "KharKhmrKhojKitlKitsKndaKoreKpelKthiLanaLaooLatfLatgLatnLekeLepcLimbLina" +
+ "LinbLisuLomaLyciLydiMahjMakaMandManiMarcMayaMedfMendMercMeroMlymModiMong" +
+ "MoonMrooMteiMultMymrNarbNbatNewaNkgbNkooNshuOgamOlckOrkhOryaOsgeOsmaPalm" +
+ "PaucPermPhagPhliPhlpPhlvPhnxPiqdPlrdPrtiQaaaQaabQaacQaadQaaeQaafQaagQaah" +
+ "QaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaasQaatQaauQaavQaawQaaxQaayQaaz" +
+ "QabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabkQablQabmQabnQaboQabpQabqQabr" +
+ "QabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSaraSarbSaurSgnwShawShrdSiddSind" +
+ "SinhSoraSoyoSundSyloSyrcSyreSyrjSyrnTagbTakrTaleTaluTamlTangTavtTeluTeng" +
+ "TfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWoleXpeoXsuxYiiiZanbZinhZmthZsye" +
+ "ZsymZxxxZyyyZzzz\xff\xff\xff\xff"
// suppressScript is an index from langID to the dominant script for that language,
// if it exists. If a script is given, it should be suppressed from the language tag.
@@ -803,16 +806,16 @@ var suppressScript = [1327]uint8{
// Entry 0 - 3F
0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 40 - 7F
0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -825,56 +828,56 @@ var suppressScript = [1327]uint8{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry C0 - FF
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
// Entry 100 - 13F
- 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4,
- 0x00, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x52, 0x00, 0x52, 0x00, 0x52,
+ 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55,
// Entry 140 - 17F
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x05,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x52,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
- 0x52, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x52, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
+ 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 180 - 1BF
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
+ 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x52, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x55, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x37, 0x00, 0x20, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x00, 0x00,
// Entry 1C0 - 1FF
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
- 0x52, 0x00, 0x52, 0x52, 0x00, 0x08, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x55, 0x00, 0x55, 0x55, 0x00, 0x08, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x52, 0x52,
- 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00,
+ 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55,
+ 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00,
// Entry 200 - 23F
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -882,9 +885,9 @@ var suppressScript = [1327]uint8{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 240 - 27F
- 0x1e, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
- 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a,
- 0x00, 0x00, 0x4b, 0x00, 0x20, 0x00, 0x00, 0x00,
+ 0x1e, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00,
+ 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d,
+ 0x00, 0x00, 0x4e, 0x00, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -892,179 +895,179 @@ var suppressScript = [1327]uint8{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 280 - 2BF
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x4f, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
// Entry 2C0 - 2FF
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
// Entry 300 - 33F
- 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x20, 0x00, 0x00, 0x00, 0x52, 0x52, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
// Entry 340 - 37F
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x52, 0x20,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x70, 0x52, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x55, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x75, 0x55, 0x00, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 380 - 3BF
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
- 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
+ 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x52, 0x00,
+ 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x55, 0x00,
// Entry 3C0 - 3FF
- 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x52,
- 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x1e, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1e, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 400 - 43F
- 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
+ 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
+ 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 440 - 47F
- 0x00, 0x00, 0x52, 0x52, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0,
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xd5, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd6,
+ 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xdb, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x55, 0x00,
// Entry 480 - 4BF
- 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00,
// Entry 4C0 - 4FF
- 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 500 - 53F
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00,
}
const (
_001 = 1
- _419 = 30
- _BR = 64
- _CA = 72
- _ES = 109
- _GB = 122
- _MD = 187
- _PT = 237
- _UK = 305
- _US = 308
- _ZZ = 356
- _XA = 322
- _XC = 324
- _XK = 332
+ _419 = 31
+ _BR = 65
+ _CA = 73
+ _ES = 110
+ _GB = 123
+ _MD = 188
+ _PT = 238
+ _UK = 306
+ _US = 309
+ _ZZ = 357
+ _XA = 323
+ _XC = 325
+ _XK = 333
)
// isoRegionOffset needs to be added to the index of regionISO to obtain the regionID
// for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for
// the UN.M49 codes used for groups.)
-const isoRegionOffset = 31
+const isoRegionOffset = 32
// regionTypes defines the status of a region for various standards.
-// Size: 357 bytes, 357 elements
-var regionTypes = [357]uint8{
+// Size: 358 bytes, 358 elements
+var regionTypes = [358]uint8{
// Entry 0 - 3F
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
// Entry 40 - 7F
- 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04, 0x00,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06,
- 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04,
+ 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04,
+ 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04,
+ 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
+ 0x06, 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
// Entry 80 - BF
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x00, 0x04, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x00, 0x04, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
// Entry C0 - FF
- 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
- 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 0x06, 0x06,
- 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
- 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
+ 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 0x06,
+ 0x06, 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
+ 0x06, 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
// Entry 100 - 13F
- 0x05, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x05, 0x05, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x02, 0x06, 0x04, 0x06, 0x06, 0x06, 0x06,
- 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x02, 0x06, 0x04, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
// Entry 140 - 17F
- 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
- 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x06, 0x04,
- 0x06, 0x06, 0x04, 0x06, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x06,
+ 0x04, 0x06, 0x06, 0x04, 0x06, 0x05,
}
// regionISO holds a list of alphabetically sorted 2-letter ISO region codes.
@@ -1102,89 +1105,89 @@ const altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN"
// of the 3-letter ISO codes in altRegionISO3.
// Size: 22 bytes, 11 elements
var altRegionIDs = [11]uint16{
- 0x0056, 0x006f, 0x0087, 0x00a7, 0x00a9, 0x00ac, 0x00e9, 0x0104,
- 0x0120, 0x015e, 0x00db,
+ 0x0057, 0x0070, 0x0088, 0x00a8, 0x00aa, 0x00ad, 0x00ea, 0x0105,
+ 0x0121, 0x015f, 0x00dc,
}
// Size: 80 bytes, 20 elements
var regionOldMap = [20]fromTo{
- 0: {from: 0x43, to: 0xc3},
- 1: {from: 0x57, to: 0xa6},
- 2: {from: 0x5e, to: 0x5f},
- 3: {from: 0x65, to: 0x3a},
- 4: {from: 0x78, to: 0x77},
- 5: {from: 0x92, to: 0x36},
- 6: {from: 0xa2, to: 0x132},
- 7: {from: 0xc0, to: 0x132},
- 8: {from: 0xd6, to: 0x13e},
- 9: {from: 0xdb, to: 0x2a},
- 10: {from: 0xee, to: 0x132},
- 11: {from: 0xf1, to: 0xe1},
- 12: {from: 0xfb, to: 0x6f},
- 13: {from: 0x102, to: 0x163},
- 14: {from: 0x129, to: 0x125},
- 15: {from: 0x131, to: 0x7a},
- 16: {from: 0x139, to: 0x13d},
- 17: {from: 0x140, to: 0x132},
- 18: {from: 0x15c, to: 0x15d},
- 19: {from: 0x162, to: 0x4a},
+ 0: {from: 0x44, to: 0xc4},
+ 1: {from: 0x58, to: 0xa7},
+ 2: {from: 0x5f, to: 0x60},
+ 3: {from: 0x66, to: 0x3b},
+ 4: {from: 0x79, to: 0x78},
+ 5: {from: 0x93, to: 0x37},
+ 6: {from: 0xa3, to: 0x133},
+ 7: {from: 0xc1, to: 0x133},
+ 8: {from: 0xd7, to: 0x13f},
+ 9: {from: 0xdc, to: 0x2b},
+ 10: {from: 0xef, to: 0x133},
+ 11: {from: 0xf2, to: 0xe2},
+ 12: {from: 0xfc, to: 0x70},
+ 13: {from: 0x103, to: 0x164},
+ 14: {from: 0x12a, to: 0x126},
+ 15: {from: 0x132, to: 0x7b},
+ 16: {from: 0x13a, to: 0x13e},
+ 17: {from: 0x141, to: 0x133},
+ 18: {from: 0x15d, to: 0x15e},
+ 19: {from: 0x163, to: 0x4b},
}
// m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are
// codes indicating collections of regions.
-// Size: 714 bytes, 357 elements
-var m49 = [357]int16{
+// Size: 716 bytes, 358 elements
+var m49 = [358]int16{
// Entry 0 - 3F
0, 1, 2, 3, 5, 9, 11, 13,
14, 15, 17, 18, 19, 21, 29, 30,
34, 35, 39, 53, 54, 57, 61, 142,
- 143, 145, 150, 151, 154, 155, 419, 958,
- 0, 20, 784, 4, 28, 660, 8, 51,
- 530, 24, 10, 32, 16, 40, 36, 533,
- 248, 31, 70, 52, 50, 56, 854, 100,
- 48, 108, 204, 652, 60, 96, 68, 535,
+ 143, 145, 150, 151, 154, 155, 202, 419,
+ 958, 0, 20, 784, 4, 28, 660, 8,
+ 51, 530, 24, 10, 32, 16, 40, 36,
+ 533, 248, 31, 70, 52, 50, 56, 854,
+ 100, 48, 108, 204, 652, 60, 96, 68,
// Entry 40 - 7F
- 76, 44, 64, 104, 74, 72, 112, 84,
- 124, 166, 180, 140, 178, 756, 384, 184,
- 152, 120, 156, 170, 0, 188, 891, 296,
- 192, 132, 531, 162, 196, 203, 278, 276,
- 0, 262, 208, 212, 214, 204, 12, 0,
- 218, 233, 818, 732, 232, 724, 231, 967,
- 0, 246, 242, 238, 583, 234, 0, 250,
- 249, 266, 826, 308, 268, 254, 831, 288,
+ 535, 76, 44, 64, 104, 74, 72, 112,
+ 84, 124, 166, 180, 140, 178, 756, 384,
+ 184, 152, 120, 156, 170, 0, 188, 891,
+ 296, 192, 132, 531, 162, 196, 203, 278,
+ 276, 0, 262, 208, 212, 214, 204, 12,
+ 0, 218, 233, 818, 732, 232, 724, 231,
+ 967, 0, 246, 242, 238, 583, 234, 0,
+ 250, 249, 266, 826, 308, 268, 254, 831,
// Entry 80 - BF
- 292, 304, 270, 324, 312, 226, 300, 239,
- 320, 316, 624, 328, 344, 334, 340, 191,
- 332, 348, 854, 0, 360, 372, 376, 833,
- 356, 86, 368, 364, 352, 380, 832, 388,
- 400, 392, 581, 404, 417, 116, 296, 174,
- 659, 408, 410, 414, 136, 398, 418, 422,
- 662, 438, 144, 430, 426, 440, 442, 428,
- 434, 504, 492, 498, 499, 663, 450, 584,
+ 288, 292, 304, 270, 324, 312, 226, 300,
+ 239, 320, 316, 624, 328, 344, 334, 340,
+ 191, 332, 348, 854, 0, 360, 372, 376,
+ 833, 356, 86, 368, 364, 352, 380, 832,
+ 388, 400, 392, 581, 404, 417, 116, 296,
+ 174, 659, 408, 410, 414, 136, 398, 418,
+ 422, 662, 438, 144, 430, 426, 440, 442,
+ 428, 434, 504, 492, 498, 499, 663, 450,
// Entry C0 - FF
- 581, 807, 466, 104, 496, 446, 580, 474,
- 478, 500, 470, 480, 462, 454, 484, 458,
- 508, 516, 540, 562, 574, 566, 548, 558,
- 528, 578, 524, 10, 520, 536, 570, 554,
- 512, 591, 0, 604, 258, 598, 608, 586,
- 616, 666, 612, 630, 275, 620, 581, 585,
- 600, 591, 634, 959, 960, 961, 962, 963,
- 964, 965, 966, 967, 968, 969, 970, 971,
+ 584, 581, 807, 466, 104, 496, 446, 580,
+ 474, 478, 500, 470, 480, 462, 454, 484,
+ 458, 508, 516, 540, 562, 574, 566, 548,
+ 558, 528, 578, 524, 10, 520, 536, 570,
+ 554, 512, 591, 0, 604, 258, 598, 608,
+ 586, 616, 666, 612, 630, 275, 620, 581,
+ 585, 600, 591, 634, 959, 960, 961, 962,
+ 963, 964, 965, 966, 967, 968, 969, 970,
// Entry 100 - 13F
- 972, 638, 716, 642, 688, 643, 646, 682,
- 90, 690, 729, 752, 702, 654, 705, 744,
- 703, 694, 674, 686, 706, 740, 728, 678,
- 810, 222, 534, 760, 748, 0, 796, 148,
- 260, 768, 764, 762, 772, 626, 795, 788,
- 776, 626, 792, 780, 798, 158, 834, 804,
- 800, 826, 581, 0, 840, 858, 860, 336,
- 670, 704, 862, 92, 850, 704, 548, 876,
+ 971, 972, 638, 716, 642, 688, 643, 646,
+ 682, 90, 690, 729, 752, 702, 654, 705,
+ 744, 703, 694, 674, 686, 706, 740, 728,
+ 678, 810, 222, 534, 760, 748, 0, 796,
+ 148, 260, 768, 764, 762, 772, 626, 795,
+ 788, 776, 626, 792, 780, 798, 158, 834,
+ 804, 800, 826, 581, 0, 840, 858, 860,
+ 336, 670, 704, 862, 92, 850, 704, 548,
// Entry 140 - 17F
- 581, 882, 973, 974, 975, 976, 977, 978,
- 979, 980, 981, 982, 983, 984, 985, 986,
- 987, 988, 989, 990, 991, 992, 993, 994,
- 995, 996, 997, 998, 720, 887, 175, 891,
- 710, 894, 180, 716, 999,
+ 876, 581, 882, 973, 974, 975, 976, 977,
+ 978, 979, 980, 981, 982, 983, 984, 985,
+ 986, 987, 988, 989, 990, 991, 992, 993,
+ 994, 995, 996, 997, 998, 720, 887, 175,
+ 891, 710, 894, 180, 716, 999,
}
// m49Index gives indexes into fromM49 based on the three most significant bits
@@ -1194,149 +1197,157 @@ var m49 = [357]int16{
// The region code is stored in the 9 lsb of the indexed value.
// Size: 18 bytes, 9 elements
var m49Index = [9]int16{
- 0, 59, 107, 142, 180, 219, 258, 290,
- 332,
+ 0, 59, 108, 143, 181, 220, 259, 291,
+ 333,
}
// fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.
-// Size: 664 bytes, 332 elements
-var fromM49 = [332]uint16{
+// Size: 666 bytes, 333 elements
+var fromM49 = [333]uint16{
// Entry 0 - 3F
- 0x0201, 0x0402, 0x0603, 0x0823, 0x0a04, 0x1026, 0x1205, 0x142a,
- 0x1606, 0x1866, 0x1a07, 0x1c08, 0x1e09, 0x202c, 0x220a, 0x240b,
- 0x260c, 0x2821, 0x2a0d, 0x3029, 0x3824, 0x3a0e, 0x3c0f, 0x3e31,
- 0x402b, 0x4410, 0x4611, 0x482e, 0x4e12, 0x502d, 0x5841, 0x6038,
- 0x6434, 0x6627, 0x6833, 0x6a13, 0x6c14, 0x7035, 0x7215, 0x783c,
- 0x7a16, 0x8042, 0x883e, 0x8c32, 0x9045, 0x9444, 0x9840, 0xa847,
- 0xac99, 0xb508, 0xb93b, 0xc03d, 0xc837, 0xd0c3, 0xd839, 0xe046,
- 0xe8a5, 0xf051, 0xf848, 0x0859, 0x10ac, 0x184b, 0x1c17, 0x1e18,
+ 0x0201, 0x0402, 0x0603, 0x0824, 0x0a04, 0x1027, 0x1205, 0x142b,
+ 0x1606, 0x1867, 0x1a07, 0x1c08, 0x1e09, 0x202d, 0x220a, 0x240b,
+ 0x260c, 0x2822, 0x2a0d, 0x302a, 0x3825, 0x3a0e, 0x3c0f, 0x3e32,
+ 0x402c, 0x4410, 0x4611, 0x482f, 0x4e12, 0x502e, 0x5842, 0x6039,
+ 0x6435, 0x6628, 0x6834, 0x6a13, 0x6c14, 0x7036, 0x7215, 0x783d,
+ 0x7a16, 0x8043, 0x883f, 0x8c33, 0x9046, 0x9445, 0x9841, 0xa848,
+ 0xac9a, 0xb509, 0xb93c, 0xc03e, 0xc838, 0xd0c4, 0xd83a, 0xe047,
+ 0xe8a6, 0xf052, 0xf849, 0x085a, 0x10ad, 0x184c, 0x1c17, 0x1e18,
// Entry 40 - 7F
- 0x20b2, 0x2219, 0x291f, 0x2c1a, 0x2e1b, 0x3050, 0x341c, 0x361d,
- 0x3852, 0x3d2d, 0x445b, 0x4c49, 0x5453, 0x5ca7, 0x5f5e, 0x644c,
- 0x684a, 0x704f, 0x7855, 0x7e8f, 0x8058, 0x885c, 0x965d, 0x983a,
- 0xa062, 0xa863, 0xac64, 0xb468, 0xbd19, 0xc485, 0xcc6e, 0xce6e,
- 0xd06c, 0xd269, 0xd475, 0xdc73, 0xde87, 0xe472, 0xec71, 0xf030,
- 0xf278, 0xf477, 0xfc7d, 0x04e4, 0x0920, 0x0c61, 0x1479, 0x187c,
- 0x1c82, 0x26ec, 0x285f, 0x2c5e, 0x305f, 0x407f, 0x4880, 0x50a6,
- 0x5886, 0x6081, 0x687b, 0x7084, 0x7889, 0x8088, 0x8883, 0x908b,
+ 0x20b3, 0x2219, 0x2920, 0x2c1a, 0x2e1b, 0x3051, 0x341c, 0x361d,
+ 0x3853, 0x3d2e, 0x445c, 0x4c4a, 0x5454, 0x5ca8, 0x5f5f, 0x644d,
+ 0x684b, 0x7050, 0x7856, 0x7e90, 0x8059, 0x885d, 0x941e, 0x965e,
+ 0x983b, 0xa063, 0xa864, 0xac65, 0xb469, 0xbd1a, 0xc486, 0xcc6f,
+ 0xce6f, 0xd06d, 0xd26a, 0xd476, 0xdc74, 0xde88, 0xe473, 0xec72,
+ 0xf031, 0xf279, 0xf478, 0xfc7e, 0x04e5, 0x0921, 0x0c62, 0x147a,
+ 0x187d, 0x1c83, 0x26ed, 0x2860, 0x2c5f, 0x3060, 0x4080, 0x4881,
+ 0x50a7, 0x5887, 0x6082, 0x687c, 0x7085, 0x788a, 0x8089, 0x8884,
// Entry 80 - BF
- 0x9890, 0x9c8d, 0xa137, 0xa88e, 0xb08c, 0xb891, 0xc09c, 0xc898,
- 0xd094, 0xd89b, 0xe09a, 0xe895, 0xf096, 0xf89d, 0x004e, 0x089f,
- 0x10a1, 0x1cad, 0x20a0, 0x28a3, 0x30a9, 0x34aa, 0x3cab, 0x42a4,
- 0x44ae, 0x461e, 0x4caf, 0x54b4, 0x58b7, 0x5cb3, 0x64b8, 0x6cb1,
- 0x70b5, 0x74b6, 0x7cc5, 0x84be, 0x8ccd, 0x94cf, 0x9ccc, 0xa4c2,
- 0xacca, 0xb4c7, 0xbcc8, 0xc0cb, 0xc8ce, 0xd8ba, 0xe0c4, 0xe4bb,
- 0xe6bc, 0xe8c9, 0xf0b9, 0xf8d0, 0x00e0, 0x08d1, 0x10dc, 0x18da,
- 0x20d8, 0x2428, 0x265a, 0x2a2f, 0x2d1a, 0x2e3f, 0x30dd, 0x38d2,
+ 0x908c, 0x9891, 0x9c8e, 0xa138, 0xa88f, 0xb08d, 0xb892, 0xc09d,
+ 0xc899, 0xd095, 0xd89c, 0xe09b, 0xe896, 0xf097, 0xf89e, 0x004f,
+ 0x08a0, 0x10a2, 0x1cae, 0x20a1, 0x28a4, 0x30aa, 0x34ab, 0x3cac,
+ 0x42a5, 0x44af, 0x461f, 0x4cb0, 0x54b5, 0x58b8, 0x5cb4, 0x64b9,
+ 0x6cb2, 0x70b6, 0x74b7, 0x7cc6, 0x84bf, 0x8cce, 0x94d0, 0x9ccd,
+ 0xa4c3, 0xaccb, 0xb4c8, 0xbcc9, 0xc0cc, 0xc8cf, 0xd8bb, 0xe0c5,
+ 0xe4bc, 0xe6bd, 0xe8ca, 0xf0ba, 0xf8d1, 0x00e1, 0x08d2, 0x10dd,
+ 0x18db, 0x20d9, 0x2429, 0x265b, 0x2a30, 0x2d1b, 0x2e40, 0x30de,
// Entry C0 - FF
- 0x493e, 0x54df, 0x5cd7, 0x64d3, 0x6cd5, 0x74de, 0x7cd4, 0x84d9,
- 0x88c6, 0x8b32, 0x8e74, 0x90bf, 0x92ef, 0x94e7, 0x9ee1, 0xace5,
- 0xb0f0, 0xb8e3, 0xc0e6, 0xc8ea, 0xd0e8, 0xd8ed, 0xe08a, 0xe525,
- 0xeceb, 0xf4f2, 0xfd01, 0x0503, 0x0705, 0x0d06, 0x183b, 0x1d0d,
- 0x26a8, 0x2825, 0x2cb0, 0x2ebd, 0x34e9, 0x3d38, 0x4512, 0x4d17,
- 0x5507, 0x5d13, 0x6104, 0x6509, 0x6d11, 0x7d0c, 0x7f10, 0x813d,
- 0x830e, 0x8514, 0x8d60, 0x9963, 0xa15c, 0xa86d, 0xb116, 0xb30a,
- 0xb86b, 0xc10a, 0xc915, 0xd10f, 0xd91c, 0xe10b, 0xe84d, 0xf11b,
+ 0x38d3, 0x493f, 0x54e0, 0x5cd8, 0x64d4, 0x6cd6, 0x74df, 0x7cd5,
+ 0x84da, 0x88c7, 0x8b33, 0x8e75, 0x90c0, 0x92f0, 0x94e8, 0x9ee2,
+ 0xace6, 0xb0f1, 0xb8e4, 0xc0e7, 0xc8eb, 0xd0e9, 0xd8ee, 0xe08b,
+ 0xe526, 0xecec, 0xf4f3, 0xfd02, 0x0504, 0x0706, 0x0d07, 0x183c,
+ 0x1d0e, 0x26a9, 0x2826, 0x2cb1, 0x2ebe, 0x34ea, 0x3d39, 0x4513,
+ 0x4d18, 0x5508, 0x5d14, 0x6105, 0x650a, 0x6d12, 0x7d0d, 0x7f11,
+ 0x813e, 0x830f, 0x8515, 0x8d61, 0x9964, 0xa15d, 0xa86e, 0xb117,
+ 0xb30b, 0xb86c, 0xc10b, 0xc916, 0xd110, 0xd91d, 0xe10c, 0xe84e,
// Entry 100 - 13F
- 0xf523, 0xf922, 0x0121, 0x0924, 0x1128, 0x192b, 0x2022, 0x2927,
- 0x312a, 0x3726, 0x391e, 0x3d2c, 0x4130, 0x492f, 0x4ec1, 0x5518,
- 0x646a, 0x747a, 0x7e7e, 0x809e, 0x8297, 0x852e, 0x9134, 0xa53c,
- 0xac36, 0xb535, 0xb936, 0xbd3a, 0xd93f, 0xe541, 0xed5d, 0xef5d,
- 0xf656, 0xfd61, 0x7c1f, 0x7ef3, 0x80f4, 0x82f5, 0x84f6, 0x86f7,
- 0x88f8, 0x8af9, 0x8cfa, 0x8e6f, 0x90fc, 0x92fd, 0x94fe, 0x96ff,
- 0x9900, 0x9b42, 0x9d43, 0x9f44, 0xa145, 0xa346, 0xa547, 0xa748,
- 0xa949, 0xab4a, 0xad4b, 0xaf4c, 0xb14d, 0xb34e, 0xb54f, 0xb750,
+ 0xf11c, 0xf524, 0xf923, 0x0122, 0x0925, 0x1129, 0x192c, 0x2023,
+ 0x2928, 0x312b, 0x3727, 0x391f, 0x3d2d, 0x4131, 0x4930, 0x4ec2,
+ 0x5519, 0x646b, 0x747b, 0x7e7f, 0x809f, 0x8298, 0x852f, 0x9135,
+ 0xa53d, 0xac37, 0xb536, 0xb937, 0xbd3b, 0xd940, 0xe542, 0xed5e,
+ 0xef5e, 0xf657, 0xfd62, 0x7c20, 0x7ef4, 0x80f5, 0x82f6, 0x84f7,
+ 0x86f8, 0x88f9, 0x8afa, 0x8cfb, 0x8e70, 0x90fd, 0x92fe, 0x94ff,
+ 0x9700, 0x9901, 0x9b43, 0x9d44, 0x9f45, 0xa146, 0xa347, 0xa548,
+ 0xa749, 0xa94a, 0xab4b, 0xad4c, 0xaf4d, 0xb14e, 0xb34f, 0xb550,
// Entry 140 - 17F
- 0xb951, 0xbb52, 0xbd53, 0xbf54, 0xc155, 0xc356, 0xc557, 0xc758,
- 0xc959, 0xcb5a, 0xcd5b, 0xcf64,
+ 0xb751, 0xb952, 0xbb53, 0xbd54, 0xbf55, 0xc156, 0xc357, 0xc558,
+ 0xc759, 0xc95a, 0xcb5b, 0xcd5c, 0xcf65,
}
-// Size: 1463 bytes
+// Size: 1615 bytes
var variantIndex = map[string]uint8{
"1606nict": 0x0,
"1694acad": 0x1,
"1901": 0x2,
"1959acad": 0x3,
- "1994": 0x45,
+ "1994": 0x4d,
"1996": 0x4,
"abl1943": 0x5,
- "alalc97": 0x47,
- "aluku": 0x6,
- "ao1990": 0x7,
- "arevela": 0x8,
- "arevmda": 0x9,
- "baku1926": 0xa,
- "balanka": 0xb,
- "barla": 0xc,
- "basiceng": 0xd,
- "bauddha": 0xe,
- "biscayan": 0xf,
- "biske": 0x40,
- "bohoric": 0x10,
- "boont": 0x11,
- "colb1945": 0x12,
- "cornu": 0x13,
- "dajnko": 0x14,
- "ekavsk": 0x15,
- "emodeng": 0x16,
- "fonipa": 0x48,
- "fonnapa": 0x49,
- "fonupa": 0x4a,
- "fonxsamp": 0x4b,
- "hepburn": 0x17,
- "heploc": 0x46,
- "hognorsk": 0x18,
- "ijekavsk": 0x19,
- "itihasa": 0x1a,
- "jauer": 0x1b,
- "jyutping": 0x1c,
- "kkcor": 0x1d,
- "kociewie": 0x1e,
- "kscor": 0x1f,
- "laukika": 0x20,
- "lipaw": 0x41,
- "luna1918": 0x21,
- "metelko": 0x22,
- "monoton": 0x23,
- "ndyuka": 0x24,
- "nedis": 0x25,
- "newfound": 0x26,
- "njiva": 0x42,
- "nulik": 0x27,
- "osojs": 0x43,
- "oxendict": 0x28,
- "pamaka": 0x29,
- "petr1708": 0x2a,
- "pinyin": 0x2b,
- "polyton": 0x2c,
- "puter": 0x2d,
- "rigik": 0x2e,
- "rozaj": 0x2f,
- "rumgr": 0x30,
- "scotland": 0x31,
- "scouse": 0x32,
- "simple": 0x4c,
- "solba": 0x44,
- "sotav": 0x33,
- "surmiran": 0x34,
- "sursilv": 0x35,
- "sutsilv": 0x36,
- "tarask": 0x37,
- "uccor": 0x38,
- "ucrcor": 0x39,
- "ulster": 0x3a,
- "unifon": 0x3b,
- "vaidika": 0x3c,
- "valencia": 0x3d,
- "vallader": 0x3e,
- "wadegile": 0x3f,
+ "akuapem": 0x6,
+ "alalc97": 0x4f,
+ "aluku": 0x7,
+ "ao1990": 0x8,
+ "arevela": 0x9,
+ "arevmda": 0xa,
+ "asante": 0xb,
+ "baku1926": 0xc,
+ "balanka": 0xd,
+ "barla": 0xe,
+ "basiceng": 0xf,
+ "bauddha": 0x10,
+ "biscayan": 0x11,
+ "biske": 0x48,
+ "bohoric": 0x12,
+ "boont": 0x13,
+ "colb1945": 0x14,
+ "cornu": 0x15,
+ "dajnko": 0x16,
+ "ekavsk": 0x17,
+ "emodeng": 0x18,
+ "fonipa": 0x50,
+ "fonnapa": 0x51,
+ "fonupa": 0x52,
+ "fonxsamp": 0x53,
+ "hepburn": 0x19,
+ "heploc": 0x4e,
+ "hognorsk": 0x1a,
+ "hsistemo": 0x1b,
+ "ijekavsk": 0x1c,
+ "itihasa": 0x1d,
+ "jauer": 0x1e,
+ "jyutping": 0x1f,
+ "kkcor": 0x20,
+ "kociewie": 0x21,
+ "kscor": 0x22,
+ "laukika": 0x23,
+ "lipaw": 0x49,
+ "luna1918": 0x24,
+ "metelko": 0x25,
+ "monoton": 0x26,
+ "ndyuka": 0x27,
+ "nedis": 0x28,
+ "newfound": 0x29,
+ "njiva": 0x4a,
+ "nulik": 0x2a,
+ "osojs": 0x4b,
+ "oxendict": 0x2b,
+ "pahawh2": 0x2c,
+ "pahawh3": 0x2d,
+ "pahawh4": 0x2e,
+ "pamaka": 0x2f,
+ "petr1708": 0x30,
+ "pinyin": 0x31,
+ "polyton": 0x32,
+ "puter": 0x33,
+ "rigik": 0x34,
+ "rozaj": 0x35,
+ "rumgr": 0x36,
+ "scotland": 0x37,
+ "scouse": 0x38,
+ "simple": 0x54,
+ "solba": 0x4c,
+ "sotav": 0x39,
+ "spanglis": 0x3a,
+ "surmiran": 0x3b,
+ "sursilv": 0x3c,
+ "sutsilv": 0x3d,
+ "tarask": 0x3e,
+ "uccor": 0x3f,
+ "ucrcor": 0x40,
+ "ulster": 0x41,
+ "unifon": 0x42,
+ "vaidika": 0x43,
+ "valencia": 0x44,
+ "vallader": 0x45,
+ "wadegile": 0x46,
+ "xsistemo": 0x47,
}
// variantNumSpecialized is the number of specialized variants in variants.
-const variantNumSpecialized = 71
+const variantNumSpecialized = 79
// nRegionGroups is the number of region groups.
-const nRegionGroups = 32
+const nRegionGroups = 33
type likelyLangRegion struct {
lang uint16
@@ -1345,147 +1356,147 @@ type likelyLangRegion struct {
// likelyScript is a lookup table, indexed by scriptID, for the most likely
// languages and regions given a script.
-// Size: 928 bytes, 232 elements
-var likelyScript = [232]likelyLangRegion{
- 1: {lang: 0x14d, region: 0x83},
- 3: {lang: 0x2a0, region: 0x105},
- 4: {lang: 0x1f, region: 0x98},
- 5: {lang: 0x3a, region: 0x6a},
- 7: {lang: 0x3b, region: 0x9b},
- 8: {lang: 0x1d5, region: 0x27},
- 9: {lang: 0x13, region: 0x9b},
- 10: {lang: 0x5b, region: 0x94},
- 11: {lang: 0x60, region: 0x51},
- 12: {lang: 0xb9, region: 0xb3},
- 13: {lang: 0x63, region: 0x94},
- 14: {lang: 0xa5, region: 0x34},
- 15: {lang: 0x3e7, region: 0x98},
- 17: {lang: 0x527, region: 0x12d},
- 18: {lang: 0x3af, region: 0x98},
- 19: {lang: 0x15d, region: 0x77},
- 20: {lang: 0xc2, region: 0x94},
- 21: {lang: 0x9d, region: 0xe6},
- 22: {lang: 0xdb, region: 0x34},
- 23: {lang: 0xf2, region: 0x48},
- 24: {lang: 0x4ee, region: 0x12a},
- 25: {lang: 0xe7, region: 0x13d},
- 26: {lang: 0xe5, region: 0x134},
- 28: {lang: 0xf0, region: 0x6a},
- 29: {lang: 0x19e, region: 0x5c},
- 30: {lang: 0x3e0, region: 0x105},
- 32: {lang: 0x1bc, region: 0x98},
- 34: {lang: 0x15d, region: 0x77},
- 37: {lang: 0x132, region: 0x6a},
- 38: {lang: 0x42f, region: 0x26},
- 39: {lang: 0x27, region: 0x6e},
- 41: {lang: 0x20e, region: 0x7c},
- 42: {lang: 0xfd, region: 0x37},
- 43: {lang: 0x19c, region: 0x12f},
- 44: {lang: 0x3e7, region: 0x98},
- 45: {lang: 0x135, region: 0x86},
- 46: {lang: 0x1a2, region: 0x98},
- 47: {lang: 0x39b, region: 0x98},
- 48: {lang: 0x527, region: 0x12d},
- 49: {lang: 0x252, region: 0xaa},
- 50: {lang: 0x527, region: 0x52},
- 51: {lang: 0x1c9, region: 0xe6},
- 52: {lang: 0x527, region: 0x52},
- 53: {lang: 0x527, region: 0x12d},
- 54: {lang: 0x2fb, region: 0x9a},
- 55: {lang: 0x1ba, region: 0x96},
- 56: {lang: 0x1fe, region: 0xa1},
- 57: {lang: 0x1c3, region: 0x12a},
- 58: {lang: 0x1c8, region: 0xae},
- 60: {lang: 0x1d3, region: 0x91},
- 62: {lang: 0x141, region: 0x9d},
- 63: {lang: 0x252, region: 0xaa},
- 64: {lang: 0x20c, region: 0x94},
- 65: {lang: 0x1fe, region: 0xa1},
- 67: {lang: 0x134, region: 0xc3},
- 68: {lang: 0x1fe, region: 0xa1},
- 69: {lang: 0x3b9, region: 0xe7},
- 70: {lang: 0x248, region: 0xa5},
- 71: {lang: 0x3f8, region: 0x98},
- 74: {lang: 0x24f, region: 0x98},
- 75: {lang: 0x252, region: 0xaa},
- 77: {lang: 0x88, region: 0x98},
- 78: {lang: 0x36e, region: 0x122},
- 79: {lang: 0x2b6, region: 0xae},
- 84: {lang: 0x29d, region: 0x98},
- 85: {lang: 0x2a6, region: 0x98},
- 86: {lang: 0x28d, region: 0x86},
- 87: {lang: 0x19e, region: 0x86},
- 88: {lang: 0x2aa, region: 0x52},
- 90: {lang: 0x4f2, region: 0x12a},
- 91: {lang: 0x4f3, region: 0x12a},
- 92: {lang: 0x1bc, region: 0x98},
- 93: {lang: 0x335, region: 0x9b},
- 94: {lang: 0x4f5, region: 0x52},
- 95: {lang: 0xa9, region: 0x52},
- 97: {lang: 0x2e6, region: 0x111},
- 98: {lang: 0x4f6, region: 0x10a},
- 99: {lang: 0x4f6, region: 0x10a},
- 100: {lang: 0x302, region: 0x98},
- 101: {lang: 0x319, region: 0x98},
- 102: {lang: 0x309, region: 0x52},
- 104: {lang: 0x31c, region: 0x34},
- 105: {lang: 0x30c, region: 0x98},
- 106: {lang: 0x412, region: 0xe7},
- 107: {lang: 0x32f, region: 0xc3},
- 108: {lang: 0x4f7, region: 0x107},
- 109: {lang: 0x3b, region: 0xa0},
- 110: {lang: 0x351, region: 0xda},
- 112: {lang: 0x2ce, region: 0x83},
- 114: {lang: 0x401, region: 0x95},
- 115: {lang: 0x3ec, region: 0x98},
- 116: {lang: 0x399, region: 0xc4},
- 117: {lang: 0x393, region: 0x98},
- 118: {lang: 0x397, region: 0x134},
- 119: {lang: 0x427, region: 0x114},
- 120: {lang: 0x3b, region: 0x11b},
- 121: {lang: 0xfc, region: 0xc3},
- 122: {lang: 0x27b, region: 0x105},
- 123: {lang: 0x2c7, region: 0x52},
- 124: {lang: 0x39d, region: 0x9b},
- 125: {lang: 0x39d, region: 0x52},
- 127: {lang: 0x3ab, region: 0xaf},
- 129: {lang: 0x1c4, region: 0x52},
- 130: {lang: 0x4fb, region: 0x9b},
- 181: {lang: 0x3c9, region: 0x94},
- 183: {lang: 0x370, region: 0x10b},
- 184: {lang: 0x41e, region: 0x96},
- 186: {lang: 0x4fd, region: 0x15d},
- 187: {lang: 0x3ee, region: 0x98},
- 188: {lang: 0x45, region: 0x134},
- 189: {lang: 0x138, region: 0x7a},
- 190: {lang: 0x3e7, region: 0x98},
- 191: {lang: 0x3e7, region: 0x98},
- 192: {lang: 0x3f8, region: 0x98},
- 193: {lang: 0x40a, region: 0xb2},
- 194: {lang: 0x431, region: 0x98},
- 195: {lang: 0x43c, region: 0x94},
- 196: {lang: 0x44b, region: 0x34},
- 197: {lang: 0x44c, region: 0x9a},
- 201: {lang: 0x458, region: 0xe6},
- 202: {lang: 0x119, region: 0x98},
- 203: {lang: 0x45c, region: 0x52},
- 204: {lang: 0x230, region: 0x52},
- 205: {lang: 0x44e, region: 0x98},
- 206: {lang: 0x4a3, region: 0x52},
- 207: {lang: 0x9f, region: 0x13d},
- 208: {lang: 0x45f, region: 0x98},
- 210: {lang: 0x526, region: 0xb9},
- 211: {lang: 0x152, region: 0xe6},
- 212: {lang: 0x127, region: 0xcc},
- 213: {lang: 0x469, region: 0x122},
- 214: {lang: 0xa9, region: 0x52},
- 215: {lang: 0x2cc, region: 0x98},
- 216: {lang: 0x4ab, region: 0x11b},
- 217: {lang: 0x4bc, region: 0xb3},
- 219: {lang: 0x1cc, region: 0x98},
- 221: {lang: 0x3a7, region: 0x9b},
- 222: {lang: 0x22, region: 0x9a},
- 223: {lang: 0x1e8, region: 0x52},
+// Size: 956 bytes, 239 elements
+var likelyScript = [239]likelyLangRegion{
+ 1: {lang: 0x14d, region: 0x84},
+ 3: {lang: 0x2a0, region: 0x106},
+ 4: {lang: 0x1f, region: 0x99},
+ 5: {lang: 0x3a, region: 0x6b},
+ 7: {lang: 0x3b, region: 0x9c},
+ 8: {lang: 0x1d5, region: 0x28},
+ 9: {lang: 0x13, region: 0x9c},
+ 10: {lang: 0x5b, region: 0x95},
+ 11: {lang: 0x60, region: 0x52},
+ 12: {lang: 0xb9, region: 0xb4},
+ 13: {lang: 0x63, region: 0x95},
+ 14: {lang: 0xa5, region: 0x35},
+ 15: {lang: 0x3e7, region: 0x99},
+ 17: {lang: 0x527, region: 0x12e},
+ 18: {lang: 0x3af, region: 0x99},
+ 19: {lang: 0x15d, region: 0x78},
+ 20: {lang: 0xc2, region: 0x95},
+ 21: {lang: 0x9d, region: 0xe7},
+ 22: {lang: 0xdb, region: 0x35},
+ 23: {lang: 0xf2, region: 0x49},
+ 24: {lang: 0x4ee, region: 0x12b},
+ 25: {lang: 0xe7, region: 0x13e},
+ 26: {lang: 0xe5, region: 0x135},
+ 28: {lang: 0xf0, region: 0x6b},
+ 29: {lang: 0x19e, region: 0x5d},
+ 30: {lang: 0x3e0, region: 0x106},
+ 32: {lang: 0x1bc, region: 0x99},
+ 35: {lang: 0x15d, region: 0x78},
+ 38: {lang: 0x132, region: 0x6b},
+ 39: {lang: 0x42f, region: 0x27},
+ 40: {lang: 0x27, region: 0x6f},
+ 42: {lang: 0x20e, region: 0x7d},
+ 43: {lang: 0xfd, region: 0x38},
+ 46: {lang: 0x19c, region: 0x130},
+ 47: {lang: 0x3e7, region: 0x99},
+ 48: {lang: 0x135, region: 0x87},
+ 49: {lang: 0x1a2, region: 0x99},
+ 50: {lang: 0x39b, region: 0x99},
+ 51: {lang: 0x527, region: 0x12e},
+ 52: {lang: 0x252, region: 0xab},
+ 53: {lang: 0x527, region: 0x53},
+ 54: {lang: 0x1c9, region: 0xe7},
+ 55: {lang: 0x527, region: 0x53},
+ 56: {lang: 0x527, region: 0x12e},
+ 57: {lang: 0x2fb, region: 0x9b},
+ 58: {lang: 0x1ba, region: 0x97},
+ 59: {lang: 0x1fe, region: 0xa2},
+ 60: {lang: 0x1c3, region: 0x12b},
+ 61: {lang: 0x1c8, region: 0xaf},
+ 63: {lang: 0x1d3, region: 0x92},
+ 65: {lang: 0x141, region: 0x9e},
+ 66: {lang: 0x252, region: 0xab},
+ 67: {lang: 0x20c, region: 0x95},
+ 68: {lang: 0x1fe, region: 0xa2},
+ 70: {lang: 0x134, region: 0xc4},
+ 71: {lang: 0x1fe, region: 0xa2},
+ 72: {lang: 0x3b9, region: 0xe8},
+ 73: {lang: 0x248, region: 0xa6},
+ 74: {lang: 0x3f8, region: 0x99},
+ 77: {lang: 0x24f, region: 0x99},
+ 78: {lang: 0x252, region: 0xab},
+ 80: {lang: 0x88, region: 0x99},
+ 81: {lang: 0x36e, region: 0x123},
+ 82: {lang: 0x2b6, region: 0xaf},
+ 87: {lang: 0x29d, region: 0x99},
+ 88: {lang: 0x2a6, region: 0x99},
+ 89: {lang: 0x28d, region: 0x87},
+ 90: {lang: 0x19e, region: 0x87},
+ 91: {lang: 0x2aa, region: 0x53},
+ 93: {lang: 0x4f2, region: 0x12b},
+ 94: {lang: 0x4f3, region: 0x12b},
+ 95: {lang: 0x1bc, region: 0x99},
+ 97: {lang: 0x335, region: 0x9c},
+ 98: {lang: 0x4f5, region: 0x53},
+ 99: {lang: 0xa9, region: 0x53},
+ 102: {lang: 0x2e6, region: 0x112},
+ 103: {lang: 0x4f6, region: 0x10b},
+ 104: {lang: 0x4f6, region: 0x10b},
+ 105: {lang: 0x302, region: 0x99},
+ 106: {lang: 0x319, region: 0x99},
+ 107: {lang: 0x309, region: 0x53},
+ 109: {lang: 0x31c, region: 0x35},
+ 110: {lang: 0x30c, region: 0x99},
+ 111: {lang: 0x412, region: 0xe8},
+ 112: {lang: 0x32f, region: 0xc4},
+ 113: {lang: 0x4f7, region: 0x108},
+ 114: {lang: 0x3b, region: 0xa1},
+ 115: {lang: 0x351, region: 0xdb},
+ 117: {lang: 0x2ce, region: 0x84},
+ 119: {lang: 0x401, region: 0x96},
+ 120: {lang: 0x3ec, region: 0x99},
+ 121: {lang: 0x399, region: 0xc5},
+ 122: {lang: 0x393, region: 0x99},
+ 123: {lang: 0x397, region: 0x135},
+ 124: {lang: 0x427, region: 0x115},
+ 125: {lang: 0x3b, region: 0x11c},
+ 126: {lang: 0xfc, region: 0xc4},
+ 127: {lang: 0x27b, region: 0x106},
+ 128: {lang: 0x2c7, region: 0x53},
+ 129: {lang: 0x39d, region: 0x9c},
+ 130: {lang: 0x39d, region: 0x53},
+ 132: {lang: 0x3ab, region: 0xb0},
+ 134: {lang: 0x1c4, region: 0x53},
+ 135: {lang: 0x4fb, region: 0x9c},
+ 186: {lang: 0x3c9, region: 0x95},
+ 188: {lang: 0x370, region: 0x10c},
+ 189: {lang: 0x41e, region: 0x97},
+ 191: {lang: 0x4fd, region: 0x15e},
+ 192: {lang: 0x3ee, region: 0x99},
+ 193: {lang: 0x45, region: 0x135},
+ 194: {lang: 0x138, region: 0x7b},
+ 195: {lang: 0x3e7, region: 0x99},
+ 196: {lang: 0x3e7, region: 0x99},
+ 197: {lang: 0x3f8, region: 0x99},
+ 198: {lang: 0x40a, region: 0xb3},
+ 199: {lang: 0x431, region: 0x99},
+ 201: {lang: 0x43c, region: 0x95},
+ 202: {lang: 0x44b, region: 0x35},
+ 203: {lang: 0x44c, region: 0x9b},
+ 207: {lang: 0x458, region: 0xe7},
+ 208: {lang: 0x119, region: 0x99},
+ 209: {lang: 0x45c, region: 0x53},
+ 210: {lang: 0x230, region: 0x53},
+ 211: {lang: 0x44e, region: 0x99},
+ 212: {lang: 0x4a3, region: 0x53},
+ 213: {lang: 0x9f, region: 0x13e},
+ 214: {lang: 0x45f, region: 0x99},
+ 216: {lang: 0x526, region: 0xba},
+ 217: {lang: 0x152, region: 0xe7},
+ 218: {lang: 0x127, region: 0xcd},
+ 219: {lang: 0x469, region: 0x123},
+ 220: {lang: 0xa9, region: 0x53},
+ 221: {lang: 0x2cc, region: 0x99},
+ 222: {lang: 0x4ab, region: 0x11c},
+ 223: {lang: 0x4bc, region: 0xb4},
+ 225: {lang: 0x1cc, region: 0x99},
+ 227: {lang: 0x3a7, region: 0x9c},
+ 228: {lang: 0x22, region: 0x9b},
+ 229: {lang: 0x1e8, region: 0x53},
}
type likelyScriptRegion struct {
@@ -1500,1417 +1511,1417 @@ type likelyScriptRegion struct {
// of the list in likelyLangList.
// Size: 5308 bytes, 1327 elements
var likelyLang = [1327]likelyScriptRegion{
- 0: {region: 0x134, script: 0x52, flags: 0x0},
- 1: {region: 0x6e, script: 0x52, flags: 0x0},
- 2: {region: 0x164, script: 0x52, flags: 0x0},
- 3: {region: 0x164, script: 0x52, flags: 0x0},
- 4: {region: 0x164, script: 0x52, flags: 0x0},
- 5: {region: 0x7c, script: 0x1e, flags: 0x0},
- 6: {region: 0x164, script: 0x52, flags: 0x0},
- 7: {region: 0x164, script: 0x1e, flags: 0x0},
- 8: {region: 0x7f, script: 0x52, flags: 0x0},
- 9: {region: 0x164, script: 0x52, flags: 0x0},
- 10: {region: 0x164, script: 0x52, flags: 0x0},
- 11: {region: 0x164, script: 0x52, flags: 0x0},
- 12: {region: 0x94, script: 0x52, flags: 0x0},
- 13: {region: 0x130, script: 0x52, flags: 0x0},
- 14: {region: 0x7f, script: 0x52, flags: 0x0},
- 15: {region: 0x164, script: 0x52, flags: 0x0},
- 16: {region: 0x164, script: 0x52, flags: 0x0},
- 17: {region: 0x105, script: 0x1e, flags: 0x0},
- 18: {region: 0x164, script: 0x52, flags: 0x0},
- 19: {region: 0x9b, script: 0x9, flags: 0x0},
- 20: {region: 0x127, script: 0x5, flags: 0x0},
- 21: {region: 0x164, script: 0x52, flags: 0x0},
- 22: {region: 0x160, script: 0x52, flags: 0x0},
- 23: {region: 0x164, script: 0x52, flags: 0x0},
- 24: {region: 0x164, script: 0x52, flags: 0x0},
- 25: {region: 0x164, script: 0x52, flags: 0x0},
- 26: {region: 0x164, script: 0x52, flags: 0x0},
- 27: {region: 0x164, script: 0x52, flags: 0x0},
- 28: {region: 0x51, script: 0x52, flags: 0x0},
- 29: {region: 0x164, script: 0x52, flags: 0x0},
- 30: {region: 0x164, script: 0x52, flags: 0x0},
- 31: {region: 0x98, script: 0x4, flags: 0x0},
- 32: {region: 0x164, script: 0x52, flags: 0x0},
- 33: {region: 0x7f, script: 0x52, flags: 0x0},
- 34: {region: 0x9a, script: 0xde, flags: 0x0},
- 35: {region: 0x164, script: 0x52, flags: 0x0},
- 36: {region: 0x164, script: 0x52, flags: 0x0},
- 37: {region: 0x14c, script: 0x52, flags: 0x0},
- 38: {region: 0x105, script: 0x1e, flags: 0x0},
- 39: {region: 0x6e, script: 0x27, flags: 0x0},
- 40: {region: 0x164, script: 0x52, flags: 0x0},
- 41: {region: 0x164, script: 0x52, flags: 0x0},
- 42: {region: 0xd5, script: 0x52, flags: 0x0},
- 43: {region: 0x164, script: 0x52, flags: 0x0},
- 45: {region: 0x164, script: 0x52, flags: 0x0},
- 46: {region: 0x164, script: 0x52, flags: 0x0},
- 47: {region: 0x164, script: 0x52, flags: 0x0},
- 48: {region: 0x164, script: 0x52, flags: 0x0},
- 49: {region: 0x164, script: 0x52, flags: 0x0},
- 50: {region: 0x164, script: 0x52, flags: 0x0},
- 51: {region: 0x94, script: 0x52, flags: 0x0},
- 52: {region: 0x164, script: 0x5, flags: 0x0},
- 53: {region: 0x121, script: 0x5, flags: 0x0},
- 54: {region: 0x164, script: 0x52, flags: 0x0},
- 55: {region: 0x164, script: 0x52, flags: 0x0},
- 56: {region: 0x164, script: 0x52, flags: 0x0},
- 57: {region: 0x164, script: 0x52, flags: 0x0},
- 58: {region: 0x6a, script: 0x5, flags: 0x0},
+ 0: {region: 0x135, script: 0x55, flags: 0x0},
+ 1: {region: 0x6f, script: 0x55, flags: 0x0},
+ 2: {region: 0x165, script: 0x55, flags: 0x0},
+ 3: {region: 0x165, script: 0x55, flags: 0x0},
+ 4: {region: 0x165, script: 0x55, flags: 0x0},
+ 5: {region: 0x7d, script: 0x1e, flags: 0x0},
+ 6: {region: 0x165, script: 0x55, flags: 0x0},
+ 7: {region: 0x165, script: 0x1e, flags: 0x0},
+ 8: {region: 0x80, script: 0x55, flags: 0x0},
+ 9: {region: 0x165, script: 0x55, flags: 0x0},
+ 10: {region: 0x165, script: 0x55, flags: 0x0},
+ 11: {region: 0x165, script: 0x55, flags: 0x0},
+ 12: {region: 0x95, script: 0x55, flags: 0x0},
+ 13: {region: 0x131, script: 0x55, flags: 0x0},
+ 14: {region: 0x80, script: 0x55, flags: 0x0},
+ 15: {region: 0x165, script: 0x55, flags: 0x0},
+ 16: {region: 0x165, script: 0x55, flags: 0x0},
+ 17: {region: 0x106, script: 0x1e, flags: 0x0},
+ 18: {region: 0x165, script: 0x55, flags: 0x0},
+ 19: {region: 0x9c, script: 0x9, flags: 0x0},
+ 20: {region: 0x128, script: 0x5, flags: 0x0},
+ 21: {region: 0x165, script: 0x55, flags: 0x0},
+ 22: {region: 0x161, script: 0x55, flags: 0x0},
+ 23: {region: 0x165, script: 0x55, flags: 0x0},
+ 24: {region: 0x165, script: 0x55, flags: 0x0},
+ 25: {region: 0x165, script: 0x55, flags: 0x0},
+ 26: {region: 0x165, script: 0x55, flags: 0x0},
+ 27: {region: 0x165, script: 0x55, flags: 0x0},
+ 28: {region: 0x52, script: 0x55, flags: 0x0},
+ 29: {region: 0x165, script: 0x55, flags: 0x0},
+ 30: {region: 0x165, script: 0x55, flags: 0x0},
+ 31: {region: 0x99, script: 0x4, flags: 0x0},
+ 32: {region: 0x165, script: 0x55, flags: 0x0},
+ 33: {region: 0x80, script: 0x55, flags: 0x0},
+ 34: {region: 0x9b, script: 0xe4, flags: 0x0},
+ 35: {region: 0x165, script: 0x55, flags: 0x0},
+ 36: {region: 0x165, script: 0x55, flags: 0x0},
+ 37: {region: 0x14d, script: 0x55, flags: 0x0},
+ 38: {region: 0x106, script: 0x1e, flags: 0x0},
+ 39: {region: 0x6f, script: 0x28, flags: 0x0},
+ 40: {region: 0x165, script: 0x55, flags: 0x0},
+ 41: {region: 0x165, script: 0x55, flags: 0x0},
+ 42: {region: 0xd6, script: 0x55, flags: 0x0},
+ 43: {region: 0x165, script: 0x55, flags: 0x0},
+ 45: {region: 0x165, script: 0x55, flags: 0x0},
+ 46: {region: 0x165, script: 0x55, flags: 0x0},
+ 47: {region: 0x165, script: 0x55, flags: 0x0},
+ 48: {region: 0x165, script: 0x55, flags: 0x0},
+ 49: {region: 0x165, script: 0x55, flags: 0x0},
+ 50: {region: 0x165, script: 0x55, flags: 0x0},
+ 51: {region: 0x95, script: 0x55, flags: 0x0},
+ 52: {region: 0x165, script: 0x5, flags: 0x0},
+ 53: {region: 0x122, script: 0x5, flags: 0x0},
+ 54: {region: 0x165, script: 0x55, flags: 0x0},
+ 55: {region: 0x165, script: 0x55, flags: 0x0},
+ 56: {region: 0x165, script: 0x55, flags: 0x0},
+ 57: {region: 0x165, script: 0x55, flags: 0x0},
+ 58: {region: 0x6b, script: 0x5, flags: 0x0},
59: {region: 0x0, script: 0x3, flags: 0x1},
- 60: {region: 0x164, script: 0x52, flags: 0x0},
- 61: {region: 0x50, script: 0x52, flags: 0x0},
- 62: {region: 0x3e, script: 0x52, flags: 0x0},
- 63: {region: 0x66, script: 0x5, flags: 0x0},
- 65: {region: 0xb9, script: 0x5, flags: 0x0},
- 66: {region: 0x6a, script: 0x5, flags: 0x0},
- 67: {region: 0x98, script: 0xe, flags: 0x0},
- 68: {region: 0x12e, script: 0x52, flags: 0x0},
- 69: {region: 0x134, script: 0xbc, flags: 0x0},
- 70: {region: 0x164, script: 0x52, flags: 0x0},
- 71: {region: 0x164, script: 0x52, flags: 0x0},
- 72: {region: 0x6d, script: 0x52, flags: 0x0},
- 73: {region: 0x164, script: 0x52, flags: 0x0},
- 74: {region: 0x164, script: 0x52, flags: 0x0},
- 75: {region: 0x48, script: 0x52, flags: 0x0},
- 76: {region: 0x164, script: 0x52, flags: 0x0},
- 77: {region: 0x105, script: 0x1e, flags: 0x0},
- 78: {region: 0x164, script: 0x5, flags: 0x0},
- 79: {region: 0x164, script: 0x52, flags: 0x0},
- 80: {region: 0x164, script: 0x52, flags: 0x0},
- 81: {region: 0x164, script: 0x52, flags: 0x0},
- 82: {region: 0x98, script: 0x20, flags: 0x0},
- 83: {region: 0x164, script: 0x52, flags: 0x0},
- 84: {region: 0x164, script: 0x52, flags: 0x0},
- 85: {region: 0x164, script: 0x52, flags: 0x0},
- 86: {region: 0x3e, script: 0x52, flags: 0x0},
- 87: {region: 0x164, script: 0x52, flags: 0x0},
+ 60: {region: 0x165, script: 0x55, flags: 0x0},
+ 61: {region: 0x51, script: 0x55, flags: 0x0},
+ 62: {region: 0x3f, script: 0x55, flags: 0x0},
+ 63: {region: 0x67, script: 0x5, flags: 0x0},
+ 65: {region: 0xba, script: 0x5, flags: 0x0},
+ 66: {region: 0x6b, script: 0x5, flags: 0x0},
+ 67: {region: 0x99, script: 0xe, flags: 0x0},
+ 68: {region: 0x12f, script: 0x55, flags: 0x0},
+ 69: {region: 0x135, script: 0xc1, flags: 0x0},
+ 70: {region: 0x165, script: 0x55, flags: 0x0},
+ 71: {region: 0x165, script: 0x55, flags: 0x0},
+ 72: {region: 0x6e, script: 0x55, flags: 0x0},
+ 73: {region: 0x165, script: 0x55, flags: 0x0},
+ 74: {region: 0x165, script: 0x55, flags: 0x0},
+ 75: {region: 0x49, script: 0x55, flags: 0x0},
+ 76: {region: 0x165, script: 0x55, flags: 0x0},
+ 77: {region: 0x106, script: 0x1e, flags: 0x0},
+ 78: {region: 0x165, script: 0x5, flags: 0x0},
+ 79: {region: 0x165, script: 0x55, flags: 0x0},
+ 80: {region: 0x165, script: 0x55, flags: 0x0},
+ 81: {region: 0x165, script: 0x55, flags: 0x0},
+ 82: {region: 0x99, script: 0x20, flags: 0x0},
+ 83: {region: 0x165, script: 0x55, flags: 0x0},
+ 84: {region: 0x165, script: 0x55, flags: 0x0},
+ 85: {region: 0x165, script: 0x55, flags: 0x0},
+ 86: {region: 0x3f, script: 0x55, flags: 0x0},
+ 87: {region: 0x165, script: 0x55, flags: 0x0},
88: {region: 0x3, script: 0x5, flags: 0x1},
- 89: {region: 0x105, script: 0x1e, flags: 0x0},
- 90: {region: 0xe7, script: 0x5, flags: 0x0},
- 91: {region: 0x94, script: 0x52, flags: 0x0},
- 92: {region: 0xda, script: 0x20, flags: 0x0},
- 93: {region: 0x2d, script: 0x52, flags: 0x0},
- 94: {region: 0x51, script: 0x52, flags: 0x0},
- 95: {region: 0x164, script: 0x52, flags: 0x0},
- 96: {region: 0x51, script: 0xb, flags: 0x0},
- 97: {region: 0x164, script: 0x52, flags: 0x0},
- 98: {region: 0x164, script: 0x52, flags: 0x0},
- 99: {region: 0x94, script: 0x52, flags: 0x0},
- 100: {region: 0x164, script: 0x52, flags: 0x0},
- 101: {region: 0x51, script: 0x52, flags: 0x0},
- 102: {region: 0x164, script: 0x52, flags: 0x0},
- 103: {region: 0x164, script: 0x52, flags: 0x0},
- 104: {region: 0x164, script: 0x52, flags: 0x0},
- 105: {region: 0x164, script: 0x52, flags: 0x0},
- 106: {region: 0x4e, script: 0x52, flags: 0x0},
- 107: {region: 0x164, script: 0x52, flags: 0x0},
- 108: {region: 0x164, script: 0x52, flags: 0x0},
- 109: {region: 0x164, script: 0x52, flags: 0x0},
- 110: {region: 0x164, script: 0x27, flags: 0x0},
- 111: {region: 0x164, script: 0x52, flags: 0x0},
- 112: {region: 0x164, script: 0x52, flags: 0x0},
- 113: {region: 0x46, script: 0x1e, flags: 0x0},
- 114: {region: 0x164, script: 0x52, flags: 0x0},
- 115: {region: 0x164, script: 0x52, flags: 0x0},
- 116: {region: 0x10a, script: 0x5, flags: 0x0},
- 117: {region: 0x161, script: 0x52, flags: 0x0},
- 118: {region: 0x164, script: 0x52, flags: 0x0},
- 119: {region: 0x94, script: 0x52, flags: 0x0},
- 120: {region: 0x164, script: 0x52, flags: 0x0},
- 121: {region: 0x12e, script: 0x52, flags: 0x0},
- 122: {region: 0x51, script: 0x52, flags: 0x0},
- 123: {region: 0x98, script: 0xcd, flags: 0x0},
- 124: {region: 0xe7, script: 0x5, flags: 0x0},
- 125: {region: 0x98, script: 0x20, flags: 0x0},
- 126: {region: 0x37, script: 0x1e, flags: 0x0},
- 127: {region: 0x98, script: 0x20, flags: 0x0},
- 128: {region: 0xe7, script: 0x5, flags: 0x0},
- 129: {region: 0x12a, script: 0x2d, flags: 0x0},
- 131: {region: 0x98, script: 0x20, flags: 0x0},
- 132: {region: 0x164, script: 0x52, flags: 0x0},
- 133: {region: 0x98, script: 0x20, flags: 0x0},
- 134: {region: 0xe6, script: 0x52, flags: 0x0},
- 135: {region: 0x164, script: 0x52, flags: 0x0},
- 136: {region: 0x98, script: 0x20, flags: 0x0},
- 137: {region: 0x164, script: 0x52, flags: 0x0},
- 138: {region: 0x13e, script: 0x52, flags: 0x0},
- 139: {region: 0x164, script: 0x52, flags: 0x0},
- 140: {region: 0x164, script: 0x52, flags: 0x0},
- 141: {region: 0xe6, script: 0x52, flags: 0x0},
- 142: {region: 0x164, script: 0x52, flags: 0x0},
- 143: {region: 0xd5, script: 0x52, flags: 0x0},
- 144: {region: 0x164, script: 0x52, flags: 0x0},
- 145: {region: 0x164, script: 0x52, flags: 0x0},
- 146: {region: 0x164, script: 0x52, flags: 0x0},
- 147: {region: 0x164, script: 0x27, flags: 0x0},
- 148: {region: 0x98, script: 0x20, flags: 0x0},
- 149: {region: 0x94, script: 0x52, flags: 0x0},
- 150: {region: 0x164, script: 0x52, flags: 0x0},
- 151: {region: 0x164, script: 0x52, flags: 0x0},
- 152: {region: 0x113, script: 0x52, flags: 0x0},
- 153: {region: 0x164, script: 0x52, flags: 0x0},
- 154: {region: 0x164, script: 0x52, flags: 0x0},
- 155: {region: 0x51, script: 0x52, flags: 0x0},
- 156: {region: 0x164, script: 0x52, flags: 0x0},
- 157: {region: 0xe6, script: 0x52, flags: 0x0},
- 158: {region: 0x164, script: 0x52, flags: 0x0},
- 159: {region: 0x13d, script: 0xcf, flags: 0x0},
- 160: {region: 0xc2, script: 0x52, flags: 0x0},
- 161: {region: 0x164, script: 0x52, flags: 0x0},
- 162: {region: 0x164, script: 0x52, flags: 0x0},
- 163: {region: 0xc2, script: 0x52, flags: 0x0},
- 164: {region: 0x164, script: 0x52, flags: 0x0},
- 165: {region: 0x34, script: 0xe, flags: 0x0},
- 166: {region: 0x164, script: 0x52, flags: 0x0},
- 167: {region: 0x164, script: 0x52, flags: 0x0},
- 168: {region: 0x164, script: 0x52, flags: 0x0},
- 169: {region: 0x52, script: 0xd6, flags: 0x0},
- 170: {region: 0x164, script: 0x52, flags: 0x0},
- 171: {region: 0x164, script: 0x52, flags: 0x0},
- 172: {region: 0x164, script: 0x52, flags: 0x0},
- 173: {region: 0x98, script: 0xe, flags: 0x0},
- 174: {region: 0x164, script: 0x52, flags: 0x0},
- 175: {region: 0x9b, script: 0x5, flags: 0x0},
- 176: {region: 0x164, script: 0x52, flags: 0x0},
- 177: {region: 0x4e, script: 0x52, flags: 0x0},
- 178: {region: 0x77, script: 0x52, flags: 0x0},
- 179: {region: 0x98, script: 0x20, flags: 0x0},
- 180: {region: 0xe7, script: 0x5, flags: 0x0},
- 181: {region: 0x98, script: 0x20, flags: 0x0},
- 182: {region: 0x164, script: 0x52, flags: 0x0},
- 183: {region: 0x32, script: 0x52, flags: 0x0},
- 184: {region: 0x164, script: 0x52, flags: 0x0},
- 185: {region: 0xb3, script: 0xc, flags: 0x0},
- 186: {region: 0x51, script: 0x52, flags: 0x0},
- 187: {region: 0x164, script: 0x27, flags: 0x0},
- 188: {region: 0xe6, script: 0x52, flags: 0x0},
- 189: {region: 0x164, script: 0x52, flags: 0x0},
- 190: {region: 0xe7, script: 0x20, flags: 0x0},
- 191: {region: 0x105, script: 0x1e, flags: 0x0},
- 192: {region: 0x15e, script: 0x52, flags: 0x0},
- 193: {region: 0x164, script: 0x52, flags: 0x0},
- 194: {region: 0x94, script: 0x52, flags: 0x0},
- 195: {region: 0x164, script: 0x52, flags: 0x0},
- 196: {region: 0x51, script: 0x52, flags: 0x0},
- 197: {region: 0x164, script: 0x52, flags: 0x0},
- 198: {region: 0x164, script: 0x52, flags: 0x0},
- 199: {region: 0x164, script: 0x52, flags: 0x0},
- 200: {region: 0x85, script: 0x52, flags: 0x0},
- 201: {region: 0x164, script: 0x52, flags: 0x0},
- 202: {region: 0x164, script: 0x52, flags: 0x0},
- 203: {region: 0x164, script: 0x52, flags: 0x0},
- 204: {region: 0x164, script: 0x52, flags: 0x0},
- 205: {region: 0x6c, script: 0x27, flags: 0x0},
- 206: {region: 0x164, script: 0x52, flags: 0x0},
- 207: {region: 0x164, script: 0x52, flags: 0x0},
- 208: {region: 0x51, script: 0x52, flags: 0x0},
- 209: {region: 0x164, script: 0x52, flags: 0x0},
- 210: {region: 0x164, script: 0x52, flags: 0x0},
- 211: {region: 0xc2, script: 0x52, flags: 0x0},
- 212: {region: 0x164, script: 0x52, flags: 0x0},
- 213: {region: 0x164, script: 0x52, flags: 0x0},
- 214: {region: 0x164, script: 0x52, flags: 0x0},
- 215: {region: 0x6d, script: 0x52, flags: 0x0},
- 216: {region: 0x164, script: 0x52, flags: 0x0},
- 217: {region: 0x164, script: 0x52, flags: 0x0},
- 218: {region: 0xd5, script: 0x52, flags: 0x0},
- 219: {region: 0x34, script: 0x16, flags: 0x0},
- 220: {region: 0x105, script: 0x1e, flags: 0x0},
- 221: {region: 0xe6, script: 0x52, flags: 0x0},
- 222: {region: 0x164, script: 0x52, flags: 0x0},
- 223: {region: 0x130, script: 0x52, flags: 0x0},
- 224: {region: 0x89, script: 0x52, flags: 0x0},
- 225: {region: 0x74, script: 0x52, flags: 0x0},
- 226: {region: 0x105, script: 0x1e, flags: 0x0},
- 227: {region: 0x134, script: 0x52, flags: 0x0},
- 228: {region: 0x48, script: 0x52, flags: 0x0},
- 229: {region: 0x134, script: 0x1a, flags: 0x0},
- 230: {region: 0xa5, script: 0x5, flags: 0x0},
- 231: {region: 0x13d, script: 0x19, flags: 0x0},
- 232: {region: 0x164, script: 0x52, flags: 0x0},
- 233: {region: 0x9a, script: 0x5, flags: 0x0},
- 234: {region: 0x164, script: 0x52, flags: 0x0},
- 235: {region: 0x164, script: 0x52, flags: 0x0},
- 236: {region: 0x164, script: 0x52, flags: 0x0},
- 237: {region: 0x164, script: 0x52, flags: 0x0},
- 238: {region: 0x164, script: 0x52, flags: 0x0},
- 239: {region: 0x77, script: 0x52, flags: 0x0},
- 240: {region: 0x6a, script: 0x1c, flags: 0x0},
- 241: {region: 0xe6, script: 0x52, flags: 0x0},
- 242: {region: 0x48, script: 0x17, flags: 0x0},
- 243: {region: 0x12f, script: 0x1e, flags: 0x0},
- 244: {region: 0x48, script: 0x17, flags: 0x0},
- 245: {region: 0x48, script: 0x17, flags: 0x0},
- 246: {region: 0x48, script: 0x17, flags: 0x0},
- 247: {region: 0x48, script: 0x17, flags: 0x0},
- 248: {region: 0x109, script: 0x52, flags: 0x0},
- 249: {region: 0x5d, script: 0x52, flags: 0x0},
- 250: {region: 0xe8, script: 0x52, flags: 0x0},
- 251: {region: 0x48, script: 0x17, flags: 0x0},
- 252: {region: 0xc3, script: 0x79, flags: 0x0},
+ 89: {region: 0x106, script: 0x1e, flags: 0x0},
+ 90: {region: 0xe8, script: 0x5, flags: 0x0},
+ 91: {region: 0x95, script: 0x55, flags: 0x0},
+ 92: {region: 0xdb, script: 0x20, flags: 0x0},
+ 93: {region: 0x2e, script: 0x55, flags: 0x0},
+ 94: {region: 0x52, script: 0x55, flags: 0x0},
+ 95: {region: 0x165, script: 0x55, flags: 0x0},
+ 96: {region: 0x52, script: 0xb, flags: 0x0},
+ 97: {region: 0x165, script: 0x55, flags: 0x0},
+ 98: {region: 0x165, script: 0x55, flags: 0x0},
+ 99: {region: 0x95, script: 0x55, flags: 0x0},
+ 100: {region: 0x165, script: 0x55, flags: 0x0},
+ 101: {region: 0x52, script: 0x55, flags: 0x0},
+ 102: {region: 0x165, script: 0x55, flags: 0x0},
+ 103: {region: 0x165, script: 0x55, flags: 0x0},
+ 104: {region: 0x165, script: 0x55, flags: 0x0},
+ 105: {region: 0x165, script: 0x55, flags: 0x0},
+ 106: {region: 0x4f, script: 0x55, flags: 0x0},
+ 107: {region: 0x165, script: 0x55, flags: 0x0},
+ 108: {region: 0x165, script: 0x55, flags: 0x0},
+ 109: {region: 0x165, script: 0x55, flags: 0x0},
+ 110: {region: 0x165, script: 0x28, flags: 0x0},
+ 111: {region: 0x165, script: 0x55, flags: 0x0},
+ 112: {region: 0x165, script: 0x55, flags: 0x0},
+ 113: {region: 0x47, script: 0x1e, flags: 0x0},
+ 114: {region: 0x165, script: 0x55, flags: 0x0},
+ 115: {region: 0x165, script: 0x55, flags: 0x0},
+ 116: {region: 0x10b, script: 0x5, flags: 0x0},
+ 117: {region: 0x162, script: 0x55, flags: 0x0},
+ 118: {region: 0x165, script: 0x55, flags: 0x0},
+ 119: {region: 0x95, script: 0x55, flags: 0x0},
+ 120: {region: 0x165, script: 0x55, flags: 0x0},
+ 121: {region: 0x12f, script: 0x55, flags: 0x0},
+ 122: {region: 0x52, script: 0x55, flags: 0x0},
+ 123: {region: 0x99, script: 0xd3, flags: 0x0},
+ 124: {region: 0xe8, script: 0x5, flags: 0x0},
+ 125: {region: 0x99, script: 0x20, flags: 0x0},
+ 126: {region: 0x38, script: 0x1e, flags: 0x0},
+ 127: {region: 0x99, script: 0x20, flags: 0x0},
+ 128: {region: 0xe8, script: 0x5, flags: 0x0},
+ 129: {region: 0x12b, script: 0x30, flags: 0x0},
+ 131: {region: 0x99, script: 0x20, flags: 0x0},
+ 132: {region: 0x165, script: 0x55, flags: 0x0},
+ 133: {region: 0x99, script: 0x20, flags: 0x0},
+ 134: {region: 0xe7, script: 0x55, flags: 0x0},
+ 135: {region: 0x165, script: 0x55, flags: 0x0},
+ 136: {region: 0x99, script: 0x20, flags: 0x0},
+ 137: {region: 0x165, script: 0x55, flags: 0x0},
+ 138: {region: 0x13f, script: 0x55, flags: 0x0},
+ 139: {region: 0x165, script: 0x55, flags: 0x0},
+ 140: {region: 0x165, script: 0x55, flags: 0x0},
+ 141: {region: 0xe7, script: 0x55, flags: 0x0},
+ 142: {region: 0x165, script: 0x55, flags: 0x0},
+ 143: {region: 0xd6, script: 0x55, flags: 0x0},
+ 144: {region: 0x165, script: 0x55, flags: 0x0},
+ 145: {region: 0x165, script: 0x55, flags: 0x0},
+ 146: {region: 0x165, script: 0x55, flags: 0x0},
+ 147: {region: 0x165, script: 0x28, flags: 0x0},
+ 148: {region: 0x99, script: 0x20, flags: 0x0},
+ 149: {region: 0x95, script: 0x55, flags: 0x0},
+ 150: {region: 0x165, script: 0x55, flags: 0x0},
+ 151: {region: 0x165, script: 0x55, flags: 0x0},
+ 152: {region: 0x114, script: 0x55, flags: 0x0},
+ 153: {region: 0x165, script: 0x55, flags: 0x0},
+ 154: {region: 0x165, script: 0x55, flags: 0x0},
+ 155: {region: 0x52, script: 0x55, flags: 0x0},
+ 156: {region: 0x165, script: 0x55, flags: 0x0},
+ 157: {region: 0xe7, script: 0x55, flags: 0x0},
+ 158: {region: 0x165, script: 0x55, flags: 0x0},
+ 159: {region: 0x13e, script: 0xd5, flags: 0x0},
+ 160: {region: 0xc3, script: 0x55, flags: 0x0},
+ 161: {region: 0x165, script: 0x55, flags: 0x0},
+ 162: {region: 0x165, script: 0x55, flags: 0x0},
+ 163: {region: 0xc3, script: 0x55, flags: 0x0},
+ 164: {region: 0x165, script: 0x55, flags: 0x0},
+ 165: {region: 0x35, script: 0xe, flags: 0x0},
+ 166: {region: 0x165, script: 0x55, flags: 0x0},
+ 167: {region: 0x165, script: 0x55, flags: 0x0},
+ 168: {region: 0x165, script: 0x55, flags: 0x0},
+ 169: {region: 0x53, script: 0xdc, flags: 0x0},
+ 170: {region: 0x165, script: 0x55, flags: 0x0},
+ 171: {region: 0x165, script: 0x55, flags: 0x0},
+ 172: {region: 0x165, script: 0x55, flags: 0x0},
+ 173: {region: 0x99, script: 0xe, flags: 0x0},
+ 174: {region: 0x165, script: 0x55, flags: 0x0},
+ 175: {region: 0x9c, script: 0x5, flags: 0x0},
+ 176: {region: 0x165, script: 0x55, flags: 0x0},
+ 177: {region: 0x4f, script: 0x55, flags: 0x0},
+ 178: {region: 0x78, script: 0x55, flags: 0x0},
+ 179: {region: 0x99, script: 0x20, flags: 0x0},
+ 180: {region: 0xe8, script: 0x5, flags: 0x0},
+ 181: {region: 0x99, script: 0x20, flags: 0x0},
+ 182: {region: 0x165, script: 0x55, flags: 0x0},
+ 183: {region: 0x33, script: 0x55, flags: 0x0},
+ 184: {region: 0x165, script: 0x55, flags: 0x0},
+ 185: {region: 0xb4, script: 0xc, flags: 0x0},
+ 186: {region: 0x52, script: 0x55, flags: 0x0},
+ 187: {region: 0x165, script: 0x28, flags: 0x0},
+ 188: {region: 0xe7, script: 0x55, flags: 0x0},
+ 189: {region: 0x165, script: 0x55, flags: 0x0},
+ 190: {region: 0xe8, script: 0x20, flags: 0x0},
+ 191: {region: 0x106, script: 0x1e, flags: 0x0},
+ 192: {region: 0x15f, script: 0x55, flags: 0x0},
+ 193: {region: 0x165, script: 0x55, flags: 0x0},
+ 194: {region: 0x95, script: 0x55, flags: 0x0},
+ 195: {region: 0x165, script: 0x55, flags: 0x0},
+ 196: {region: 0x52, script: 0x55, flags: 0x0},
+ 197: {region: 0x165, script: 0x55, flags: 0x0},
+ 198: {region: 0x165, script: 0x55, flags: 0x0},
+ 199: {region: 0x165, script: 0x55, flags: 0x0},
+ 200: {region: 0x86, script: 0x55, flags: 0x0},
+ 201: {region: 0x165, script: 0x55, flags: 0x0},
+ 202: {region: 0x165, script: 0x55, flags: 0x0},
+ 203: {region: 0x165, script: 0x55, flags: 0x0},
+ 204: {region: 0x165, script: 0x55, flags: 0x0},
+ 205: {region: 0x6d, script: 0x28, flags: 0x0},
+ 206: {region: 0x165, script: 0x55, flags: 0x0},
+ 207: {region: 0x165, script: 0x55, flags: 0x0},
+ 208: {region: 0x52, script: 0x55, flags: 0x0},
+ 209: {region: 0x165, script: 0x55, flags: 0x0},
+ 210: {region: 0x165, script: 0x55, flags: 0x0},
+ 211: {region: 0xc3, script: 0x55, flags: 0x0},
+ 212: {region: 0x165, script: 0x55, flags: 0x0},
+ 213: {region: 0x165, script: 0x55, flags: 0x0},
+ 214: {region: 0x165, script: 0x55, flags: 0x0},
+ 215: {region: 0x6e, script: 0x55, flags: 0x0},
+ 216: {region: 0x165, script: 0x55, flags: 0x0},
+ 217: {region: 0x165, script: 0x55, flags: 0x0},
+ 218: {region: 0xd6, script: 0x55, flags: 0x0},
+ 219: {region: 0x35, script: 0x16, flags: 0x0},
+ 220: {region: 0x106, script: 0x1e, flags: 0x0},
+ 221: {region: 0xe7, script: 0x55, flags: 0x0},
+ 222: {region: 0x165, script: 0x55, flags: 0x0},
+ 223: {region: 0x131, script: 0x55, flags: 0x0},
+ 224: {region: 0x8a, script: 0x55, flags: 0x0},
+ 225: {region: 0x75, script: 0x55, flags: 0x0},
+ 226: {region: 0x106, script: 0x1e, flags: 0x0},
+ 227: {region: 0x135, script: 0x55, flags: 0x0},
+ 228: {region: 0x49, script: 0x55, flags: 0x0},
+ 229: {region: 0x135, script: 0x1a, flags: 0x0},
+ 230: {region: 0xa6, script: 0x5, flags: 0x0},
+ 231: {region: 0x13e, script: 0x19, flags: 0x0},
+ 232: {region: 0x165, script: 0x55, flags: 0x0},
+ 233: {region: 0x9b, script: 0x5, flags: 0x0},
+ 234: {region: 0x165, script: 0x55, flags: 0x0},
+ 235: {region: 0x165, script: 0x55, flags: 0x0},
+ 236: {region: 0x165, script: 0x55, flags: 0x0},
+ 237: {region: 0x165, script: 0x55, flags: 0x0},
+ 238: {region: 0x165, script: 0x55, flags: 0x0},
+ 239: {region: 0x78, script: 0x55, flags: 0x0},
+ 240: {region: 0x6b, script: 0x1c, flags: 0x0},
+ 241: {region: 0xe7, script: 0x55, flags: 0x0},
+ 242: {region: 0x49, script: 0x17, flags: 0x0},
+ 243: {region: 0x130, script: 0x1e, flags: 0x0},
+ 244: {region: 0x49, script: 0x17, flags: 0x0},
+ 245: {region: 0x49, script: 0x17, flags: 0x0},
+ 246: {region: 0x49, script: 0x17, flags: 0x0},
+ 247: {region: 0x49, script: 0x17, flags: 0x0},
+ 248: {region: 0x10a, script: 0x55, flags: 0x0},
+ 249: {region: 0x5e, script: 0x55, flags: 0x0},
+ 250: {region: 0xe9, script: 0x55, flags: 0x0},
+ 251: {region: 0x49, script: 0x17, flags: 0x0},
+ 252: {region: 0xc4, script: 0x7e, flags: 0x0},
253: {region: 0x8, script: 0x2, flags: 0x1},
- 254: {region: 0x105, script: 0x1e, flags: 0x0},
- 255: {region: 0x7a, script: 0x52, flags: 0x0},
- 256: {region: 0x62, script: 0x52, flags: 0x0},
- 257: {region: 0x164, script: 0x52, flags: 0x0},
- 258: {region: 0x164, script: 0x52, flags: 0x0},
- 259: {region: 0x164, script: 0x52, flags: 0x0},
- 260: {region: 0x164, script: 0x52, flags: 0x0},
- 261: {region: 0x134, script: 0x52, flags: 0x0},
- 262: {region: 0x105, script: 0x1e, flags: 0x0},
- 263: {region: 0xa3, script: 0x52, flags: 0x0},
- 264: {region: 0x164, script: 0x52, flags: 0x0},
- 265: {region: 0x164, script: 0x52, flags: 0x0},
- 266: {region: 0x98, script: 0x5, flags: 0x0},
- 267: {region: 0x164, script: 0x52, flags: 0x0},
- 268: {region: 0x5f, script: 0x52, flags: 0x0},
- 269: {region: 0x164, script: 0x52, flags: 0x0},
- 270: {region: 0x48, script: 0x52, flags: 0x0},
- 271: {region: 0x164, script: 0x52, flags: 0x0},
- 272: {region: 0x164, script: 0x52, flags: 0x0},
- 273: {region: 0x164, script: 0x52, flags: 0x0},
- 274: {region: 0x164, script: 0x5, flags: 0x0},
- 275: {region: 0x48, script: 0x52, flags: 0x0},
- 276: {region: 0x164, script: 0x52, flags: 0x0},
- 277: {region: 0x164, script: 0x52, flags: 0x0},
- 278: {region: 0xd3, script: 0x52, flags: 0x0},
- 279: {region: 0x4e, script: 0x52, flags: 0x0},
- 280: {region: 0x164, script: 0x52, flags: 0x0},
- 281: {region: 0x98, script: 0x5, flags: 0x0},
- 282: {region: 0x164, script: 0x52, flags: 0x0},
- 283: {region: 0x164, script: 0x52, flags: 0x0},
- 284: {region: 0x164, script: 0x52, flags: 0x0},
- 285: {region: 0x164, script: 0x27, flags: 0x0},
- 286: {region: 0x5f, script: 0x52, flags: 0x0},
- 287: {region: 0xc2, script: 0x52, flags: 0x0},
- 288: {region: 0xcf, script: 0x52, flags: 0x0},
- 289: {region: 0x164, script: 0x52, flags: 0x0},
- 290: {region: 0xda, script: 0x20, flags: 0x0},
- 291: {region: 0x51, script: 0x52, flags: 0x0},
- 292: {region: 0x164, script: 0x52, flags: 0x0},
- 293: {region: 0x164, script: 0x52, flags: 0x0},
- 294: {region: 0x164, script: 0x52, flags: 0x0},
- 295: {region: 0xcc, script: 0xd4, flags: 0x0},
- 296: {region: 0x164, script: 0x52, flags: 0x0},
- 297: {region: 0x164, script: 0x52, flags: 0x0},
- 298: {region: 0x113, script: 0x52, flags: 0x0},
- 299: {region: 0x36, script: 0x52, flags: 0x0},
- 300: {region: 0x42, script: 0xd6, flags: 0x0},
- 301: {region: 0x164, script: 0x52, flags: 0x0},
- 302: {region: 0xa3, script: 0x52, flags: 0x0},
- 303: {region: 0x7f, script: 0x52, flags: 0x0},
- 304: {region: 0xd5, script: 0x52, flags: 0x0},
- 305: {region: 0x9d, script: 0x52, flags: 0x0},
- 306: {region: 0x6a, script: 0x25, flags: 0x0},
- 307: {region: 0x164, script: 0x52, flags: 0x0},
- 308: {region: 0xc3, script: 0x43, flags: 0x0},
- 309: {region: 0x86, script: 0x2d, flags: 0x0},
- 310: {region: 0x164, script: 0x52, flags: 0x0},
- 311: {region: 0x164, script: 0x52, flags: 0x0},
+ 254: {region: 0x106, script: 0x1e, flags: 0x0},
+ 255: {region: 0x7b, script: 0x55, flags: 0x0},
+ 256: {region: 0x63, script: 0x55, flags: 0x0},
+ 257: {region: 0x165, script: 0x55, flags: 0x0},
+ 258: {region: 0x165, script: 0x55, flags: 0x0},
+ 259: {region: 0x165, script: 0x55, flags: 0x0},
+ 260: {region: 0x165, script: 0x55, flags: 0x0},
+ 261: {region: 0x135, script: 0x55, flags: 0x0},
+ 262: {region: 0x106, script: 0x1e, flags: 0x0},
+ 263: {region: 0xa4, script: 0x55, flags: 0x0},
+ 264: {region: 0x165, script: 0x55, flags: 0x0},
+ 265: {region: 0x165, script: 0x55, flags: 0x0},
+ 266: {region: 0x99, script: 0x5, flags: 0x0},
+ 267: {region: 0x165, script: 0x55, flags: 0x0},
+ 268: {region: 0x60, script: 0x55, flags: 0x0},
+ 269: {region: 0x165, script: 0x55, flags: 0x0},
+ 270: {region: 0x49, script: 0x55, flags: 0x0},
+ 271: {region: 0x165, script: 0x55, flags: 0x0},
+ 272: {region: 0x165, script: 0x55, flags: 0x0},
+ 273: {region: 0x165, script: 0x55, flags: 0x0},
+ 274: {region: 0x165, script: 0x5, flags: 0x0},
+ 275: {region: 0x49, script: 0x55, flags: 0x0},
+ 276: {region: 0x165, script: 0x55, flags: 0x0},
+ 277: {region: 0x165, script: 0x55, flags: 0x0},
+ 278: {region: 0xd4, script: 0x55, flags: 0x0},
+ 279: {region: 0x4f, script: 0x55, flags: 0x0},
+ 280: {region: 0x165, script: 0x55, flags: 0x0},
+ 281: {region: 0x99, script: 0x5, flags: 0x0},
+ 282: {region: 0x165, script: 0x55, flags: 0x0},
+ 283: {region: 0x165, script: 0x55, flags: 0x0},
+ 284: {region: 0x165, script: 0x55, flags: 0x0},
+ 285: {region: 0x165, script: 0x28, flags: 0x0},
+ 286: {region: 0x60, script: 0x55, flags: 0x0},
+ 287: {region: 0xc3, script: 0x55, flags: 0x0},
+ 288: {region: 0xd0, script: 0x55, flags: 0x0},
+ 289: {region: 0x165, script: 0x55, flags: 0x0},
+ 290: {region: 0xdb, script: 0x20, flags: 0x0},
+ 291: {region: 0x52, script: 0x55, flags: 0x0},
+ 292: {region: 0x165, script: 0x55, flags: 0x0},
+ 293: {region: 0x165, script: 0x55, flags: 0x0},
+ 294: {region: 0x165, script: 0x55, flags: 0x0},
+ 295: {region: 0xcd, script: 0xda, flags: 0x0},
+ 296: {region: 0x165, script: 0x55, flags: 0x0},
+ 297: {region: 0x165, script: 0x55, flags: 0x0},
+ 298: {region: 0x114, script: 0x55, flags: 0x0},
+ 299: {region: 0x37, script: 0x55, flags: 0x0},
+ 300: {region: 0x43, script: 0xdc, flags: 0x0},
+ 301: {region: 0x165, script: 0x55, flags: 0x0},
+ 302: {region: 0xa4, script: 0x55, flags: 0x0},
+ 303: {region: 0x80, script: 0x55, flags: 0x0},
+ 304: {region: 0xd6, script: 0x55, flags: 0x0},
+ 305: {region: 0x9e, script: 0x55, flags: 0x0},
+ 306: {region: 0x6b, script: 0x26, flags: 0x0},
+ 307: {region: 0x165, script: 0x55, flags: 0x0},
+ 308: {region: 0xc4, script: 0x46, flags: 0x0},
+ 309: {region: 0x87, script: 0x30, flags: 0x0},
+ 310: {region: 0x165, script: 0x55, flags: 0x0},
+ 311: {region: 0x165, script: 0x55, flags: 0x0},
312: {region: 0xa, script: 0x2, flags: 0x1},
- 313: {region: 0x164, script: 0x52, flags: 0x0},
- 314: {region: 0x164, script: 0x52, flags: 0x0},
- 315: {region: 0x1, script: 0x52, flags: 0x0},
- 316: {region: 0x164, script: 0x52, flags: 0x0},
- 317: {region: 0x6d, script: 0x52, flags: 0x0},
- 318: {region: 0x134, script: 0x52, flags: 0x0},
- 319: {region: 0x69, script: 0x52, flags: 0x0},
- 320: {region: 0x164, script: 0x52, flags: 0x0},
- 321: {region: 0x9d, script: 0x3e, flags: 0x0},
- 322: {region: 0x164, script: 0x52, flags: 0x0},
- 323: {region: 0x164, script: 0x52, flags: 0x0},
- 324: {region: 0x6d, script: 0x52, flags: 0x0},
- 325: {region: 0x51, script: 0x52, flags: 0x0},
- 326: {region: 0x6d, script: 0x52, flags: 0x0},
- 327: {region: 0x9b, script: 0x5, flags: 0x0},
- 328: {region: 0x164, script: 0x52, flags: 0x0},
- 329: {region: 0x164, script: 0x52, flags: 0x0},
- 330: {region: 0x164, script: 0x52, flags: 0x0},
- 331: {region: 0x164, script: 0x52, flags: 0x0},
- 332: {region: 0x85, script: 0x52, flags: 0x0},
+ 313: {region: 0x165, script: 0x55, flags: 0x0},
+ 314: {region: 0x165, script: 0x55, flags: 0x0},
+ 315: {region: 0x1, script: 0x55, flags: 0x0},
+ 316: {region: 0x165, script: 0x55, flags: 0x0},
+ 317: {region: 0x6e, script: 0x55, flags: 0x0},
+ 318: {region: 0x135, script: 0x55, flags: 0x0},
+ 319: {region: 0x6a, script: 0x55, flags: 0x0},
+ 320: {region: 0x165, script: 0x55, flags: 0x0},
+ 321: {region: 0x9e, script: 0x41, flags: 0x0},
+ 322: {region: 0x165, script: 0x55, flags: 0x0},
+ 323: {region: 0x165, script: 0x55, flags: 0x0},
+ 324: {region: 0x6e, script: 0x55, flags: 0x0},
+ 325: {region: 0x52, script: 0x55, flags: 0x0},
+ 326: {region: 0x6e, script: 0x55, flags: 0x0},
+ 327: {region: 0x9c, script: 0x5, flags: 0x0},
+ 328: {region: 0x165, script: 0x55, flags: 0x0},
+ 329: {region: 0x165, script: 0x55, flags: 0x0},
+ 330: {region: 0x165, script: 0x55, flags: 0x0},
+ 331: {region: 0x165, script: 0x55, flags: 0x0},
+ 332: {region: 0x86, script: 0x55, flags: 0x0},
333: {region: 0xc, script: 0x2, flags: 0x1},
- 334: {region: 0x164, script: 0x52, flags: 0x0},
- 335: {region: 0xc2, script: 0x52, flags: 0x0},
- 336: {region: 0x71, script: 0x52, flags: 0x0},
- 337: {region: 0x10a, script: 0x5, flags: 0x0},
- 338: {region: 0xe6, script: 0x52, flags: 0x0},
- 339: {region: 0x10b, script: 0x52, flags: 0x0},
- 340: {region: 0x72, script: 0x52, flags: 0x0},
- 341: {region: 0x164, script: 0x52, flags: 0x0},
- 342: {region: 0x164, script: 0x52, flags: 0x0},
- 343: {region: 0x75, script: 0x52, flags: 0x0},
- 344: {region: 0x164, script: 0x52, flags: 0x0},
- 345: {region: 0x3a, script: 0x52, flags: 0x0},
- 346: {region: 0x164, script: 0x52, flags: 0x0},
- 347: {region: 0x164, script: 0x52, flags: 0x0},
- 348: {region: 0x164, script: 0x52, flags: 0x0},
- 349: {region: 0x77, script: 0x52, flags: 0x0},
- 350: {region: 0x134, script: 0x52, flags: 0x0},
- 351: {region: 0x77, script: 0x52, flags: 0x0},
- 352: {region: 0x5f, script: 0x52, flags: 0x0},
- 353: {region: 0x5f, script: 0x52, flags: 0x0},
- 354: {region: 0x51, script: 0x5, flags: 0x0},
- 355: {region: 0x13f, script: 0x52, flags: 0x0},
- 356: {region: 0x164, script: 0x52, flags: 0x0},
- 357: {region: 0x83, script: 0x52, flags: 0x0},
- 358: {region: 0x164, script: 0x52, flags: 0x0},
- 359: {region: 0xd3, script: 0x52, flags: 0x0},
- 360: {region: 0x9d, script: 0x52, flags: 0x0},
- 361: {region: 0xd5, script: 0x52, flags: 0x0},
- 362: {region: 0x164, script: 0x52, flags: 0x0},
- 363: {region: 0x10a, script: 0x52, flags: 0x0},
- 364: {region: 0xd8, script: 0x52, flags: 0x0},
- 365: {region: 0x95, script: 0x52, flags: 0x0},
- 366: {region: 0x7f, script: 0x52, flags: 0x0},
- 367: {region: 0x164, script: 0x52, flags: 0x0},
- 368: {region: 0xbb, script: 0x52, flags: 0x0},
- 369: {region: 0x164, script: 0x52, flags: 0x0},
- 370: {region: 0x164, script: 0x52, flags: 0x0},
- 371: {region: 0x164, script: 0x52, flags: 0x0},
- 372: {region: 0x52, script: 0x34, flags: 0x0},
- 373: {region: 0x164, script: 0x52, flags: 0x0},
- 374: {region: 0x94, script: 0x52, flags: 0x0},
- 375: {region: 0x164, script: 0x52, flags: 0x0},
- 376: {region: 0x98, script: 0x20, flags: 0x0},
- 377: {region: 0x164, script: 0x52, flags: 0x0},
- 378: {region: 0x9b, script: 0x5, flags: 0x0},
- 379: {region: 0x7d, script: 0x52, flags: 0x0},
- 380: {region: 0x7a, script: 0x52, flags: 0x0},
- 381: {region: 0x164, script: 0x52, flags: 0x0},
- 382: {region: 0x164, script: 0x52, flags: 0x0},
- 383: {region: 0x164, script: 0x52, flags: 0x0},
- 384: {region: 0x164, script: 0x52, flags: 0x0},
- 385: {region: 0x164, script: 0x52, flags: 0x0},
- 386: {region: 0x164, script: 0x52, flags: 0x0},
- 387: {region: 0x6e, script: 0x27, flags: 0x0},
- 388: {region: 0x164, script: 0x52, flags: 0x0},
- 389: {region: 0xda, script: 0x20, flags: 0x0},
- 390: {region: 0x164, script: 0x52, flags: 0x0},
- 391: {region: 0xa6, script: 0x52, flags: 0x0},
- 392: {region: 0x164, script: 0x52, flags: 0x0},
- 393: {region: 0xe7, script: 0x5, flags: 0x0},
- 394: {region: 0x164, script: 0x52, flags: 0x0},
- 395: {region: 0xe7, script: 0x5, flags: 0x0},
- 396: {region: 0x164, script: 0x52, flags: 0x0},
- 397: {region: 0x164, script: 0x52, flags: 0x0},
- 398: {region: 0x6d, script: 0x52, flags: 0x0},
- 399: {region: 0x9b, script: 0x5, flags: 0x0},
- 400: {region: 0x164, script: 0x52, flags: 0x0},
- 401: {region: 0x164, script: 0x27, flags: 0x0},
- 402: {region: 0xf0, script: 0x52, flags: 0x0},
- 403: {region: 0x164, script: 0x52, flags: 0x0},
- 404: {region: 0x164, script: 0x52, flags: 0x0},
- 405: {region: 0x164, script: 0x52, flags: 0x0},
- 406: {region: 0x164, script: 0x27, flags: 0x0},
- 407: {region: 0x164, script: 0x52, flags: 0x0},
- 408: {region: 0x98, script: 0x20, flags: 0x0},
- 409: {region: 0x98, script: 0xd0, flags: 0x0},
- 410: {region: 0x94, script: 0x52, flags: 0x0},
- 411: {region: 0xd8, script: 0x52, flags: 0x0},
- 412: {region: 0x12f, script: 0x2b, flags: 0x0},
- 413: {region: 0x164, script: 0x52, flags: 0x0},
+ 334: {region: 0x165, script: 0x55, flags: 0x0},
+ 335: {region: 0xc3, script: 0x55, flags: 0x0},
+ 336: {region: 0x72, script: 0x55, flags: 0x0},
+ 337: {region: 0x10b, script: 0x5, flags: 0x0},
+ 338: {region: 0xe7, script: 0x55, flags: 0x0},
+ 339: {region: 0x10c, script: 0x55, flags: 0x0},
+ 340: {region: 0x73, script: 0x55, flags: 0x0},
+ 341: {region: 0x165, script: 0x55, flags: 0x0},
+ 342: {region: 0x165, script: 0x55, flags: 0x0},
+ 343: {region: 0x76, script: 0x55, flags: 0x0},
+ 344: {region: 0x165, script: 0x55, flags: 0x0},
+ 345: {region: 0x3b, script: 0x55, flags: 0x0},
+ 346: {region: 0x165, script: 0x55, flags: 0x0},
+ 347: {region: 0x165, script: 0x55, flags: 0x0},
+ 348: {region: 0x165, script: 0x55, flags: 0x0},
+ 349: {region: 0x78, script: 0x55, flags: 0x0},
+ 350: {region: 0x135, script: 0x55, flags: 0x0},
+ 351: {region: 0x78, script: 0x55, flags: 0x0},
+ 352: {region: 0x60, script: 0x55, flags: 0x0},
+ 353: {region: 0x60, script: 0x55, flags: 0x0},
+ 354: {region: 0x52, script: 0x5, flags: 0x0},
+ 355: {region: 0x140, script: 0x55, flags: 0x0},
+ 356: {region: 0x165, script: 0x55, flags: 0x0},
+ 357: {region: 0x84, script: 0x55, flags: 0x0},
+ 358: {region: 0x165, script: 0x55, flags: 0x0},
+ 359: {region: 0xd4, script: 0x55, flags: 0x0},
+ 360: {region: 0x9e, script: 0x55, flags: 0x0},
+ 361: {region: 0xd6, script: 0x55, flags: 0x0},
+ 362: {region: 0x165, script: 0x55, flags: 0x0},
+ 363: {region: 0x10b, script: 0x55, flags: 0x0},
+ 364: {region: 0xd9, script: 0x55, flags: 0x0},
+ 365: {region: 0x96, script: 0x55, flags: 0x0},
+ 366: {region: 0x80, script: 0x55, flags: 0x0},
+ 367: {region: 0x165, script: 0x55, flags: 0x0},
+ 368: {region: 0xbc, script: 0x55, flags: 0x0},
+ 369: {region: 0x165, script: 0x55, flags: 0x0},
+ 370: {region: 0x165, script: 0x55, flags: 0x0},
+ 371: {region: 0x165, script: 0x55, flags: 0x0},
+ 372: {region: 0x53, script: 0x37, flags: 0x0},
+ 373: {region: 0x165, script: 0x55, flags: 0x0},
+ 374: {region: 0x95, script: 0x55, flags: 0x0},
+ 375: {region: 0x165, script: 0x55, flags: 0x0},
+ 376: {region: 0x99, script: 0x20, flags: 0x0},
+ 377: {region: 0x165, script: 0x55, flags: 0x0},
+ 378: {region: 0x9c, script: 0x5, flags: 0x0},
+ 379: {region: 0x7e, script: 0x55, flags: 0x0},
+ 380: {region: 0x7b, script: 0x55, flags: 0x0},
+ 381: {region: 0x165, script: 0x55, flags: 0x0},
+ 382: {region: 0x165, script: 0x55, flags: 0x0},
+ 383: {region: 0x165, script: 0x55, flags: 0x0},
+ 384: {region: 0x165, script: 0x55, flags: 0x0},
+ 385: {region: 0x165, script: 0x55, flags: 0x0},
+ 386: {region: 0x165, script: 0x55, flags: 0x0},
+ 387: {region: 0x6f, script: 0x28, flags: 0x0},
+ 388: {region: 0x165, script: 0x55, flags: 0x0},
+ 389: {region: 0xdb, script: 0x20, flags: 0x0},
+ 390: {region: 0x165, script: 0x55, flags: 0x0},
+ 391: {region: 0xa7, script: 0x55, flags: 0x0},
+ 392: {region: 0x165, script: 0x55, flags: 0x0},
+ 393: {region: 0xe8, script: 0x5, flags: 0x0},
+ 394: {region: 0x165, script: 0x55, flags: 0x0},
+ 395: {region: 0xe8, script: 0x5, flags: 0x0},
+ 396: {region: 0x165, script: 0x55, flags: 0x0},
+ 397: {region: 0x165, script: 0x55, flags: 0x0},
+ 398: {region: 0x6e, script: 0x55, flags: 0x0},
+ 399: {region: 0x9c, script: 0x5, flags: 0x0},
+ 400: {region: 0x165, script: 0x55, flags: 0x0},
+ 401: {region: 0x165, script: 0x28, flags: 0x0},
+ 402: {region: 0xf1, script: 0x55, flags: 0x0},
+ 403: {region: 0x165, script: 0x55, flags: 0x0},
+ 404: {region: 0x165, script: 0x55, flags: 0x0},
+ 405: {region: 0x165, script: 0x55, flags: 0x0},
+ 406: {region: 0x165, script: 0x28, flags: 0x0},
+ 407: {region: 0x165, script: 0x55, flags: 0x0},
+ 408: {region: 0x99, script: 0x20, flags: 0x0},
+ 409: {region: 0x99, script: 0xd6, flags: 0x0},
+ 410: {region: 0x95, script: 0x55, flags: 0x0},
+ 411: {region: 0xd9, script: 0x55, flags: 0x0},
+ 412: {region: 0x130, script: 0x2e, flags: 0x0},
+ 413: {region: 0x165, script: 0x55, flags: 0x0},
414: {region: 0xe, script: 0x2, flags: 0x1},
- 415: {region: 0x98, script: 0xe, flags: 0x0},
- 416: {region: 0x164, script: 0x52, flags: 0x0},
- 417: {region: 0x4d, script: 0x52, flags: 0x0},
- 418: {region: 0x98, script: 0x2e, flags: 0x0},
- 419: {region: 0x40, script: 0x52, flags: 0x0},
- 420: {region: 0x53, script: 0x52, flags: 0x0},
- 421: {region: 0x164, script: 0x52, flags: 0x0},
- 422: {region: 0x7f, script: 0x52, flags: 0x0},
- 423: {region: 0x164, script: 0x52, flags: 0x0},
- 424: {region: 0x164, script: 0x52, flags: 0x0},
- 425: {region: 0xa3, script: 0x52, flags: 0x0},
- 426: {region: 0x97, script: 0x52, flags: 0x0},
- 427: {region: 0x164, script: 0x52, flags: 0x0},
- 428: {region: 0xda, script: 0x20, flags: 0x0},
- 429: {region: 0x164, script: 0x52, flags: 0x0},
- 430: {region: 0x164, script: 0x5, flags: 0x0},
- 431: {region: 0x48, script: 0x52, flags: 0x0},
- 432: {region: 0x164, script: 0x5, flags: 0x0},
- 433: {region: 0x164, script: 0x52, flags: 0x0},
+ 415: {region: 0x99, script: 0xe, flags: 0x0},
+ 416: {region: 0x165, script: 0x55, flags: 0x0},
+ 417: {region: 0x4e, script: 0x55, flags: 0x0},
+ 418: {region: 0x99, script: 0x31, flags: 0x0},
+ 419: {region: 0x41, script: 0x55, flags: 0x0},
+ 420: {region: 0x54, script: 0x55, flags: 0x0},
+ 421: {region: 0x165, script: 0x55, flags: 0x0},
+ 422: {region: 0x80, script: 0x55, flags: 0x0},
+ 423: {region: 0x165, script: 0x55, flags: 0x0},
+ 424: {region: 0x165, script: 0x55, flags: 0x0},
+ 425: {region: 0xa4, script: 0x55, flags: 0x0},
+ 426: {region: 0x98, script: 0x55, flags: 0x0},
+ 427: {region: 0x165, script: 0x55, flags: 0x0},
+ 428: {region: 0xdb, script: 0x20, flags: 0x0},
+ 429: {region: 0x165, script: 0x55, flags: 0x0},
+ 430: {region: 0x165, script: 0x5, flags: 0x0},
+ 431: {region: 0x49, script: 0x55, flags: 0x0},
+ 432: {region: 0x165, script: 0x5, flags: 0x0},
+ 433: {region: 0x165, script: 0x55, flags: 0x0},
434: {region: 0x10, script: 0x3, flags: 0x1},
- 435: {region: 0x164, script: 0x52, flags: 0x0},
- 436: {region: 0x52, script: 0x34, flags: 0x0},
- 437: {region: 0x164, script: 0x52, flags: 0x0},
- 438: {region: 0x134, script: 0x52, flags: 0x0},
- 439: {region: 0x23, script: 0x5, flags: 0x0},
- 440: {region: 0x164, script: 0x52, flags: 0x0},
- 441: {region: 0x164, script: 0x27, flags: 0x0},
- 442: {region: 0x96, script: 0x37, flags: 0x0},
- 443: {region: 0x164, script: 0x52, flags: 0x0},
- 444: {region: 0x98, script: 0x20, flags: 0x0},
- 445: {region: 0x164, script: 0x52, flags: 0x0},
- 446: {region: 0x72, script: 0x52, flags: 0x0},
- 447: {region: 0x164, script: 0x52, flags: 0x0},
- 448: {region: 0x164, script: 0x52, flags: 0x0},
- 449: {region: 0xe6, script: 0x52, flags: 0x0},
- 450: {region: 0x164, script: 0x52, flags: 0x0},
- 451: {region: 0x12a, script: 0x39, flags: 0x0},
- 452: {region: 0x52, script: 0x81, flags: 0x0},
- 453: {region: 0x164, script: 0x52, flags: 0x0},
- 454: {region: 0xe7, script: 0x5, flags: 0x0},
- 455: {region: 0x98, script: 0x20, flags: 0x0},
- 456: {region: 0xae, script: 0x3a, flags: 0x0},
- 457: {region: 0xe6, script: 0x52, flags: 0x0},
- 458: {region: 0xe7, script: 0x5, flags: 0x0},
- 459: {region: 0xe5, script: 0x52, flags: 0x0},
- 460: {region: 0x98, script: 0x20, flags: 0x0},
- 461: {region: 0x98, script: 0x20, flags: 0x0},
- 462: {region: 0x164, script: 0x52, flags: 0x0},
- 463: {region: 0x8f, script: 0x52, flags: 0x0},
- 464: {region: 0x5f, script: 0x52, flags: 0x0},
- 465: {region: 0x52, script: 0x34, flags: 0x0},
- 466: {region: 0x90, script: 0x52, flags: 0x0},
- 467: {region: 0x91, script: 0x52, flags: 0x0},
- 468: {region: 0x164, script: 0x52, flags: 0x0},
- 469: {region: 0x27, script: 0x8, flags: 0x0},
- 470: {region: 0xd1, script: 0x52, flags: 0x0},
- 471: {region: 0x77, script: 0x52, flags: 0x0},
- 472: {region: 0x164, script: 0x52, flags: 0x0},
- 473: {region: 0x164, script: 0x52, flags: 0x0},
- 474: {region: 0xcf, script: 0x52, flags: 0x0},
- 475: {region: 0xd5, script: 0x52, flags: 0x0},
- 476: {region: 0x164, script: 0x52, flags: 0x0},
- 477: {region: 0x164, script: 0x52, flags: 0x0},
- 478: {region: 0x164, script: 0x52, flags: 0x0},
- 479: {region: 0x94, script: 0x52, flags: 0x0},
- 480: {region: 0x164, script: 0x52, flags: 0x0},
- 481: {region: 0x164, script: 0x52, flags: 0x0},
- 482: {region: 0x164, script: 0x52, flags: 0x0},
- 484: {region: 0x121, script: 0x52, flags: 0x0},
- 485: {region: 0xd5, script: 0x52, flags: 0x0},
- 486: {region: 0x164, script: 0x52, flags: 0x0},
- 487: {region: 0x164, script: 0x52, flags: 0x0},
- 488: {region: 0x52, script: 0xdf, flags: 0x0},
- 489: {region: 0x164, script: 0x52, flags: 0x0},
- 490: {region: 0x134, script: 0x52, flags: 0x0},
- 491: {region: 0x164, script: 0x52, flags: 0x0},
- 492: {region: 0x48, script: 0x52, flags: 0x0},
- 493: {region: 0x164, script: 0x52, flags: 0x0},
- 494: {region: 0x164, script: 0x52, flags: 0x0},
- 495: {region: 0xe6, script: 0x52, flags: 0x0},
- 496: {region: 0x164, script: 0x52, flags: 0x0},
- 497: {region: 0x94, script: 0x52, flags: 0x0},
- 498: {region: 0x105, script: 0x1e, flags: 0x0},
- 500: {region: 0x164, script: 0x52, flags: 0x0},
- 501: {region: 0x164, script: 0x52, flags: 0x0},
- 502: {region: 0x9c, script: 0x52, flags: 0x0},
- 503: {region: 0x9d, script: 0x52, flags: 0x0},
- 504: {region: 0x48, script: 0x17, flags: 0x0},
- 505: {region: 0x96, script: 0x37, flags: 0x0},
- 506: {region: 0x164, script: 0x52, flags: 0x0},
- 507: {region: 0x164, script: 0x52, flags: 0x0},
- 508: {region: 0x105, script: 0x52, flags: 0x0},
- 509: {region: 0x164, script: 0x52, flags: 0x0},
- 510: {region: 0xa1, script: 0x41, flags: 0x0},
- 511: {region: 0x164, script: 0x52, flags: 0x0},
- 512: {region: 0x9f, script: 0x52, flags: 0x0},
- 514: {region: 0x164, script: 0x52, flags: 0x0},
- 515: {region: 0x164, script: 0x52, flags: 0x0},
- 516: {region: 0x164, script: 0x52, flags: 0x0},
- 517: {region: 0x51, script: 0x52, flags: 0x0},
- 518: {region: 0x12f, script: 0x37, flags: 0x0},
- 519: {region: 0x164, script: 0x52, flags: 0x0},
- 520: {region: 0x12e, script: 0x52, flags: 0x0},
- 521: {region: 0xda, script: 0x20, flags: 0x0},
- 522: {region: 0x164, script: 0x52, flags: 0x0},
- 523: {region: 0x62, script: 0x52, flags: 0x0},
- 524: {region: 0x94, script: 0x52, flags: 0x0},
- 525: {region: 0x94, script: 0x52, flags: 0x0},
- 526: {region: 0x7c, script: 0x29, flags: 0x0},
- 527: {region: 0x136, script: 0x1e, flags: 0x0},
- 528: {region: 0x66, script: 0x52, flags: 0x0},
- 529: {region: 0xc3, script: 0x52, flags: 0x0},
- 530: {region: 0x164, script: 0x52, flags: 0x0},
- 531: {region: 0x164, script: 0x52, flags: 0x0},
- 532: {region: 0xd5, script: 0x52, flags: 0x0},
- 533: {region: 0xa3, script: 0x52, flags: 0x0},
- 534: {region: 0xc2, script: 0x52, flags: 0x0},
- 535: {region: 0x105, script: 0x1e, flags: 0x0},
- 536: {region: 0x164, script: 0x52, flags: 0x0},
- 537: {region: 0x164, script: 0x52, flags: 0x0},
- 538: {region: 0x164, script: 0x52, flags: 0x0},
- 539: {region: 0x164, script: 0x52, flags: 0x0},
- 540: {region: 0xd3, script: 0x5, flags: 0x0},
- 541: {region: 0xd5, script: 0x52, flags: 0x0},
- 542: {region: 0x163, script: 0x52, flags: 0x0},
- 543: {region: 0x164, script: 0x52, flags: 0x0},
- 544: {region: 0x164, script: 0x52, flags: 0x0},
- 545: {region: 0x12e, script: 0x52, flags: 0x0},
- 546: {region: 0x121, script: 0x5, flags: 0x0},
- 547: {region: 0x164, script: 0x52, flags: 0x0},
- 548: {region: 0x122, script: 0xd5, flags: 0x0},
- 549: {region: 0x59, script: 0x52, flags: 0x0},
- 550: {region: 0x51, script: 0x52, flags: 0x0},
- 551: {region: 0x164, script: 0x52, flags: 0x0},
- 552: {region: 0x4e, script: 0x52, flags: 0x0},
- 553: {region: 0x98, script: 0x20, flags: 0x0},
- 554: {region: 0x98, script: 0x20, flags: 0x0},
- 555: {region: 0x4a, script: 0x52, flags: 0x0},
- 556: {region: 0x94, script: 0x52, flags: 0x0},
- 557: {region: 0x164, script: 0x52, flags: 0x0},
- 558: {region: 0x40, script: 0x52, flags: 0x0},
- 559: {region: 0x98, script: 0x52, flags: 0x0},
- 560: {region: 0x52, script: 0xcc, flags: 0x0},
- 561: {region: 0x98, script: 0x20, flags: 0x0},
- 562: {region: 0xc2, script: 0x52, flags: 0x0},
- 563: {region: 0x164, script: 0x52, flags: 0x0},
- 564: {region: 0x98, script: 0x6b, flags: 0x0},
- 565: {region: 0xe7, script: 0x5, flags: 0x0},
- 566: {region: 0x164, script: 0x52, flags: 0x0},
- 567: {region: 0xa3, script: 0x52, flags: 0x0},
- 568: {region: 0x164, script: 0x52, flags: 0x0},
- 569: {region: 0x12a, script: 0x52, flags: 0x0},
- 570: {region: 0x164, script: 0x52, flags: 0x0},
- 571: {region: 0xd1, script: 0x52, flags: 0x0},
- 572: {region: 0x164, script: 0x52, flags: 0x0},
- 573: {region: 0xae, script: 0x4f, flags: 0x0},
- 574: {region: 0x164, script: 0x52, flags: 0x0},
- 575: {region: 0x164, script: 0x52, flags: 0x0},
+ 435: {region: 0x165, script: 0x55, flags: 0x0},
+ 436: {region: 0x53, script: 0x37, flags: 0x0},
+ 437: {region: 0x165, script: 0x55, flags: 0x0},
+ 438: {region: 0x135, script: 0x55, flags: 0x0},
+ 439: {region: 0x24, script: 0x5, flags: 0x0},
+ 440: {region: 0x165, script: 0x55, flags: 0x0},
+ 441: {region: 0x165, script: 0x28, flags: 0x0},
+ 442: {region: 0x97, script: 0x3a, flags: 0x0},
+ 443: {region: 0x165, script: 0x55, flags: 0x0},
+ 444: {region: 0x99, script: 0x20, flags: 0x0},
+ 445: {region: 0x165, script: 0x55, flags: 0x0},
+ 446: {region: 0x73, script: 0x55, flags: 0x0},
+ 447: {region: 0x165, script: 0x55, flags: 0x0},
+ 448: {region: 0x165, script: 0x55, flags: 0x0},
+ 449: {region: 0xe7, script: 0x55, flags: 0x0},
+ 450: {region: 0x165, script: 0x55, flags: 0x0},
+ 451: {region: 0x12b, script: 0x3c, flags: 0x0},
+ 452: {region: 0x53, script: 0x86, flags: 0x0},
+ 453: {region: 0x165, script: 0x55, flags: 0x0},
+ 454: {region: 0xe8, script: 0x5, flags: 0x0},
+ 455: {region: 0x99, script: 0x20, flags: 0x0},
+ 456: {region: 0xaf, script: 0x3d, flags: 0x0},
+ 457: {region: 0xe7, script: 0x55, flags: 0x0},
+ 458: {region: 0xe8, script: 0x5, flags: 0x0},
+ 459: {region: 0xe6, script: 0x55, flags: 0x0},
+ 460: {region: 0x99, script: 0x20, flags: 0x0},
+ 461: {region: 0x99, script: 0x20, flags: 0x0},
+ 462: {region: 0x165, script: 0x55, flags: 0x0},
+ 463: {region: 0x90, script: 0x55, flags: 0x0},
+ 464: {region: 0x60, script: 0x55, flags: 0x0},
+ 465: {region: 0x53, script: 0x37, flags: 0x0},
+ 466: {region: 0x91, script: 0x55, flags: 0x0},
+ 467: {region: 0x92, script: 0x55, flags: 0x0},
+ 468: {region: 0x165, script: 0x55, flags: 0x0},
+ 469: {region: 0x28, script: 0x8, flags: 0x0},
+ 470: {region: 0xd2, script: 0x55, flags: 0x0},
+ 471: {region: 0x78, script: 0x55, flags: 0x0},
+ 472: {region: 0x165, script: 0x55, flags: 0x0},
+ 473: {region: 0x165, script: 0x55, flags: 0x0},
+ 474: {region: 0xd0, script: 0x55, flags: 0x0},
+ 475: {region: 0xd6, script: 0x55, flags: 0x0},
+ 476: {region: 0x165, script: 0x55, flags: 0x0},
+ 477: {region: 0x165, script: 0x55, flags: 0x0},
+ 478: {region: 0x165, script: 0x55, flags: 0x0},
+ 479: {region: 0x95, script: 0x55, flags: 0x0},
+ 480: {region: 0x165, script: 0x55, flags: 0x0},
+ 481: {region: 0x165, script: 0x55, flags: 0x0},
+ 482: {region: 0x165, script: 0x55, flags: 0x0},
+ 484: {region: 0x122, script: 0x55, flags: 0x0},
+ 485: {region: 0xd6, script: 0x55, flags: 0x0},
+ 486: {region: 0x165, script: 0x55, flags: 0x0},
+ 487: {region: 0x165, script: 0x55, flags: 0x0},
+ 488: {region: 0x53, script: 0xe5, flags: 0x0},
+ 489: {region: 0x165, script: 0x55, flags: 0x0},
+ 490: {region: 0x135, script: 0x55, flags: 0x0},
+ 491: {region: 0x165, script: 0x55, flags: 0x0},
+ 492: {region: 0x49, script: 0x55, flags: 0x0},
+ 493: {region: 0x165, script: 0x55, flags: 0x0},
+ 494: {region: 0x165, script: 0x55, flags: 0x0},
+ 495: {region: 0xe7, script: 0x55, flags: 0x0},
+ 496: {region: 0x165, script: 0x55, flags: 0x0},
+ 497: {region: 0x95, script: 0x55, flags: 0x0},
+ 498: {region: 0x106, script: 0x1e, flags: 0x0},
+ 500: {region: 0x165, script: 0x55, flags: 0x0},
+ 501: {region: 0x165, script: 0x55, flags: 0x0},
+ 502: {region: 0x9d, script: 0x55, flags: 0x0},
+ 503: {region: 0x9e, script: 0x55, flags: 0x0},
+ 504: {region: 0x49, script: 0x17, flags: 0x0},
+ 505: {region: 0x97, script: 0x3a, flags: 0x0},
+ 506: {region: 0x165, script: 0x55, flags: 0x0},
+ 507: {region: 0x165, script: 0x55, flags: 0x0},
+ 508: {region: 0x106, script: 0x55, flags: 0x0},
+ 509: {region: 0x165, script: 0x55, flags: 0x0},
+ 510: {region: 0xa2, script: 0x44, flags: 0x0},
+ 511: {region: 0x165, script: 0x55, flags: 0x0},
+ 512: {region: 0xa0, script: 0x55, flags: 0x0},
+ 514: {region: 0x165, script: 0x55, flags: 0x0},
+ 515: {region: 0x165, script: 0x55, flags: 0x0},
+ 516: {region: 0x165, script: 0x55, flags: 0x0},
+ 517: {region: 0x52, script: 0x55, flags: 0x0},
+ 518: {region: 0x130, script: 0x3a, flags: 0x0},
+ 519: {region: 0x165, script: 0x55, flags: 0x0},
+ 520: {region: 0x12f, script: 0x55, flags: 0x0},
+ 521: {region: 0xdb, script: 0x20, flags: 0x0},
+ 522: {region: 0x165, script: 0x55, flags: 0x0},
+ 523: {region: 0x63, script: 0x55, flags: 0x0},
+ 524: {region: 0x95, script: 0x55, flags: 0x0},
+ 525: {region: 0x95, script: 0x55, flags: 0x0},
+ 526: {region: 0x7d, script: 0x2a, flags: 0x0},
+ 527: {region: 0x137, script: 0x1e, flags: 0x0},
+ 528: {region: 0x67, script: 0x55, flags: 0x0},
+ 529: {region: 0xc4, script: 0x55, flags: 0x0},
+ 530: {region: 0x165, script: 0x55, flags: 0x0},
+ 531: {region: 0x165, script: 0x55, flags: 0x0},
+ 532: {region: 0xd6, script: 0x55, flags: 0x0},
+ 533: {region: 0xa4, script: 0x55, flags: 0x0},
+ 534: {region: 0xc3, script: 0x55, flags: 0x0},
+ 535: {region: 0x106, script: 0x1e, flags: 0x0},
+ 536: {region: 0x165, script: 0x55, flags: 0x0},
+ 537: {region: 0x165, script: 0x55, flags: 0x0},
+ 538: {region: 0x165, script: 0x55, flags: 0x0},
+ 539: {region: 0x165, script: 0x55, flags: 0x0},
+ 540: {region: 0xd4, script: 0x5, flags: 0x0},
+ 541: {region: 0xd6, script: 0x55, flags: 0x0},
+ 542: {region: 0x164, script: 0x55, flags: 0x0},
+ 543: {region: 0x165, script: 0x55, flags: 0x0},
+ 544: {region: 0x165, script: 0x55, flags: 0x0},
+ 545: {region: 0x12f, script: 0x55, flags: 0x0},
+ 546: {region: 0x122, script: 0x5, flags: 0x0},
+ 547: {region: 0x165, script: 0x55, flags: 0x0},
+ 548: {region: 0x123, script: 0xdb, flags: 0x0},
+ 549: {region: 0x5a, script: 0x55, flags: 0x0},
+ 550: {region: 0x52, script: 0x55, flags: 0x0},
+ 551: {region: 0x165, script: 0x55, flags: 0x0},
+ 552: {region: 0x4f, script: 0x55, flags: 0x0},
+ 553: {region: 0x99, script: 0x20, flags: 0x0},
+ 554: {region: 0x99, script: 0x20, flags: 0x0},
+ 555: {region: 0x4b, script: 0x55, flags: 0x0},
+ 556: {region: 0x95, script: 0x55, flags: 0x0},
+ 557: {region: 0x165, script: 0x55, flags: 0x0},
+ 558: {region: 0x41, script: 0x55, flags: 0x0},
+ 559: {region: 0x99, script: 0x55, flags: 0x0},
+ 560: {region: 0x53, script: 0xd2, flags: 0x0},
+ 561: {region: 0x99, script: 0x20, flags: 0x0},
+ 562: {region: 0xc3, script: 0x55, flags: 0x0},
+ 563: {region: 0x165, script: 0x55, flags: 0x0},
+ 564: {region: 0x99, script: 0x70, flags: 0x0},
+ 565: {region: 0xe8, script: 0x5, flags: 0x0},
+ 566: {region: 0x165, script: 0x55, flags: 0x0},
+ 567: {region: 0xa4, script: 0x55, flags: 0x0},
+ 568: {region: 0x165, script: 0x55, flags: 0x0},
+ 569: {region: 0x12b, script: 0x55, flags: 0x0},
+ 570: {region: 0x165, script: 0x55, flags: 0x0},
+ 571: {region: 0xd2, script: 0x55, flags: 0x0},
+ 572: {region: 0x165, script: 0x55, flags: 0x0},
+ 573: {region: 0xaf, script: 0x52, flags: 0x0},
+ 574: {region: 0x165, script: 0x55, flags: 0x0},
+ 575: {region: 0x165, script: 0x55, flags: 0x0},
576: {region: 0x13, script: 0x6, flags: 0x1},
- 577: {region: 0x164, script: 0x52, flags: 0x0},
- 578: {region: 0x51, script: 0x52, flags: 0x0},
- 579: {region: 0x81, script: 0x52, flags: 0x0},
- 580: {region: 0xa3, script: 0x52, flags: 0x0},
- 581: {region: 0x164, script: 0x52, flags: 0x0},
- 582: {region: 0x164, script: 0x52, flags: 0x0},
- 583: {region: 0x164, script: 0x52, flags: 0x0},
- 584: {region: 0xa5, script: 0x46, flags: 0x0},
- 585: {region: 0x29, script: 0x52, flags: 0x0},
- 586: {region: 0x164, script: 0x52, flags: 0x0},
- 587: {region: 0x164, script: 0x52, flags: 0x0},
- 588: {region: 0x164, script: 0x52, flags: 0x0},
- 589: {region: 0x164, script: 0x52, flags: 0x0},
- 590: {region: 0x164, script: 0x52, flags: 0x0},
- 591: {region: 0x98, script: 0x4a, flags: 0x0},
- 592: {region: 0x113, script: 0x52, flags: 0x0},
- 593: {region: 0x164, script: 0x52, flags: 0x0},
- 594: {region: 0xaa, script: 0x4b, flags: 0x0},
- 595: {region: 0x105, script: 0x1e, flags: 0x0},
- 596: {region: 0x98, script: 0x20, flags: 0x0},
- 597: {region: 0x164, script: 0x52, flags: 0x0},
- 598: {region: 0x74, script: 0x52, flags: 0x0},
- 599: {region: 0x164, script: 0x52, flags: 0x0},
- 600: {region: 0xb3, script: 0x52, flags: 0x0},
- 601: {region: 0x164, script: 0x52, flags: 0x0},
- 602: {region: 0x164, script: 0x52, flags: 0x0},
- 603: {region: 0x164, script: 0x52, flags: 0x0},
- 604: {region: 0x164, script: 0x52, flags: 0x0},
- 605: {region: 0x164, script: 0x52, flags: 0x0},
- 606: {region: 0x164, script: 0x52, flags: 0x0},
- 607: {region: 0x164, script: 0x52, flags: 0x0},
- 608: {region: 0x164, script: 0x27, flags: 0x0},
- 610: {region: 0x105, script: 0x1e, flags: 0x0},
- 611: {region: 0x111, script: 0x52, flags: 0x0},
- 612: {region: 0xe6, script: 0x52, flags: 0x0},
- 613: {region: 0x105, script: 0x52, flags: 0x0},
- 614: {region: 0x164, script: 0x52, flags: 0x0},
- 615: {region: 0x98, script: 0x20, flags: 0x0},
- 616: {region: 0x98, script: 0x5, flags: 0x0},
- 617: {region: 0x12e, script: 0x52, flags: 0x0},
- 618: {region: 0x164, script: 0x52, flags: 0x0},
- 619: {region: 0x51, script: 0x52, flags: 0x0},
- 620: {region: 0x5f, script: 0x52, flags: 0x0},
- 621: {region: 0x164, script: 0x52, flags: 0x0},
- 622: {region: 0x164, script: 0x52, flags: 0x0},
- 623: {region: 0x164, script: 0x27, flags: 0x0},
- 624: {region: 0x164, script: 0x52, flags: 0x0},
- 625: {region: 0x164, script: 0x52, flags: 0x0},
+ 577: {region: 0x165, script: 0x55, flags: 0x0},
+ 578: {region: 0x52, script: 0x55, flags: 0x0},
+ 579: {region: 0x82, script: 0x55, flags: 0x0},
+ 580: {region: 0xa4, script: 0x55, flags: 0x0},
+ 581: {region: 0x165, script: 0x55, flags: 0x0},
+ 582: {region: 0x165, script: 0x55, flags: 0x0},
+ 583: {region: 0x165, script: 0x55, flags: 0x0},
+ 584: {region: 0xa6, script: 0x49, flags: 0x0},
+ 585: {region: 0x2a, script: 0x55, flags: 0x0},
+ 586: {region: 0x165, script: 0x55, flags: 0x0},
+ 587: {region: 0x165, script: 0x55, flags: 0x0},
+ 588: {region: 0x165, script: 0x55, flags: 0x0},
+ 589: {region: 0x165, script: 0x55, flags: 0x0},
+ 590: {region: 0x165, script: 0x55, flags: 0x0},
+ 591: {region: 0x99, script: 0x4d, flags: 0x0},
+ 592: {region: 0x114, script: 0x55, flags: 0x0},
+ 593: {region: 0x165, script: 0x55, flags: 0x0},
+ 594: {region: 0xab, script: 0x4e, flags: 0x0},
+ 595: {region: 0x106, script: 0x1e, flags: 0x0},
+ 596: {region: 0x99, script: 0x20, flags: 0x0},
+ 597: {region: 0x165, script: 0x55, flags: 0x0},
+ 598: {region: 0x75, script: 0x55, flags: 0x0},
+ 599: {region: 0x165, script: 0x55, flags: 0x0},
+ 600: {region: 0xb4, script: 0x55, flags: 0x0},
+ 601: {region: 0x165, script: 0x55, flags: 0x0},
+ 602: {region: 0x165, script: 0x55, flags: 0x0},
+ 603: {region: 0x165, script: 0x55, flags: 0x0},
+ 604: {region: 0x165, script: 0x55, flags: 0x0},
+ 605: {region: 0x165, script: 0x55, flags: 0x0},
+ 606: {region: 0x165, script: 0x55, flags: 0x0},
+ 607: {region: 0x165, script: 0x55, flags: 0x0},
+ 608: {region: 0x165, script: 0x28, flags: 0x0},
+ 610: {region: 0x106, script: 0x1e, flags: 0x0},
+ 611: {region: 0x112, script: 0x55, flags: 0x0},
+ 612: {region: 0xe7, script: 0x55, flags: 0x0},
+ 613: {region: 0x106, script: 0x55, flags: 0x0},
+ 614: {region: 0x165, script: 0x55, flags: 0x0},
+ 615: {region: 0x99, script: 0x20, flags: 0x0},
+ 616: {region: 0x99, script: 0x5, flags: 0x0},
+ 617: {region: 0x12f, script: 0x55, flags: 0x0},
+ 618: {region: 0x165, script: 0x55, flags: 0x0},
+ 619: {region: 0x52, script: 0x55, flags: 0x0},
+ 620: {region: 0x60, script: 0x55, flags: 0x0},
+ 621: {region: 0x165, script: 0x55, flags: 0x0},
+ 622: {region: 0x165, script: 0x55, flags: 0x0},
+ 623: {region: 0x165, script: 0x28, flags: 0x0},
+ 624: {region: 0x165, script: 0x55, flags: 0x0},
+ 625: {region: 0x165, script: 0x55, flags: 0x0},
626: {region: 0x19, script: 0x3, flags: 0x1},
- 627: {region: 0x164, script: 0x52, flags: 0x0},
- 628: {region: 0x164, script: 0x52, flags: 0x0},
- 629: {region: 0x164, script: 0x52, flags: 0x0},
- 630: {region: 0x164, script: 0x52, flags: 0x0},
- 631: {region: 0x105, script: 0x1e, flags: 0x0},
- 632: {region: 0x164, script: 0x52, flags: 0x0},
- 633: {region: 0x164, script: 0x52, flags: 0x0},
- 634: {region: 0x164, script: 0x52, flags: 0x0},
- 635: {region: 0x105, script: 0x1e, flags: 0x0},
- 636: {region: 0x164, script: 0x52, flags: 0x0},
- 637: {region: 0x94, script: 0x52, flags: 0x0},
- 638: {region: 0xe7, script: 0x5, flags: 0x0},
- 639: {region: 0x7a, script: 0x52, flags: 0x0},
- 640: {region: 0x164, script: 0x52, flags: 0x0},
- 641: {region: 0x164, script: 0x52, flags: 0x0},
- 642: {region: 0x164, script: 0x52, flags: 0x0},
- 643: {region: 0x164, script: 0x27, flags: 0x0},
- 644: {region: 0x122, script: 0xd5, flags: 0x0},
- 645: {region: 0xe7, script: 0x5, flags: 0x0},
- 646: {region: 0x164, script: 0x52, flags: 0x0},
- 647: {region: 0x164, script: 0x52, flags: 0x0},
+ 627: {region: 0x165, script: 0x55, flags: 0x0},
+ 628: {region: 0x165, script: 0x55, flags: 0x0},
+ 629: {region: 0x165, script: 0x55, flags: 0x0},
+ 630: {region: 0x165, script: 0x55, flags: 0x0},
+ 631: {region: 0x106, script: 0x1e, flags: 0x0},
+ 632: {region: 0x165, script: 0x55, flags: 0x0},
+ 633: {region: 0x165, script: 0x55, flags: 0x0},
+ 634: {region: 0x165, script: 0x55, flags: 0x0},
+ 635: {region: 0x106, script: 0x1e, flags: 0x0},
+ 636: {region: 0x165, script: 0x55, flags: 0x0},
+ 637: {region: 0x95, script: 0x55, flags: 0x0},
+ 638: {region: 0xe8, script: 0x5, flags: 0x0},
+ 639: {region: 0x7b, script: 0x55, flags: 0x0},
+ 640: {region: 0x165, script: 0x55, flags: 0x0},
+ 641: {region: 0x165, script: 0x55, flags: 0x0},
+ 642: {region: 0x165, script: 0x55, flags: 0x0},
+ 643: {region: 0x165, script: 0x28, flags: 0x0},
+ 644: {region: 0x123, script: 0xdb, flags: 0x0},
+ 645: {region: 0xe8, script: 0x5, flags: 0x0},
+ 646: {region: 0x165, script: 0x55, flags: 0x0},
+ 647: {region: 0x165, script: 0x55, flags: 0x0},
648: {region: 0x1c, script: 0x5, flags: 0x1},
- 649: {region: 0x164, script: 0x52, flags: 0x0},
- 650: {region: 0x164, script: 0x52, flags: 0x0},
- 651: {region: 0x164, script: 0x52, flags: 0x0},
- 652: {region: 0x137, script: 0x52, flags: 0x0},
- 653: {region: 0x86, script: 0x56, flags: 0x0},
- 654: {region: 0x96, script: 0x37, flags: 0x0},
- 655: {region: 0x12e, script: 0x52, flags: 0x0},
- 656: {region: 0xe7, script: 0x5, flags: 0x0},
- 657: {region: 0x130, script: 0x52, flags: 0x0},
- 658: {region: 0x164, script: 0x52, flags: 0x0},
- 659: {region: 0xb6, script: 0x52, flags: 0x0},
- 660: {region: 0x105, script: 0x1e, flags: 0x0},
- 661: {region: 0x164, script: 0x52, flags: 0x0},
- 662: {region: 0x94, script: 0x52, flags: 0x0},
- 663: {region: 0x164, script: 0x52, flags: 0x0},
- 664: {region: 0x52, script: 0xd5, flags: 0x0},
- 665: {region: 0x164, script: 0x52, flags: 0x0},
- 666: {region: 0x164, script: 0x52, flags: 0x0},
- 667: {region: 0x164, script: 0x52, flags: 0x0},
- 668: {region: 0x164, script: 0x52, flags: 0x0},
- 669: {region: 0x98, script: 0x54, flags: 0x0},
- 670: {region: 0x164, script: 0x52, flags: 0x0},
- 671: {region: 0x164, script: 0x52, flags: 0x0},
- 672: {region: 0x105, script: 0x1e, flags: 0x0},
- 673: {region: 0x130, script: 0x52, flags: 0x0},
- 674: {region: 0x164, script: 0x52, flags: 0x0},
- 675: {region: 0xd8, script: 0x52, flags: 0x0},
- 676: {region: 0x164, script: 0x52, flags: 0x0},
- 677: {region: 0x164, script: 0x52, flags: 0x0},
+ 649: {region: 0x165, script: 0x55, flags: 0x0},
+ 650: {region: 0x165, script: 0x55, flags: 0x0},
+ 651: {region: 0x165, script: 0x55, flags: 0x0},
+ 652: {region: 0x138, script: 0x55, flags: 0x0},
+ 653: {region: 0x87, script: 0x59, flags: 0x0},
+ 654: {region: 0x97, script: 0x3a, flags: 0x0},
+ 655: {region: 0x12f, script: 0x55, flags: 0x0},
+ 656: {region: 0xe8, script: 0x5, flags: 0x0},
+ 657: {region: 0x131, script: 0x55, flags: 0x0},
+ 658: {region: 0x165, script: 0x55, flags: 0x0},
+ 659: {region: 0xb7, script: 0x55, flags: 0x0},
+ 660: {region: 0x106, script: 0x1e, flags: 0x0},
+ 661: {region: 0x165, script: 0x55, flags: 0x0},
+ 662: {region: 0x95, script: 0x55, flags: 0x0},
+ 663: {region: 0x165, script: 0x55, flags: 0x0},
+ 664: {region: 0x53, script: 0xdb, flags: 0x0},
+ 665: {region: 0x165, script: 0x55, flags: 0x0},
+ 666: {region: 0x165, script: 0x55, flags: 0x0},
+ 667: {region: 0x165, script: 0x55, flags: 0x0},
+ 668: {region: 0x165, script: 0x55, flags: 0x0},
+ 669: {region: 0x99, script: 0x57, flags: 0x0},
+ 670: {region: 0x165, script: 0x55, flags: 0x0},
+ 671: {region: 0x165, script: 0x55, flags: 0x0},
+ 672: {region: 0x106, script: 0x1e, flags: 0x0},
+ 673: {region: 0x131, script: 0x55, flags: 0x0},
+ 674: {region: 0x165, script: 0x55, flags: 0x0},
+ 675: {region: 0xd9, script: 0x55, flags: 0x0},
+ 676: {region: 0x165, script: 0x55, flags: 0x0},
+ 677: {region: 0x165, script: 0x55, flags: 0x0},
678: {region: 0x21, script: 0x2, flags: 0x1},
- 679: {region: 0x164, script: 0x52, flags: 0x0},
- 680: {region: 0x164, script: 0x52, flags: 0x0},
- 681: {region: 0x9d, script: 0x52, flags: 0x0},
- 682: {region: 0x52, script: 0x58, flags: 0x0},
- 683: {region: 0x94, script: 0x52, flags: 0x0},
- 684: {region: 0x9b, script: 0x5, flags: 0x0},
- 685: {region: 0x134, script: 0x52, flags: 0x0},
- 686: {region: 0x164, script: 0x52, flags: 0x0},
- 687: {region: 0x164, script: 0x52, flags: 0x0},
- 688: {region: 0x98, script: 0xd0, flags: 0x0},
- 689: {region: 0x9d, script: 0x52, flags: 0x0},
- 690: {region: 0x164, script: 0x52, flags: 0x0},
- 691: {region: 0x4a, script: 0x52, flags: 0x0},
- 692: {region: 0x164, script: 0x52, flags: 0x0},
- 693: {region: 0x164, script: 0x52, flags: 0x0},
- 694: {region: 0xae, script: 0x4f, flags: 0x0},
- 695: {region: 0x164, script: 0x52, flags: 0x0},
- 696: {region: 0x164, script: 0x52, flags: 0x0},
- 697: {region: 0x4a, script: 0x52, flags: 0x0},
- 698: {region: 0x164, script: 0x52, flags: 0x0},
- 699: {region: 0x164, script: 0x52, flags: 0x0},
- 700: {region: 0x161, script: 0x52, flags: 0x0},
- 701: {region: 0x9b, script: 0x5, flags: 0x0},
- 702: {region: 0xb5, script: 0x52, flags: 0x0},
- 703: {region: 0xb7, script: 0x52, flags: 0x0},
- 704: {region: 0x4a, script: 0x52, flags: 0x0},
- 705: {region: 0x4a, script: 0x52, flags: 0x0},
- 706: {region: 0xa3, script: 0x52, flags: 0x0},
- 707: {region: 0xa3, script: 0x52, flags: 0x0},
- 708: {region: 0x9b, script: 0x5, flags: 0x0},
- 709: {region: 0xb7, script: 0x52, flags: 0x0},
- 710: {region: 0x122, script: 0xd5, flags: 0x0},
- 711: {region: 0x52, script: 0x34, flags: 0x0},
- 712: {region: 0x12a, script: 0x52, flags: 0x0},
- 713: {region: 0x94, script: 0x52, flags: 0x0},
- 714: {region: 0x51, script: 0x52, flags: 0x0},
- 715: {region: 0x98, script: 0x20, flags: 0x0},
- 716: {region: 0x98, script: 0x20, flags: 0x0},
- 717: {region: 0x94, script: 0x52, flags: 0x0},
+ 679: {region: 0x165, script: 0x55, flags: 0x0},
+ 680: {region: 0x165, script: 0x55, flags: 0x0},
+ 681: {region: 0x9e, script: 0x55, flags: 0x0},
+ 682: {region: 0x53, script: 0x5b, flags: 0x0},
+ 683: {region: 0x95, script: 0x55, flags: 0x0},
+ 684: {region: 0x9c, script: 0x5, flags: 0x0},
+ 685: {region: 0x135, script: 0x55, flags: 0x0},
+ 686: {region: 0x165, script: 0x55, flags: 0x0},
+ 687: {region: 0x165, script: 0x55, flags: 0x0},
+ 688: {region: 0x99, script: 0xd6, flags: 0x0},
+ 689: {region: 0x9e, script: 0x55, flags: 0x0},
+ 690: {region: 0x165, script: 0x55, flags: 0x0},
+ 691: {region: 0x4b, script: 0x55, flags: 0x0},
+ 692: {region: 0x165, script: 0x55, flags: 0x0},
+ 693: {region: 0x165, script: 0x55, flags: 0x0},
+ 694: {region: 0xaf, script: 0x52, flags: 0x0},
+ 695: {region: 0x165, script: 0x55, flags: 0x0},
+ 696: {region: 0x165, script: 0x55, flags: 0x0},
+ 697: {region: 0x4b, script: 0x55, flags: 0x0},
+ 698: {region: 0x165, script: 0x55, flags: 0x0},
+ 699: {region: 0x165, script: 0x55, flags: 0x0},
+ 700: {region: 0x162, script: 0x55, flags: 0x0},
+ 701: {region: 0x9c, script: 0x5, flags: 0x0},
+ 702: {region: 0xb6, script: 0x55, flags: 0x0},
+ 703: {region: 0xb8, script: 0x55, flags: 0x0},
+ 704: {region: 0x4b, script: 0x55, flags: 0x0},
+ 705: {region: 0x4b, script: 0x55, flags: 0x0},
+ 706: {region: 0xa4, script: 0x55, flags: 0x0},
+ 707: {region: 0xa4, script: 0x55, flags: 0x0},
+ 708: {region: 0x9c, script: 0x5, flags: 0x0},
+ 709: {region: 0xb8, script: 0x55, flags: 0x0},
+ 710: {region: 0x123, script: 0xdb, flags: 0x0},
+ 711: {region: 0x53, script: 0x37, flags: 0x0},
+ 712: {region: 0x12b, script: 0x55, flags: 0x0},
+ 713: {region: 0x95, script: 0x55, flags: 0x0},
+ 714: {region: 0x52, script: 0x55, flags: 0x0},
+ 715: {region: 0x99, script: 0x20, flags: 0x0},
+ 716: {region: 0x99, script: 0x20, flags: 0x0},
+ 717: {region: 0x95, script: 0x55, flags: 0x0},
718: {region: 0x23, script: 0x3, flags: 0x1},
- 719: {region: 0xa3, script: 0x52, flags: 0x0},
- 720: {region: 0x164, script: 0x52, flags: 0x0},
- 721: {region: 0xce, script: 0x52, flags: 0x0},
- 722: {region: 0x164, script: 0x52, flags: 0x0},
- 723: {region: 0x164, script: 0x52, flags: 0x0},
- 724: {region: 0x164, script: 0x52, flags: 0x0},
- 725: {region: 0x164, script: 0x52, flags: 0x0},
- 726: {region: 0x164, script: 0x52, flags: 0x0},
- 727: {region: 0x164, script: 0x52, flags: 0x0},
- 728: {region: 0x164, script: 0x52, flags: 0x0},
- 729: {region: 0x164, script: 0x52, flags: 0x0},
- 730: {region: 0x164, script: 0x52, flags: 0x0},
- 731: {region: 0x164, script: 0x52, flags: 0x0},
- 732: {region: 0x164, script: 0x52, flags: 0x0},
- 733: {region: 0x164, script: 0x5, flags: 0x0},
- 734: {region: 0x105, script: 0x1e, flags: 0x0},
- 735: {region: 0xe6, script: 0x52, flags: 0x0},
- 736: {region: 0x164, script: 0x52, flags: 0x0},
- 737: {region: 0x94, script: 0x52, flags: 0x0},
- 738: {region: 0x164, script: 0x27, flags: 0x0},
- 739: {region: 0x164, script: 0x52, flags: 0x0},
- 740: {region: 0x164, script: 0x52, flags: 0x0},
- 741: {region: 0x164, script: 0x52, flags: 0x0},
- 742: {region: 0x111, script: 0x52, flags: 0x0},
- 743: {region: 0xa3, script: 0x52, flags: 0x0},
- 744: {region: 0x164, script: 0x52, flags: 0x0},
- 745: {region: 0x164, script: 0x52, flags: 0x0},
- 746: {region: 0x122, script: 0x5, flags: 0x0},
- 747: {region: 0xcb, script: 0x52, flags: 0x0},
- 748: {region: 0x164, script: 0x52, flags: 0x0},
- 749: {region: 0x164, script: 0x52, flags: 0x0},
- 750: {region: 0x164, script: 0x52, flags: 0x0},
- 751: {region: 0xbe, script: 0x52, flags: 0x0},
- 752: {region: 0xd0, script: 0x52, flags: 0x0},
- 753: {region: 0x164, script: 0x52, flags: 0x0},
- 754: {region: 0x51, script: 0x52, flags: 0x0},
- 755: {region: 0xda, script: 0x20, flags: 0x0},
- 756: {region: 0x12e, script: 0x52, flags: 0x0},
- 757: {region: 0xbf, script: 0x52, flags: 0x0},
- 758: {region: 0x164, script: 0x52, flags: 0x0},
- 759: {region: 0x164, script: 0x52, flags: 0x0},
- 760: {region: 0xdf, script: 0x52, flags: 0x0},
- 761: {region: 0x164, script: 0x52, flags: 0x0},
- 762: {region: 0x94, script: 0x52, flags: 0x0},
- 763: {region: 0x9a, script: 0x36, flags: 0x0},
- 764: {region: 0x164, script: 0x52, flags: 0x0},
- 765: {region: 0xc1, script: 0x1e, flags: 0x0},
- 766: {region: 0x164, script: 0x5, flags: 0x0},
- 767: {region: 0x164, script: 0x52, flags: 0x0},
- 768: {region: 0x164, script: 0x52, flags: 0x0},
- 769: {region: 0x164, script: 0x52, flags: 0x0},
- 770: {region: 0x98, script: 0x64, flags: 0x0},
- 771: {region: 0x164, script: 0x52, flags: 0x0},
- 772: {region: 0x164, script: 0x52, flags: 0x0},
- 773: {region: 0x10a, script: 0x52, flags: 0x0},
- 774: {region: 0x164, script: 0x52, flags: 0x0},
- 775: {region: 0x164, script: 0x52, flags: 0x0},
- 776: {region: 0x164, script: 0x52, flags: 0x0},
+ 719: {region: 0xa4, script: 0x55, flags: 0x0},
+ 720: {region: 0x165, script: 0x55, flags: 0x0},
+ 721: {region: 0xcf, script: 0x55, flags: 0x0},
+ 722: {region: 0x165, script: 0x55, flags: 0x0},
+ 723: {region: 0x165, script: 0x55, flags: 0x0},
+ 724: {region: 0x165, script: 0x55, flags: 0x0},
+ 725: {region: 0x165, script: 0x55, flags: 0x0},
+ 726: {region: 0x165, script: 0x55, flags: 0x0},
+ 727: {region: 0x165, script: 0x55, flags: 0x0},
+ 728: {region: 0x165, script: 0x55, flags: 0x0},
+ 729: {region: 0x165, script: 0x55, flags: 0x0},
+ 730: {region: 0x165, script: 0x55, flags: 0x0},
+ 731: {region: 0x165, script: 0x55, flags: 0x0},
+ 732: {region: 0x165, script: 0x55, flags: 0x0},
+ 733: {region: 0x165, script: 0x5, flags: 0x0},
+ 734: {region: 0x106, script: 0x1e, flags: 0x0},
+ 735: {region: 0xe7, script: 0x55, flags: 0x0},
+ 736: {region: 0x165, script: 0x55, flags: 0x0},
+ 737: {region: 0x95, script: 0x55, flags: 0x0},
+ 738: {region: 0x165, script: 0x28, flags: 0x0},
+ 739: {region: 0x165, script: 0x55, flags: 0x0},
+ 740: {region: 0x165, script: 0x55, flags: 0x0},
+ 741: {region: 0x165, script: 0x55, flags: 0x0},
+ 742: {region: 0x112, script: 0x55, flags: 0x0},
+ 743: {region: 0xa4, script: 0x55, flags: 0x0},
+ 744: {region: 0x165, script: 0x55, flags: 0x0},
+ 745: {region: 0x165, script: 0x55, flags: 0x0},
+ 746: {region: 0x123, script: 0x5, flags: 0x0},
+ 747: {region: 0xcc, script: 0x55, flags: 0x0},
+ 748: {region: 0x165, script: 0x55, flags: 0x0},
+ 749: {region: 0x165, script: 0x55, flags: 0x0},
+ 750: {region: 0x165, script: 0x55, flags: 0x0},
+ 751: {region: 0xbf, script: 0x55, flags: 0x0},
+ 752: {region: 0xd1, script: 0x55, flags: 0x0},
+ 753: {region: 0x165, script: 0x55, flags: 0x0},
+ 754: {region: 0x52, script: 0x55, flags: 0x0},
+ 755: {region: 0xdb, script: 0x20, flags: 0x0},
+ 756: {region: 0x12f, script: 0x55, flags: 0x0},
+ 757: {region: 0xc0, script: 0x55, flags: 0x0},
+ 758: {region: 0x165, script: 0x55, flags: 0x0},
+ 759: {region: 0x165, script: 0x55, flags: 0x0},
+ 760: {region: 0xe0, script: 0x55, flags: 0x0},
+ 761: {region: 0x165, script: 0x55, flags: 0x0},
+ 762: {region: 0x95, script: 0x55, flags: 0x0},
+ 763: {region: 0x9b, script: 0x39, flags: 0x0},
+ 764: {region: 0x165, script: 0x55, flags: 0x0},
+ 765: {region: 0xc2, script: 0x1e, flags: 0x0},
+ 766: {region: 0x165, script: 0x5, flags: 0x0},
+ 767: {region: 0x165, script: 0x55, flags: 0x0},
+ 768: {region: 0x165, script: 0x55, flags: 0x0},
+ 769: {region: 0x165, script: 0x55, flags: 0x0},
+ 770: {region: 0x99, script: 0x69, flags: 0x0},
+ 771: {region: 0x165, script: 0x55, flags: 0x0},
+ 772: {region: 0x165, script: 0x55, flags: 0x0},
+ 773: {region: 0x10b, script: 0x55, flags: 0x0},
+ 774: {region: 0x165, script: 0x55, flags: 0x0},
+ 775: {region: 0x165, script: 0x55, flags: 0x0},
+ 776: {region: 0x165, script: 0x55, flags: 0x0},
777: {region: 0x26, script: 0x3, flags: 0x1},
- 778: {region: 0x164, script: 0x52, flags: 0x0},
- 779: {region: 0x164, script: 0x52, flags: 0x0},
- 780: {region: 0x98, script: 0xe, flags: 0x0},
- 781: {region: 0xc3, script: 0x6b, flags: 0x0},
- 783: {region: 0x164, script: 0x52, flags: 0x0},
- 784: {region: 0x48, script: 0x52, flags: 0x0},
- 785: {region: 0x48, script: 0x52, flags: 0x0},
- 786: {region: 0x36, script: 0x52, flags: 0x0},
- 787: {region: 0x164, script: 0x52, flags: 0x0},
- 788: {region: 0x164, script: 0x52, flags: 0x0},
- 789: {region: 0x164, script: 0x52, flags: 0x0},
- 790: {region: 0x164, script: 0x52, flags: 0x0},
- 791: {region: 0x164, script: 0x52, flags: 0x0},
- 792: {region: 0x164, script: 0x52, flags: 0x0},
- 793: {region: 0x98, script: 0x20, flags: 0x0},
- 794: {region: 0xda, script: 0x20, flags: 0x0},
- 795: {region: 0x105, script: 0x1e, flags: 0x0},
- 796: {region: 0x34, script: 0x68, flags: 0x0},
+ 778: {region: 0x165, script: 0x55, flags: 0x0},
+ 779: {region: 0x165, script: 0x55, flags: 0x0},
+ 780: {region: 0x99, script: 0xe, flags: 0x0},
+ 781: {region: 0xc4, script: 0x70, flags: 0x0},
+ 783: {region: 0x165, script: 0x55, flags: 0x0},
+ 784: {region: 0x49, script: 0x55, flags: 0x0},
+ 785: {region: 0x49, script: 0x55, flags: 0x0},
+ 786: {region: 0x37, script: 0x55, flags: 0x0},
+ 787: {region: 0x165, script: 0x55, flags: 0x0},
+ 788: {region: 0x165, script: 0x55, flags: 0x0},
+ 789: {region: 0x165, script: 0x55, flags: 0x0},
+ 790: {region: 0x165, script: 0x55, flags: 0x0},
+ 791: {region: 0x165, script: 0x55, flags: 0x0},
+ 792: {region: 0x165, script: 0x55, flags: 0x0},
+ 793: {region: 0x99, script: 0x20, flags: 0x0},
+ 794: {region: 0xdb, script: 0x20, flags: 0x0},
+ 795: {region: 0x106, script: 0x1e, flags: 0x0},
+ 796: {region: 0x35, script: 0x6d, flags: 0x0},
797: {region: 0x29, script: 0x3, flags: 0x1},
- 798: {region: 0xca, script: 0x52, flags: 0x0},
- 799: {region: 0x164, script: 0x52, flags: 0x0},
- 800: {region: 0x164, script: 0x52, flags: 0x0},
- 801: {region: 0x164, script: 0x52, flags: 0x0},
- 802: {region: 0x98, script: 0x20, flags: 0x0},
- 803: {region: 0x51, script: 0x52, flags: 0x0},
- 805: {region: 0x164, script: 0x52, flags: 0x0},
- 806: {region: 0x134, script: 0x52, flags: 0x0},
- 807: {region: 0x164, script: 0x52, flags: 0x0},
- 808: {region: 0x164, script: 0x52, flags: 0x0},
- 809: {region: 0xe7, script: 0x5, flags: 0x0},
- 810: {region: 0xc2, script: 0x52, flags: 0x0},
- 811: {region: 0x98, script: 0x20, flags: 0x0},
- 812: {region: 0x94, script: 0x52, flags: 0x0},
- 813: {region: 0x163, script: 0x52, flags: 0x0},
- 814: {region: 0x164, script: 0x52, flags: 0x0},
- 815: {region: 0xc3, script: 0x6b, flags: 0x0},
- 816: {region: 0x164, script: 0x52, flags: 0x0},
- 817: {region: 0x164, script: 0x27, flags: 0x0},
- 818: {region: 0x105, script: 0x1e, flags: 0x0},
- 819: {region: 0x164, script: 0x52, flags: 0x0},
- 820: {region: 0x130, script: 0x52, flags: 0x0},
- 821: {region: 0x9b, script: 0x5d, flags: 0x0},
- 822: {region: 0x164, script: 0x52, flags: 0x0},
- 823: {region: 0x164, script: 0x52, flags: 0x0},
- 824: {region: 0x9b, script: 0x5, flags: 0x0},
- 825: {region: 0x164, script: 0x52, flags: 0x0},
- 826: {region: 0x164, script: 0x52, flags: 0x0},
- 827: {region: 0x164, script: 0x52, flags: 0x0},
- 828: {region: 0xdc, script: 0x52, flags: 0x0},
- 829: {region: 0x164, script: 0x52, flags: 0x0},
- 830: {region: 0x164, script: 0x52, flags: 0x0},
- 832: {region: 0x164, script: 0x52, flags: 0x0},
- 833: {region: 0x52, script: 0x34, flags: 0x0},
- 834: {region: 0x9d, script: 0x52, flags: 0x0},
- 835: {region: 0xd1, script: 0x52, flags: 0x0},
- 836: {region: 0x164, script: 0x52, flags: 0x0},
- 837: {region: 0xd9, script: 0x52, flags: 0x0},
- 838: {region: 0x164, script: 0x52, flags: 0x0},
- 839: {region: 0x164, script: 0x52, flags: 0x0},
- 840: {region: 0x164, script: 0x52, flags: 0x0},
- 841: {region: 0xce, script: 0x52, flags: 0x0},
- 842: {region: 0x164, script: 0x52, flags: 0x0},
- 843: {region: 0x164, script: 0x52, flags: 0x0},
- 844: {region: 0x163, script: 0x52, flags: 0x0},
- 845: {region: 0xd0, script: 0x52, flags: 0x0},
- 846: {region: 0x5f, script: 0x52, flags: 0x0},
- 847: {region: 0xda, script: 0x20, flags: 0x0},
- 848: {region: 0x164, script: 0x52, flags: 0x0},
- 849: {region: 0xda, script: 0x20, flags: 0x0},
- 850: {region: 0x164, script: 0x52, flags: 0x0},
- 851: {region: 0x164, script: 0x52, flags: 0x0},
- 852: {region: 0xd1, script: 0x52, flags: 0x0},
- 853: {region: 0x164, script: 0x52, flags: 0x0},
- 854: {region: 0x164, script: 0x52, flags: 0x0},
- 855: {region: 0xd0, script: 0x52, flags: 0x0},
- 856: {region: 0x164, script: 0x52, flags: 0x0},
- 857: {region: 0xce, script: 0x52, flags: 0x0},
- 858: {region: 0xce, script: 0x52, flags: 0x0},
- 859: {region: 0x164, script: 0x52, flags: 0x0},
- 860: {region: 0x164, script: 0x52, flags: 0x0},
- 861: {region: 0x94, script: 0x52, flags: 0x0},
- 862: {region: 0x164, script: 0x52, flags: 0x0},
- 863: {region: 0xde, script: 0x52, flags: 0x0},
- 864: {region: 0x164, script: 0x52, flags: 0x0},
- 865: {region: 0x164, script: 0x52, flags: 0x0},
- 866: {region: 0x98, script: 0x52, flags: 0x0},
- 867: {region: 0x164, script: 0x52, flags: 0x0},
- 868: {region: 0x164, script: 0x52, flags: 0x0},
- 869: {region: 0xd8, script: 0x52, flags: 0x0},
- 870: {region: 0x51, script: 0x52, flags: 0x0},
- 871: {region: 0x164, script: 0x52, flags: 0x0},
- 872: {region: 0xd9, script: 0x52, flags: 0x0},
- 873: {region: 0x164, script: 0x52, flags: 0x0},
- 874: {region: 0x51, script: 0x52, flags: 0x0},
- 875: {region: 0x164, script: 0x52, flags: 0x0},
- 876: {region: 0x164, script: 0x52, flags: 0x0},
- 877: {region: 0xd9, script: 0x52, flags: 0x0},
- 878: {region: 0x122, script: 0x4e, flags: 0x0},
- 879: {region: 0x98, script: 0x20, flags: 0x0},
- 880: {region: 0x10b, script: 0xb7, flags: 0x0},
- 881: {region: 0x164, script: 0x52, flags: 0x0},
- 882: {region: 0x164, script: 0x52, flags: 0x0},
- 883: {region: 0x83, script: 0x70, flags: 0x0},
- 884: {region: 0x160, script: 0x52, flags: 0x0},
- 885: {region: 0x164, script: 0x52, flags: 0x0},
- 886: {region: 0x48, script: 0x17, flags: 0x0},
- 887: {region: 0x164, script: 0x52, flags: 0x0},
- 888: {region: 0x160, script: 0x52, flags: 0x0},
- 889: {region: 0x164, script: 0x52, flags: 0x0},
- 890: {region: 0x164, script: 0x52, flags: 0x0},
- 891: {region: 0x164, script: 0x52, flags: 0x0},
- 892: {region: 0x164, script: 0x52, flags: 0x0},
- 893: {region: 0x164, script: 0x52, flags: 0x0},
- 894: {region: 0x116, script: 0x52, flags: 0x0},
- 895: {region: 0x164, script: 0x52, flags: 0x0},
- 896: {region: 0x164, script: 0x52, flags: 0x0},
- 897: {region: 0x134, script: 0x52, flags: 0x0},
- 898: {region: 0x164, script: 0x52, flags: 0x0},
- 899: {region: 0x52, script: 0x52, flags: 0x0},
- 900: {region: 0x164, script: 0x52, flags: 0x0},
- 901: {region: 0xcd, script: 0x52, flags: 0x0},
- 902: {region: 0x12e, script: 0x52, flags: 0x0},
- 903: {region: 0x130, script: 0x52, flags: 0x0},
- 904: {region: 0x7f, script: 0x52, flags: 0x0},
- 905: {region: 0x77, script: 0x52, flags: 0x0},
- 906: {region: 0x164, script: 0x52, flags: 0x0},
- 908: {region: 0x164, script: 0x52, flags: 0x0},
- 909: {region: 0x164, script: 0x52, flags: 0x0},
- 910: {region: 0x6e, script: 0x52, flags: 0x0},
- 911: {region: 0x164, script: 0x52, flags: 0x0},
- 912: {region: 0x164, script: 0x52, flags: 0x0},
- 913: {region: 0x164, script: 0x52, flags: 0x0},
- 914: {region: 0x164, script: 0x52, flags: 0x0},
- 915: {region: 0x98, script: 0x75, flags: 0x0},
- 916: {region: 0x164, script: 0x52, flags: 0x0},
- 917: {region: 0x164, script: 0x5, flags: 0x0},
- 918: {region: 0x7c, script: 0x1e, flags: 0x0},
- 919: {region: 0x134, script: 0x76, flags: 0x0},
- 920: {region: 0x164, script: 0x5, flags: 0x0},
- 921: {region: 0xc4, script: 0x74, flags: 0x0},
- 922: {region: 0x164, script: 0x52, flags: 0x0},
+ 798: {region: 0xcb, script: 0x55, flags: 0x0},
+ 799: {region: 0x165, script: 0x55, flags: 0x0},
+ 800: {region: 0x165, script: 0x55, flags: 0x0},
+ 801: {region: 0x165, script: 0x55, flags: 0x0},
+ 802: {region: 0x99, script: 0x20, flags: 0x0},
+ 803: {region: 0x52, script: 0x55, flags: 0x0},
+ 805: {region: 0x165, script: 0x55, flags: 0x0},
+ 806: {region: 0x135, script: 0x55, flags: 0x0},
+ 807: {region: 0x165, script: 0x55, flags: 0x0},
+ 808: {region: 0x165, script: 0x55, flags: 0x0},
+ 809: {region: 0xe8, script: 0x5, flags: 0x0},
+ 810: {region: 0xc3, script: 0x55, flags: 0x0},
+ 811: {region: 0x99, script: 0x20, flags: 0x0},
+ 812: {region: 0x95, script: 0x55, flags: 0x0},
+ 813: {region: 0x164, script: 0x55, flags: 0x0},
+ 814: {region: 0x165, script: 0x55, flags: 0x0},
+ 815: {region: 0xc4, script: 0x70, flags: 0x0},
+ 816: {region: 0x165, script: 0x55, flags: 0x0},
+ 817: {region: 0x165, script: 0x28, flags: 0x0},
+ 818: {region: 0x106, script: 0x1e, flags: 0x0},
+ 819: {region: 0x165, script: 0x55, flags: 0x0},
+ 820: {region: 0x131, script: 0x55, flags: 0x0},
+ 821: {region: 0x9c, script: 0x61, flags: 0x0},
+ 822: {region: 0x165, script: 0x55, flags: 0x0},
+ 823: {region: 0x165, script: 0x55, flags: 0x0},
+ 824: {region: 0x9c, script: 0x5, flags: 0x0},
+ 825: {region: 0x165, script: 0x55, flags: 0x0},
+ 826: {region: 0x165, script: 0x55, flags: 0x0},
+ 827: {region: 0x165, script: 0x55, flags: 0x0},
+ 828: {region: 0xdd, script: 0x55, flags: 0x0},
+ 829: {region: 0x165, script: 0x55, flags: 0x0},
+ 830: {region: 0x165, script: 0x55, flags: 0x0},
+ 832: {region: 0x165, script: 0x55, flags: 0x0},
+ 833: {region: 0x53, script: 0x37, flags: 0x0},
+ 834: {region: 0x9e, script: 0x55, flags: 0x0},
+ 835: {region: 0xd2, script: 0x55, flags: 0x0},
+ 836: {region: 0x165, script: 0x55, flags: 0x0},
+ 837: {region: 0xda, script: 0x55, flags: 0x0},
+ 838: {region: 0x165, script: 0x55, flags: 0x0},
+ 839: {region: 0x165, script: 0x55, flags: 0x0},
+ 840: {region: 0x165, script: 0x55, flags: 0x0},
+ 841: {region: 0xcf, script: 0x55, flags: 0x0},
+ 842: {region: 0x165, script: 0x55, flags: 0x0},
+ 843: {region: 0x165, script: 0x55, flags: 0x0},
+ 844: {region: 0x164, script: 0x55, flags: 0x0},
+ 845: {region: 0xd1, script: 0x55, flags: 0x0},
+ 846: {region: 0x60, script: 0x55, flags: 0x0},
+ 847: {region: 0xdb, script: 0x20, flags: 0x0},
+ 848: {region: 0x165, script: 0x55, flags: 0x0},
+ 849: {region: 0xdb, script: 0x20, flags: 0x0},
+ 850: {region: 0x165, script: 0x55, flags: 0x0},
+ 851: {region: 0x165, script: 0x55, flags: 0x0},
+ 852: {region: 0xd2, script: 0x55, flags: 0x0},
+ 853: {region: 0x165, script: 0x55, flags: 0x0},
+ 854: {region: 0x165, script: 0x55, flags: 0x0},
+ 855: {region: 0xd1, script: 0x55, flags: 0x0},
+ 856: {region: 0x165, script: 0x55, flags: 0x0},
+ 857: {region: 0xcf, script: 0x55, flags: 0x0},
+ 858: {region: 0xcf, script: 0x55, flags: 0x0},
+ 859: {region: 0x165, script: 0x55, flags: 0x0},
+ 860: {region: 0x165, script: 0x55, flags: 0x0},
+ 861: {region: 0x95, script: 0x55, flags: 0x0},
+ 862: {region: 0x165, script: 0x55, flags: 0x0},
+ 863: {region: 0xdf, script: 0x55, flags: 0x0},
+ 864: {region: 0x165, script: 0x55, flags: 0x0},
+ 865: {region: 0x165, script: 0x55, flags: 0x0},
+ 866: {region: 0x99, script: 0x55, flags: 0x0},
+ 867: {region: 0x165, script: 0x55, flags: 0x0},
+ 868: {region: 0x165, script: 0x55, flags: 0x0},
+ 869: {region: 0xd9, script: 0x55, flags: 0x0},
+ 870: {region: 0x52, script: 0x55, flags: 0x0},
+ 871: {region: 0x165, script: 0x55, flags: 0x0},
+ 872: {region: 0xda, script: 0x55, flags: 0x0},
+ 873: {region: 0x165, script: 0x55, flags: 0x0},
+ 874: {region: 0x52, script: 0x55, flags: 0x0},
+ 875: {region: 0x165, script: 0x55, flags: 0x0},
+ 876: {region: 0x165, script: 0x55, flags: 0x0},
+ 877: {region: 0xda, script: 0x55, flags: 0x0},
+ 878: {region: 0x123, script: 0x51, flags: 0x0},
+ 879: {region: 0x99, script: 0x20, flags: 0x0},
+ 880: {region: 0x10c, script: 0xbc, flags: 0x0},
+ 881: {region: 0x165, script: 0x55, flags: 0x0},
+ 882: {region: 0x165, script: 0x55, flags: 0x0},
+ 883: {region: 0x84, script: 0x75, flags: 0x0},
+ 884: {region: 0x161, script: 0x55, flags: 0x0},
+ 885: {region: 0x165, script: 0x55, flags: 0x0},
+ 886: {region: 0x49, script: 0x17, flags: 0x0},
+ 887: {region: 0x165, script: 0x55, flags: 0x0},
+ 888: {region: 0x161, script: 0x55, flags: 0x0},
+ 889: {region: 0x165, script: 0x55, flags: 0x0},
+ 890: {region: 0x165, script: 0x55, flags: 0x0},
+ 891: {region: 0x165, script: 0x55, flags: 0x0},
+ 892: {region: 0x165, script: 0x55, flags: 0x0},
+ 893: {region: 0x165, script: 0x55, flags: 0x0},
+ 894: {region: 0x117, script: 0x55, flags: 0x0},
+ 895: {region: 0x165, script: 0x55, flags: 0x0},
+ 896: {region: 0x165, script: 0x55, flags: 0x0},
+ 897: {region: 0x135, script: 0x55, flags: 0x0},
+ 898: {region: 0x165, script: 0x55, flags: 0x0},
+ 899: {region: 0x53, script: 0x55, flags: 0x0},
+ 900: {region: 0x165, script: 0x55, flags: 0x0},
+ 901: {region: 0xce, script: 0x55, flags: 0x0},
+ 902: {region: 0x12f, script: 0x55, flags: 0x0},
+ 903: {region: 0x131, script: 0x55, flags: 0x0},
+ 904: {region: 0x80, script: 0x55, flags: 0x0},
+ 905: {region: 0x78, script: 0x55, flags: 0x0},
+ 906: {region: 0x165, script: 0x55, flags: 0x0},
+ 908: {region: 0x165, script: 0x55, flags: 0x0},
+ 909: {region: 0x165, script: 0x55, flags: 0x0},
+ 910: {region: 0x6f, script: 0x55, flags: 0x0},
+ 911: {region: 0x165, script: 0x55, flags: 0x0},
+ 912: {region: 0x165, script: 0x55, flags: 0x0},
+ 913: {region: 0x165, script: 0x55, flags: 0x0},
+ 914: {region: 0x165, script: 0x55, flags: 0x0},
+ 915: {region: 0x99, script: 0x7a, flags: 0x0},
+ 916: {region: 0x165, script: 0x55, flags: 0x0},
+ 917: {region: 0x165, script: 0x5, flags: 0x0},
+ 918: {region: 0x7d, script: 0x1e, flags: 0x0},
+ 919: {region: 0x135, script: 0x7b, flags: 0x0},
+ 920: {region: 0x165, script: 0x5, flags: 0x0},
+ 921: {region: 0xc5, script: 0x79, flags: 0x0},
+ 922: {region: 0x165, script: 0x55, flags: 0x0},
923: {region: 0x2c, script: 0x3, flags: 0x1},
- 924: {region: 0xe6, script: 0x52, flags: 0x0},
+ 924: {region: 0xe7, script: 0x55, flags: 0x0},
925: {region: 0x2f, script: 0x2, flags: 0x1},
- 926: {region: 0xe6, script: 0x52, flags: 0x0},
- 927: {region: 0x2f, script: 0x52, flags: 0x0},
- 928: {region: 0xef, script: 0x52, flags: 0x0},
- 929: {region: 0x164, script: 0x52, flags: 0x0},
- 930: {region: 0x77, script: 0x52, flags: 0x0},
- 931: {region: 0xd5, script: 0x52, flags: 0x0},
- 932: {region: 0x134, script: 0x52, flags: 0x0},
- 933: {region: 0x48, script: 0x52, flags: 0x0},
- 934: {region: 0x164, script: 0x52, flags: 0x0},
- 935: {region: 0x9b, script: 0xdd, flags: 0x0},
- 936: {region: 0x164, script: 0x52, flags: 0x0},
- 937: {region: 0x5f, script: 0x52, flags: 0x0},
- 938: {region: 0x164, script: 0x5, flags: 0x0},
- 939: {region: 0xaf, script: 0x7f, flags: 0x0},
- 941: {region: 0x164, script: 0x52, flags: 0x0},
- 942: {region: 0x164, script: 0x52, flags: 0x0},
- 943: {region: 0x98, script: 0x12, flags: 0x0},
- 944: {region: 0xa3, script: 0x52, flags: 0x0},
- 945: {region: 0xe8, script: 0x52, flags: 0x0},
- 946: {region: 0x164, script: 0x52, flags: 0x0},
- 947: {region: 0x9d, script: 0x52, flags: 0x0},
- 948: {region: 0x164, script: 0x52, flags: 0x0},
- 949: {region: 0x164, script: 0x52, flags: 0x0},
- 950: {region: 0x86, script: 0x2d, flags: 0x0},
- 951: {region: 0x74, script: 0x52, flags: 0x0},
- 952: {region: 0x164, script: 0x52, flags: 0x0},
- 953: {region: 0xe7, script: 0x45, flags: 0x0},
- 954: {region: 0x9b, script: 0x5, flags: 0x0},
- 955: {region: 0x1, script: 0x52, flags: 0x0},
- 956: {region: 0x23, script: 0x5, flags: 0x0},
- 957: {region: 0x164, script: 0x52, flags: 0x0},
- 958: {region: 0x40, script: 0x52, flags: 0x0},
- 959: {region: 0x164, script: 0x52, flags: 0x0},
- 960: {region: 0x79, script: 0x52, flags: 0x0},
- 961: {region: 0x164, script: 0x52, flags: 0x0},
- 962: {region: 0xe3, script: 0x52, flags: 0x0},
- 963: {region: 0x88, script: 0x52, flags: 0x0},
- 964: {region: 0x68, script: 0x52, flags: 0x0},
- 965: {region: 0x164, script: 0x52, flags: 0x0},
- 966: {region: 0x98, script: 0x20, flags: 0x0},
- 967: {region: 0x164, script: 0x52, flags: 0x0},
- 968: {region: 0x101, script: 0x52, flags: 0x0},
- 969: {region: 0x94, script: 0x52, flags: 0x0},
- 970: {region: 0x164, script: 0x52, flags: 0x0},
- 971: {region: 0x164, script: 0x52, flags: 0x0},
- 972: {region: 0x9d, script: 0x52, flags: 0x0},
- 973: {region: 0x164, script: 0x5, flags: 0x0},
- 974: {region: 0x98, script: 0x52, flags: 0x0},
+ 926: {region: 0xe7, script: 0x55, flags: 0x0},
+ 927: {region: 0x30, script: 0x55, flags: 0x0},
+ 928: {region: 0xf0, script: 0x55, flags: 0x0},
+ 929: {region: 0x165, script: 0x55, flags: 0x0},
+ 930: {region: 0x78, script: 0x55, flags: 0x0},
+ 931: {region: 0xd6, script: 0x55, flags: 0x0},
+ 932: {region: 0x135, script: 0x55, flags: 0x0},
+ 933: {region: 0x49, script: 0x55, flags: 0x0},
+ 934: {region: 0x165, script: 0x55, flags: 0x0},
+ 935: {region: 0x9c, script: 0xe3, flags: 0x0},
+ 936: {region: 0x165, script: 0x55, flags: 0x0},
+ 937: {region: 0x60, script: 0x55, flags: 0x0},
+ 938: {region: 0x165, script: 0x5, flags: 0x0},
+ 939: {region: 0xb0, script: 0x84, flags: 0x0},
+ 941: {region: 0x165, script: 0x55, flags: 0x0},
+ 942: {region: 0x165, script: 0x55, flags: 0x0},
+ 943: {region: 0x99, script: 0x12, flags: 0x0},
+ 944: {region: 0xa4, script: 0x55, flags: 0x0},
+ 945: {region: 0xe9, script: 0x55, flags: 0x0},
+ 946: {region: 0x165, script: 0x55, flags: 0x0},
+ 947: {region: 0x9e, script: 0x55, flags: 0x0},
+ 948: {region: 0x165, script: 0x55, flags: 0x0},
+ 949: {region: 0x165, script: 0x55, flags: 0x0},
+ 950: {region: 0x87, script: 0x30, flags: 0x0},
+ 951: {region: 0x75, script: 0x55, flags: 0x0},
+ 952: {region: 0x165, script: 0x55, flags: 0x0},
+ 953: {region: 0xe8, script: 0x48, flags: 0x0},
+ 954: {region: 0x9c, script: 0x5, flags: 0x0},
+ 955: {region: 0x1, script: 0x55, flags: 0x0},
+ 956: {region: 0x24, script: 0x5, flags: 0x0},
+ 957: {region: 0x165, script: 0x55, flags: 0x0},
+ 958: {region: 0x41, script: 0x55, flags: 0x0},
+ 959: {region: 0x165, script: 0x55, flags: 0x0},
+ 960: {region: 0x7a, script: 0x55, flags: 0x0},
+ 961: {region: 0x165, script: 0x55, flags: 0x0},
+ 962: {region: 0xe4, script: 0x55, flags: 0x0},
+ 963: {region: 0x89, script: 0x55, flags: 0x0},
+ 964: {region: 0x69, script: 0x55, flags: 0x0},
+ 965: {region: 0x165, script: 0x55, flags: 0x0},
+ 966: {region: 0x99, script: 0x20, flags: 0x0},
+ 967: {region: 0x165, script: 0x55, flags: 0x0},
+ 968: {region: 0x102, script: 0x55, flags: 0x0},
+ 969: {region: 0x95, script: 0x55, flags: 0x0},
+ 970: {region: 0x165, script: 0x55, flags: 0x0},
+ 971: {region: 0x165, script: 0x55, flags: 0x0},
+ 972: {region: 0x9e, script: 0x55, flags: 0x0},
+ 973: {region: 0x165, script: 0x5, flags: 0x0},
+ 974: {region: 0x99, script: 0x55, flags: 0x0},
975: {region: 0x31, script: 0x2, flags: 0x1},
- 976: {region: 0xda, script: 0x20, flags: 0x0},
- 977: {region: 0x34, script: 0xe, flags: 0x0},
- 978: {region: 0x4d, script: 0x52, flags: 0x0},
- 979: {region: 0x71, script: 0x52, flags: 0x0},
- 980: {region: 0x4d, script: 0x52, flags: 0x0},
- 981: {region: 0x9b, script: 0x5, flags: 0x0},
- 982: {region: 0x10b, script: 0x52, flags: 0x0},
- 983: {region: 0x39, script: 0x52, flags: 0x0},
- 984: {region: 0x164, script: 0x52, flags: 0x0},
- 985: {region: 0xd0, script: 0x52, flags: 0x0},
- 986: {region: 0x103, script: 0x52, flags: 0x0},
- 987: {region: 0x94, script: 0x52, flags: 0x0},
- 988: {region: 0x12e, script: 0x52, flags: 0x0},
- 989: {region: 0x164, script: 0x52, flags: 0x0},
- 990: {region: 0x164, script: 0x52, flags: 0x0},
- 991: {region: 0x72, script: 0x52, flags: 0x0},
- 992: {region: 0x105, script: 0x1e, flags: 0x0},
- 993: {region: 0x12f, script: 0x1e, flags: 0x0},
- 994: {region: 0x108, script: 0x52, flags: 0x0},
- 995: {region: 0x106, script: 0x52, flags: 0x0},
- 996: {region: 0x12e, script: 0x52, flags: 0x0},
- 997: {region: 0x164, script: 0x52, flags: 0x0},
- 998: {region: 0xa1, script: 0x44, flags: 0x0},
- 999: {region: 0x98, script: 0x20, flags: 0x0},
- 1000: {region: 0x7f, script: 0x52, flags: 0x0},
- 1001: {region: 0x105, script: 0x1e, flags: 0x0},
- 1002: {region: 0xa3, script: 0x52, flags: 0x0},
- 1003: {region: 0x94, script: 0x52, flags: 0x0},
- 1004: {region: 0x98, script: 0x52, flags: 0x0},
- 1005: {region: 0x113, script: 0x52, flags: 0x0},
- 1006: {region: 0x98, script: 0xbb, flags: 0x0},
- 1007: {region: 0x164, script: 0x52, flags: 0x0},
- 1008: {region: 0x164, script: 0x52, flags: 0x0},
- 1009: {region: 0x12e, script: 0x52, flags: 0x0},
- 1010: {region: 0x9d, script: 0x52, flags: 0x0},
- 1011: {region: 0x98, script: 0x20, flags: 0x0},
- 1012: {region: 0x164, script: 0x5, flags: 0x0},
- 1013: {region: 0x9d, script: 0x52, flags: 0x0},
- 1014: {region: 0x7a, script: 0x52, flags: 0x0},
- 1015: {region: 0x48, script: 0x52, flags: 0x0},
+ 976: {region: 0xdb, script: 0x20, flags: 0x0},
+ 977: {region: 0x35, script: 0xe, flags: 0x0},
+ 978: {region: 0x4e, script: 0x55, flags: 0x0},
+ 979: {region: 0x72, script: 0x55, flags: 0x0},
+ 980: {region: 0x4e, script: 0x55, flags: 0x0},
+ 981: {region: 0x9c, script: 0x5, flags: 0x0},
+ 982: {region: 0x10c, script: 0x55, flags: 0x0},
+ 983: {region: 0x3a, script: 0x55, flags: 0x0},
+ 984: {region: 0x165, script: 0x55, flags: 0x0},
+ 985: {region: 0xd1, script: 0x55, flags: 0x0},
+ 986: {region: 0x104, script: 0x55, flags: 0x0},
+ 987: {region: 0x95, script: 0x55, flags: 0x0},
+ 988: {region: 0x12f, script: 0x55, flags: 0x0},
+ 989: {region: 0x165, script: 0x55, flags: 0x0},
+ 990: {region: 0x165, script: 0x55, flags: 0x0},
+ 991: {region: 0x73, script: 0x55, flags: 0x0},
+ 992: {region: 0x106, script: 0x1e, flags: 0x0},
+ 993: {region: 0x130, script: 0x1e, flags: 0x0},
+ 994: {region: 0x109, script: 0x55, flags: 0x0},
+ 995: {region: 0x107, script: 0x55, flags: 0x0},
+ 996: {region: 0x12f, script: 0x55, flags: 0x0},
+ 997: {region: 0x165, script: 0x55, flags: 0x0},
+ 998: {region: 0xa2, script: 0x47, flags: 0x0},
+ 999: {region: 0x99, script: 0x20, flags: 0x0},
+ 1000: {region: 0x80, script: 0x55, flags: 0x0},
+ 1001: {region: 0x106, script: 0x1e, flags: 0x0},
+ 1002: {region: 0xa4, script: 0x55, flags: 0x0},
+ 1003: {region: 0x95, script: 0x55, flags: 0x0},
+ 1004: {region: 0x99, script: 0x55, flags: 0x0},
+ 1005: {region: 0x114, script: 0x55, flags: 0x0},
+ 1006: {region: 0x99, script: 0xc0, flags: 0x0},
+ 1007: {region: 0x165, script: 0x55, flags: 0x0},
+ 1008: {region: 0x165, script: 0x55, flags: 0x0},
+ 1009: {region: 0x12f, script: 0x55, flags: 0x0},
+ 1010: {region: 0x9e, script: 0x55, flags: 0x0},
+ 1011: {region: 0x99, script: 0x20, flags: 0x0},
+ 1012: {region: 0x165, script: 0x5, flags: 0x0},
+ 1013: {region: 0x9e, script: 0x55, flags: 0x0},
+ 1014: {region: 0x7b, script: 0x55, flags: 0x0},
+ 1015: {region: 0x49, script: 0x55, flags: 0x0},
1016: {region: 0x33, script: 0x4, flags: 0x1},
- 1017: {region: 0x9d, script: 0x52, flags: 0x0},
- 1018: {region: 0x9b, script: 0x5, flags: 0x0},
- 1019: {region: 0xd9, script: 0x52, flags: 0x0},
- 1020: {region: 0x4e, script: 0x52, flags: 0x0},
- 1021: {region: 0xd0, script: 0x52, flags: 0x0},
- 1022: {region: 0xce, script: 0x52, flags: 0x0},
- 1023: {region: 0xc2, script: 0x52, flags: 0x0},
- 1024: {region: 0x4b, script: 0x52, flags: 0x0},
- 1025: {region: 0x95, script: 0x72, flags: 0x0},
- 1026: {region: 0xb5, script: 0x52, flags: 0x0},
- 1027: {region: 0x164, script: 0x27, flags: 0x0},
- 1028: {region: 0x164, script: 0x52, flags: 0x0},
- 1030: {region: 0xb9, script: 0xd2, flags: 0x0},
- 1031: {region: 0x164, script: 0x52, flags: 0x0},
- 1032: {region: 0xc3, script: 0x6b, flags: 0x0},
- 1033: {region: 0x164, script: 0x5, flags: 0x0},
- 1034: {region: 0xb2, script: 0xc1, flags: 0x0},
- 1035: {region: 0x6e, script: 0x52, flags: 0x0},
- 1036: {region: 0x164, script: 0x52, flags: 0x0},
- 1037: {region: 0x164, script: 0x52, flags: 0x0},
- 1038: {region: 0x164, script: 0x52, flags: 0x0},
- 1039: {region: 0x164, script: 0x52, flags: 0x0},
- 1040: {region: 0x110, script: 0x52, flags: 0x0},
- 1041: {region: 0x164, script: 0x52, flags: 0x0},
- 1042: {region: 0xe7, script: 0x5, flags: 0x0},
- 1043: {region: 0x164, script: 0x52, flags: 0x0},
- 1044: {region: 0x10e, script: 0x52, flags: 0x0},
- 1045: {region: 0x164, script: 0x52, flags: 0x0},
- 1046: {region: 0xe8, script: 0x52, flags: 0x0},
- 1047: {region: 0x164, script: 0x52, flags: 0x0},
- 1048: {region: 0x94, script: 0x52, flags: 0x0},
- 1049: {region: 0x141, script: 0x52, flags: 0x0},
- 1050: {region: 0x10b, script: 0x52, flags: 0x0},
- 1052: {region: 0x10b, script: 0x52, flags: 0x0},
- 1053: {region: 0x71, script: 0x52, flags: 0x0},
- 1054: {region: 0x96, script: 0xb8, flags: 0x0},
- 1055: {region: 0x164, script: 0x52, flags: 0x0},
- 1056: {region: 0x71, script: 0x52, flags: 0x0},
- 1057: {region: 0x163, script: 0x52, flags: 0x0},
- 1058: {region: 0x164, script: 0x52, flags: 0x0},
- 1059: {region: 0xc2, script: 0x52, flags: 0x0},
- 1060: {region: 0x164, script: 0x52, flags: 0x0},
- 1061: {region: 0x164, script: 0x52, flags: 0x0},
- 1062: {region: 0x164, script: 0x52, flags: 0x0},
- 1063: {region: 0x114, script: 0x52, flags: 0x0},
- 1064: {region: 0x164, script: 0x52, flags: 0x0},
- 1065: {region: 0x164, script: 0x52, flags: 0x0},
- 1066: {region: 0x122, script: 0xd5, flags: 0x0},
- 1067: {region: 0x164, script: 0x52, flags: 0x0},
- 1068: {region: 0x164, script: 0x52, flags: 0x0},
- 1069: {region: 0x164, script: 0x52, flags: 0x0},
- 1070: {region: 0x164, script: 0x52, flags: 0x0},
- 1071: {region: 0x26, script: 0x52, flags: 0x0},
+ 1017: {region: 0x9e, script: 0x55, flags: 0x0},
+ 1018: {region: 0x9c, script: 0x5, flags: 0x0},
+ 1019: {region: 0xda, script: 0x55, flags: 0x0},
+ 1020: {region: 0x4f, script: 0x55, flags: 0x0},
+ 1021: {region: 0xd1, script: 0x55, flags: 0x0},
+ 1022: {region: 0xcf, script: 0x55, flags: 0x0},
+ 1023: {region: 0xc3, script: 0x55, flags: 0x0},
+ 1024: {region: 0x4c, script: 0x55, flags: 0x0},
+ 1025: {region: 0x96, script: 0x77, flags: 0x0},
+ 1026: {region: 0xb6, script: 0x55, flags: 0x0},
+ 1027: {region: 0x165, script: 0x28, flags: 0x0},
+ 1028: {region: 0x165, script: 0x55, flags: 0x0},
+ 1030: {region: 0xba, script: 0xd8, flags: 0x0},
+ 1031: {region: 0x165, script: 0x55, flags: 0x0},
+ 1032: {region: 0xc4, script: 0x70, flags: 0x0},
+ 1033: {region: 0x165, script: 0x5, flags: 0x0},
+ 1034: {region: 0xb3, script: 0xc6, flags: 0x0},
+ 1035: {region: 0x6f, script: 0x55, flags: 0x0},
+ 1036: {region: 0x165, script: 0x55, flags: 0x0},
+ 1037: {region: 0x165, script: 0x55, flags: 0x0},
+ 1038: {region: 0x165, script: 0x55, flags: 0x0},
+ 1039: {region: 0x165, script: 0x55, flags: 0x0},
+ 1040: {region: 0x111, script: 0x55, flags: 0x0},
+ 1041: {region: 0x165, script: 0x55, flags: 0x0},
+ 1042: {region: 0xe8, script: 0x5, flags: 0x0},
+ 1043: {region: 0x165, script: 0x55, flags: 0x0},
+ 1044: {region: 0x10f, script: 0x55, flags: 0x0},
+ 1045: {region: 0x165, script: 0x55, flags: 0x0},
+ 1046: {region: 0xe9, script: 0x55, flags: 0x0},
+ 1047: {region: 0x165, script: 0x55, flags: 0x0},
+ 1048: {region: 0x95, script: 0x55, flags: 0x0},
+ 1049: {region: 0x142, script: 0x55, flags: 0x0},
+ 1050: {region: 0x10c, script: 0x55, flags: 0x0},
+ 1052: {region: 0x10c, script: 0x55, flags: 0x0},
+ 1053: {region: 0x72, script: 0x55, flags: 0x0},
+ 1054: {region: 0x97, script: 0xbd, flags: 0x0},
+ 1055: {region: 0x165, script: 0x55, flags: 0x0},
+ 1056: {region: 0x72, script: 0x55, flags: 0x0},
+ 1057: {region: 0x164, script: 0x55, flags: 0x0},
+ 1058: {region: 0x165, script: 0x55, flags: 0x0},
+ 1059: {region: 0xc3, script: 0x55, flags: 0x0},
+ 1060: {region: 0x165, script: 0x55, flags: 0x0},
+ 1061: {region: 0x165, script: 0x55, flags: 0x0},
+ 1062: {region: 0x165, script: 0x55, flags: 0x0},
+ 1063: {region: 0x115, script: 0x55, flags: 0x0},
+ 1064: {region: 0x165, script: 0x55, flags: 0x0},
+ 1065: {region: 0x165, script: 0x55, flags: 0x0},
+ 1066: {region: 0x123, script: 0xdb, flags: 0x0},
+ 1067: {region: 0x165, script: 0x55, flags: 0x0},
+ 1068: {region: 0x165, script: 0x55, flags: 0x0},
+ 1069: {region: 0x165, script: 0x55, flags: 0x0},
+ 1070: {region: 0x165, script: 0x55, flags: 0x0},
+ 1071: {region: 0x27, script: 0x55, flags: 0x0},
1072: {region: 0x37, script: 0x5, flags: 0x1},
- 1073: {region: 0x98, script: 0xc2, flags: 0x0},
- 1074: {region: 0x115, script: 0x52, flags: 0x0},
- 1075: {region: 0x113, script: 0x52, flags: 0x0},
- 1076: {region: 0x98, script: 0x20, flags: 0x0},
- 1077: {region: 0x160, script: 0x52, flags: 0x0},
- 1078: {region: 0x164, script: 0x52, flags: 0x0},
- 1079: {region: 0x164, script: 0x52, flags: 0x0},
- 1080: {region: 0x6c, script: 0x52, flags: 0x0},
- 1081: {region: 0x160, script: 0x52, flags: 0x0},
- 1082: {region: 0x164, script: 0x52, flags: 0x0},
- 1083: {region: 0x5f, script: 0x52, flags: 0x0},
- 1084: {region: 0x94, script: 0x52, flags: 0x0},
- 1085: {region: 0x164, script: 0x52, flags: 0x0},
- 1086: {region: 0x164, script: 0x52, flags: 0x0},
- 1087: {region: 0x12e, script: 0x52, flags: 0x0},
- 1088: {region: 0x164, script: 0x52, flags: 0x0},
- 1089: {region: 0x83, script: 0x52, flags: 0x0},
- 1090: {region: 0x10b, script: 0x52, flags: 0x0},
- 1091: {region: 0x12e, script: 0x52, flags: 0x0},
- 1092: {region: 0x15e, script: 0x5, flags: 0x0},
- 1093: {region: 0x4a, script: 0x52, flags: 0x0},
- 1094: {region: 0x5f, script: 0x52, flags: 0x0},
- 1095: {region: 0x164, script: 0x52, flags: 0x0},
- 1096: {region: 0x98, script: 0x20, flags: 0x0},
- 1097: {region: 0x94, script: 0x52, flags: 0x0},
- 1098: {region: 0x164, script: 0x52, flags: 0x0},
- 1099: {region: 0x34, script: 0xe, flags: 0x0},
- 1100: {region: 0x9a, script: 0xc5, flags: 0x0},
- 1101: {region: 0xe8, script: 0x52, flags: 0x0},
- 1102: {region: 0x98, script: 0xcd, flags: 0x0},
- 1103: {region: 0xda, script: 0x20, flags: 0x0},
- 1104: {region: 0x164, script: 0x52, flags: 0x0},
- 1105: {region: 0x164, script: 0x52, flags: 0x0},
- 1106: {region: 0x164, script: 0x52, flags: 0x0},
- 1107: {region: 0x164, script: 0x52, flags: 0x0},
- 1108: {region: 0x164, script: 0x52, flags: 0x0},
- 1109: {region: 0x164, script: 0x52, flags: 0x0},
- 1110: {region: 0x164, script: 0x52, flags: 0x0},
- 1111: {region: 0x164, script: 0x52, flags: 0x0},
- 1112: {region: 0xe6, script: 0x52, flags: 0x0},
- 1113: {region: 0x164, script: 0x52, flags: 0x0},
- 1114: {region: 0x164, script: 0x52, flags: 0x0},
- 1115: {region: 0x98, script: 0x4a, flags: 0x0},
- 1116: {region: 0x52, script: 0xcb, flags: 0x0},
- 1117: {region: 0xda, script: 0x20, flags: 0x0},
- 1118: {region: 0xda, script: 0x20, flags: 0x0},
- 1119: {region: 0x98, script: 0xd0, flags: 0x0},
- 1120: {region: 0x164, script: 0x52, flags: 0x0},
- 1121: {region: 0x111, script: 0x52, flags: 0x0},
- 1122: {region: 0x130, script: 0x52, flags: 0x0},
- 1123: {region: 0x125, script: 0x52, flags: 0x0},
- 1124: {region: 0x164, script: 0x52, flags: 0x0},
+ 1073: {region: 0x99, script: 0xc7, flags: 0x0},
+ 1074: {region: 0x116, script: 0x55, flags: 0x0},
+ 1075: {region: 0x114, script: 0x55, flags: 0x0},
+ 1076: {region: 0x99, script: 0x20, flags: 0x0},
+ 1077: {region: 0x161, script: 0x55, flags: 0x0},
+ 1078: {region: 0x165, script: 0x55, flags: 0x0},
+ 1079: {region: 0x165, script: 0x55, flags: 0x0},
+ 1080: {region: 0x6d, script: 0x55, flags: 0x0},
+ 1081: {region: 0x161, script: 0x55, flags: 0x0},
+ 1082: {region: 0x165, script: 0x55, flags: 0x0},
+ 1083: {region: 0x60, script: 0x55, flags: 0x0},
+ 1084: {region: 0x95, script: 0x55, flags: 0x0},
+ 1085: {region: 0x165, script: 0x55, flags: 0x0},
+ 1086: {region: 0x165, script: 0x55, flags: 0x0},
+ 1087: {region: 0x12f, script: 0x55, flags: 0x0},
+ 1088: {region: 0x165, script: 0x55, flags: 0x0},
+ 1089: {region: 0x84, script: 0x55, flags: 0x0},
+ 1090: {region: 0x10c, script: 0x55, flags: 0x0},
+ 1091: {region: 0x12f, script: 0x55, flags: 0x0},
+ 1092: {region: 0x15f, script: 0x5, flags: 0x0},
+ 1093: {region: 0x4b, script: 0x55, flags: 0x0},
+ 1094: {region: 0x60, script: 0x55, flags: 0x0},
+ 1095: {region: 0x165, script: 0x55, flags: 0x0},
+ 1096: {region: 0x99, script: 0x20, flags: 0x0},
+ 1097: {region: 0x95, script: 0x55, flags: 0x0},
+ 1098: {region: 0x165, script: 0x55, flags: 0x0},
+ 1099: {region: 0x35, script: 0xe, flags: 0x0},
+ 1100: {region: 0x9b, script: 0xcb, flags: 0x0},
+ 1101: {region: 0xe9, script: 0x55, flags: 0x0},
+ 1102: {region: 0x99, script: 0xd3, flags: 0x0},
+ 1103: {region: 0xdb, script: 0x20, flags: 0x0},
+ 1104: {region: 0x165, script: 0x55, flags: 0x0},
+ 1105: {region: 0x165, script: 0x55, flags: 0x0},
+ 1106: {region: 0x165, script: 0x55, flags: 0x0},
+ 1107: {region: 0x165, script: 0x55, flags: 0x0},
+ 1108: {region: 0x165, script: 0x55, flags: 0x0},
+ 1109: {region: 0x165, script: 0x55, flags: 0x0},
+ 1110: {region: 0x165, script: 0x55, flags: 0x0},
+ 1111: {region: 0x165, script: 0x55, flags: 0x0},
+ 1112: {region: 0xe7, script: 0x55, flags: 0x0},
+ 1113: {region: 0x165, script: 0x55, flags: 0x0},
+ 1114: {region: 0x165, script: 0x55, flags: 0x0},
+ 1115: {region: 0x99, script: 0x4d, flags: 0x0},
+ 1116: {region: 0x53, script: 0xd1, flags: 0x0},
+ 1117: {region: 0xdb, script: 0x20, flags: 0x0},
+ 1118: {region: 0xdb, script: 0x20, flags: 0x0},
+ 1119: {region: 0x99, script: 0xd6, flags: 0x0},
+ 1120: {region: 0x165, script: 0x55, flags: 0x0},
+ 1121: {region: 0x112, script: 0x55, flags: 0x0},
+ 1122: {region: 0x131, script: 0x55, flags: 0x0},
+ 1123: {region: 0x126, script: 0x55, flags: 0x0},
+ 1124: {region: 0x165, script: 0x55, flags: 0x0},
1125: {region: 0x3c, script: 0x3, flags: 0x1},
- 1126: {region: 0x164, script: 0x52, flags: 0x0},
- 1127: {region: 0x164, script: 0x52, flags: 0x0},
- 1128: {region: 0x164, script: 0x52, flags: 0x0},
- 1129: {region: 0x122, script: 0xd5, flags: 0x0},
- 1130: {region: 0xda, script: 0x20, flags: 0x0},
- 1131: {region: 0xda, script: 0x20, flags: 0x0},
- 1132: {region: 0xda, script: 0x20, flags: 0x0},
- 1133: {region: 0x6e, script: 0x27, flags: 0x0},
- 1134: {region: 0x164, script: 0x52, flags: 0x0},
- 1135: {region: 0x6c, script: 0x27, flags: 0x0},
- 1136: {region: 0x164, script: 0x52, flags: 0x0},
- 1137: {region: 0x164, script: 0x52, flags: 0x0},
- 1138: {region: 0x164, script: 0x52, flags: 0x0},
- 1139: {region: 0xd5, script: 0x52, flags: 0x0},
- 1140: {region: 0x126, script: 0x52, flags: 0x0},
- 1141: {region: 0x124, script: 0x52, flags: 0x0},
- 1142: {region: 0x31, script: 0x52, flags: 0x0},
- 1143: {region: 0xda, script: 0x20, flags: 0x0},
- 1144: {region: 0xe6, script: 0x52, flags: 0x0},
- 1145: {region: 0x164, script: 0x52, flags: 0x0},
- 1146: {region: 0x164, script: 0x52, flags: 0x0},
- 1147: {region: 0x31, script: 0x52, flags: 0x0},
- 1148: {region: 0xd3, script: 0x52, flags: 0x0},
- 1149: {region: 0x164, script: 0x52, flags: 0x0},
- 1150: {region: 0x160, script: 0x52, flags: 0x0},
- 1151: {region: 0x164, script: 0x52, flags: 0x0},
- 1152: {region: 0x128, script: 0x52, flags: 0x0},
- 1153: {region: 0x164, script: 0x52, flags: 0x0},
- 1154: {region: 0xcd, script: 0x52, flags: 0x0},
- 1155: {region: 0x164, script: 0x52, flags: 0x0},
- 1156: {region: 0xe5, script: 0x52, flags: 0x0},
- 1157: {region: 0x164, script: 0x52, flags: 0x0},
- 1158: {region: 0x164, script: 0x52, flags: 0x0},
- 1159: {region: 0x164, script: 0x52, flags: 0x0},
- 1160: {region: 0x12a, script: 0x52, flags: 0x0},
- 1161: {region: 0x12a, script: 0x52, flags: 0x0},
- 1162: {region: 0x12d, script: 0x52, flags: 0x0},
- 1163: {region: 0x164, script: 0x5, flags: 0x0},
- 1164: {region: 0x160, script: 0x52, flags: 0x0},
- 1165: {region: 0x86, script: 0x2d, flags: 0x0},
- 1166: {region: 0xda, script: 0x20, flags: 0x0},
- 1167: {region: 0xe6, script: 0x52, flags: 0x0},
- 1168: {region: 0x42, script: 0xd6, flags: 0x0},
- 1169: {region: 0x164, script: 0x52, flags: 0x0},
- 1170: {region: 0x105, script: 0x1e, flags: 0x0},
- 1171: {region: 0x164, script: 0x52, flags: 0x0},
- 1172: {region: 0x164, script: 0x52, flags: 0x0},
- 1173: {region: 0x130, script: 0x52, flags: 0x0},
- 1174: {region: 0x164, script: 0x52, flags: 0x0},
- 1175: {region: 0x122, script: 0xd5, flags: 0x0},
- 1176: {region: 0x31, script: 0x52, flags: 0x0},
- 1177: {region: 0x164, script: 0x52, flags: 0x0},
- 1178: {region: 0x164, script: 0x52, flags: 0x0},
- 1179: {region: 0xcd, script: 0x52, flags: 0x0},
- 1180: {region: 0x164, script: 0x52, flags: 0x0},
- 1181: {region: 0x164, script: 0x52, flags: 0x0},
- 1182: {region: 0x12c, script: 0x52, flags: 0x0},
- 1183: {region: 0x164, script: 0x52, flags: 0x0},
- 1185: {region: 0x164, script: 0x52, flags: 0x0},
- 1186: {region: 0xd3, script: 0x52, flags: 0x0},
- 1187: {region: 0x52, script: 0xce, flags: 0x0},
- 1188: {region: 0xe4, script: 0x52, flags: 0x0},
- 1189: {region: 0x164, script: 0x52, flags: 0x0},
- 1190: {region: 0x105, script: 0x1e, flags: 0x0},
- 1191: {region: 0xb9, script: 0x52, flags: 0x0},
- 1192: {region: 0x164, script: 0x52, flags: 0x0},
- 1193: {region: 0x105, script: 0x1e, flags: 0x0},
+ 1126: {region: 0x165, script: 0x55, flags: 0x0},
+ 1127: {region: 0x165, script: 0x55, flags: 0x0},
+ 1128: {region: 0x165, script: 0x55, flags: 0x0},
+ 1129: {region: 0x123, script: 0xdb, flags: 0x0},
+ 1130: {region: 0xdb, script: 0x20, flags: 0x0},
+ 1131: {region: 0xdb, script: 0x20, flags: 0x0},
+ 1132: {region: 0xdb, script: 0x20, flags: 0x0},
+ 1133: {region: 0x6f, script: 0x28, flags: 0x0},
+ 1134: {region: 0x165, script: 0x55, flags: 0x0},
+ 1135: {region: 0x6d, script: 0x28, flags: 0x0},
+ 1136: {region: 0x165, script: 0x55, flags: 0x0},
+ 1137: {region: 0x165, script: 0x55, flags: 0x0},
+ 1138: {region: 0x165, script: 0x55, flags: 0x0},
+ 1139: {region: 0xd6, script: 0x55, flags: 0x0},
+ 1140: {region: 0x127, script: 0x55, flags: 0x0},
+ 1141: {region: 0x125, script: 0x55, flags: 0x0},
+ 1142: {region: 0x32, script: 0x55, flags: 0x0},
+ 1143: {region: 0xdb, script: 0x20, flags: 0x0},
+ 1144: {region: 0xe7, script: 0x55, flags: 0x0},
+ 1145: {region: 0x165, script: 0x55, flags: 0x0},
+ 1146: {region: 0x165, script: 0x55, flags: 0x0},
+ 1147: {region: 0x32, script: 0x55, flags: 0x0},
+ 1148: {region: 0xd4, script: 0x55, flags: 0x0},
+ 1149: {region: 0x165, script: 0x55, flags: 0x0},
+ 1150: {region: 0x161, script: 0x55, flags: 0x0},
+ 1151: {region: 0x165, script: 0x55, flags: 0x0},
+ 1152: {region: 0x129, script: 0x55, flags: 0x0},
+ 1153: {region: 0x165, script: 0x55, flags: 0x0},
+ 1154: {region: 0xce, script: 0x55, flags: 0x0},
+ 1155: {region: 0x165, script: 0x55, flags: 0x0},
+ 1156: {region: 0xe6, script: 0x55, flags: 0x0},
+ 1157: {region: 0x165, script: 0x55, flags: 0x0},
+ 1158: {region: 0x165, script: 0x55, flags: 0x0},
+ 1159: {region: 0x165, script: 0x55, flags: 0x0},
+ 1160: {region: 0x12b, script: 0x55, flags: 0x0},
+ 1161: {region: 0x12b, script: 0x55, flags: 0x0},
+ 1162: {region: 0x12e, script: 0x55, flags: 0x0},
+ 1163: {region: 0x165, script: 0x5, flags: 0x0},
+ 1164: {region: 0x161, script: 0x55, flags: 0x0},
+ 1165: {region: 0x87, script: 0x30, flags: 0x0},
+ 1166: {region: 0xdb, script: 0x20, flags: 0x0},
+ 1167: {region: 0xe7, script: 0x55, flags: 0x0},
+ 1168: {region: 0x43, script: 0xdc, flags: 0x0},
+ 1169: {region: 0x165, script: 0x55, flags: 0x0},
+ 1170: {region: 0x106, script: 0x1e, flags: 0x0},
+ 1171: {region: 0x165, script: 0x55, flags: 0x0},
+ 1172: {region: 0x165, script: 0x55, flags: 0x0},
+ 1173: {region: 0x131, script: 0x55, flags: 0x0},
+ 1174: {region: 0x165, script: 0x55, flags: 0x0},
+ 1175: {region: 0x123, script: 0xdb, flags: 0x0},
+ 1176: {region: 0x32, script: 0x55, flags: 0x0},
+ 1177: {region: 0x165, script: 0x55, flags: 0x0},
+ 1178: {region: 0x165, script: 0x55, flags: 0x0},
+ 1179: {region: 0xce, script: 0x55, flags: 0x0},
+ 1180: {region: 0x165, script: 0x55, flags: 0x0},
+ 1181: {region: 0x165, script: 0x55, flags: 0x0},
+ 1182: {region: 0x12d, script: 0x55, flags: 0x0},
+ 1183: {region: 0x165, script: 0x55, flags: 0x0},
+ 1185: {region: 0x165, script: 0x55, flags: 0x0},
+ 1186: {region: 0xd4, script: 0x55, flags: 0x0},
+ 1187: {region: 0x53, script: 0xd4, flags: 0x0},
+ 1188: {region: 0xe5, script: 0x55, flags: 0x0},
+ 1189: {region: 0x165, script: 0x55, flags: 0x0},
+ 1190: {region: 0x106, script: 0x1e, flags: 0x0},
+ 1191: {region: 0xba, script: 0x55, flags: 0x0},
+ 1192: {region: 0x165, script: 0x55, flags: 0x0},
+ 1193: {region: 0x106, script: 0x1e, flags: 0x0},
1194: {region: 0x3f, script: 0x4, flags: 0x1},
- 1195: {region: 0x11b, script: 0xd8, flags: 0x0},
- 1196: {region: 0x12f, script: 0x1e, flags: 0x0},
- 1197: {region: 0x74, script: 0x52, flags: 0x0},
- 1198: {region: 0x29, script: 0x52, flags: 0x0},
+ 1195: {region: 0x11c, script: 0xde, flags: 0x0},
+ 1196: {region: 0x130, script: 0x1e, flags: 0x0},
+ 1197: {region: 0x75, script: 0x55, flags: 0x0},
+ 1198: {region: 0x2a, script: 0x55, flags: 0x0},
1200: {region: 0x43, script: 0x3, flags: 0x1},
- 1201: {region: 0x98, script: 0xe, flags: 0x0},
- 1202: {region: 0xe7, script: 0x5, flags: 0x0},
- 1203: {region: 0x164, script: 0x52, flags: 0x0},
- 1204: {region: 0x164, script: 0x52, flags: 0x0},
- 1205: {region: 0x164, script: 0x52, flags: 0x0},
- 1206: {region: 0x164, script: 0x52, flags: 0x0},
- 1207: {region: 0x164, script: 0x52, flags: 0x0},
- 1208: {region: 0x164, script: 0x52, flags: 0x0},
- 1209: {region: 0x164, script: 0x52, flags: 0x0},
+ 1201: {region: 0x99, script: 0xe, flags: 0x0},
+ 1202: {region: 0xe8, script: 0x5, flags: 0x0},
+ 1203: {region: 0x165, script: 0x55, flags: 0x0},
+ 1204: {region: 0x165, script: 0x55, flags: 0x0},
+ 1205: {region: 0x165, script: 0x55, flags: 0x0},
+ 1206: {region: 0x165, script: 0x55, flags: 0x0},
+ 1207: {region: 0x165, script: 0x55, flags: 0x0},
+ 1208: {region: 0x165, script: 0x55, flags: 0x0},
+ 1209: {region: 0x165, script: 0x55, flags: 0x0},
1210: {region: 0x46, script: 0x4, flags: 0x1},
- 1211: {region: 0x164, script: 0x52, flags: 0x0},
- 1212: {region: 0xb3, script: 0xd9, flags: 0x0},
- 1213: {region: 0x164, script: 0x52, flags: 0x0},
- 1214: {region: 0x160, script: 0x52, flags: 0x0},
- 1215: {region: 0x9d, script: 0x52, flags: 0x0},
- 1216: {region: 0x105, script: 0x52, flags: 0x0},
- 1217: {region: 0x13d, script: 0x52, flags: 0x0},
- 1218: {region: 0x11a, script: 0x52, flags: 0x0},
- 1219: {region: 0x164, script: 0x52, flags: 0x0},
- 1220: {region: 0x35, script: 0x52, flags: 0x0},
- 1221: {region: 0x5f, script: 0x52, flags: 0x0},
- 1222: {region: 0xd0, script: 0x52, flags: 0x0},
- 1223: {region: 0x1, script: 0x52, flags: 0x0},
- 1224: {region: 0x105, script: 0x52, flags: 0x0},
- 1225: {region: 0x69, script: 0x52, flags: 0x0},
- 1226: {region: 0x12e, script: 0x52, flags: 0x0},
- 1227: {region: 0x164, script: 0x52, flags: 0x0},
- 1228: {region: 0x35, script: 0x52, flags: 0x0},
- 1229: {region: 0x4d, script: 0x52, flags: 0x0},
- 1230: {region: 0x164, script: 0x52, flags: 0x0},
- 1231: {region: 0x6e, script: 0x27, flags: 0x0},
- 1232: {region: 0x164, script: 0x52, flags: 0x0},
- 1233: {region: 0xe6, script: 0x52, flags: 0x0},
- 1234: {region: 0x2e, script: 0x52, flags: 0x0},
- 1235: {region: 0x98, script: 0xd0, flags: 0x0},
- 1236: {region: 0x98, script: 0x20, flags: 0x0},
- 1237: {region: 0x164, script: 0x52, flags: 0x0},
- 1238: {region: 0x164, script: 0x52, flags: 0x0},
- 1239: {region: 0x164, script: 0x52, flags: 0x0},
- 1240: {region: 0x164, script: 0x52, flags: 0x0},
- 1241: {region: 0x164, script: 0x52, flags: 0x0},
- 1242: {region: 0x164, script: 0x52, flags: 0x0},
- 1243: {region: 0x164, script: 0x52, flags: 0x0},
- 1244: {region: 0x164, script: 0x52, flags: 0x0},
- 1245: {region: 0x164, script: 0x52, flags: 0x0},
- 1246: {region: 0x13f, script: 0x52, flags: 0x0},
- 1247: {region: 0x164, script: 0x52, flags: 0x0},
- 1248: {region: 0x164, script: 0x52, flags: 0x0},
- 1249: {region: 0xa7, script: 0x5, flags: 0x0},
- 1250: {region: 0x164, script: 0x52, flags: 0x0},
- 1251: {region: 0x113, script: 0x52, flags: 0x0},
- 1252: {region: 0x164, script: 0x52, flags: 0x0},
- 1253: {region: 0x164, script: 0x52, flags: 0x0},
- 1254: {region: 0x164, script: 0x52, flags: 0x0},
- 1255: {region: 0x164, script: 0x52, flags: 0x0},
- 1256: {region: 0x98, script: 0x20, flags: 0x0},
- 1257: {region: 0x52, script: 0x34, flags: 0x0},
- 1258: {region: 0x164, script: 0x52, flags: 0x0},
- 1259: {region: 0x164, script: 0x52, flags: 0x0},
- 1260: {region: 0x40, script: 0x52, flags: 0x0},
- 1261: {region: 0x164, script: 0x52, flags: 0x0},
- 1262: {region: 0x12a, script: 0x18, flags: 0x0},
- 1263: {region: 0x164, script: 0x52, flags: 0x0},
- 1264: {region: 0x160, script: 0x52, flags: 0x0},
- 1265: {region: 0x164, script: 0x52, flags: 0x0},
- 1266: {region: 0x12a, script: 0x5a, flags: 0x0},
- 1267: {region: 0x12a, script: 0x5b, flags: 0x0},
- 1268: {region: 0x7c, script: 0x29, flags: 0x0},
- 1269: {region: 0x52, script: 0x5e, flags: 0x0},
- 1270: {region: 0x10a, script: 0x62, flags: 0x0},
- 1271: {region: 0x107, script: 0x6c, flags: 0x0},
- 1272: {region: 0x98, script: 0x20, flags: 0x0},
- 1273: {region: 0x130, script: 0x52, flags: 0x0},
- 1274: {region: 0x164, script: 0x52, flags: 0x0},
- 1275: {region: 0x9b, script: 0x82, flags: 0x0},
- 1276: {region: 0x164, script: 0x52, flags: 0x0},
- 1277: {region: 0x15d, script: 0xba, flags: 0x0},
- 1278: {region: 0x164, script: 0x52, flags: 0x0},
- 1279: {region: 0x164, script: 0x52, flags: 0x0},
- 1280: {region: 0xda, script: 0x20, flags: 0x0},
- 1281: {region: 0x164, script: 0x52, flags: 0x0},
- 1282: {region: 0x164, script: 0x52, flags: 0x0},
- 1283: {region: 0xd0, script: 0x52, flags: 0x0},
- 1284: {region: 0x74, script: 0x52, flags: 0x0},
- 1285: {region: 0x164, script: 0x52, flags: 0x0},
- 1286: {region: 0x164, script: 0x52, flags: 0x0},
- 1287: {region: 0x51, script: 0x52, flags: 0x0},
- 1288: {region: 0x164, script: 0x52, flags: 0x0},
- 1289: {region: 0x164, script: 0x52, flags: 0x0},
- 1290: {region: 0x164, script: 0x52, flags: 0x0},
- 1291: {region: 0x51, script: 0x52, flags: 0x0},
- 1292: {region: 0x164, script: 0x52, flags: 0x0},
- 1293: {region: 0x164, script: 0x52, flags: 0x0},
- 1294: {region: 0x164, script: 0x52, flags: 0x0},
- 1295: {region: 0x164, script: 0x52, flags: 0x0},
- 1296: {region: 0x1, script: 0x37, flags: 0x0},
- 1297: {region: 0x164, script: 0x52, flags: 0x0},
- 1298: {region: 0x164, script: 0x52, flags: 0x0},
- 1299: {region: 0x164, script: 0x52, flags: 0x0},
- 1300: {region: 0x164, script: 0x52, flags: 0x0},
- 1301: {region: 0x164, script: 0x52, flags: 0x0},
- 1302: {region: 0xd5, script: 0x52, flags: 0x0},
- 1303: {region: 0x164, script: 0x52, flags: 0x0},
- 1304: {region: 0x164, script: 0x52, flags: 0x0},
- 1305: {region: 0x164, script: 0x52, flags: 0x0},
- 1306: {region: 0x40, script: 0x52, flags: 0x0},
- 1307: {region: 0x164, script: 0x52, flags: 0x0},
- 1308: {region: 0xce, script: 0x52, flags: 0x0},
+ 1211: {region: 0x165, script: 0x55, flags: 0x0},
+ 1212: {region: 0xb4, script: 0xdf, flags: 0x0},
+ 1213: {region: 0x165, script: 0x55, flags: 0x0},
+ 1214: {region: 0x161, script: 0x55, flags: 0x0},
+ 1215: {region: 0x9e, script: 0x55, flags: 0x0},
+ 1216: {region: 0x106, script: 0x55, flags: 0x0},
+ 1217: {region: 0x13e, script: 0x55, flags: 0x0},
+ 1218: {region: 0x11b, script: 0x55, flags: 0x0},
+ 1219: {region: 0x165, script: 0x55, flags: 0x0},
+ 1220: {region: 0x36, script: 0x55, flags: 0x0},
+ 1221: {region: 0x60, script: 0x55, flags: 0x0},
+ 1222: {region: 0xd1, script: 0x55, flags: 0x0},
+ 1223: {region: 0x1, script: 0x55, flags: 0x0},
+ 1224: {region: 0x106, script: 0x55, flags: 0x0},
+ 1225: {region: 0x6a, script: 0x55, flags: 0x0},
+ 1226: {region: 0x12f, script: 0x55, flags: 0x0},
+ 1227: {region: 0x165, script: 0x55, flags: 0x0},
+ 1228: {region: 0x36, script: 0x55, flags: 0x0},
+ 1229: {region: 0x4e, script: 0x55, flags: 0x0},
+ 1230: {region: 0x165, script: 0x55, flags: 0x0},
+ 1231: {region: 0x6f, script: 0x28, flags: 0x0},
+ 1232: {region: 0x165, script: 0x55, flags: 0x0},
+ 1233: {region: 0xe7, script: 0x55, flags: 0x0},
+ 1234: {region: 0x2f, script: 0x55, flags: 0x0},
+ 1235: {region: 0x99, script: 0xd6, flags: 0x0},
+ 1236: {region: 0x99, script: 0x20, flags: 0x0},
+ 1237: {region: 0x165, script: 0x55, flags: 0x0},
+ 1238: {region: 0x165, script: 0x55, flags: 0x0},
+ 1239: {region: 0x165, script: 0x55, flags: 0x0},
+ 1240: {region: 0x165, script: 0x55, flags: 0x0},
+ 1241: {region: 0x165, script: 0x55, flags: 0x0},
+ 1242: {region: 0x165, script: 0x55, flags: 0x0},
+ 1243: {region: 0x165, script: 0x55, flags: 0x0},
+ 1244: {region: 0x165, script: 0x55, flags: 0x0},
+ 1245: {region: 0x165, script: 0x55, flags: 0x0},
+ 1246: {region: 0x140, script: 0x55, flags: 0x0},
+ 1247: {region: 0x165, script: 0x55, flags: 0x0},
+ 1248: {region: 0x165, script: 0x55, flags: 0x0},
+ 1249: {region: 0xa8, script: 0x5, flags: 0x0},
+ 1250: {region: 0x165, script: 0x55, flags: 0x0},
+ 1251: {region: 0x114, script: 0x55, flags: 0x0},
+ 1252: {region: 0x165, script: 0x55, flags: 0x0},
+ 1253: {region: 0x165, script: 0x55, flags: 0x0},
+ 1254: {region: 0x165, script: 0x55, flags: 0x0},
+ 1255: {region: 0x165, script: 0x55, flags: 0x0},
+ 1256: {region: 0x99, script: 0x20, flags: 0x0},
+ 1257: {region: 0x53, script: 0x37, flags: 0x0},
+ 1258: {region: 0x165, script: 0x55, flags: 0x0},
+ 1259: {region: 0x165, script: 0x55, flags: 0x0},
+ 1260: {region: 0x41, script: 0x55, flags: 0x0},
+ 1261: {region: 0x165, script: 0x55, flags: 0x0},
+ 1262: {region: 0x12b, script: 0x18, flags: 0x0},
+ 1263: {region: 0x165, script: 0x55, flags: 0x0},
+ 1264: {region: 0x161, script: 0x55, flags: 0x0},
+ 1265: {region: 0x165, script: 0x55, flags: 0x0},
+ 1266: {region: 0x12b, script: 0x5d, flags: 0x0},
+ 1267: {region: 0x12b, script: 0x5e, flags: 0x0},
+ 1268: {region: 0x7d, script: 0x2a, flags: 0x0},
+ 1269: {region: 0x53, script: 0x62, flags: 0x0},
+ 1270: {region: 0x10b, script: 0x67, flags: 0x0},
+ 1271: {region: 0x108, script: 0x71, flags: 0x0},
+ 1272: {region: 0x99, script: 0x20, flags: 0x0},
+ 1273: {region: 0x131, script: 0x55, flags: 0x0},
+ 1274: {region: 0x165, script: 0x55, flags: 0x0},
+ 1275: {region: 0x9c, script: 0x87, flags: 0x0},
+ 1276: {region: 0x165, script: 0x55, flags: 0x0},
+ 1277: {region: 0x15e, script: 0xbf, flags: 0x0},
+ 1278: {region: 0x165, script: 0x55, flags: 0x0},
+ 1279: {region: 0x165, script: 0x55, flags: 0x0},
+ 1280: {region: 0xdb, script: 0x20, flags: 0x0},
+ 1281: {region: 0x165, script: 0x55, flags: 0x0},
+ 1282: {region: 0x165, script: 0x55, flags: 0x0},
+ 1283: {region: 0xd1, script: 0x55, flags: 0x0},
+ 1284: {region: 0x75, script: 0x55, flags: 0x0},
+ 1285: {region: 0x165, script: 0x55, flags: 0x0},
+ 1286: {region: 0x165, script: 0x55, flags: 0x0},
+ 1287: {region: 0x52, script: 0x55, flags: 0x0},
+ 1288: {region: 0x165, script: 0x55, flags: 0x0},
+ 1289: {region: 0x165, script: 0x55, flags: 0x0},
+ 1290: {region: 0x165, script: 0x55, flags: 0x0},
+ 1291: {region: 0x52, script: 0x55, flags: 0x0},
+ 1292: {region: 0x165, script: 0x55, flags: 0x0},
+ 1293: {region: 0x165, script: 0x55, flags: 0x0},
+ 1294: {region: 0x165, script: 0x55, flags: 0x0},
+ 1295: {region: 0x165, script: 0x55, flags: 0x0},
+ 1296: {region: 0x1, script: 0x3a, flags: 0x0},
+ 1297: {region: 0x165, script: 0x55, flags: 0x0},
+ 1298: {region: 0x165, script: 0x55, flags: 0x0},
+ 1299: {region: 0x165, script: 0x55, flags: 0x0},
+ 1300: {region: 0x165, script: 0x55, flags: 0x0},
+ 1301: {region: 0x165, script: 0x55, flags: 0x0},
+ 1302: {region: 0xd6, script: 0x55, flags: 0x0},
+ 1303: {region: 0x165, script: 0x55, flags: 0x0},
+ 1304: {region: 0x165, script: 0x55, flags: 0x0},
+ 1305: {region: 0x165, script: 0x55, flags: 0x0},
+ 1306: {region: 0x41, script: 0x55, flags: 0x0},
+ 1307: {region: 0x165, script: 0x55, flags: 0x0},
+ 1308: {region: 0xcf, script: 0x55, flags: 0x0},
1309: {region: 0x4a, script: 0x3, flags: 0x1},
- 1310: {region: 0x164, script: 0x52, flags: 0x0},
- 1311: {region: 0x164, script: 0x52, flags: 0x0},
- 1312: {region: 0x164, script: 0x52, flags: 0x0},
- 1313: {region: 0x52, script: 0x52, flags: 0x0},
- 1314: {region: 0x10a, script: 0x52, flags: 0x0},
- 1316: {region: 0xa7, script: 0x5, flags: 0x0},
- 1317: {region: 0xd8, script: 0x52, flags: 0x0},
- 1318: {region: 0xb9, script: 0xd2, flags: 0x0},
+ 1310: {region: 0x165, script: 0x55, flags: 0x0},
+ 1311: {region: 0x165, script: 0x55, flags: 0x0},
+ 1312: {region: 0x165, script: 0x55, flags: 0x0},
+ 1313: {region: 0x53, script: 0x55, flags: 0x0},
+ 1314: {region: 0x10b, script: 0x55, flags: 0x0},
+ 1316: {region: 0xa8, script: 0x5, flags: 0x0},
+ 1317: {region: 0xd9, script: 0x55, flags: 0x0},
+ 1318: {region: 0xba, script: 0xd8, flags: 0x0},
1319: {region: 0x4d, script: 0x14, flags: 0x1},
- 1320: {region: 0x164, script: 0x52, flags: 0x0},
- 1321: {region: 0x121, script: 0x52, flags: 0x0},
- 1322: {region: 0xcf, script: 0x52, flags: 0x0},
- 1323: {region: 0x164, script: 0x52, flags: 0x0},
- 1324: {region: 0x160, script: 0x52, flags: 0x0},
- 1326: {region: 0x12a, script: 0x52, flags: 0x0},
+ 1320: {region: 0x165, script: 0x55, flags: 0x0},
+ 1321: {region: 0x122, script: 0x55, flags: 0x0},
+ 1322: {region: 0xd0, script: 0x55, flags: 0x0},
+ 1323: {region: 0x165, script: 0x55, flags: 0x0},
+ 1324: {region: 0x161, script: 0x55, flags: 0x0},
+ 1326: {region: 0x12b, script: 0x55, flags: 0x0},
}
// likelyLangList holds lists info associated with likelyLang.
// Size: 388 bytes, 97 elements
var likelyLangList = [97]likelyScriptRegion{
- 0: {region: 0x9b, script: 0x7, flags: 0x0},
- 1: {region: 0xa0, script: 0x6d, flags: 0x2},
- 2: {region: 0x11b, script: 0x78, flags: 0x2},
- 3: {region: 0x31, script: 0x52, flags: 0x0},
- 4: {region: 0x9a, script: 0x5, flags: 0x4},
- 5: {region: 0x9b, script: 0x5, flags: 0x4},
- 6: {region: 0x105, script: 0x1e, flags: 0x4},
- 7: {region: 0x9b, script: 0x5, flags: 0x2},
- 8: {region: 0x105, script: 0x1e, flags: 0x0},
- 9: {region: 0x37, script: 0x2a, flags: 0x2},
- 10: {region: 0x134, script: 0x52, flags: 0x0},
- 11: {region: 0x7a, script: 0xbd, flags: 0x2},
- 12: {region: 0x113, script: 0x52, flags: 0x0},
- 13: {region: 0x83, script: 0x1, flags: 0x2},
- 14: {region: 0x5c, script: 0x1d, flags: 0x0},
- 15: {region: 0x86, script: 0x57, flags: 0x2},
- 16: {region: 0xd5, script: 0x52, flags: 0x0},
- 17: {region: 0x51, script: 0x5, flags: 0x4},
- 18: {region: 0x10a, script: 0x5, flags: 0x4},
- 19: {region: 0xad, script: 0x1e, flags: 0x0},
- 20: {region: 0x23, script: 0x5, flags: 0x4},
- 21: {region: 0x52, script: 0x5, flags: 0x4},
- 22: {region: 0x9b, script: 0x5, flags: 0x4},
- 23: {region: 0xc4, script: 0x5, flags: 0x4},
- 24: {region: 0x52, script: 0x5, flags: 0x2},
- 25: {region: 0x12a, script: 0x52, flags: 0x0},
- 26: {region: 0xaf, script: 0x5, flags: 0x4},
- 27: {region: 0x9a, script: 0x5, flags: 0x2},
- 28: {region: 0xa4, script: 0x1e, flags: 0x0},
- 29: {region: 0x52, script: 0x5, flags: 0x4},
- 30: {region: 0x12a, script: 0x52, flags: 0x4},
- 31: {region: 0x52, script: 0x5, flags: 0x2},
- 32: {region: 0x12a, script: 0x52, flags: 0x2},
- 33: {region: 0xda, script: 0x20, flags: 0x0},
- 34: {region: 0x98, script: 0x55, flags: 0x2},
- 35: {region: 0x82, script: 0x52, flags: 0x0},
- 36: {region: 0x83, script: 0x70, flags: 0x4},
- 37: {region: 0x83, script: 0x70, flags: 0x2},
- 38: {region: 0xc4, script: 0x1e, flags: 0x0},
- 39: {region: 0x52, script: 0x66, flags: 0x4},
- 40: {region: 0x52, script: 0x66, flags: 0x2},
- 41: {region: 0xcf, script: 0x52, flags: 0x0},
- 42: {region: 0x49, script: 0x5, flags: 0x4},
- 43: {region: 0x94, script: 0x5, flags: 0x4},
- 44: {region: 0x98, script: 0x2f, flags: 0x0},
- 45: {region: 0xe7, script: 0x5, flags: 0x4},
- 46: {region: 0xe7, script: 0x5, flags: 0x2},
- 47: {region: 0x9b, script: 0x7c, flags: 0x0},
- 48: {region: 0x52, script: 0x7d, flags: 0x2},
- 49: {region: 0xb9, script: 0xd2, flags: 0x0},
- 50: {region: 0xd8, script: 0x52, flags: 0x4},
- 51: {region: 0xe7, script: 0x5, flags: 0x0},
- 52: {region: 0x98, script: 0x20, flags: 0x2},
- 53: {region: 0x98, script: 0x47, flags: 0x2},
- 54: {region: 0x98, script: 0xc0, flags: 0x2},
- 55: {region: 0x104, script: 0x1e, flags: 0x0},
- 56: {region: 0xbc, script: 0x52, flags: 0x4},
- 57: {region: 0x103, script: 0x52, flags: 0x4},
- 58: {region: 0x105, script: 0x52, flags: 0x4},
- 59: {region: 0x12a, script: 0x52, flags: 0x4},
- 60: {region: 0x123, script: 0x1e, flags: 0x0},
- 61: {region: 0xe7, script: 0x5, flags: 0x4},
- 62: {region: 0xe7, script: 0x5, flags: 0x2},
- 63: {region: 0x52, script: 0x5, flags: 0x0},
- 64: {region: 0xad, script: 0x1e, flags: 0x4},
- 65: {region: 0xc4, script: 0x1e, flags: 0x4},
- 66: {region: 0xad, script: 0x1e, flags: 0x2},
- 67: {region: 0x98, script: 0xe, flags: 0x0},
- 68: {region: 0xda, script: 0x20, flags: 0x4},
- 69: {region: 0xda, script: 0x20, flags: 0x2},
- 70: {region: 0x136, script: 0x52, flags: 0x0},
- 71: {region: 0x23, script: 0x5, flags: 0x4},
- 72: {region: 0x52, script: 0x1e, flags: 0x4},
- 73: {region: 0x23, script: 0x5, flags: 0x2},
- 74: {region: 0x8c, script: 0x35, flags: 0x0},
- 75: {region: 0x52, script: 0x34, flags: 0x4},
- 76: {region: 0x52, script: 0x34, flags: 0x2},
- 77: {region: 0x52, script: 0x34, flags: 0x0},
- 78: {region: 0x2e, script: 0x35, flags: 0x4},
- 79: {region: 0x3d, script: 0x35, flags: 0x4},
- 80: {region: 0x7a, script: 0x35, flags: 0x4},
- 81: {region: 0x7d, script: 0x35, flags: 0x4},
- 82: {region: 0x8c, script: 0x35, flags: 0x4},
- 83: {region: 0x94, script: 0x35, flags: 0x4},
- 84: {region: 0xc5, script: 0x35, flags: 0x4},
- 85: {region: 0xcf, script: 0x35, flags: 0x4},
- 86: {region: 0xe1, script: 0x35, flags: 0x4},
- 87: {region: 0xe4, script: 0x35, flags: 0x4},
- 88: {region: 0xe6, script: 0x35, flags: 0x4},
- 89: {region: 0x115, script: 0x35, flags: 0x4},
- 90: {region: 0x122, script: 0x35, flags: 0x4},
- 91: {region: 0x12d, script: 0x35, flags: 0x4},
- 92: {region: 0x134, script: 0x35, flags: 0x4},
- 93: {region: 0x13d, script: 0x35, flags: 0x4},
- 94: {region: 0x12d, script: 0x11, flags: 0x2},
- 95: {region: 0x12d, script: 0x30, flags: 0x2},
- 96: {region: 0x12d, script: 0x35, flags: 0x2},
+ 0: {region: 0x9c, script: 0x7, flags: 0x0},
+ 1: {region: 0xa1, script: 0x72, flags: 0x2},
+ 2: {region: 0x11c, script: 0x7d, flags: 0x2},
+ 3: {region: 0x32, script: 0x55, flags: 0x0},
+ 4: {region: 0x9b, script: 0x5, flags: 0x4},
+ 5: {region: 0x9c, script: 0x5, flags: 0x4},
+ 6: {region: 0x106, script: 0x1e, flags: 0x4},
+ 7: {region: 0x9c, script: 0x5, flags: 0x2},
+ 8: {region: 0x106, script: 0x1e, flags: 0x0},
+ 9: {region: 0x38, script: 0x2b, flags: 0x2},
+ 10: {region: 0x135, script: 0x55, flags: 0x0},
+ 11: {region: 0x7b, script: 0xc2, flags: 0x2},
+ 12: {region: 0x114, script: 0x55, flags: 0x0},
+ 13: {region: 0x84, script: 0x1, flags: 0x2},
+ 14: {region: 0x5d, script: 0x1d, flags: 0x0},
+ 15: {region: 0x87, script: 0x5a, flags: 0x2},
+ 16: {region: 0xd6, script: 0x55, flags: 0x0},
+ 17: {region: 0x52, script: 0x5, flags: 0x4},
+ 18: {region: 0x10b, script: 0x5, flags: 0x4},
+ 19: {region: 0xae, script: 0x1e, flags: 0x0},
+ 20: {region: 0x24, script: 0x5, flags: 0x4},
+ 21: {region: 0x53, script: 0x5, flags: 0x4},
+ 22: {region: 0x9c, script: 0x5, flags: 0x4},
+ 23: {region: 0xc5, script: 0x5, flags: 0x4},
+ 24: {region: 0x53, script: 0x5, flags: 0x2},
+ 25: {region: 0x12b, script: 0x55, flags: 0x0},
+ 26: {region: 0xb0, script: 0x5, flags: 0x4},
+ 27: {region: 0x9b, script: 0x5, flags: 0x2},
+ 28: {region: 0xa5, script: 0x1e, flags: 0x0},
+ 29: {region: 0x53, script: 0x5, flags: 0x4},
+ 30: {region: 0x12b, script: 0x55, flags: 0x4},
+ 31: {region: 0x53, script: 0x5, flags: 0x2},
+ 32: {region: 0x12b, script: 0x55, flags: 0x2},
+ 33: {region: 0xdb, script: 0x20, flags: 0x0},
+ 34: {region: 0x99, script: 0x58, flags: 0x2},
+ 35: {region: 0x83, script: 0x55, flags: 0x0},
+ 36: {region: 0x84, script: 0x75, flags: 0x4},
+ 37: {region: 0x84, script: 0x75, flags: 0x2},
+ 38: {region: 0xc5, script: 0x1e, flags: 0x0},
+ 39: {region: 0x53, script: 0x6b, flags: 0x4},
+ 40: {region: 0x53, script: 0x6b, flags: 0x2},
+ 41: {region: 0xd0, script: 0x55, flags: 0x0},
+ 42: {region: 0x4a, script: 0x5, flags: 0x4},
+ 43: {region: 0x95, script: 0x5, flags: 0x4},
+ 44: {region: 0x99, script: 0x32, flags: 0x0},
+ 45: {region: 0xe8, script: 0x5, flags: 0x4},
+ 46: {region: 0xe8, script: 0x5, flags: 0x2},
+ 47: {region: 0x9c, script: 0x81, flags: 0x0},
+ 48: {region: 0x53, script: 0x82, flags: 0x2},
+ 49: {region: 0xba, script: 0xd8, flags: 0x0},
+ 50: {region: 0xd9, script: 0x55, flags: 0x4},
+ 51: {region: 0xe8, script: 0x5, flags: 0x0},
+ 52: {region: 0x99, script: 0x20, flags: 0x2},
+ 53: {region: 0x99, script: 0x4a, flags: 0x2},
+ 54: {region: 0x99, script: 0xc5, flags: 0x2},
+ 55: {region: 0x105, script: 0x1e, flags: 0x0},
+ 56: {region: 0xbd, script: 0x55, flags: 0x4},
+ 57: {region: 0x104, script: 0x55, flags: 0x4},
+ 58: {region: 0x106, script: 0x55, flags: 0x4},
+ 59: {region: 0x12b, script: 0x55, flags: 0x4},
+ 60: {region: 0x124, script: 0x1e, flags: 0x0},
+ 61: {region: 0xe8, script: 0x5, flags: 0x4},
+ 62: {region: 0xe8, script: 0x5, flags: 0x2},
+ 63: {region: 0x53, script: 0x5, flags: 0x0},
+ 64: {region: 0xae, script: 0x1e, flags: 0x4},
+ 65: {region: 0xc5, script: 0x1e, flags: 0x4},
+ 66: {region: 0xae, script: 0x1e, flags: 0x2},
+ 67: {region: 0x99, script: 0xe, flags: 0x0},
+ 68: {region: 0xdb, script: 0x20, flags: 0x4},
+ 69: {region: 0xdb, script: 0x20, flags: 0x2},
+ 70: {region: 0x137, script: 0x55, flags: 0x0},
+ 71: {region: 0x24, script: 0x5, flags: 0x4},
+ 72: {region: 0x53, script: 0x1e, flags: 0x4},
+ 73: {region: 0x24, script: 0x5, flags: 0x2},
+ 74: {region: 0x8d, script: 0x38, flags: 0x0},
+ 75: {region: 0x53, script: 0x37, flags: 0x4},
+ 76: {region: 0x53, script: 0x37, flags: 0x2},
+ 77: {region: 0x53, script: 0x37, flags: 0x0},
+ 78: {region: 0x2f, script: 0x38, flags: 0x4},
+ 79: {region: 0x3e, script: 0x38, flags: 0x4},
+ 80: {region: 0x7b, script: 0x38, flags: 0x4},
+ 81: {region: 0x7e, script: 0x38, flags: 0x4},
+ 82: {region: 0x8d, script: 0x38, flags: 0x4},
+ 83: {region: 0x95, script: 0x38, flags: 0x4},
+ 84: {region: 0xc6, script: 0x38, flags: 0x4},
+ 85: {region: 0xd0, script: 0x38, flags: 0x4},
+ 86: {region: 0xe2, script: 0x38, flags: 0x4},
+ 87: {region: 0xe5, script: 0x38, flags: 0x4},
+ 88: {region: 0xe7, script: 0x38, flags: 0x4},
+ 89: {region: 0x116, script: 0x38, flags: 0x4},
+ 90: {region: 0x123, script: 0x38, flags: 0x4},
+ 91: {region: 0x12e, script: 0x38, flags: 0x4},
+ 92: {region: 0x135, script: 0x38, flags: 0x4},
+ 93: {region: 0x13e, script: 0x38, flags: 0x4},
+ 94: {region: 0x12e, script: 0x11, flags: 0x2},
+ 95: {region: 0x12e, script: 0x33, flags: 0x2},
+ 96: {region: 0x12e, script: 0x38, flags: 0x2},
}
type likelyLangScript struct {
@@ -2924,307 +2935,307 @@ type likelyLangScript struct {
// for a given regionID, lang and script are the index and size respectively
// of the list in likelyRegionList.
// TODO: exclude containers and user-definable regions from the list.
-// Size: 1428 bytes, 357 elements
-var likelyRegion = [357]likelyLangScript{
- 33: {lang: 0xd7, script: 0x52, flags: 0x0},
- 34: {lang: 0x3a, script: 0x5, flags: 0x0},
- 35: {lang: 0x0, script: 0x2, flags: 0x1},
- 38: {lang: 0x2, script: 0x2, flags: 0x1},
- 39: {lang: 0x4, script: 0x2, flags: 0x1},
- 41: {lang: 0x3be, script: 0x52, flags: 0x0},
- 42: {lang: 0x0, script: 0x52, flags: 0x0},
- 43: {lang: 0x13d, script: 0x52, flags: 0x0},
- 44: {lang: 0x419, script: 0x52, flags: 0x0},
- 45: {lang: 0x10c, script: 0x52, flags: 0x0},
- 47: {lang: 0x365, script: 0x52, flags: 0x0},
- 48: {lang: 0x442, script: 0x52, flags: 0x0},
- 49: {lang: 0x58, script: 0x52, flags: 0x0},
- 50: {lang: 0x6, script: 0x2, flags: 0x1},
- 52: {lang: 0xa5, script: 0xe, flags: 0x0},
- 53: {lang: 0x365, script: 0x52, flags: 0x0},
- 54: {lang: 0x15d, script: 0x52, flags: 0x0},
- 55: {lang: 0x7e, script: 0x1e, flags: 0x0},
- 56: {lang: 0x3a, script: 0x5, flags: 0x0},
- 57: {lang: 0x3d7, script: 0x52, flags: 0x0},
- 58: {lang: 0x15d, script: 0x52, flags: 0x0},
- 59: {lang: 0x15d, script: 0x52, flags: 0x0},
- 61: {lang: 0x31d, script: 0x52, flags: 0x0},
- 62: {lang: 0x13d, script: 0x52, flags: 0x0},
- 63: {lang: 0x39f, script: 0x52, flags: 0x0},
- 64: {lang: 0x3be, script: 0x52, flags: 0x0},
- 66: {lang: 0x8, script: 0x2, flags: 0x1},
- 68: {lang: 0x0, script: 0x52, flags: 0x0},
- 70: {lang: 0x71, script: 0x1e, flags: 0x0},
- 72: {lang: 0x510, script: 0x37, flags: 0x2},
- 73: {lang: 0x31d, script: 0x5, flags: 0x2},
- 74: {lang: 0x443, script: 0x52, flags: 0x0},
- 75: {lang: 0x15d, script: 0x52, flags: 0x0},
- 76: {lang: 0x15d, script: 0x52, flags: 0x0},
- 77: {lang: 0x10c, script: 0x52, flags: 0x0},
- 78: {lang: 0x15d, script: 0x52, flags: 0x0},
- 80: {lang: 0x13d, script: 0x52, flags: 0x0},
- 81: {lang: 0x15d, script: 0x52, flags: 0x0},
- 82: {lang: 0xa, script: 0x5, flags: 0x1},
- 83: {lang: 0x13d, script: 0x52, flags: 0x0},
- 84: {lang: 0x0, script: 0x52, flags: 0x0},
- 85: {lang: 0x13d, script: 0x52, flags: 0x0},
- 88: {lang: 0x13d, script: 0x52, flags: 0x0},
- 89: {lang: 0x3be, script: 0x52, flags: 0x0},
- 90: {lang: 0x39f, script: 0x52, flags: 0x0},
- 92: {lang: 0xf, script: 0x2, flags: 0x1},
- 93: {lang: 0xf9, script: 0x52, flags: 0x0},
- 95: {lang: 0x10c, script: 0x52, flags: 0x0},
- 97: {lang: 0x1, script: 0x52, flags: 0x0},
- 98: {lang: 0x100, script: 0x52, flags: 0x0},
- 100: {lang: 0x13d, script: 0x52, flags: 0x0},
- 102: {lang: 0x11, script: 0x2, flags: 0x1},
- 103: {lang: 0x13d, script: 0x52, flags: 0x0},
- 104: {lang: 0x13d, script: 0x52, flags: 0x0},
- 105: {lang: 0x13f, script: 0x52, flags: 0x0},
- 106: {lang: 0x3a, script: 0x5, flags: 0x0},
+// Size: 1432 bytes, 358 elements
+var likelyRegion = [358]likelyLangScript{
+ 34: {lang: 0xd7, script: 0x55, flags: 0x0},
+ 35: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 36: {lang: 0x0, script: 0x2, flags: 0x1},
+ 39: {lang: 0x2, script: 0x2, flags: 0x1},
+ 40: {lang: 0x4, script: 0x2, flags: 0x1},
+ 42: {lang: 0x3be, script: 0x55, flags: 0x0},
+ 43: {lang: 0x0, script: 0x55, flags: 0x0},
+ 44: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 45: {lang: 0x419, script: 0x55, flags: 0x0},
+ 46: {lang: 0x10c, script: 0x55, flags: 0x0},
+ 48: {lang: 0x365, script: 0x55, flags: 0x0},
+ 49: {lang: 0x442, script: 0x55, flags: 0x0},
+ 50: {lang: 0x58, script: 0x55, flags: 0x0},
+ 51: {lang: 0x6, script: 0x2, flags: 0x1},
+ 53: {lang: 0xa5, script: 0xe, flags: 0x0},
+ 54: {lang: 0x365, script: 0x55, flags: 0x0},
+ 55: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 56: {lang: 0x7e, script: 0x1e, flags: 0x0},
+ 57: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 58: {lang: 0x3d7, script: 0x55, flags: 0x0},
+ 59: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 60: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 62: {lang: 0x31d, script: 0x55, flags: 0x0},
+ 63: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 64: {lang: 0x39f, script: 0x55, flags: 0x0},
+ 65: {lang: 0x3be, script: 0x55, flags: 0x0},
+ 67: {lang: 0x8, script: 0x2, flags: 0x1},
+ 69: {lang: 0x0, script: 0x55, flags: 0x0},
+ 71: {lang: 0x71, script: 0x1e, flags: 0x0},
+ 73: {lang: 0x510, script: 0x3a, flags: 0x2},
+ 74: {lang: 0x31d, script: 0x5, flags: 0x2},
+ 75: {lang: 0x443, script: 0x55, flags: 0x0},
+ 76: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 77: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 78: {lang: 0x10c, script: 0x55, flags: 0x0},
+ 79: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 81: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 82: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 83: {lang: 0xa, script: 0x5, flags: 0x1},
+ 84: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 85: {lang: 0x0, script: 0x55, flags: 0x0},
+ 86: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 89: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 90: {lang: 0x3be, script: 0x55, flags: 0x0},
+ 91: {lang: 0x39f, script: 0x55, flags: 0x0},
+ 93: {lang: 0xf, script: 0x2, flags: 0x1},
+ 94: {lang: 0xf9, script: 0x55, flags: 0x0},
+ 96: {lang: 0x10c, script: 0x55, flags: 0x0},
+ 98: {lang: 0x1, script: 0x55, flags: 0x0},
+ 99: {lang: 0x100, script: 0x55, flags: 0x0},
+ 101: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 103: {lang: 0x11, script: 0x2, flags: 0x1},
+ 104: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 105: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 106: {lang: 0x13f, script: 0x55, flags: 0x0},
107: {lang: 0x3a, script: 0x5, flags: 0x0},
- 108: {lang: 0x46d, script: 0x27, flags: 0x0},
- 109: {lang: 0x13d, script: 0x52, flags: 0x0},
- 110: {lang: 0x13, script: 0x2, flags: 0x1},
- 112: {lang: 0x10c, script: 0x52, flags: 0x0},
- 113: {lang: 0x150, script: 0x52, flags: 0x0},
- 114: {lang: 0x1be, script: 0x20, flags: 0x2},
- 117: {lang: 0x157, script: 0x52, flags: 0x0},
- 119: {lang: 0x15d, script: 0x52, flags: 0x0},
- 121: {lang: 0x15d, script: 0x52, flags: 0x0},
- 122: {lang: 0x15, script: 0x2, flags: 0x1},
- 124: {lang: 0x17, script: 0x3, flags: 0x1},
- 125: {lang: 0x15d, script: 0x52, flags: 0x0},
- 127: {lang: 0x21, script: 0x52, flags: 0x0},
- 129: {lang: 0x243, script: 0x52, flags: 0x0},
- 131: {lang: 0x15d, script: 0x52, flags: 0x0},
- 132: {lang: 0x15d, script: 0x52, flags: 0x0},
- 133: {lang: 0x13d, script: 0x52, flags: 0x0},
- 134: {lang: 0x1a, script: 0x2, flags: 0x1},
- 135: {lang: 0x0, script: 0x52, flags: 0x0},
- 136: {lang: 0x13d, script: 0x52, flags: 0x0},
- 138: {lang: 0x3be, script: 0x52, flags: 0x0},
- 140: {lang: 0x527, script: 0x35, flags: 0x0},
- 141: {lang: 0x0, script: 0x52, flags: 0x0},
- 142: {lang: 0x13d, script: 0x52, flags: 0x0},
- 143: {lang: 0x1cf, script: 0x52, flags: 0x0},
- 144: {lang: 0x1d2, script: 0x52, flags: 0x0},
- 145: {lang: 0x1d3, script: 0x52, flags: 0x0},
- 147: {lang: 0x13d, script: 0x52, flags: 0x0},
- 148: {lang: 0x1c, script: 0x2, flags: 0x1},
- 150: {lang: 0x1ba, script: 0x37, flags: 0x0},
- 152: {lang: 0x1e, script: 0x3, flags: 0x1},
- 154: {lang: 0x3a, script: 0x5, flags: 0x0},
- 155: {lang: 0x21, script: 0x2, flags: 0x1},
- 156: {lang: 0x1f6, script: 0x52, flags: 0x0},
- 157: {lang: 0x1f7, script: 0x52, flags: 0x0},
- 160: {lang: 0x3a, script: 0x5, flags: 0x0},
- 161: {lang: 0x1fe, script: 0x41, flags: 0x0},
- 163: {lang: 0x443, script: 0x52, flags: 0x0},
- 164: {lang: 0x288, script: 0x1e, flags: 0x0},
- 165: {lang: 0x23, script: 0x3, flags: 0x1},
- 167: {lang: 0x26, script: 0x2, flags: 0x1},
- 169: {lang: 0x252, script: 0x4b, flags: 0x0},
- 170: {lang: 0x252, script: 0x4b, flags: 0x0},
- 171: {lang: 0x3a, script: 0x5, flags: 0x0},
- 173: {lang: 0x3e0, script: 0x1e, flags: 0x0},
- 174: {lang: 0x28, script: 0x2, flags: 0x1},
- 175: {lang: 0x3a, script: 0x5, flags: 0x0},
- 177: {lang: 0x10c, script: 0x52, flags: 0x0},
- 178: {lang: 0x40a, script: 0xc1, flags: 0x0},
- 180: {lang: 0x439, script: 0x52, flags: 0x0},
- 181: {lang: 0x2be, script: 0x52, flags: 0x0},
- 182: {lang: 0x15d, script: 0x52, flags: 0x0},
- 183: {lang: 0x2c5, script: 0x52, flags: 0x0},
- 184: {lang: 0x3a, script: 0x5, flags: 0x0},
- 185: {lang: 0x2a, script: 0x2, flags: 0x1},
- 186: {lang: 0x15d, script: 0x52, flags: 0x0},
- 187: {lang: 0x2c, script: 0x2, flags: 0x1},
- 188: {lang: 0x430, script: 0x52, flags: 0x0},
- 189: {lang: 0x15d, script: 0x52, flags: 0x0},
- 190: {lang: 0x2ef, script: 0x52, flags: 0x0},
- 193: {lang: 0x2e, script: 0x2, flags: 0x1},
- 194: {lang: 0xa0, script: 0x52, flags: 0x0},
- 195: {lang: 0x30, script: 0x2, flags: 0x1},
- 196: {lang: 0x32, script: 0x2, flags: 0x1},
- 197: {lang: 0x34, script: 0x2, flags: 0x1},
- 199: {lang: 0x15d, script: 0x52, flags: 0x0},
- 200: {lang: 0x36, script: 0x2, flags: 0x1},
- 202: {lang: 0x31e, script: 0x52, flags: 0x0},
- 203: {lang: 0x38, script: 0x3, flags: 0x1},
- 204: {lang: 0x127, script: 0xd4, flags: 0x0},
- 206: {lang: 0x13d, script: 0x52, flags: 0x0},
- 207: {lang: 0x31d, script: 0x52, flags: 0x0},
- 208: {lang: 0x3be, script: 0x52, flags: 0x0},
- 209: {lang: 0x16, script: 0x52, flags: 0x0},
- 210: {lang: 0x15d, script: 0x52, flags: 0x0},
- 211: {lang: 0x1b2, script: 0x52, flags: 0x0},
- 213: {lang: 0x1b2, script: 0x5, flags: 0x2},
- 215: {lang: 0x13d, script: 0x52, flags: 0x0},
- 216: {lang: 0x365, script: 0x52, flags: 0x0},
- 217: {lang: 0x345, script: 0x52, flags: 0x0},
- 218: {lang: 0x34f, script: 0x20, flags: 0x0},
- 224: {lang: 0x3a, script: 0x5, flags: 0x0},
- 225: {lang: 0x13d, script: 0x52, flags: 0x0},
- 227: {lang: 0x13d, script: 0x52, flags: 0x0},
- 228: {lang: 0x15d, script: 0x52, flags: 0x0},
- 229: {lang: 0x484, script: 0x52, flags: 0x0},
- 230: {lang: 0x152, script: 0x52, flags: 0x0},
- 231: {lang: 0x3b, script: 0x3, flags: 0x1},
- 232: {lang: 0x3b1, script: 0x52, flags: 0x0},
- 233: {lang: 0x15d, script: 0x52, flags: 0x0},
- 235: {lang: 0x13d, script: 0x52, flags: 0x0},
- 236: {lang: 0x3a, script: 0x5, flags: 0x0},
- 237: {lang: 0x3be, script: 0x52, flags: 0x0},
- 239: {lang: 0x3a0, script: 0x52, flags: 0x0},
- 240: {lang: 0x192, script: 0x52, flags: 0x0},
- 242: {lang: 0x3a, script: 0x5, flags: 0x0},
- 257: {lang: 0x15d, script: 0x52, flags: 0x0},
- 259: {lang: 0x3e, script: 0x2, flags: 0x1},
- 260: {lang: 0x430, script: 0x1e, flags: 0x0},
- 261: {lang: 0x40, script: 0x2, flags: 0x1},
- 262: {lang: 0x3e3, script: 0x52, flags: 0x0},
- 263: {lang: 0x3a, script: 0x5, flags: 0x0},
- 265: {lang: 0x15d, script: 0x52, flags: 0x0},
- 266: {lang: 0x3a, script: 0x5, flags: 0x0},
- 267: {lang: 0x42, script: 0x2, flags: 0x1},
- 270: {lang: 0x414, script: 0x52, flags: 0x0},
- 271: {lang: 0x345, script: 0x52, flags: 0x0},
- 272: {lang: 0x44, script: 0x2, flags: 0x1},
- 274: {lang: 0x1f7, script: 0x52, flags: 0x0},
- 275: {lang: 0x15d, script: 0x52, flags: 0x0},
- 276: {lang: 0x427, script: 0x52, flags: 0x0},
- 277: {lang: 0x365, script: 0x52, flags: 0x0},
- 279: {lang: 0x3be, script: 0x52, flags: 0x0},
- 281: {lang: 0x13d, script: 0x52, flags: 0x0},
- 283: {lang: 0x46, script: 0x2, flags: 0x1},
- 287: {lang: 0x15d, script: 0x52, flags: 0x0},
- 288: {lang: 0x15d, script: 0x52, flags: 0x0},
- 289: {lang: 0x48, script: 0x2, flags: 0x1},
- 290: {lang: 0x4a, script: 0x3, flags: 0x1},
- 291: {lang: 0x4d, script: 0x2, flags: 0x1},
- 292: {lang: 0x475, script: 0x52, flags: 0x0},
- 293: {lang: 0x3be, script: 0x52, flags: 0x0},
- 294: {lang: 0x474, script: 0x52, flags: 0x0},
- 295: {lang: 0x4f, script: 0x2, flags: 0x1},
- 296: {lang: 0x480, script: 0x52, flags: 0x0},
- 298: {lang: 0x51, script: 0x4, flags: 0x1},
- 300: {lang: 0x49e, script: 0x52, flags: 0x0},
- 301: {lang: 0x55, script: 0x2, flags: 0x1},
- 302: {lang: 0x443, script: 0x52, flags: 0x0},
- 303: {lang: 0x57, script: 0x3, flags: 0x1},
- 304: {lang: 0x443, script: 0x52, flags: 0x0},
- 308: {lang: 0x510, script: 0x37, flags: 0x2},
- 309: {lang: 0x13d, script: 0x52, flags: 0x0},
- 310: {lang: 0x4ba, script: 0x52, flags: 0x0},
- 311: {lang: 0x1f7, script: 0x52, flags: 0x0},
- 314: {lang: 0x13d, script: 0x52, flags: 0x0},
- 317: {lang: 0x4c1, script: 0x52, flags: 0x0},
- 318: {lang: 0x8a, script: 0x52, flags: 0x0},
- 319: {lang: 0x15d, script: 0x52, flags: 0x0},
- 321: {lang: 0x419, script: 0x52, flags: 0x0},
- 332: {lang: 0x5a, script: 0x2, flags: 0x1},
- 349: {lang: 0x3a, script: 0x5, flags: 0x0},
- 350: {lang: 0x5c, script: 0x2, flags: 0x1},
- 355: {lang: 0x421, script: 0x52, flags: 0x0},
+ 108: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 109: {lang: 0x46d, script: 0x28, flags: 0x0},
+ 110: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 111: {lang: 0x13, script: 0x2, flags: 0x1},
+ 113: {lang: 0x10c, script: 0x55, flags: 0x0},
+ 114: {lang: 0x150, script: 0x55, flags: 0x0},
+ 115: {lang: 0x1be, script: 0x20, flags: 0x2},
+ 118: {lang: 0x157, script: 0x55, flags: 0x0},
+ 120: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 122: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 123: {lang: 0x15, script: 0x2, flags: 0x1},
+ 125: {lang: 0x17, script: 0x3, flags: 0x1},
+ 126: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 128: {lang: 0x21, script: 0x55, flags: 0x0},
+ 130: {lang: 0x243, script: 0x55, flags: 0x0},
+ 132: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 133: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 134: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 135: {lang: 0x1a, script: 0x2, flags: 0x1},
+ 136: {lang: 0x0, script: 0x55, flags: 0x0},
+ 137: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 139: {lang: 0x3be, script: 0x55, flags: 0x0},
+ 141: {lang: 0x527, script: 0x38, flags: 0x0},
+ 142: {lang: 0x0, script: 0x55, flags: 0x0},
+ 143: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 144: {lang: 0x1cf, script: 0x55, flags: 0x0},
+ 145: {lang: 0x1d2, script: 0x55, flags: 0x0},
+ 146: {lang: 0x1d3, script: 0x55, flags: 0x0},
+ 148: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 149: {lang: 0x1c, script: 0x2, flags: 0x1},
+ 151: {lang: 0x1ba, script: 0x3a, flags: 0x0},
+ 153: {lang: 0x1e, script: 0x3, flags: 0x1},
+ 155: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 156: {lang: 0x21, script: 0x2, flags: 0x1},
+ 157: {lang: 0x1f6, script: 0x55, flags: 0x0},
+ 158: {lang: 0x1f7, script: 0x55, flags: 0x0},
+ 161: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 162: {lang: 0x1fe, script: 0x44, flags: 0x0},
+ 164: {lang: 0x443, script: 0x55, flags: 0x0},
+ 165: {lang: 0x288, script: 0x1e, flags: 0x0},
+ 166: {lang: 0x23, script: 0x3, flags: 0x1},
+ 168: {lang: 0x26, script: 0x2, flags: 0x1},
+ 170: {lang: 0x252, script: 0x4e, flags: 0x0},
+ 171: {lang: 0x252, script: 0x4e, flags: 0x0},
+ 172: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 174: {lang: 0x3e0, script: 0x1e, flags: 0x0},
+ 175: {lang: 0x28, script: 0x2, flags: 0x1},
+ 176: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 178: {lang: 0x10c, script: 0x55, flags: 0x0},
+ 179: {lang: 0x40a, script: 0xc6, flags: 0x0},
+ 181: {lang: 0x439, script: 0x55, flags: 0x0},
+ 182: {lang: 0x2be, script: 0x55, flags: 0x0},
+ 183: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 184: {lang: 0x2c5, script: 0x55, flags: 0x0},
+ 185: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 186: {lang: 0x2a, script: 0x2, flags: 0x1},
+ 187: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 188: {lang: 0x2c, script: 0x2, flags: 0x1},
+ 189: {lang: 0x430, script: 0x55, flags: 0x0},
+ 190: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 191: {lang: 0x2ef, script: 0x55, flags: 0x0},
+ 194: {lang: 0x2e, script: 0x2, flags: 0x1},
+ 195: {lang: 0xa0, script: 0x55, flags: 0x0},
+ 196: {lang: 0x30, script: 0x2, flags: 0x1},
+ 197: {lang: 0x32, script: 0x2, flags: 0x1},
+ 198: {lang: 0x34, script: 0x2, flags: 0x1},
+ 200: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 201: {lang: 0x36, script: 0x2, flags: 0x1},
+ 203: {lang: 0x31e, script: 0x55, flags: 0x0},
+ 204: {lang: 0x38, script: 0x3, flags: 0x1},
+ 205: {lang: 0x127, script: 0xda, flags: 0x0},
+ 207: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 208: {lang: 0x31d, script: 0x55, flags: 0x0},
+ 209: {lang: 0x3be, script: 0x55, flags: 0x0},
+ 210: {lang: 0x16, script: 0x55, flags: 0x0},
+ 211: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 212: {lang: 0x1b2, script: 0x55, flags: 0x0},
+ 214: {lang: 0x1b2, script: 0x5, flags: 0x2},
+ 216: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 217: {lang: 0x365, script: 0x55, flags: 0x0},
+ 218: {lang: 0x345, script: 0x55, flags: 0x0},
+ 219: {lang: 0x34f, script: 0x20, flags: 0x0},
+ 225: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 226: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 228: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 229: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 230: {lang: 0x484, script: 0x55, flags: 0x0},
+ 231: {lang: 0x152, script: 0x55, flags: 0x0},
+ 232: {lang: 0x3b, script: 0x3, flags: 0x1},
+ 233: {lang: 0x3b1, script: 0x55, flags: 0x0},
+ 234: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 236: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 237: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 238: {lang: 0x3be, script: 0x55, flags: 0x0},
+ 240: {lang: 0x3a0, script: 0x55, flags: 0x0},
+ 241: {lang: 0x192, script: 0x55, flags: 0x0},
+ 243: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 258: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 260: {lang: 0x3e, script: 0x2, flags: 0x1},
+ 261: {lang: 0x430, script: 0x1e, flags: 0x0},
+ 262: {lang: 0x40, script: 0x2, flags: 0x1},
+ 263: {lang: 0x3e3, script: 0x55, flags: 0x0},
+ 264: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 266: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 267: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 268: {lang: 0x42, script: 0x2, flags: 0x1},
+ 271: {lang: 0x414, script: 0x55, flags: 0x0},
+ 272: {lang: 0x345, script: 0x55, flags: 0x0},
+ 273: {lang: 0x44, script: 0x2, flags: 0x1},
+ 275: {lang: 0x1f7, script: 0x55, flags: 0x0},
+ 276: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 277: {lang: 0x427, script: 0x55, flags: 0x0},
+ 278: {lang: 0x365, script: 0x55, flags: 0x0},
+ 280: {lang: 0x3be, script: 0x55, flags: 0x0},
+ 282: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 284: {lang: 0x46, script: 0x2, flags: 0x1},
+ 288: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 289: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 290: {lang: 0x48, script: 0x2, flags: 0x1},
+ 291: {lang: 0x4a, script: 0x3, flags: 0x1},
+ 292: {lang: 0x4d, script: 0x2, flags: 0x1},
+ 293: {lang: 0x475, script: 0x55, flags: 0x0},
+ 294: {lang: 0x3be, script: 0x55, flags: 0x0},
+ 295: {lang: 0x474, script: 0x55, flags: 0x0},
+ 296: {lang: 0x4f, script: 0x2, flags: 0x1},
+ 297: {lang: 0x480, script: 0x55, flags: 0x0},
+ 299: {lang: 0x51, script: 0x4, flags: 0x1},
+ 301: {lang: 0x49e, script: 0x55, flags: 0x0},
+ 302: {lang: 0x55, script: 0x2, flags: 0x1},
+ 303: {lang: 0x443, script: 0x55, flags: 0x0},
+ 304: {lang: 0x57, script: 0x3, flags: 0x1},
+ 305: {lang: 0x443, script: 0x55, flags: 0x0},
+ 309: {lang: 0x510, script: 0x3a, flags: 0x2},
+ 310: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 311: {lang: 0x4ba, script: 0x55, flags: 0x0},
+ 312: {lang: 0x1f7, script: 0x55, flags: 0x0},
+ 315: {lang: 0x13d, script: 0x55, flags: 0x0},
+ 318: {lang: 0x4c1, script: 0x55, flags: 0x0},
+ 319: {lang: 0x8a, script: 0x55, flags: 0x0},
+ 320: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 322: {lang: 0x419, script: 0x55, flags: 0x0},
+ 333: {lang: 0x5a, script: 0x2, flags: 0x1},
+ 350: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 351: {lang: 0x5c, script: 0x2, flags: 0x1},
+ 356: {lang: 0x421, script: 0x55, flags: 0x0},
}
// likelyRegionList holds lists info associated with likelyRegion.
// Size: 376 bytes, 94 elements
var likelyRegionList = [94]likelyLangScript{
0: {lang: 0x147, script: 0x5, flags: 0x0},
- 1: {lang: 0x474, script: 0x52, flags: 0x0},
- 2: {lang: 0x42f, script: 0x52, flags: 0x0},
+ 1: {lang: 0x474, script: 0x55, flags: 0x0},
+ 2: {lang: 0x42f, script: 0x55, flags: 0x0},
3: {lang: 0x2fd, script: 0x1e, flags: 0x0},
4: {lang: 0x1d5, script: 0x8, flags: 0x0},
- 5: {lang: 0x272, script: 0x52, flags: 0x0},
- 6: {lang: 0xb7, script: 0x52, flags: 0x0},
+ 5: {lang: 0x272, script: 0x55, flags: 0x0},
+ 6: {lang: 0xb7, script: 0x55, flags: 0x0},
7: {lang: 0x430, script: 0x1e, flags: 0x0},
- 8: {lang: 0x12c, script: 0xd6, flags: 0x0},
+ 8: {lang: 0x12c, script: 0xdc, flags: 0x0},
9: {lang: 0x34f, script: 0x20, flags: 0x0},
- 10: {lang: 0x527, script: 0x34, flags: 0x0},
+ 10: {lang: 0x527, script: 0x37, flags: 0x0},
11: {lang: 0x4aa, script: 0x5, flags: 0x0},
- 12: {lang: 0x51d, script: 0x35, flags: 0x0},
- 13: {lang: 0x521, script: 0x52, flags: 0x0},
- 14: {lang: 0x298, script: 0xd5, flags: 0x0},
- 15: {lang: 0x135, script: 0x2d, flags: 0x0},
- 16: {lang: 0x488, script: 0x52, flags: 0x0},
+ 12: {lang: 0x51d, script: 0x38, flags: 0x0},
+ 13: {lang: 0x521, script: 0x55, flags: 0x0},
+ 14: {lang: 0x298, script: 0xdb, flags: 0x0},
+ 15: {lang: 0x135, script: 0x30, flags: 0x0},
+ 16: {lang: 0x488, script: 0x55, flags: 0x0},
17: {lang: 0x3a, script: 0x5, flags: 0x0},
- 18: {lang: 0x15d, script: 0x52, flags: 0x0},
- 19: {lang: 0x27, script: 0x27, flags: 0x0},
- 20: {lang: 0x138, script: 0x52, flags: 0x0},
+ 18: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 19: {lang: 0x27, script: 0x28, flags: 0x0},
+ 20: {lang: 0x138, script: 0x55, flags: 0x0},
21: {lang: 0x268, script: 0x5, flags: 0x2},
- 22: {lang: 0x510, script: 0x37, flags: 0x2},
- 23: {lang: 0x20e, script: 0x29, flags: 0x0},
+ 22: {lang: 0x510, script: 0x3a, flags: 0x2},
+ 23: {lang: 0x20e, script: 0x2a, flags: 0x0},
24: {lang: 0x5, script: 0x1e, flags: 0x0},
- 25: {lang: 0x272, script: 0x52, flags: 0x0},
- 26: {lang: 0x135, script: 0x2d, flags: 0x0},
+ 25: {lang: 0x272, script: 0x55, flags: 0x0},
+ 26: {lang: 0x135, script: 0x30, flags: 0x0},
27: {lang: 0x2fd, script: 0x1e, flags: 0x0},
- 28: {lang: 0x1df, script: 0x52, flags: 0x0},
+ 28: {lang: 0x1df, script: 0x55, flags: 0x0},
29: {lang: 0x31d, script: 0x5, flags: 0x0},
30: {lang: 0x1bc, script: 0x20, flags: 0x0},
31: {lang: 0x4b2, script: 0x5, flags: 0x0},
- 32: {lang: 0x234, script: 0x6b, flags: 0x0},
+ 32: {lang: 0x234, script: 0x70, flags: 0x0},
33: {lang: 0x147, script: 0x5, flags: 0x0},
- 34: {lang: 0x474, script: 0x52, flags: 0x0},
- 35: {lang: 0x248, script: 0x46, flags: 0x0},
+ 34: {lang: 0x474, script: 0x55, flags: 0x0},
+ 35: {lang: 0x248, script: 0x49, flags: 0x0},
36: {lang: 0xe6, script: 0x5, flags: 0x0},
- 37: {lang: 0x224, script: 0xd5, flags: 0x0},
+ 37: {lang: 0x224, script: 0xdb, flags: 0x0},
38: {lang: 0x3a, script: 0x5, flags: 0x0},
- 39: {lang: 0x15d, script: 0x52, flags: 0x0},
- 40: {lang: 0x2b6, script: 0x4f, flags: 0x0},
- 41: {lang: 0x224, script: 0xd5, flags: 0x0},
+ 39: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 40: {lang: 0x2b6, script: 0x52, flags: 0x0},
+ 41: {lang: 0x224, script: 0xdb, flags: 0x0},
42: {lang: 0x3a, script: 0x5, flags: 0x0},
- 43: {lang: 0x15d, script: 0x52, flags: 0x0},
- 44: {lang: 0x3da, script: 0x52, flags: 0x0},
+ 43: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 44: {lang: 0x3da, script: 0x55, flags: 0x0},
45: {lang: 0x4ac, script: 0x1e, flags: 0x0},
46: {lang: 0x2fd, script: 0x1e, flags: 0x0},
- 47: {lang: 0x42f, script: 0x52, flags: 0x0},
- 48: {lang: 0x32f, script: 0x6b, flags: 0x0},
- 49: {lang: 0x211, script: 0x52, flags: 0x0},
+ 47: {lang: 0x42f, script: 0x55, flags: 0x0},
+ 48: {lang: 0x32f, script: 0x70, flags: 0x0},
+ 49: {lang: 0x211, script: 0x55, flags: 0x0},
50: {lang: 0x309, script: 0x1e, flags: 0x0},
51: {lang: 0x240, script: 0x5, flags: 0x0},
- 52: {lang: 0x527, script: 0x35, flags: 0x0},
- 53: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 52: {lang: 0x527, script: 0x38, flags: 0x0},
+ 53: {lang: 0x3be, script: 0x55, flags: 0x0},
54: {lang: 0x3a, script: 0x5, flags: 0x0},
- 55: {lang: 0x15d, script: 0x52, flags: 0x0},
- 56: {lang: 0x2eb, script: 0x52, flags: 0x0},
+ 55: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 56: {lang: 0x2eb, script: 0x55, flags: 0x0},
57: {lang: 0x4b2, script: 0x5, flags: 0x0},
58: {lang: 0x88, script: 0x20, flags: 0x0},
59: {lang: 0x4b2, script: 0x5, flags: 0x0},
60: {lang: 0x4b2, script: 0x5, flags: 0x0},
61: {lang: 0xbe, script: 0x20, flags: 0x0},
- 62: {lang: 0x3da, script: 0x52, flags: 0x0},
+ 62: {lang: 0x3da, script: 0x55, flags: 0x0},
63: {lang: 0x7e, script: 0x1e, flags: 0x0},
64: {lang: 0x3e0, script: 0x1e, flags: 0x0},
- 65: {lang: 0x265, script: 0x52, flags: 0x0},
- 66: {lang: 0x442, script: 0x52, flags: 0x0},
- 67: {lang: 0x510, script: 0x37, flags: 0x0},
- 68: {lang: 0x410, script: 0x52, flags: 0x0},
+ 65: {lang: 0x265, script: 0x55, flags: 0x0},
+ 66: {lang: 0x442, script: 0x55, flags: 0x0},
+ 67: {lang: 0x510, script: 0x3a, flags: 0x0},
+ 68: {lang: 0x410, script: 0x55, flags: 0x0},
69: {lang: 0x4ac, script: 0x1e, flags: 0x0},
70: {lang: 0x3a, script: 0x5, flags: 0x0},
- 71: {lang: 0x15d, script: 0x52, flags: 0x0},
- 72: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 71: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 72: {lang: 0x15d, script: 0x55, flags: 0x0},
73: {lang: 0x35, script: 0x5, flags: 0x0},
- 74: {lang: 0x469, script: 0xd5, flags: 0x0},
+ 74: {lang: 0x469, script: 0xdb, flags: 0x0},
75: {lang: 0x2ea, script: 0x5, flags: 0x0},
- 76: {lang: 0x30d, script: 0x6b, flags: 0x0},
+ 76: {lang: 0x30d, script: 0x70, flags: 0x0},
77: {lang: 0x465, script: 0x1e, flags: 0x0},
78: {lang: 0x147, script: 0x5, flags: 0x0},
79: {lang: 0x3a, script: 0x5, flags: 0x0},
- 80: {lang: 0x15d, script: 0x52, flags: 0x0},
- 81: {lang: 0x488, script: 0x52, flags: 0x0},
+ 80: {lang: 0x15d, script: 0x55, flags: 0x0},
+ 81: {lang: 0x488, script: 0x55, flags: 0x0},
82: {lang: 0x58, script: 0x5, flags: 0x0},
83: {lang: 0x217, script: 0x1e, flags: 0x0},
- 84: {lang: 0x81, script: 0x2d, flags: 0x0},
- 85: {lang: 0x527, script: 0x35, flags: 0x0},
- 86: {lang: 0x48a, script: 0x52, flags: 0x0},
+ 84: {lang: 0x81, script: 0x30, flags: 0x0},
+ 85: {lang: 0x527, script: 0x38, flags: 0x0},
+ 86: {lang: 0x48a, script: 0x55, flags: 0x0},
87: {lang: 0x4ac, script: 0x1e, flags: 0x0},
- 88: {lang: 0x510, script: 0x37, flags: 0x0},
- 89: {lang: 0x3b1, script: 0x52, flags: 0x0},
- 90: {lang: 0x42f, script: 0x52, flags: 0x0},
+ 88: {lang: 0x510, script: 0x3a, flags: 0x0},
+ 89: {lang: 0x3b1, script: 0x55, flags: 0x0},
+ 90: {lang: 0x42f, script: 0x55, flags: 0x0},
91: {lang: 0x430, script: 0x1e, flags: 0x0},
- 92: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 92: {lang: 0x15d, script: 0x55, flags: 0x0},
93: {lang: 0x444, script: 0x5, flags: 0x0},
}
@@ -3234,94 +3245,101 @@ type likelyTag struct {
script uint8
}
-// Size: 192 bytes, 32 elements
-var likelyRegionGroup = [32]likelyTag{
- 1: {lang: 0x138, region: 0xd5, script: 0x52},
- 2: {lang: 0x138, region: 0x134, script: 0x52},
- 3: {lang: 0x3be, region: 0x40, script: 0x52},
- 4: {lang: 0x138, region: 0x2e, script: 0x52},
- 5: {lang: 0x138, region: 0xd5, script: 0x52},
- 6: {lang: 0x13d, region: 0xce, script: 0x52},
- 7: {lang: 0x443, region: 0x12e, script: 0x52},
- 8: {lang: 0x3a, region: 0x6a, script: 0x5},
- 9: {lang: 0x443, region: 0x4a, script: 0x52},
- 10: {lang: 0x138, region: 0x160, script: 0x52},
- 11: {lang: 0x138, region: 0x134, script: 0x52},
- 12: {lang: 0x138, region: 0x134, script: 0x52},
- 13: {lang: 0x13d, region: 0x58, script: 0x52},
- 14: {lang: 0x527, region: 0x52, script: 0x34},
- 15: {lang: 0x1bc, region: 0x98, script: 0x20},
- 16: {lang: 0x1df, region: 0x94, script: 0x52},
- 17: {lang: 0x1f7, region: 0x9d, script: 0x52},
- 18: {lang: 0x138, region: 0x2e, script: 0x52},
- 19: {lang: 0x138, region: 0xe5, script: 0x52},
- 20: {lang: 0x138, region: 0x89, script: 0x52},
- 21: {lang: 0x419, region: 0x141, script: 0x52},
- 22: {lang: 0x527, region: 0x52, script: 0x34},
- 23: {lang: 0x4ba, region: 0x136, script: 0x52},
- 24: {lang: 0x3a, region: 0x107, script: 0x5},
- 25: {lang: 0x3e0, region: 0x105, script: 0x1e},
- 26: {lang: 0x3e0, region: 0x105, script: 0x1e},
- 27: {lang: 0x138, region: 0x7a, script: 0x52},
- 28: {lang: 0x10c, region: 0x5f, script: 0x52},
- 29: {lang: 0x13d, region: 0x1e, script: 0x52},
- 30: {lang: 0x138, region: 0x99, script: 0x52},
- 31: {lang: 0x138, region: 0x7a, script: 0x52},
+// Size: 198 bytes, 33 elements
+var likelyRegionGroup = [33]likelyTag{
+ 1: {lang: 0x138, region: 0xd6, script: 0x55},
+ 2: {lang: 0x138, region: 0x135, script: 0x55},
+ 3: {lang: 0x3be, region: 0x41, script: 0x55},
+ 4: {lang: 0x138, region: 0x2f, script: 0x55},
+ 5: {lang: 0x138, region: 0xd6, script: 0x55},
+ 6: {lang: 0x13d, region: 0xcf, script: 0x55},
+ 7: {lang: 0x443, region: 0x12f, script: 0x55},
+ 8: {lang: 0x3a, region: 0x6b, script: 0x5},
+ 9: {lang: 0x443, region: 0x4b, script: 0x55},
+ 10: {lang: 0x138, region: 0x161, script: 0x55},
+ 11: {lang: 0x138, region: 0x135, script: 0x55},
+ 12: {lang: 0x138, region: 0x135, script: 0x55},
+ 13: {lang: 0x13d, region: 0x59, script: 0x55},
+ 14: {lang: 0x527, region: 0x53, script: 0x37},
+ 15: {lang: 0x1bc, region: 0x99, script: 0x20},
+ 16: {lang: 0x1df, region: 0x95, script: 0x55},
+ 17: {lang: 0x1f7, region: 0x9e, script: 0x55},
+ 18: {lang: 0x138, region: 0x2f, script: 0x55},
+ 19: {lang: 0x138, region: 0xe6, script: 0x55},
+ 20: {lang: 0x138, region: 0x8a, script: 0x55},
+ 21: {lang: 0x419, region: 0x142, script: 0x55},
+ 22: {lang: 0x527, region: 0x53, script: 0x37},
+ 23: {lang: 0x4ba, region: 0x137, script: 0x55},
+ 24: {lang: 0x3a, region: 0x108, script: 0x5},
+ 25: {lang: 0x3e0, region: 0x106, script: 0x1e},
+ 26: {lang: 0x3e0, region: 0x106, script: 0x1e},
+ 27: {lang: 0x138, region: 0x7b, script: 0x55},
+ 28: {lang: 0x10c, region: 0x60, script: 0x55},
+ 30: {lang: 0x13d, region: 0x1f, script: 0x55},
+ 31: {lang: 0x138, region: 0x9a, script: 0x55},
+ 32: {lang: 0x138, region: 0x7b, script: 0x55},
}
-// Size: 357 bytes, 357 elements
-var regionToGroups = [357]uint8{
+// Size: 358 bytes, 358 elements
+var regionToGroups = [358]uint8{
// Entry 0 - 3F
0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04,
0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00,
+ 0x00, 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04,
// Entry 40 - 7F
- 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00,
- 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x08, 0x00,
- 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00,
+ 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x08,
+ 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
// Entry 80 - BF
- 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
- 0x04, 0x01, 0x00, 0x04, 0x02, 0x00, 0x04, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00,
+ 0x00, 0x04, 0x01, 0x00, 0x04, 0x02, 0x00, 0x04,
+ 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01,
+ 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00,
// Entry C0 - FF
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x04,
- 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01,
+ 0x04, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Entry 100 - 13F
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
- 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x00, 0x05, 0x04, 0x00, 0x00,
- 0x04, 0x00, 0x04, 0x04, 0x05, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x04, 0x00,
+ 0x00, 0x04, 0x00, 0x04, 0x04, 0x05, 0x00, 0x00,
// Entry 140 - 17F
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+}
+
+// Size: 18 bytes, 3 elements
+var paradigmLocales = [3][3]uint16{
+ 0: [3]uint16{0x138, 0x0, 0x7b},
+ 1: [3]uint16{0x13d, 0x0, 0x1f},
+ 2: [3]uint16{0x3be, 0x41, 0xee},
}
type mutualIntelligibility struct {
@@ -3349,8 +3367,8 @@ type regionIntelligibility struct {
// matchLang holds pairs of langIDs of base languages that are typically
// mutually intelligible. Each pair is associated with a confidence and
// whether the intelligibility goes one or both ways.
-// Size: 690 bytes, 115 elements
-var matchLang = [115]mutualIntelligibility{
+// Size: 678 bytes, 113 elements
+var matchLang = [113]mutualIntelligibility{
0: {want: 0x1cf, have: 0xb7, distance: 0x4, oneway: false},
1: {want: 0x405, have: 0xb7, distance: 0x4, oneway: false},
2: {want: 0x405, have: 0x1cf, distance: 0x4, oneway: false},
@@ -3358,146 +3376,144 @@ var matchLang = [115]mutualIntelligibility{
4: {want: 0x438, have: 0x1, distance: 0x4, oneway: false},
5: {want: 0x1a1, have: 0x10c, distance: 0x4, oneway: true},
6: {want: 0x293, have: 0x10c, distance: 0x4, oneway: true},
- 7: {want: 0x430, have: 0x1cf, distance: 0x5, oneway: false},
- 8: {want: 0x430, have: 0xb7, distance: 0x5, oneway: false},
- 9: {want: 0x100, have: 0x36d, distance: 0x8, oneway: false},
- 10: {want: 0x100, have: 0x345, distance: 0x8, oneway: false},
- 11: {want: 0x5, have: 0x3e0, distance: 0xa, oneway: true},
- 12: {want: 0xd, have: 0x138, distance: 0xa, oneway: true},
- 13: {want: 0x16, have: 0x365, distance: 0xa, oneway: true},
- 14: {want: 0x21, have: 0x138, distance: 0xa, oneway: true},
- 15: {want: 0x56, have: 0x13d, distance: 0xa, oneway: true},
- 16: {want: 0x58, have: 0x3e0, distance: 0xa, oneway: true},
- 17: {want: 0x71, have: 0x3e0, distance: 0xa, oneway: true},
- 18: {want: 0x75, have: 0x138, distance: 0xa, oneway: true},
- 19: {want: 0x82, have: 0x1bc, distance: 0xa, oneway: true},
- 20: {want: 0xa5, have: 0x138, distance: 0xa, oneway: true},
- 21: {want: 0xb2, have: 0x15d, distance: 0xa, oneway: true},
- 22: {want: 0xdd, have: 0x152, distance: 0xa, oneway: true},
- 23: {want: 0xe5, have: 0x138, distance: 0xa, oneway: true},
- 24: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},
- 25: {want: 0xef, have: 0x15d, distance: 0xa, oneway: true},
- 26: {want: 0xf8, have: 0x15d, distance: 0xa, oneway: true},
- 27: {want: 0xff, have: 0x138, distance: 0xa, oneway: true},
- 28: {want: 0x12f, have: 0x138, distance: 0xa, oneway: true},
- 29: {want: 0x13b, have: 0x138, distance: 0xa, oneway: true},
- 30: {want: 0x13f, have: 0x150, distance: 0xa, oneway: true},
- 31: {want: 0x144, have: 0x13d, distance: 0xa, oneway: true},
- 32: {want: 0x157, have: 0x100, distance: 0xa, oneway: true},
- 33: {want: 0x16c, have: 0x365, distance: 0xa, oneway: true},
- 34: {want: 0x16d, have: 0x138, distance: 0xa, oneway: true},
- 35: {want: 0x16e, have: 0x138, distance: 0xa, oneway: true},
- 36: {want: 0x17c, have: 0x138, distance: 0xa, oneway: true},
- 37: {want: 0x18e, have: 0x13d, distance: 0xa, oneway: true},
- 38: {want: 0x192, have: 0x13d, distance: 0xa, oneway: true},
- 39: {want: 0x1a2, have: 0x1bc, distance: 0xa, oneway: true},
- 40: {want: 0x1b2, have: 0x138, distance: 0xa, oneway: true},
- 41: {want: 0x1b6, have: 0x138, distance: 0xa, oneway: true},
- 42: {want: 0x1d2, have: 0x15d, distance: 0xa, oneway: true},
- 43: {want: 0x1d5, have: 0x3e0, distance: 0xa, oneway: true},
- 44: {want: 0x1d7, have: 0x138, distance: 0xa, oneway: true},
- 45: {want: 0x1e5, have: 0x138, distance: 0xa, oneway: true},
- 46: {want: 0x1f6, have: 0x138, distance: 0xa, oneway: true},
- 47: {want: 0x20c, have: 0x1df, distance: 0xa, oneway: true},
- 48: {want: 0x20e, have: 0x138, distance: 0xa, oneway: true},
- 49: {want: 0x22b, have: 0x15d, distance: 0xa, oneway: true},
- 50: {want: 0x240, have: 0x3e0, distance: 0xa, oneway: true},
- 51: {want: 0x248, have: 0x138, distance: 0xa, oneway: true},
- 52: {want: 0x24f, have: 0x138, distance: 0xa, oneway: true},
- 53: {want: 0x263, have: 0x138, distance: 0xa, oneway: true},
- 54: {want: 0x272, have: 0x488, distance: 0xa, oneway: true},
- 55: {want: 0x288, have: 0x3e0, distance: 0xa, oneway: true},
- 56: {want: 0x28c, have: 0x1f7, distance: 0xa, oneway: true},
- 57: {want: 0x2a1, have: 0x138, distance: 0xa, oneway: true},
- 58: {want: 0x2b3, have: 0x15d, distance: 0xa, oneway: true},
- 59: {want: 0x2b6, have: 0x138, distance: 0xa, oneway: true},
- 60: {want: 0x2bc, have: 0x138, distance: 0xa, oneway: true},
- 61: {want: 0x2c1, have: 0x15d, distance: 0xa, oneway: true},
- 62: {want: 0x2eb, have: 0x138, distance: 0xa, oneway: true},
- 63: {want: 0x2ef, have: 0x15d, distance: 0xa, oneway: true},
- 64: {want: 0x2f8, have: 0x138, distance: 0xa, oneway: true},
- 65: {want: 0x2fd, have: 0x7e, distance: 0xa, oneway: true},
- 66: {want: 0x302, have: 0x138, distance: 0xa, oneway: true},
- 67: {want: 0x309, have: 0x3e0, distance: 0xa, oneway: true},
- 68: {want: 0x319, have: 0x1bc, distance: 0xa, oneway: true},
- 69: {want: 0x31d, have: 0x1df, distance: 0xa, oneway: true},
- 70: {want: 0x31e, have: 0x138, distance: 0xa, oneway: true},
- 71: {want: 0x32f, have: 0x138, distance: 0xa, oneway: true},
- 72: {want: 0x34f, have: 0x138, distance: 0xa, oneway: true},
- 73: {want: 0x368, have: 0x345, distance: 0xa, oneway: false},
- 74: {want: 0x368, have: 0x36d, distance: 0xa, oneway: true},
- 75: {want: 0x378, have: 0x138, distance: 0xa, oneway: true},
- 76: {want: 0x385, have: 0x138, distance: 0xa, oneway: true},
- 77: {want: 0x387, have: 0x138, distance: 0xa, oneway: true},
- 78: {want: 0x389, have: 0x15d, distance: 0xa, oneway: true},
- 79: {want: 0x38e, have: 0x138, distance: 0xa, oneway: true},
- 80: {want: 0x393, have: 0x138, distance: 0xa, oneway: true},
- 81: {want: 0x39b, have: 0x138, distance: 0xa, oneway: true},
- 82: {want: 0x3a3, have: 0x138, distance: 0xa, oneway: true},
- 83: {want: 0x3bc, have: 0x138, distance: 0xa, oneway: true},
- 84: {want: 0x3c2, have: 0x13d, distance: 0xa, oneway: true},
- 85: {want: 0x3d2, have: 0x10c, distance: 0xa, oneway: true},
- 86: {want: 0x3d7, have: 0x138, distance: 0xa, oneway: true},
- 87: {want: 0x3e3, have: 0x15d, distance: 0xa, oneway: true},
- 88: {want: 0x3e7, have: 0x1bc, distance: 0xa, oneway: true},
- 89: {want: 0x3f8, have: 0x138, distance: 0xa, oneway: true},
- 90: {want: 0x40a, have: 0x138, distance: 0xa, oneway: true},
- 91: {want: 0x421, have: 0x138, distance: 0xa, oneway: true},
- 92: {want: 0x427, have: 0x138, distance: 0xa, oneway: true},
- 93: {want: 0x42f, have: 0x138, distance: 0xa, oneway: true},
- 94: {want: 0x439, have: 0x138, distance: 0xa, oneway: true},
- 95: {want: 0x43c, have: 0x1df, distance: 0xa, oneway: true},
- 96: {want: 0x443, have: 0x138, distance: 0xa, oneway: true},
- 97: {want: 0x44e, have: 0x138, distance: 0xa, oneway: true},
- 98: {want: 0x45f, have: 0x138, distance: 0xa, oneway: true},
- 99: {want: 0x465, have: 0x3e0, distance: 0xa, oneway: true},
- 100: {want: 0x46d, have: 0x138, distance: 0xa, oneway: true},
- 101: {want: 0x474, have: 0x3e0, distance: 0xa, oneway: true},
- 102: {want: 0x3880, have: 0x138, distance: 0xa, oneway: true},
- 103: {want: 0x47e, have: 0x138, distance: 0xa, oneway: true},
- 104: {want: 0x480, have: 0x138, distance: 0xa, oneway: true},
- 105: {want: 0x492, have: 0x3e0, distance: 0xa, oneway: true},
- 106: {want: 0x49b, have: 0x138, distance: 0xa, oneway: true},
- 107: {want: 0x4aa, have: 0x527, distance: 0xa, oneway: true},
- 108: {want: 0x4b2, have: 0x138, distance: 0xa, oneway: true},
- 109: {want: 0x4ba, have: 0x3e0, distance: 0xa, oneway: true},
- 110: {want: 0x4e3, have: 0x15d, distance: 0xa, oneway: true},
- 111: {want: 0x4f0, have: 0x138, distance: 0xa, oneway: true},
- 112: {want: 0x510, have: 0x138, distance: 0xa, oneway: true},
- 113: {want: 0x516, have: 0x138, distance: 0xa, oneway: true},
- 114: {want: 0x52c, have: 0x138, distance: 0xa, oneway: true},
+ 7: {want: 0x100, have: 0x36d, distance: 0x8, oneway: false},
+ 8: {want: 0x100, have: 0x345, distance: 0x8, oneway: false},
+ 9: {want: 0x5, have: 0x3e0, distance: 0xa, oneway: true},
+ 10: {want: 0xd, have: 0x138, distance: 0xa, oneway: true},
+ 11: {want: 0x16, have: 0x365, distance: 0xa, oneway: true},
+ 12: {want: 0x21, have: 0x138, distance: 0xa, oneway: true},
+ 13: {want: 0x56, have: 0x13d, distance: 0xa, oneway: true},
+ 14: {want: 0x58, have: 0x3e0, distance: 0xa, oneway: true},
+ 15: {want: 0x71, have: 0x3e0, distance: 0xa, oneway: true},
+ 16: {want: 0x75, have: 0x138, distance: 0xa, oneway: true},
+ 17: {want: 0x82, have: 0x1bc, distance: 0xa, oneway: true},
+ 18: {want: 0xa5, have: 0x138, distance: 0xa, oneway: true},
+ 19: {want: 0xb2, have: 0x15d, distance: 0xa, oneway: true},
+ 20: {want: 0xdd, have: 0x152, distance: 0xa, oneway: true},
+ 21: {want: 0xe5, have: 0x138, distance: 0xa, oneway: true},
+ 22: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},
+ 23: {want: 0xef, have: 0x15d, distance: 0xa, oneway: true},
+ 24: {want: 0xf8, have: 0x15d, distance: 0xa, oneway: true},
+ 25: {want: 0xff, have: 0x138, distance: 0xa, oneway: true},
+ 26: {want: 0x12f, have: 0x138, distance: 0xa, oneway: true},
+ 27: {want: 0x13b, have: 0x138, distance: 0xa, oneway: true},
+ 28: {want: 0x13f, have: 0x150, distance: 0xa, oneway: true},
+ 29: {want: 0x144, have: 0x13d, distance: 0xa, oneway: true},
+ 30: {want: 0x157, have: 0x100, distance: 0xa, oneway: true},
+ 31: {want: 0x16c, have: 0x365, distance: 0xa, oneway: true},
+ 32: {want: 0x16d, have: 0x138, distance: 0xa, oneway: true},
+ 33: {want: 0x16e, have: 0x138, distance: 0xa, oneway: true},
+ 34: {want: 0x17c, have: 0x138, distance: 0xa, oneway: true},
+ 35: {want: 0x18e, have: 0x13d, distance: 0xa, oneway: true},
+ 36: {want: 0x192, have: 0x13d, distance: 0xa, oneway: true},
+ 37: {want: 0x1a2, have: 0x1bc, distance: 0xa, oneway: true},
+ 38: {want: 0x1b2, have: 0x138, distance: 0xa, oneway: true},
+ 39: {want: 0x1b6, have: 0x138, distance: 0xa, oneway: true},
+ 40: {want: 0x1d2, have: 0x15d, distance: 0xa, oneway: true},
+ 41: {want: 0x1d5, have: 0x3e0, distance: 0xa, oneway: true},
+ 42: {want: 0x1d7, have: 0x138, distance: 0xa, oneway: true},
+ 43: {want: 0x1e5, have: 0x138, distance: 0xa, oneway: true},
+ 44: {want: 0x1f6, have: 0x138, distance: 0xa, oneway: true},
+ 45: {want: 0x20c, have: 0x1df, distance: 0xa, oneway: true},
+ 46: {want: 0x20e, have: 0x138, distance: 0xa, oneway: true},
+ 47: {want: 0x22b, have: 0x15d, distance: 0xa, oneway: true},
+ 48: {want: 0x240, have: 0x3e0, distance: 0xa, oneway: true},
+ 49: {want: 0x248, have: 0x138, distance: 0xa, oneway: true},
+ 50: {want: 0x24f, have: 0x138, distance: 0xa, oneway: true},
+ 51: {want: 0x263, have: 0x138, distance: 0xa, oneway: true},
+ 52: {want: 0x272, have: 0x488, distance: 0xa, oneway: true},
+ 53: {want: 0x288, have: 0x3e0, distance: 0xa, oneway: true},
+ 54: {want: 0x28c, have: 0x1f7, distance: 0xa, oneway: true},
+ 55: {want: 0x2a1, have: 0x138, distance: 0xa, oneway: true},
+ 56: {want: 0x2b3, have: 0x15d, distance: 0xa, oneway: true},
+ 57: {want: 0x2b6, have: 0x138, distance: 0xa, oneway: true},
+ 58: {want: 0x2bc, have: 0x138, distance: 0xa, oneway: true},
+ 59: {want: 0x2c1, have: 0x15d, distance: 0xa, oneway: true},
+ 60: {want: 0x2eb, have: 0x138, distance: 0xa, oneway: true},
+ 61: {want: 0x2ef, have: 0x15d, distance: 0xa, oneway: true},
+ 62: {want: 0x2f8, have: 0x138, distance: 0xa, oneway: true},
+ 63: {want: 0x2fd, have: 0x7e, distance: 0xa, oneway: true},
+ 64: {want: 0x302, have: 0x138, distance: 0xa, oneway: true},
+ 65: {want: 0x309, have: 0x3e0, distance: 0xa, oneway: true},
+ 66: {want: 0x319, have: 0x1bc, distance: 0xa, oneway: true},
+ 67: {want: 0x31d, have: 0x1df, distance: 0xa, oneway: true},
+ 68: {want: 0x31e, have: 0x138, distance: 0xa, oneway: true},
+ 69: {want: 0x32f, have: 0x138, distance: 0xa, oneway: true},
+ 70: {want: 0x34f, have: 0x138, distance: 0xa, oneway: true},
+ 71: {want: 0x368, have: 0x345, distance: 0xa, oneway: false},
+ 72: {want: 0x368, have: 0x36d, distance: 0xa, oneway: true},
+ 73: {want: 0x378, have: 0x138, distance: 0xa, oneway: true},
+ 74: {want: 0x385, have: 0x138, distance: 0xa, oneway: true},
+ 75: {want: 0x387, have: 0x138, distance: 0xa, oneway: true},
+ 76: {want: 0x389, have: 0x15d, distance: 0xa, oneway: true},
+ 77: {want: 0x38e, have: 0x138, distance: 0xa, oneway: true},
+ 78: {want: 0x393, have: 0x138, distance: 0xa, oneway: true},
+ 79: {want: 0x39b, have: 0x138, distance: 0xa, oneway: true},
+ 80: {want: 0x3a3, have: 0x138, distance: 0xa, oneway: true},
+ 81: {want: 0x3bc, have: 0x138, distance: 0xa, oneway: true},
+ 82: {want: 0x3c2, have: 0x13d, distance: 0xa, oneway: true},
+ 83: {want: 0x3d2, have: 0x10c, distance: 0xa, oneway: true},
+ 84: {want: 0x3d7, have: 0x138, distance: 0xa, oneway: true},
+ 85: {want: 0x3e3, have: 0x15d, distance: 0xa, oneway: true},
+ 86: {want: 0x3e7, have: 0x1bc, distance: 0xa, oneway: true},
+ 87: {want: 0x3f8, have: 0x138, distance: 0xa, oneway: true},
+ 88: {want: 0x40a, have: 0x138, distance: 0xa, oneway: true},
+ 89: {want: 0x421, have: 0x138, distance: 0xa, oneway: true},
+ 90: {want: 0x427, have: 0x138, distance: 0xa, oneway: true},
+ 91: {want: 0x42f, have: 0x138, distance: 0xa, oneway: true},
+ 92: {want: 0x439, have: 0x138, distance: 0xa, oneway: true},
+ 93: {want: 0x43c, have: 0x1df, distance: 0xa, oneway: true},
+ 94: {want: 0x443, have: 0x138, distance: 0xa, oneway: true},
+ 95: {want: 0x44e, have: 0x138, distance: 0xa, oneway: true},
+ 96: {want: 0x45f, have: 0x138, distance: 0xa, oneway: true},
+ 97: {want: 0x465, have: 0x3e0, distance: 0xa, oneway: true},
+ 98: {want: 0x46d, have: 0x138, distance: 0xa, oneway: true},
+ 99: {want: 0x474, have: 0x3e0, distance: 0xa, oneway: true},
+ 100: {want: 0x3880, have: 0x138, distance: 0xa, oneway: true},
+ 101: {want: 0x47e, have: 0x138, distance: 0xa, oneway: true},
+ 102: {want: 0x480, have: 0x138, distance: 0xa, oneway: true},
+ 103: {want: 0x492, have: 0x3e0, distance: 0xa, oneway: true},
+ 104: {want: 0x49b, have: 0x138, distance: 0xa, oneway: true},
+ 105: {want: 0x4aa, have: 0x527, distance: 0xa, oneway: true},
+ 106: {want: 0x4b2, have: 0x138, distance: 0xa, oneway: true},
+ 107: {want: 0x4ba, have: 0x3e0, distance: 0xa, oneway: true},
+ 108: {want: 0x4e3, have: 0x15d, distance: 0xa, oneway: true},
+ 109: {want: 0x4f0, have: 0x138, distance: 0xa, oneway: true},
+ 110: {want: 0x510, have: 0x138, distance: 0xa, oneway: true},
+ 111: {want: 0x516, have: 0x138, distance: 0xa, oneway: true},
+ 112: {want: 0x52c, have: 0x138, distance: 0xa, oneway: true},
}
// matchScript holds pairs of scriptIDs where readers of one script
// can typically also read the other. Each is associated with a confidence.
// Size: 208 bytes, 26 elements
var matchScript = [26]scriptIntelligibility{
- 0: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x52, haveScript: 0x1e, distance: 0x5},
- 1: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x1e, haveScript: 0x52, distance: 0x5},
- 2: {wantLang: 0x58, haveLang: 0x3e0, wantScript: 0x52, haveScript: 0x1e, distance: 0xa},
- 3: {wantLang: 0xa5, haveLang: 0x138, wantScript: 0xe, haveScript: 0x52, distance: 0xa},
+ 0: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x55, haveScript: 0x1e, distance: 0x5},
+ 1: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x1e, haveScript: 0x55, distance: 0x5},
+ 2: {wantLang: 0x58, haveLang: 0x3e0, wantScript: 0x55, haveScript: 0x1e, distance: 0xa},
+ 3: {wantLang: 0xa5, haveLang: 0x138, wantScript: 0xe, haveScript: 0x55, distance: 0xa},
4: {wantLang: 0x1d5, haveLang: 0x3e0, wantScript: 0x8, haveScript: 0x1e, distance: 0xa},
- 5: {wantLang: 0x20e, haveLang: 0x138, wantScript: 0x29, haveScript: 0x52, distance: 0xa},
- 6: {wantLang: 0x248, haveLang: 0x138, wantScript: 0x46, haveScript: 0x52, distance: 0xa},
- 7: {wantLang: 0x24f, haveLang: 0x138, wantScript: 0x4a, haveScript: 0x52, distance: 0xa},
- 8: {wantLang: 0x2b6, haveLang: 0x138, wantScript: 0x4f, haveScript: 0x52, distance: 0xa},
- 9: {wantLang: 0x302, haveLang: 0x138, wantScript: 0x64, haveScript: 0x52, distance: 0xa},
- 10: {wantLang: 0x32f, haveLang: 0x138, wantScript: 0x6b, haveScript: 0x52, distance: 0xa},
- 11: {wantLang: 0x34f, haveLang: 0x138, wantScript: 0x20, haveScript: 0x52, distance: 0xa},
- 12: {wantLang: 0x393, haveLang: 0x138, wantScript: 0x75, haveScript: 0x52, distance: 0xa},
- 13: {wantLang: 0x39b, haveLang: 0x138, wantScript: 0x2f, haveScript: 0x52, distance: 0xa},
- 14: {wantLang: 0x3bc, haveLang: 0x138, wantScript: 0x5, haveScript: 0x52, distance: 0xa},
- 15: {wantLang: 0x3f8, haveLang: 0x138, wantScript: 0x5, haveScript: 0x52, distance: 0xa},
- 16: {wantLang: 0x40a, haveLang: 0x138, wantScript: 0xc1, haveScript: 0x52, distance: 0xa},
- 17: {wantLang: 0x44e, haveLang: 0x138, wantScript: 0xcd, haveScript: 0x52, distance: 0xa},
- 18: {wantLang: 0x45f, haveLang: 0x138, wantScript: 0xd0, haveScript: 0x52, distance: 0xa},
- 19: {wantLang: 0x46d, haveLang: 0x138, wantScript: 0x27, haveScript: 0x52, distance: 0xa},
- 20: {wantLang: 0x474, haveLang: 0x3e0, wantScript: 0x52, haveScript: 0x1e, distance: 0xa},
- 21: {wantLang: 0x4b2, haveLang: 0x138, wantScript: 0x5, haveScript: 0x52, distance: 0xa},
- 22: {wantLang: 0x4ba, haveLang: 0x3e0, wantScript: 0x52, haveScript: 0x1e, distance: 0xa},
- 23: {wantLang: 0x510, haveLang: 0x138, wantScript: 0x37, haveScript: 0x52, distance: 0xa},
- 24: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x34, haveScript: 0x35, distance: 0xf},
- 25: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x35, haveScript: 0x34, distance: 0x13},
+ 5: {wantLang: 0x20e, haveLang: 0x138, wantScript: 0x2a, haveScript: 0x55, distance: 0xa},
+ 6: {wantLang: 0x248, haveLang: 0x138, wantScript: 0x49, haveScript: 0x55, distance: 0xa},
+ 7: {wantLang: 0x24f, haveLang: 0x138, wantScript: 0x4d, haveScript: 0x55, distance: 0xa},
+ 8: {wantLang: 0x2b6, haveLang: 0x138, wantScript: 0x52, haveScript: 0x55, distance: 0xa},
+ 9: {wantLang: 0x302, haveLang: 0x138, wantScript: 0x69, haveScript: 0x55, distance: 0xa},
+ 10: {wantLang: 0x32f, haveLang: 0x138, wantScript: 0x70, haveScript: 0x55, distance: 0xa},
+ 11: {wantLang: 0x34f, haveLang: 0x138, wantScript: 0x20, haveScript: 0x55, distance: 0xa},
+ 12: {wantLang: 0x393, haveLang: 0x138, wantScript: 0x7a, haveScript: 0x55, distance: 0xa},
+ 13: {wantLang: 0x39b, haveLang: 0x138, wantScript: 0x32, haveScript: 0x55, distance: 0xa},
+ 14: {wantLang: 0x3bc, haveLang: 0x138, wantScript: 0x5, haveScript: 0x55, distance: 0xa},
+ 15: {wantLang: 0x3f8, haveLang: 0x138, wantScript: 0x5, haveScript: 0x55, distance: 0xa},
+ 16: {wantLang: 0x40a, haveLang: 0x138, wantScript: 0xc6, haveScript: 0x55, distance: 0xa},
+ 17: {wantLang: 0x44e, haveLang: 0x138, wantScript: 0xd3, haveScript: 0x55, distance: 0xa},
+ 18: {wantLang: 0x45f, haveLang: 0x138, wantScript: 0xd6, haveScript: 0x55, distance: 0xa},
+ 19: {wantLang: 0x46d, haveLang: 0x138, wantScript: 0x28, haveScript: 0x55, distance: 0xa},
+ 20: {wantLang: 0x474, haveLang: 0x3e0, wantScript: 0x55, haveScript: 0x1e, distance: 0xa},
+ 21: {wantLang: 0x4b2, haveLang: 0x138, wantScript: 0x5, haveScript: 0x55, distance: 0xa},
+ 22: {wantLang: 0x4ba, haveLang: 0x3e0, wantScript: 0x55, haveScript: 0x1e, distance: 0xa},
+ 23: {wantLang: 0x510, haveLang: 0x138, wantScript: 0x3a, haveScript: 0x55, distance: 0xa},
+ 24: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x37, haveScript: 0x38, distance: 0xf},
+ 25: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x38, haveScript: 0x37, distance: 0x13},
}
// Size: 90 bytes, 15 elements
@@ -3510,128 +3526,133 @@ var matchRegion = [15]regionIntelligibility{
5: {lang: 0x13d, script: 0x0, group: 0x83, distance: 0x4},
6: {lang: 0x3be, script: 0x0, group: 0x3, distance: 0x4},
7: {lang: 0x3be, script: 0x0, group: 0x83, distance: 0x4},
- 8: {lang: 0x527, script: 0x35, group: 0x2, distance: 0x4},
- 9: {lang: 0x527, script: 0x35, group: 0x82, distance: 0x4},
+ 8: {lang: 0x527, script: 0x38, group: 0x2, distance: 0x4},
+ 9: {lang: 0x527, script: 0x38, group: 0x82, distance: 0x4},
10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5},
11: {lang: 0x138, script: 0x0, group: 0x80, distance: 0x5},
12: {lang: 0x13d, script: 0x0, group: 0x80, distance: 0x5},
13: {lang: 0x3be, script: 0x0, group: 0x80, distance: 0x5},
- 14: {lang: 0x527, script: 0x35, group: 0x80, distance: 0x5},
+ 14: {lang: 0x527, script: 0x38, group: 0x80, distance: 0x5},
}
-// Size: 128 bytes, 32 elements
-var regionContainment = [32]uint32{
- 0xffffffff, 0x000007a2, 0x00003044, 0x00000008,
- 0x403c0010, 0x00000020, 0x00000040, 0x00000080,
- 0x00000100, 0x00000200, 0x00000400, 0x2000384c,
- 0x00001000, 0x00002000, 0x00004000, 0x00008000,
- 0x00010000, 0x00020000, 0x00040000, 0x00080000,
- 0x00100000, 0x00200000, 0x01c1c000, 0x00800000,
- 0x01000000, 0x1e020000, 0x04000000, 0x08000000,
- 0x10000000, 0x20002048, 0x40000000, 0x80000000,
+// Size: 264 bytes, 33 elements
+var regionContainment = [33]uint64{
+ // Entry 0 - 1F
+ 0x00000001dfffffff, 0x00000000000007a2, 0x0000000000003044, 0x0000000000000008,
+ 0x00000000803c0010, 0x0000000000000020, 0x0000000000000040, 0x0000000000000080,
+ 0x0000000000000100, 0x0000000000000200, 0x0000000000000400, 0x000000004000384c,
+ 0x0000000000001000, 0x0000000000002000, 0x0000000000004000, 0x0000000000008000,
+ 0x0000000000010000, 0x0000000000020000, 0x0000000000040000, 0x0000000000080000,
+ 0x0000000000100000, 0x0000000000200000, 0x0000000001c1c000, 0x0000000000800000,
+ 0x0000000001000000, 0x000000001e020000, 0x0000000004000000, 0x0000000008000000,
+ 0x0000000010000000, 0x0000000020000000, 0x0000000040002048, 0x0000000080000000,
+ // Entry 20 - 3F
+ 0x0000000100000000,
}
// regionInclusion maps region identifiers to sets of regions in regionInclusionBits,
// where each set holds all groupings that are directly connected in a region
// containment graph.
-// Size: 357 bytes, 357 elements
-var regionInclusion = [357]uint8{
+// Size: 358 bytes, 358 elements
+var regionInclusion = [358]uint8{
// Entry 0 - 3F
0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
- 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20,
- 0x21, 0x22, 0x23, 0x24, 0x25, 0x25, 0x22, 0x23,
- 0x25, 0x26, 0x21, 0x27, 0x28, 0x29, 0x2a, 0x25,
- 0x2b, 0x23, 0x22, 0x25, 0x24, 0x29, 0x2c, 0x2d,
- 0x23, 0x2e, 0x2c, 0x25, 0x2f, 0x30, 0x27, 0x25,
+ 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x26, 0x23,
+ 0x24, 0x26, 0x27, 0x22, 0x28, 0x29, 0x2a, 0x2b,
+ 0x26, 0x2c, 0x24, 0x23, 0x26, 0x25, 0x2a, 0x2d,
+ 0x2e, 0x24, 0x2f, 0x2d, 0x26, 0x30, 0x31, 0x28,
// Entry 40 - 7F
- 0x27, 0x25, 0x24, 0x30, 0x21, 0x31, 0x32, 0x33,
- 0x2f, 0x21, 0x26, 0x26, 0x26, 0x34, 0x2c, 0x28,
- 0x27, 0x26, 0x35, 0x27, 0x21, 0x33, 0x22, 0x20,
- 0x25, 0x2c, 0x25, 0x21, 0x36, 0x2d, 0x34, 0x29,
- 0x21, 0x2e, 0x37, 0x25, 0x25, 0x20, 0x38, 0x38,
- 0x27, 0x37, 0x38, 0x38, 0x2e, 0x39, 0x2e, 0x1f,
- 0x20, 0x37, 0x3a, 0x27, 0x3b, 0x2b, 0x20, 0x29,
- 0x34, 0x26, 0x37, 0x25, 0x23, 0x27, 0x2b, 0x2c,
+ 0x26, 0x28, 0x26, 0x25, 0x31, 0x22, 0x32, 0x33,
+ 0x34, 0x30, 0x22, 0x27, 0x27, 0x27, 0x35, 0x2d,
+ 0x29, 0x28, 0x27, 0x36, 0x28, 0x22, 0x34, 0x23,
+ 0x21, 0x26, 0x2d, 0x26, 0x22, 0x37, 0x2e, 0x35,
+ 0x2a, 0x22, 0x2f, 0x38, 0x26, 0x26, 0x21, 0x39,
+ 0x39, 0x28, 0x38, 0x39, 0x39, 0x2f, 0x3a, 0x2f,
+ 0x20, 0x21, 0x38, 0x3b, 0x28, 0x3c, 0x2c, 0x21,
+ 0x2a, 0x35, 0x27, 0x38, 0x26, 0x24, 0x28, 0x2c,
// Entry 80 - BF
- 0x22, 0x2f, 0x2c, 0x2c, 0x25, 0x26, 0x39, 0x21,
- 0x33, 0x3b, 0x2c, 0x27, 0x35, 0x21, 0x33, 0x39,
- 0x25, 0x2d, 0x20, 0x38, 0x30, 0x37, 0x23, 0x2b,
- 0x24, 0x21, 0x23, 0x24, 0x2b, 0x39, 0x2b, 0x25,
- 0x23, 0x35, 0x20, 0x2e, 0x3c, 0x30, 0x3b, 0x2e,
- 0x25, 0x35, 0x35, 0x23, 0x25, 0x3c, 0x30, 0x23,
- 0x25, 0x34, 0x24, 0x2c, 0x31, 0x37, 0x29, 0x37,
- 0x38, 0x38, 0x34, 0x32, 0x22, 0x25, 0x2e, 0x3b,
+ 0x2d, 0x23, 0x30, 0x2d, 0x2d, 0x26, 0x27, 0x3a,
+ 0x22, 0x34, 0x3c, 0x2d, 0x28, 0x36, 0x22, 0x34,
+ 0x3a, 0x26, 0x2e, 0x21, 0x39, 0x31, 0x38, 0x24,
+ 0x2c, 0x25, 0x22, 0x24, 0x25, 0x2c, 0x3a, 0x2c,
+ 0x26, 0x24, 0x36, 0x21, 0x2f, 0x3d, 0x31, 0x3c,
+ 0x2f, 0x26, 0x36, 0x36, 0x24, 0x26, 0x3d, 0x31,
+ 0x24, 0x26, 0x35, 0x25, 0x2d, 0x32, 0x38, 0x2a,
+ 0x38, 0x39, 0x39, 0x35, 0x33, 0x23, 0x26, 0x2f,
// Entry C0 - FF
- 0x20, 0x22, 0x2c, 0x30, 0x35, 0x35, 0x3b, 0x25,
- 0x2c, 0x25, 0x39, 0x2e, 0x24, 0x2e, 0x33, 0x30,
- 0x2e, 0x31, 0x3a, 0x2c, 0x2a, 0x2c, 0x20, 0x33,
- 0x29, 0x2b, 0x24, 0x20, 0x3b, 0x23, 0x28, 0x2a,
- 0x23, 0x33, 0x20, 0x27, 0x28, 0x3a, 0x30, 0x24,
- 0x2d, 0x2f, 0x28, 0x25, 0x23, 0x39, 0x20, 0x3b,
- 0x27, 0x20, 0x23, 0x20, 0x20, 0x1e, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x3c, 0x21, 0x23, 0x2d, 0x31, 0x36, 0x36, 0x3c,
+ 0x26, 0x2d, 0x26, 0x3a, 0x2f, 0x25, 0x2f, 0x34,
+ 0x31, 0x2f, 0x32, 0x3b, 0x2d, 0x2b, 0x2d, 0x21,
+ 0x34, 0x2a, 0x2c, 0x25, 0x21, 0x3c, 0x24, 0x29,
+ 0x2b, 0x24, 0x34, 0x21, 0x28, 0x29, 0x3b, 0x31,
+ 0x25, 0x2e, 0x30, 0x29, 0x26, 0x24, 0x3a, 0x21,
+ 0x3c, 0x28, 0x21, 0x24, 0x21, 0x21, 0x1f, 0x21,
+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
// Entry 100 - 13F
- 0x20, 0x2e, 0x20, 0x2d, 0x22, 0x32, 0x2e, 0x23,
- 0x3a, 0x2e, 0x38, 0x37, 0x30, 0x2c, 0x39, 0x2b,
- 0x2d, 0x2c, 0x22, 0x2c, 0x2e, 0x27, 0x2e, 0x26,
- 0x32, 0x33, 0x25, 0x23, 0x31, 0x21, 0x25, 0x26,
- 0x21, 0x2c, 0x30, 0x3c, 0x28, 0x30, 0x3c, 0x38,
- 0x28, 0x30, 0x23, 0x25, 0x28, 0x35, 0x2e, 0x32,
- 0x2e, 0x20, 0x21, 0x20, 0x2f, 0x27, 0x3c, 0x22,
- 0x25, 0x20, 0x27, 0x25, 0x25, 0x30, 0x3a, 0x28,
+ 0x21, 0x21, 0x2f, 0x21, 0x2e, 0x23, 0x33, 0x2f,
+ 0x24, 0x3b, 0x2f, 0x39, 0x38, 0x31, 0x2d, 0x3a,
+ 0x2c, 0x2e, 0x2d, 0x23, 0x2d, 0x2f, 0x28, 0x2f,
+ 0x27, 0x33, 0x34, 0x26, 0x24, 0x32, 0x22, 0x26,
+ 0x27, 0x22, 0x2d, 0x31, 0x3d, 0x29, 0x31, 0x3d,
+ 0x39, 0x29, 0x31, 0x24, 0x26, 0x29, 0x36, 0x2f,
+ 0x33, 0x2f, 0x21, 0x22, 0x21, 0x30, 0x28, 0x3d,
+ 0x23, 0x26, 0x21, 0x28, 0x26, 0x26, 0x31, 0x3b,
// Entry 140 - 17F
- 0x20, 0x28, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- 0x20, 0x20, 0x20, 0x20, 0x23, 0x23, 0x2e, 0x22,
- 0x31, 0x2e, 0x26, 0x2e, 0x20,
+ 0x29, 0x21, 0x29, 0x21, 0x21, 0x21, 0x21, 0x21,
+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x23, 0x21, 0x21,
+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
+ 0x21, 0x21, 0x21, 0x21, 0x21, 0x24, 0x24, 0x2f,
+ 0x23, 0x32, 0x2f, 0x27, 0x2f, 0x21,
}
// regionInclusionBits is an array of bit vectors where every vector represents
// a set of region groupings. These sets are used to compute the distance
// between two regions for the purpose of language matching.
-// Size: 288 bytes, 72 elements
-var regionInclusionBits = [72]uint32{
+// Size: 584 bytes, 73 elements
+var regionInclusionBits = [73]uint64{
// Entry 0 - 1F
- 0x82400813, 0x000007a3, 0x00003844, 0x20000808,
- 0x403c0011, 0x00000022, 0x20000844, 0x00000082,
- 0x00000102, 0x00000202, 0x00000402, 0x2000384d,
- 0x00001804, 0x20002804, 0x00404000, 0x00408000,
- 0x00410000, 0x02020000, 0x00040010, 0x00080010,
- 0x00100010, 0x00200010, 0x01c1c001, 0x00c00000,
- 0x01400000, 0x1e020001, 0x06000000, 0x0a000000,
- 0x12000000, 0x20002848, 0x40000010, 0x80000001,
+ 0x0000000102400813, 0x00000000000007a3, 0x0000000000003844, 0x0000000040000808,
+ 0x00000000803c0011, 0x0000000000000022, 0x0000000040000844, 0x0000000000000082,
+ 0x0000000000000102, 0x0000000000000202, 0x0000000000000402, 0x000000004000384d,
+ 0x0000000000001804, 0x0000000040002804, 0x0000000000404000, 0x0000000000408000,
+ 0x0000000000410000, 0x0000000002020000, 0x0000000000040010, 0x0000000000080010,
+ 0x0000000000100010, 0x0000000000200010, 0x0000000001c1c001, 0x0000000000c00000,
+ 0x0000000001400000, 0x000000001e020001, 0x0000000006000000, 0x000000000a000000,
+ 0x0000000012000000, 0x0000000020000000, 0x0000000040002848, 0x0000000080000010,
// Entry 20 - 3F
- 0x00000001, 0x40000000, 0x00020000, 0x01000000,
- 0x00008000, 0x00002000, 0x00000200, 0x00000008,
- 0x00200000, 0x90000000, 0x00040000, 0x08000000,
- 0x00000020, 0x84000000, 0x00000080, 0x00001000,
- 0x00010000, 0x00000400, 0x04000000, 0x00000040,
- 0x10000000, 0x00004000, 0x81000000, 0x88000000,
- 0x00000100, 0x80020000, 0x00080000, 0x00100000,
- 0x00800000, 0xffffffff, 0x82400fb3, 0xc27c0813,
+ 0x0000000100000001, 0x0000000000000001, 0x0000000080000000, 0x0000000000020000,
+ 0x0000000001000000, 0x0000000000008000, 0x0000000000002000, 0x0000000000000200,
+ 0x0000000000000008, 0x0000000000200000, 0x0000000110000000, 0x0000000000040000,
+ 0x0000000008000000, 0x0000000000000020, 0x0000000104000000, 0x0000000000000080,
+ 0x0000000000001000, 0x0000000000010000, 0x0000000000000400, 0x0000000004000000,
+ 0x0000000000000040, 0x0000000010000000, 0x0000000000004000, 0x0000000101000000,
+ 0x0000000108000000, 0x0000000000000100, 0x0000000100020000, 0x0000000000080000,
+ 0x0000000000100000, 0x0000000000800000, 0x00000001dfffffff, 0x0000000102400fb3,
// Entry 40 - 5F
- 0xa240385f, 0x83c1c813, 0x9e420813, 0x92000001,
- 0x86000001, 0x81400001, 0x8a000001, 0x82020001,
+ 0x00000001827c0813, 0x000000014240385f, 0x0000000103c1c813, 0x000000011e420813,
+ 0x0000000112000001, 0x0000000106000001, 0x0000000101400001, 0x000000010a000001,
+ 0x0000000102020001,
}
// regionInclusionNext marks, for each entry in regionInclusionBits, the set of
// all groups that are reachable from the groups set in the respective entry.
-// Size: 72 bytes, 72 elements
-var regionInclusionNext = [72]uint8{
+// Size: 73 bytes, 73 elements
+var regionInclusionNext = [73]uint8{
// Entry 0 - 3F
- 0x3d, 0x3e, 0x0b, 0x0b, 0x3f, 0x01, 0x0b, 0x01,
- 0x01, 0x01, 0x01, 0x40, 0x0b, 0x0b, 0x16, 0x16,
- 0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x41, 0x16,
- 0x16, 0x42, 0x19, 0x19, 0x19, 0x0b, 0x04, 0x00,
- 0x00, 0x1e, 0x11, 0x18, 0x0f, 0x0d, 0x09, 0x03,
- 0x15, 0x43, 0x12, 0x1b, 0x05, 0x44, 0x07, 0x0c,
- 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x45, 0x46,
- 0x08, 0x47, 0x13, 0x14, 0x17, 0x3d, 0x3d, 0x3d,
+ 0x3e, 0x3f, 0x0b, 0x0b, 0x40, 0x01, 0x0b, 0x01,
+ 0x01, 0x01, 0x01, 0x41, 0x0b, 0x0b, 0x16, 0x16,
+ 0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x42, 0x16,
+ 0x16, 0x43, 0x19, 0x19, 0x19, 0x1d, 0x0b, 0x04,
+ 0x00, 0x00, 0x1f, 0x11, 0x18, 0x0f, 0x0d, 0x09,
+ 0x03, 0x15, 0x44, 0x12, 0x1b, 0x05, 0x45, 0x07,
+ 0x0c, 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x46,
+ 0x47, 0x08, 0x48, 0x13, 0x14, 0x17, 0x3e, 0x3e,
// Entry 40 - 7F
- 0x3d, 0x3d, 0x3d, 0x42, 0x42, 0x41, 0x42, 0x42,
+ 0x3e, 0x3e, 0x3e, 0x3e, 0x43, 0x43, 0x42, 0x43,
+ 0x43,
}
type parentRel struct {
@@ -3644,11 +3665,11 @@ type parentRel struct {
// Size: 414 bytes, 5 elements
var parents = [5]parentRel{
- 0: {lang: 0x138, script: 0x0, maxScript: 0x52, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x24, 0x25, 0x2e, 0x33, 0x35, 0x3c, 0x41, 0x45, 0x47, 0x48, 0x49, 0x4f, 0x51, 0x5b, 0x5c, 0x60, 0x63, 0x6c, 0x72, 0x73, 0x74, 0x7a, 0x7b, 0x7e, 0x7f, 0x80, 0x82, 0x8b, 0x8c, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9e, 0x9f, 0xa3, 0xa6, 0xa8, 0xac, 0xb0, 0xb3, 0xb4, 0xbe, 0xc5, 0xc9, 0xca, 0xcb, 0xcd, 0xcf, 0xd1, 0xd4, 0xd5, 0xdc, 0xde, 0xdf, 0xe5, 0xe6, 0xe7, 0xea, 0xef, 0x106, 0x108, 0x109, 0x10a, 0x10c, 0x10d, 0x111, 0x116, 0x11a, 0x11c, 0x11e, 0x124, 0x128, 0x12b, 0x12c, 0x12e, 0x130, 0x138, 0x13b, 0x13e, 0x141, 0x160, 0x161, 0x163}},
- 1: {lang: 0x138, script: 0x0, maxScript: 0x52, toRegion: 0x1a, fromRegion: []uint16{0x2d, 0x4d, 0x5f, 0x62, 0x71, 0xd8, 0x10b, 0x10e}},
- 2: {lang: 0x13d, script: 0x0, maxScript: 0x52, toRegion: 0x1e, fromRegion: []uint16{0x2b, 0x3e, 0x40, 0x47, 0x50, 0x53, 0x55, 0x58, 0x64, 0x68, 0x88, 0x8e, 0xce, 0xd7, 0xe1, 0xe3, 0xeb, 0xf0, 0x119, 0x134, 0x135, 0x13a}},
- 3: {lang: 0x3be, script: 0x0, maxScript: 0x52, toRegion: 0xed, fromRegion: []uint16{0x29, 0x4d, 0x59, 0x85, 0x8a, 0xb6, 0xc5, 0xd0, 0x117, 0x125}},
- 4: {lang: 0x527, script: 0x35, maxScript: 0x35, toRegion: 0x8c, fromRegion: []uint16{0xc5}},
+ 0: {lang: 0x138, script: 0x0, maxScript: 0x55, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x25, 0x26, 0x2f, 0x34, 0x36, 0x3d, 0x42, 0x46, 0x48, 0x49, 0x4a, 0x50, 0x52, 0x5c, 0x5d, 0x61, 0x64, 0x6d, 0x73, 0x74, 0x75, 0x7b, 0x7c, 0x7f, 0x80, 0x81, 0x83, 0x8c, 0x8d, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9f, 0xa0, 0xa4, 0xa7, 0xa9, 0xad, 0xb1, 0xb4, 0xb5, 0xbf, 0xc6, 0xca, 0xcb, 0xcc, 0xce, 0xd0, 0xd2, 0xd5, 0xd6, 0xdd, 0xdf, 0xe0, 0xe6, 0xe7, 0xe8, 0xeb, 0xf0, 0x107, 0x109, 0x10a, 0x10b, 0x10d, 0x10e, 0x112, 0x117, 0x11b, 0x11d, 0x11f, 0x125, 0x129, 0x12c, 0x12d, 0x12f, 0x131, 0x139, 0x13c, 0x13f, 0x142, 0x161, 0x162, 0x164}},
+ 1: {lang: 0x138, script: 0x0, maxScript: 0x55, toRegion: 0x1a, fromRegion: []uint16{0x2e, 0x4e, 0x60, 0x63, 0x72, 0xd9, 0x10c, 0x10f}},
+ 2: {lang: 0x13d, script: 0x0, maxScript: 0x55, toRegion: 0x1f, fromRegion: []uint16{0x2c, 0x3f, 0x41, 0x48, 0x51, 0x54, 0x56, 0x59, 0x65, 0x69, 0x89, 0x8f, 0xcf, 0xd8, 0xe2, 0xe4, 0xec, 0xf1, 0x11a, 0x135, 0x136, 0x13b}},
+ 3: {lang: 0x3be, script: 0x0, maxScript: 0x55, toRegion: 0xee, fromRegion: []uint16{0x2a, 0x4e, 0x5a, 0x86, 0x8b, 0xb7, 0xc6, 0xd1, 0x118, 0x126}},
+ 4: {lang: 0x527, script: 0x38, maxScript: 0x38, toRegion: 0x8d, fromRegion: []uint16{0xc6}},
}
-// Total table size 26496 bytes (25KiB); checksum: 6E24B15A
+// Total table size 27175 bytes (26KiB); checksum: 569649CD
diff --git a/vendor/golang.org/x/text/language/testdata/localeMatcherTest.txt b/vendor/golang.org/x/text/language/testdata/CLDRLocaleMatcherTest.txt
index 6568f2d3c..6568f2d3c 100644
--- a/vendor/golang.org/x/text/language/testdata/localeMatcherTest.txt
+++ b/vendor/golang.org/x/text/language/testdata/CLDRLocaleMatcherTest.txt
diff --git a/vendor/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt b/vendor/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt
new file mode 100644
index 000000000..4f4c6093e
--- /dev/null
+++ b/vendor/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt
@@ -0,0 +1,226 @@
+# basics
+fr, en-GB, en ; en-GB ; en-GB
+fr, en-GB, en ; en-US ; en
+fr, en-GB, en ; fr-FR ; fr
+fr, en-GB, en ; ja-JP ; fr
+
+# script fallbacks
+zh-CN, zh-TW, iw ; zh-Hant ; zh-TW
+zh-CN, zh-TW, iw ; zh ; zh-CN
+zh-CN, zh-TW, iw ; zh-Hans-CN ; zh-CN
+zh-CN, zh-TW, iw ; zh-Hant-HK ; zh-TW
+zh-CN, zh-TW, iw ; he-IT ; iw ; iw
+
+# language-specific script fallbacks 1
+en, sr, nl ; sr-Latn ; sr
+en, sr, nl ; sh ; sr # different script, but seems okay and is as CLDR suggests
+en, sr, nl ; hr ; en
+en, sr, nl ; bs ; en
+en, sr, nl ; nl-Cyrl ; sr
+
+# language-specific script fallbacks 2
+en, sh ; sr ; sh
+en, sh ; sr-Cyrl ; sh
+en, sh ; hr ; sh
+
+# don't match hr to sr-Latn
+en, sr-Latn ; hr ; en
+
+# both deprecated and not
+fil, tl, iw, he ; he-IT ; he
+fil, tl, iw, he ; he ; he
+fil, tl, iw, he ; iw ; iw
+fil, tl, iw, he ; fil-IT ; fil
+fil, tl, iw, he ; fil ; fil
+fil, tl, iw, he ; tl ; tl
+
+# nearby languages
+en, fil, ro, nn ; tl ; fil
+en, fil, ro, nn ; mo ; ro
+en, fil, ro, nn ; nb ; nn
+en, fil, ro, nn ; ja ; en
+
+# nearby languages: Nynorsk to Bokmål
+en, nb ; nn ; nb
+
+# nearby languages: Danish does not match nn
+en, nn ; da ; en
+
+# nearby languages: Danish matches no
+en, no ; da ; no
+
+# nearby languages: Danish matches nb
+en, nb ; da ; nb
+
+# prefer matching languages over language variants.
+nn, en-GB ; no, en-US ; en-GB
+nn, en-GB ; nb, en-US ; en-GB
+
+# deprecated version is closer than same language with other differences
+nl, he, en-GB ; iw, en-US ; he
+
+# macro equivalent is closer than same language with other differences
+nl, zh, en-GB, no ; cmn, en-US ; zh
+nl, zh, en-GB, no ; nb, en-US ; no
+
+# legacy equivalent is closer than same language with other differences
+nl, fil, en-GB ; tl, en-US ; fil
+
+# distinguish near equivalents
+en, ro, mo, ro-MD ; ro ; ro
+en, ro, mo, ro-MD ; mo ; mo
+en, ro, mo, ro-MD ; ro-MD ; ro-MD
+
+# maximization of legacy
+sr-Cyrl, sr-Latn, ro, ro-MD ; sh ; sr-Latn
+sr-Cyrl, sr-Latn, ro, ro-MD ; mo ; ro-MD
+
+# empty
+ ; fr ; und
+ ; en ; und
+
+# private use subtags
+fr, en-GB, x-bork, es-ES, es-419 ; x-piglatin ; fr
+fr, en-GB, x-bork, es-ES, es-419 ; x-bork ; x-bork
+
+# grandfathered codes
+fr, i-klingon, en-Latn-US ; en-GB-oed ; en-Latn-US
+fr, i-klingon, en-Latn-US ; i-klingon ; tlh
+
+
+# simple variant match
+fr, en-GB, ja, es-ES, es-MX ; de, en-US ; en-GB
+fr, en-GB, ja, es-ES, es-MX ; de, zh ; fr
+
+# best match for traditional Chinese
+fr, zh-Hans-CN, en-US ; zh-TW ; zh-Hans-CN
+fr, zh-Hans-CN, en-US ; zh-Hant ; zh-Hans-CN
+fr, zh-Hans-CN, en-US ; zh-TW, en ; en-US
+fr, zh-Hans-CN, en-US ; zh-Hant-CN, en ; en-US
+fr, zh-Hans-CN, en-US ; zh-Hans, en ; zh-Hans-CN
+
+# more specific script should win in case regions are identical
+af, af-Latn, af-Arab ; af ; af
+af, af-Latn, af-Arab ; af-ZA ; af
+af, af-Latn, af-Arab ; af-Latn-ZA ; af-Latn
+af, af-Latn, af-Arab ; af-Latn ; af-Latn
+
+# more specific region should win
+nl, nl-NL, nl-BE ; nl ; nl
+nl, nl-NL, nl-BE ; nl-Latn ; nl
+nl, nl-NL, nl-BE ; nl-Latn-NL ; nl-NL
+nl, nl-NL, nl-BE ; nl-NL ; nl-NL
+
+# region may replace matched if matched is enclosing
+es-419,es ; es-MX ; es-419 ; es-MX
+es-419,es ; es-SG ; es
+
+# more specific region wins over more specific script
+nl, nl-Latn, nl-NL, nl-BE ; nl ; nl
+nl, nl-Latn, nl-NL, nl-BE ; nl-Latn ; nl-Latn
+nl, nl-Latn, nl-NL, nl-BE ; nl-NL ; nl-NL
+nl, nl-Latn, nl-NL, nl-BE ; nl-Latn-NL ; nl-NL
+
+# region distance Portuguese
+pt, pt-PT ; pt-ES ; pt-PT
+
+# if no preferred locale specified, pick top language, not regional
+en, fr, fr-CA, fr-CH ; fr-US ; fr #TODO: ; fr-u-rg-US
+
+# region distance German
+de-AT, de-DE, de-CH ; de ; de-DE
+
+# en-AU is closer to en-GB than to en (which is en-US)
+en, en-GB, es-ES, es-419 ; en-AU ; en-GB
+en, en-GB, es-ES, es-419 ; es-MX ; es-419 ; es-MX
+en, en-GB, es-ES, es-419 ; es-PT ; es-ES
+
+# undefined
+it, fr ; und ; it
+
+# und does not match en
+it, en ; und ; it
+
+# undefined in priority list
+it, und ; und ; und
+it, und ; en ; it
+
+# undefined
+it, fr, zh ; und-FR ; fr
+it, fr, zh ; und-CN ; zh
+it, fr, zh ; und-Hans ; zh
+it, fr, zh ; und-Hant ; zh
+it, fr, zh ; und-Latn ; it
+
+# match on maximized tag
+fr, en-GB, ja, es-ES, es-MX ; ja-JP, en-GB ; ja
+fr, en-GB, ja, es-ES, es-MX ; ja-Jpan-JP, en-GB ; ja
+
+# pick best maximized tag
+ja, ja-Jpan-US, ja-JP, en, ru ; ja-Jpan, ru ; ja
+ja, ja-Jpan-US, ja-JP, en, ru ; ja-JP, ru ; ja-JP
+ja, ja-Jpan-US, ja-JP, en, ru ; ja-US, ru ; ja-Jpan-US
+
+# termination: pick best maximized match
+ja, ja-Jpan, ja-JP, en, ru ; ja-Jpan-JP, ru ; ja-JP
+ja, ja-Jpan, ja-JP, en, ru ; ja-Jpan, ru ; ja-Jpan
+
+# same language over exact, but distinguish when user is explicit
+fr, en-GB, ja, es-ES, es-MX ; ja, de ; ja
+en, de, fr, ja ; de-CH, fr ; de # TODO: ; de-u-rg-CH
+en-GB, nl ; en, nl ; en-GB
+en-GB, nl ; en, nl, en-GB ; nl
+
+# parent relation preserved
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-150 ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-AU ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-BE ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-GG ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-GI ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-HK ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-IE ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-IM ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-IN ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-JE ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-MT ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-NZ ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-PK ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-SG ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-DE ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; en-MT ; en-GB
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-AR ; es-419 ; es-AR
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-BO ; es-419 ; es-BO
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-CL ; es-419 ; es-CL
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-CO ; es-419 ; es-CO
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-CR ; es-419 ; es-CR
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-CU ; es-419 ; es-CU
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-DO ; es-419 ; es-DO
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-EC ; es-419 ; es-EC
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-GT ; es-419 ; es-GT
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-HN ; es-419 ; es-HN
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-MX ; es-419 ; es-MX
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-NI ; es-419 ; es-NI
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PA ; es-419 ; es-PA
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PE ; es-419 ; es-PE
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PR ; es-419 ; es-PR
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PT ; es
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-PY ; es-419 ; es-PY
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-SV ; es-419 ; es-SV
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-US ; es-419
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-UY ; es-419 ; es-UY
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; es-VE ; es-419 ; es-VE
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-AO ; pt-PT
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-CV ; pt-PT
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-GW ; pt-PT
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-MO ; pt-PT
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-MZ ; pt-PT
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-ST ; pt-PT
+en, en-US, en-GB, es, es-419, pt, pt-BR, pt-PT, zh, zh-Hant, zh-Hant-HK ; pt-TL ; pt-PT
+
+# preserve extensions
+en, de, sl-nedis ; de-FR-u-co-phonebk ; de ; de-u-co-phonebk
+en, de, sl-nedis ; sl-nedis-u-cu-eur ; sl-nedis ; sl-nedis-u-cu-eur
+en, de, sl-nedis ; sl-u-cu-eur ; sl-nedis ; sl-nedis-u-cu-eur
+en, de, sl-nedis ; sl-HR-nedis-u-cu-eur ; sl-nedis ; sl-nedis-u-cu-eur
+en, de, sl-nedis ; de-t-m0-iso-i0-pinyin ; de ; de-t-m0-iso-i0-pinyin
+
diff --git a/vendor/golang.org/x/text/message/doc.go b/vendor/golang.org/x/text/message/doc.go
new file mode 100644
index 000000000..89c1592a4
--- /dev/null
+++ b/vendor/golang.org/x/text/message/doc.go
@@ -0,0 +1,100 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package message implements formatted I/O for localized strings with functions
+// analogous to the fmt's print functions. It is a drop-in replacement for fmt.
+//
+//
+// Localized Formatting
+//
+// A format string can be localized by replacing any of the print functions of
+// fmt with an equivalent call to a Printer.
+//
+// p := message.NewPrinter(language.English)
+// p.Println(123456.78) // Prints 123,456.78
+//
+// p.Printf("%d ducks in a row", 4331) // Prints 4,331 ducks in a row
+//
+// p := message.NewPrinter(language.Dutch)
+// p.Println("Hoogte: %f meter", 1244.9) // Prints Hoogte: 1.244,9 meter
+//
+// p := message.NewPrinter(language.Bengali)
+// p.Println(123456.78) // Prints ১,২৩,৪৫৬.৭৮
+//
+// Printer currently supports numbers and specialized types for which packages
+// exist in x/text. Other builtin types such as time.Time and slices are
+// planned.
+//
+// Format strings largely have the same meaning as with fmt with the following
+// notable exceptions:
+// - flag # always resorts to fmt for printing
+// - verb 'f', 'e', 'g', 'd' use localized formatting unless the '#' flag is
+// specified.
+//
+// See package fmt for more options.
+//
+//
+// Translation
+//
+// The format strings that are passed to Printf, Sprintf, Fprintf, or Errorf
+// are used as keys to look up translations for the specified languages.
+// More on how these need to be specified below.
+//
+// One can use arbitrary keys to distinguish between otherwise ambiguous
+// strings:
+// p := message.NewPrinter(language.English)
+// p.Printf("archive(noun)") // Prints "archive"
+// p.Printf("archive(verb)") // Prints "archive"
+//
+// p := message.NewPrinter(language.German)
+// p.Printf("archive(noun)") // Prints "Archiv"
+// p.Printf("archive(verb)") // Prints "archivieren"
+//
+// To retain the fallback functionality, use Key:
+// p.Printf(message.Key("archive(noun)", "archive"))
+// p.Printf(message.Key("archive(verb)", "archive"))
+//
+//
+// Translation Pipeline
+//
+// Format strings that contain text need to be translated to support different
+// locales. The first step is to extract strings that need to be translated.
+//
+// 1. Install gotext
+// go get -u golang.org/x/text/cmd/gotext
+// gotext -help
+//
+// 2. Mark strings in your source to be translated by using message.Printer,
+// instead of the functions of the fmt package.
+//
+// 3. Extract the strings from your source
+//
+// gotext extract
+//
+// The output will be written to the textdata directory.
+//
+// 4. Send the files for translation
+//
+// It is planned to support multiple formats, but for now one will have to
+// rewrite the JSON output to the desired format.
+//
+// 5. Inject translations into program
+//
+// 6. Repeat from 2
+//
+// Right now this has to be done programmatically with calls to Set or
+// SetString. These functions as well as the methods defined in
+// see also package golang.org/x/text/message/catalog can be used to implement
+// either dynamic or static loading of messages.
+//
+//
+// Plural and Gender Forms
+//
+// Translated messages can vary based on the plural and gender forms of
+// substitution values. In general, it is up to the translators to provide
+// alternative translations for such forms. See the packages in
+// golang.org/x/text/feature and golang.org/x/text/message/catalog for more
+// information.
+//
+package message
diff --git a/vendor/golang.org/x/text/message/examples_test.go b/vendor/golang.org/x/text/message/examples_test.go
new file mode 100644
index 000000000..c73eaf90b
--- /dev/null
+++ b/vendor/golang.org/x/text/message/examples_test.go
@@ -0,0 +1,42 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package message_test
+
+import (
+ "net/http"
+
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+)
+
+func Example_http() {
+ // languages supported by this service:
+ matcher := language.NewMatcher(message.DefaultCatalog.Languages())
+
+ http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
+ lang, _ := r.Cookie("lang")
+ accept := r.Header.Get("Accept-Language")
+ fallback := "en"
+ tag, _ := language.MatchStrings(matcher, lang.String(), accept, fallback)
+
+ p := message.NewPrinter(tag)
+
+ p.Fprintln(w, "User language is", tag)
+ })
+}
+
+func ExamplePrinter_numbers() {
+ for _, lang := range []string{"en", "de", "de-CH", "fr", "bn"} {
+ p := message.NewPrinter(language.Make(lang))
+ p.Printf("%-6s %g\n", lang, 123456.78)
+ }
+
+ // Output:
+ // en 123,456.78
+ // de 123.456,78
+ // de-CH 123’456.78
+ // fr 123 456,78
+ // bn ১,২৩,৪৫৬.৭৮
+}
diff --git a/vendor/golang.org/x/text/message/fmt_test.go b/vendor/golang.org/x/text/message/fmt_test.go
index 0dbedcbca..2110bb532 100755
--- a/vendor/golang.org/x/text/message/fmt_test.go
+++ b/vendor/golang.org/x/text/message/fmt_test.go
@@ -475,10 +475,8 @@ var fmtTests = []struct {
{"%.4b", float32(1.0), "8388608p-23"},
{"%.4b", -1.0, "-4503599627370496p-52"},
// Test correct f.intbuf boundary checks.
- // TODO: the following cases won't work because of rounding errors. We can
- // fix this if we expose the internals of strconv.
- // {"%.68f", 1.0, zeroFill("1.", 68, "")}, // TODO(bug): rounding error
- // {"%.68f", -1.0, zeroFill("-1.", 68, "")}, // TODO(bug): rounding error
+ {"%.68f", 1.0, zeroFill("1.", 68, "")},
+ {"%.68f", -1.0, zeroFill("-1.", 68, "")},
// float infinites and NaNs
{"%f", posInf, "∞"},
{"%.1f", negInf, "-∞"},
@@ -565,8 +563,8 @@ var fmtTests = []struct {
// old test/fmt_test.go
{"%e", 1.0, "1.000000\u202f×\u202f10⁰⁰"},
- {"%e", 1234.5678e3, "1.234570\u202f×\u202f10⁰⁶"},
- {"%e", 1234.5678e-8, "1.234570\u202f×\u202f10⁻⁰⁵"},
+ {"%e", 1234.5678e3, "1.234568\u202f×\u202f10⁰⁶"},
+ {"%e", 1234.5678e-8, "1.234568\u202f×\u202f10⁻⁰⁵"},
{"%e", -7.0, "-7.000000\u202f×\u202f10⁰⁰"},
{"%e", -1e-9, "-1.000000\u202f×\u202f10⁻⁰⁹"},
{"%f", 1234.5678e3, "1,234,567.800000"},
@@ -580,8 +578,8 @@ var fmtTests = []struct {
{"%g", -1e-9, "-1\u202f×\u202f10⁻⁰⁹"},
{"%g", float32(-1e-9), "-1\u202f×\u202f10⁻⁰⁹"},
{"%E", 1.0, "1.000000\u202f×\u202f10⁰⁰"},
- {"%E", 1234.5678e3, "1.234570\u202f×\u202f10⁰⁶"},
- {"%E", 1234.5678e-8, "1.234570\u202f×\u202f10⁻⁰⁵"},
+ {"%E", 1234.5678e3, "1.234568\u202f×\u202f10⁰⁶"},
+ {"%E", 1234.5678e-8, "1.234568\u202f×\u202f10⁻⁰⁵"},
{"%E", -7.0, "-7.000000\u202f×\u202f10⁰⁰"},
{"%E", -1e-9, "-1.000000\u202f×\u202f10⁻⁰⁹"},
{"%G", 1234.5678e3, "1.2345678\u202f×\u202f10⁰⁶"},
diff --git a/vendor/golang.org/x/text/message/message.go b/vendor/golang.org/x/text/message/message.go
index 92791236d..ba4f95ab0 100644
--- a/vendor/golang.org/x/text/message/message.go
+++ b/vendor/golang.org/x/text/message/message.go
@@ -2,15 +2,6 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// Package message implements formatted I/O for localized strings with functions
-// analogous to the fmt's print functions.
-//
-// These are the important differences with fmt:
-// - Output varies per locale.
-// - The '#' flag is used to bypass localization.
-//
-// NOTE: Under construction. See https://golang.org/design/12750-localization
-// and its corresponding proposal issue https://golang.org/issues/12750.
package message // import "golang.org/x/text/message"
import (
@@ -150,6 +141,7 @@ func lookupAndFormat(p *Printer, r Reference, a []interface{}) {
// Arg implements catmsg.Renderer.
func (p *printer) Arg(i int) interface{} { // TODO, also return "ok" bool
+ i--
if uint(i) < uint(len(p.args)) {
return p.args[i]
}
diff --git a/vendor/golang.org/x/text/message/print.go b/vendor/golang.org/x/text/message/print.go
index 8c8a23f15..5819cba2e 100644
--- a/vendor/golang.org/x/text/message/print.go
+++ b/vendor/golang.org/x/text/message/print.go
@@ -11,6 +11,7 @@ import (
"reflect"
"unicode/utf8"
+ "golang.org/x/text/internal/format"
"golang.org/x/text/internal/number"
"golang.org/x/text/language"
"golang.org/x/text/message/catalog"
@@ -237,7 +238,7 @@ func (p *printer) fmtFloat(v float64, size int, verb rune) {
if p.fmt.sharp || p.fmt.sharpV {
p.fmt.fmt_float(v, size, verb, -1)
} else {
- p.fmtVariableFloat(v, size, -1)
+ p.fmtVariableFloat(v, size)
}
case 'e', 'E':
if p.fmt.sharp || p.fmt.sharpV {
@@ -284,7 +285,7 @@ func (p *printer) initDecimal(minFrac, maxFrac int) {
f.MinIntegerDigits = 1
f.MaxIntegerDigits = 0
f.MinFractionDigits = uint8(minFrac)
- f.MaxFractionDigits = uint8(maxFrac)
+ f.MaxFractionDigits = int16(maxFrac)
p.setFlags(f)
f.PadRune = 0
if p.fmt.widPresent {
@@ -308,8 +309,13 @@ func (p *printer) initDecimal(minFrac, maxFrac int) {
func (p *printer) initScientific(minFrac, maxFrac int) {
f := &p.toScientific
- f.MinFractionDigits = uint8(minFrac)
- f.MaxFractionDigits = uint8(maxFrac)
+ if maxFrac < 0 {
+ f.SetPrecision(maxFrac)
+ } else {
+ f.SetPrecision(maxFrac + 1)
+ f.MinFractionDigits = uint8(minFrac)
+ f.MaxFractionDigits = int16(maxFrac)
+ }
f.MinExponentDigits = 2
p.setFlags(f)
f.PadRune = 0
@@ -328,8 +334,6 @@ func (p *printer) initScientific(minFrac, maxFrac int) {
func (p *printer) fmtDecimalInt(v uint64, isSigned bool) {
var d number.Decimal
- p.toDecimal.RoundingContext.Scale = 0
- d.ConvertInt(&p.toDecimal.RoundingContext, isSigned, v)
f := &p.toDecimal
if p.fmt.precPresent {
@@ -344,6 +348,7 @@ func (p *printer) fmtDecimalInt(v uint64, isSigned bool) {
} else {
p.initDecimal(0, 0)
}
+ d.ConvertInt(p.toDecimal.RoundingContext, isSigned, v)
out := p.toDecimal.Format([]byte(nil), &d)
p.Buffer.Write(out)
@@ -354,22 +359,21 @@ func (p *printer) fmtDecimalFloat(v float64, size, prec int) {
if p.fmt.precPresent {
prec = p.fmt.prec
}
- p.toDecimal.RoundingContext.Scale = int32(prec)
- d.ConvertFloat(&p.toDecimal.RoundingContext, v, size)
-
p.initDecimal(prec, prec)
+ d.ConvertFloat(p.toDecimal.RoundingContext, v, size)
out := p.toDecimal.Format([]byte(nil), &d)
p.Buffer.Write(out)
}
-func (p *printer) fmtVariableFloat(v float64, size, prec int) {
+func (p *printer) fmtVariableFloat(v float64, size int) {
+ prec := -1
if p.fmt.precPresent {
prec = p.fmt.prec
}
var d number.Decimal
- p.toScientific.RoundingContext.Precision = int32(prec)
- d.ConvertFloat(&p.toScientific.RoundingContext, v, size)
+ p.initScientific(0, prec)
+ d.ConvertFloat(p.toScientific.RoundingContext, v, size)
// Copy logic of 'g' formatting from strconv. It is simplified a bit as
// we don't have to mind having prec > len(d.Digits).
@@ -407,10 +411,9 @@ func (p *printer) fmtScientific(v float64, size, prec int) {
if p.fmt.precPresent {
prec = p.fmt.prec
}
- p.toScientific.RoundingContext.Precision = int32(prec)
- d.ConvertFloat(&p.toScientific.RoundingContext, v, size)
-
p.initScientific(prec, prec)
+ rc := p.toScientific.RoundingContext
+ d.ConvertFloat(rc, v, size)
out := p.toScientific.Format([]byte(nil), &d)
p.Buffer.Write(out)
@@ -603,6 +606,12 @@ func (p *printer) handleMethods(verb rune) (handled bool) {
return
}
// Is it a Formatter?
+ if formatter, ok := p.arg.(format.Formatter); ok {
+ handled = true
+ defer p.catchPanic(p.arg, verb)
+ formatter.Format(p, verb)
+ return
+ }
if formatter, ok := p.arg.(fmt.Formatter); ok {
handled = true
defer p.catchPanic(p.arg, verb)
@@ -1038,7 +1047,7 @@ formatLoop:
p.fmt.plusV = p.fmt.plus
p.fmt.plus = false
}
- p.printArg(p.Arg(p.argNum), rune(c))
+ p.printArg(p.Arg(p.argNum+1), rune(c))
p.argNum++
i++
continue formatLoop
diff --git a/vendor/golang.org/x/text/number/doc.go b/vendor/golang.org/x/text/number/doc.go
new file mode 100644
index 000000000..2ad8d431a
--- /dev/null
+++ b/vendor/golang.org/x/text/number/doc.go
@@ -0,0 +1,28 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package number formats numbers according to the customs of different locales.
+//
+// The number formats of this package allow for greater formatting flexibility
+// than passing values to message.Printf calls as is. It currently supports the
+// builtin Go types and anything that implements the Convert interface
+// (currently internal).
+//
+// p := message.NewPrinter(language.English)
+//
+// p.Printf("%v bottles of beer on the wall.", number.Decimal(1234))
+// // Prints: 1,234 bottles of beer on the wall.
+//
+// p.Printf("%v of gophers lose too much fur", number.Percent(0.12))
+// // Prints: 12% of gophers lose too much fur.
+//
+// p := message.NewPrinter(language.Dutch)
+//
+// p.Printf("There are %v bikes per household.", number.Decimal(1.2))
+// // Prints: Er zijn 1,2 fietsen per huishouden.
+//
+//
+// The width and scale specified in the formatting directives override the
+// configuration of the formatter.
+package number
diff --git a/vendor/golang.org/x/text/number/examples_test.go b/vendor/golang.org/x/text/number/examples_test.go
new file mode 100644
index 000000000..fb9bcc960
--- /dev/null
+++ b/vendor/golang.org/x/text/number/examples_test.go
@@ -0,0 +1,28 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package number_test
+
+import (
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+ "golang.org/x/text/number"
+)
+
+func ExampleMaxIntegerDigits() {
+ const year = 1999
+ p := message.NewPrinter(language.English)
+ p.Println("Year:", number.Decimal(year, number.MaxIntegerDigits(2)))
+
+ // Output:
+ // Year: 99
+}
+
+func ExampleIncrementString() {
+ p := message.NewPrinter(language.English)
+
+ p.Println(number.Decimal(1.33, number.IncrementString("0.50")))
+
+ // Output: 1.50
+}
diff --git a/vendor/golang.org/x/text/number/format.go b/vendor/golang.org/x/text/number/format.go
new file mode 100755
index 000000000..1c3d41be0
--- /dev/null
+++ b/vendor/golang.org/x/text/number/format.go
@@ -0,0 +1,122 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package number
+
+import (
+ "fmt"
+ "strings"
+
+ "golang.org/x/text/feature/plural"
+ "golang.org/x/text/internal/format"
+ "golang.org/x/text/internal/number"
+ "golang.org/x/text/language"
+)
+
+// A FormatFunc formates a number.
+type FormatFunc func(x interface{}, opts ...Option) Formatter
+
+// NewFormat creates a FormatFunc based on another FormatFunc and new options.
+// Use NewFormat to cash the creation of formatters.
+func NewFormat(format FormatFunc, opts ...Option) FormatFunc {
+ o := *format(nil).options
+ n := len(o.options)
+ o.options = append(o.options[:n:n], opts...)
+ return func(x interface{}, opts ...Option) Formatter {
+ return newFormatter(&o, opts, x)
+ }
+}
+
+type options struct {
+ verbs string
+ initFunc initFunc
+ options []Option
+ pluralFunc func(t language.Tag, scale int) (f plural.Form, n int)
+}
+
+type optionFlag uint16
+
+const (
+ hasScale optionFlag = 1 << iota
+ hasPrecision
+ noSeparator
+ exact
+)
+
+type initFunc func(f *number.Formatter, t language.Tag)
+
+func newFormatter(o *options, opts []Option, value interface{}) Formatter {
+ if len(opts) > 0 {
+ n := *o
+ n.options = opts
+ o = &n
+ }
+ return Formatter{o, value}
+}
+
+func newOptions(verbs string, f initFunc) *options {
+ return &options{verbs: verbs, initFunc: f}
+}
+
+type Formatter struct {
+ *options
+ value interface{}
+}
+
+// Format implements format.Formatter. It is for internal use only for now.
+func (f Formatter) Format(state format.State, verb rune) {
+ // TODO: consider implementing fmt.Formatter instead and using the following
+ // piece of code. This allows numbers to be rendered mostly as expected
+ // when using fmt. But it may get weird with the spellout options and we
+ // may need more of format.State over time.
+ // lang := language.Und
+ // if s, ok := state.(format.State); ok {
+ // lang = s.Language()
+ // }
+
+ lang := state.Language()
+ if !strings.Contains(f.verbs, string(verb)) {
+ fmt.Fprintf(state, "%%!%s(%T=%v)", string(verb), f.value, f.value)
+ return
+ }
+ var p number.Formatter
+ f.initFunc(&p, lang)
+ for _, o := range f.options.options {
+ o(lang, &p)
+ }
+ if w, ok := state.Width(); ok {
+ p.FormatWidth = uint16(w)
+ }
+ if prec, ok := state.Precision(); ok {
+ switch verb {
+ case 'd':
+ p.SetScale(0)
+ case 'f':
+ p.SetScale(prec)
+ case 'e':
+ p.SetPrecision(prec + 1)
+ case 'g':
+ p.SetPrecision(prec)
+ }
+ }
+ var d number.Decimal
+ d.Convert(p.RoundingContext, f.value)
+ state.Write(p.Format(nil, &d))
+}
+
+// Digits returns information about which logical digits will be presented to
+// the user. This information is relevant, for instance, to determine plural
+// forms.
+func (f Formatter) Digits(buf []byte, tag language.Tag, scale int) number.Digits {
+ var p number.Formatter
+ f.initFunc(&p, tag)
+ if scale >= 0 {
+ // TODO: this only works well for decimal numbers, which is generally
+ // fine.
+ p.SetScale(scale)
+ }
+ var d number.Decimal
+ d.Convert(p.RoundingContext, f.value)
+ return number.FormatDigits(&d, p.RoundingContext)
+}
diff --git a/vendor/golang.org/x/text/number/format_test.go b/vendor/golang.org/x/text/number/format_test.go
new file mode 100644
index 000000000..3c67c5d41
--- /dev/null
+++ b/vendor/golang.org/x/text/number/format_test.go
@@ -0,0 +1,107 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package number
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/text/feature/plural"
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+)
+
+func TestWrongVerb(t *testing.T) {
+ testCases := []struct {
+ f Formatter
+ fmt string
+ want string
+ }{{
+ f: Decimal(12),
+ fmt: "%e",
+ want: "%!e(int=12)",
+ }, {
+ f: Scientific(12),
+ fmt: "%f",
+ want: "%!f(int=12)",
+ }, {
+ f: Engineering(12),
+ fmt: "%f",
+ want: "%!f(int=12)",
+ }, {
+ f: Percent(12),
+ fmt: "%e",
+ want: "%!e(int=12)",
+ }}
+ for _, tc := range testCases {
+ t.Run("", func(t *testing.T) {
+ tag := language.Und
+ got := message.NewPrinter(tag).Sprintf(tc.fmt, tc.f)
+ if got != tc.want {
+ t.Errorf("got %q; want %q", got, tc.want)
+ }
+ })
+ }
+}
+
+func TestDigits(t *testing.T) {
+ testCases := []struct {
+ f Formatter
+ scale int
+ want string
+ }{{
+ f: Decimal(3),
+ scale: 0,
+ want: "digits:[3] exp:1 comma:0 end:1",
+ }, {
+ f: Decimal(3.1),
+ scale: 0,
+ want: "digits:[3] exp:1 comma:0 end:1",
+ }, {
+ f: Scientific(3.1),
+ scale: 0,
+ want: "digits:[3] exp:1 comma:1 end:1",
+ }, {
+ f: Scientific(3.1),
+ scale: 3,
+ want: "digits:[3 1] exp:1 comma:1 end:4",
+ }}
+ for _, tc := range testCases {
+ t.Run("", func(t *testing.T) {
+ d := tc.f.Digits(nil, language.Croatian, tc.scale)
+ got := fmt.Sprintf("digits:%d exp:%d comma:%d end:%d", d.Digits, d.Exp, d.Comma, d.End)
+ if got != tc.want {
+ t.Errorf("got %v; want %v", got, tc.want)
+ }
+ })
+ }
+}
+
+func TestPluralIntegration(t *testing.T) {
+ testCases := []struct {
+ f Formatter
+ want string
+ }{{
+ f: Decimal(1),
+ want: "one: 1",
+ }, {
+ f: Decimal(5),
+ want: "other: 5",
+ }}
+ for _, tc := range testCases {
+ t.Run("", func(t *testing.T) {
+ message.Set(language.English, "num %f", plural.Selectf(1, "%f",
+ "one", "one: %f",
+ "other", "other: %f"))
+
+ p := message.NewPrinter(language.English)
+
+ got := p.Sprintf("num %f", tc.f)
+ if got != tc.want {
+ t.Errorf("got %v; want %v", got, tc.want)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/text/number/number.go b/vendor/golang.org/x/text/number/number.go
new file mode 100755
index 000000000..f5ca93b15
--- /dev/null
+++ b/vendor/golang.org/x/text/number/number.go
@@ -0,0 +1,77 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package number
+
+// TODO:
+// p.Printf("The gauge was at %v.", number.Spell(number.Percent(23)))
+// // Prints: The gauge was at twenty-three percent.
+//
+// p.Printf("From here to %v!", number.Spell(math.Inf()))
+// // Prints: From here to infinity!
+//
+
+import (
+ "golang.org/x/text/internal/number"
+)
+
+const (
+ decimalVerbs = "vfgd"
+ scientificVerbs = "veg"
+)
+
+// Decimal formats a number as a floating point decimal.
+func Decimal(x interface{}, opts ...Option) Formatter {
+ return newFormatter(decimalOptions, opts, x)
+}
+
+var decimalOptions = newOptions(decimalVerbs, (*number.Formatter).InitDecimal)
+
+// Scientific formats a number in scientific format.
+func Scientific(x interface{}, opts ...Option) Formatter {
+ return newFormatter(scientificOptions, opts, x)
+}
+
+var scientificOptions = newOptions(scientificVerbs, (*number.Formatter).InitScientific)
+
+// Engineering formats a number using engineering notation, which is like
+// scientific notation, but with the exponent normalized to multiples of 3.
+func Engineering(x interface{}, opts ...Option) Formatter {
+ return newFormatter(engineeringOptions, opts, x)
+}
+
+var engineeringOptions = newOptions(scientificVerbs, (*number.Formatter).InitEngineering)
+
+// Percent formats a number as a percentage. A value of 1.0 means 100%.
+func Percent(x interface{}, opts ...Option) Formatter {
+ return newFormatter(percentOptions, opts, x)
+}
+
+var percentOptions = newOptions(decimalVerbs, (*number.Formatter).InitPercent)
+
+// PerMille formats a number as a per mille indication. A value of 1.0 means
+// 1000‰.
+func PerMille(x interface{}, opts ...Option) Formatter {
+ return newFormatter(perMilleOptions, opts, x)
+}
+
+var perMilleOptions = newOptions(decimalVerbs, (*number.Formatter).InitPerMille)
+
+// TODO:
+// - Shortest: akin to verb 'g' of 'G'
+//
+// TODO: RBNF forms:
+// - Compact: 1M 3.5T
+// - CompactBinary: 1Mi 3.5Ti
+// - Long: 1 million
+// - Ordinal:
+// - Roman: MCMIIXX
+// - RomanSmall: mcmiixx
+// - Text: numbers as it typically appears in running text, allowing
+// language-specific choices for when to use numbers and when to use words.
+// - Spell?: spelled-out number. Maybe just allow as an option?
+
+// NOTE: both spelled-out numbers and ordinals, to render correctly, need
+// detailed linguistic information from the translated string into which they
+// are substituted. We will need to implement that first.
diff --git a/vendor/golang.org/x/text/number/number_test.go b/vendor/golang.org/x/text/number/number_test.go
new file mode 100644
index 000000000..96b1acb52
--- /dev/null
+++ b/vendor/golang.org/x/text/number/number_test.go
@@ -0,0 +1,190 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package number
+
+import (
+ "strings"
+ "testing"
+
+ "golang.org/x/text/language"
+ "golang.org/x/text/message"
+)
+
+func TestFormatter(t *testing.T) {
+ overrides := map[string]string{
+ "en": "*e#######0",
+ "nl": "*n#######0",
+ }
+ testCases := []struct {
+ desc string
+ tag string
+ f Formatter
+ want string
+ }{{
+ desc: "decimal",
+ f: Decimal(3),
+ want: "3",
+ }, {
+ desc: "decimal fraction",
+ f: Decimal(0.123),
+ want: "0.123",
+ }, {
+ desc: "separators",
+ f: Decimal(1234.567),
+ want: "1,234.567",
+ }, {
+ desc: "no separators",
+ f: Decimal(1234.567, NoSeparator()),
+ want: "1234.567",
+ }, {
+ desc: "max integer",
+ f: Decimal(1973, MaxIntegerDigits(2)),
+ want: "73",
+ }, {
+ desc: "max integer overflow",
+ f: Decimal(1973, MaxIntegerDigits(1000)),
+ want: "1,973",
+ }, {
+ desc: "min integer",
+ f: Decimal(12, MinIntegerDigits(5)),
+ want: "00,012",
+ }, {
+ desc: "max fraction zero",
+ f: Decimal(0.12345, MaxFractionDigits(0)),
+ want: "0",
+ }, {
+ desc: "max fraction 2",
+ f: Decimal(0.12, MaxFractionDigits(2)),
+ want: "0.12",
+ }, {
+ desc: "min fraction 2",
+ f: Decimal(0.12, MaxFractionDigits(2)),
+ want: "0.12",
+ }, {
+ desc: "max fraction overflow",
+ f: Decimal(0.123, MaxFractionDigits(1e6)),
+ want: "0.123",
+ }, {
+ desc: "min integer overflow",
+ f: Decimal(0, MinIntegerDigits(1e6)),
+ want: strings.Repeat("000,", 255/3-1) + "000",
+ }, {
+ desc: "min fraction overflow",
+ f: Decimal(0, MinFractionDigits(1e6)),
+ want: "0." + strings.Repeat("0", 255), // TODO: fraction separators
+ }, {
+ desc: "format width",
+ f: Decimal(123, FormatWidth(10)),
+ want: " 123",
+ }, {
+ desc: "format width pad option before",
+ f: Decimal(123, Pad('*'), FormatWidth(10)),
+ want: "*******123",
+ }, {
+ desc: "format width pad option after",
+ f: Decimal(123, FormatWidth(10), Pad('*')),
+ want: "*******123",
+ }, {
+ desc: "format width illegal",
+ f: Decimal(123, FormatWidth(-1)),
+ want: "123",
+ }, {
+ desc: "increment",
+ f: Decimal(10.33, IncrementString("0.5")),
+ want: "10.5",
+ }, {
+ desc: "increment",
+ f: Decimal(10, IncrementString("ppp")),
+ want: "10",
+ }, {
+ desc: "increment and scale",
+ f: Decimal(10.33, IncrementString("0.5"), Scale(2)),
+ want: "10.50",
+ }, {
+ desc: "pattern overrides en",
+ tag: "en",
+ f: Decimal(101, PatternOverrides(overrides)),
+ want: "eeeee101",
+ }, {
+ desc: "pattern overrides nl",
+ tag: "nl",
+ f: Decimal(101, PatternOverrides(overrides)),
+ want: "nnnnn101",
+ }, {
+ desc: "pattern overrides de",
+ tag: "de",
+ f: Decimal(101, PatternOverrides(overrides)),
+ want: "101",
+ }, {
+ desc: "language selection",
+ tag: "bn",
+ f: Decimal(123456.78, Scale(2)),
+ want: "১,২৩,৪৫৬.৭৮",
+ }, {
+ desc: "scale",
+ f: Decimal(1234.567, Scale(2)),
+ want: "1,234.57",
+ }, {
+ desc: "scientific",
+ f: Scientific(3.00),
+ want: "3\u202f×\u202f10⁰",
+ }, {
+ desc: "scientific",
+ f: Scientific(1234),
+ want: "1.234\u202f×\u202f10³",
+ }, {
+ desc: "scientific",
+ f: Scientific(1234, Scale(2)),
+ want: "1.23\u202f×\u202f10³",
+ }, {
+ desc: "engineering",
+ f: Engineering(12345),
+ want: "12.345\u202f×\u202f10³",
+ }, {
+ desc: "engineering scale",
+ f: Engineering(12345, Scale(2)),
+ want: "12.34\u202f×\u202f10³",
+ }, {
+ desc: "engineering precision(4)",
+ f: Engineering(12345, Precision(4)),
+ want: "12.34\u202f×\u202f10³",
+ }, {
+ desc: "engineering precision(2)",
+ f: Engineering(1234.5, Precision(2)),
+ want: "1.2\u202f×\u202f10³",
+ }, {
+ desc: "percent",
+ f: Percent(0.12),
+ want: "12%",
+ }, {
+ desc: "permille",
+ f: PerMille(0.123),
+ want: "123‰",
+ }, {
+ desc: "percent rounding",
+ f: PerMille(0.12345),
+ want: "123‰",
+ }, {
+ desc: "percent fraction",
+ f: PerMille(0.12345, Scale(2)),
+ want: "123.45‰",
+ }, {
+ desc: "percent fraction",
+ f: PerMille(0.12345, Scale(1)),
+ want: "123.4‰",
+ }}
+ for _, tc := range testCases {
+ t.Run(tc.desc, func(t *testing.T) {
+ tag := language.Und
+ if tc.tag != "" {
+ tag = language.MustParse(tc.tag)
+ }
+ got := message.NewPrinter(tag).Sprint(tc.f)
+ if got != tc.want {
+ t.Errorf("got %q; want %q", got, tc.want)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/text/number/option.go b/vendor/golang.org/x/text/number/option.go
new file mode 100644
index 000000000..de96f8eaa
--- /dev/null
+++ b/vendor/golang.org/x/text/number/option.go
@@ -0,0 +1,177 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package number
+
+import (
+ "fmt"
+
+ "golang.org/x/text/internal/number"
+ "golang.org/x/text/language"
+)
+
+// An Option configures a Formatter.
+type Option option
+
+type option func(tag language.Tag, f *number.Formatter)
+
+// TODO: SpellOut requires support of the ICU RBNF format.
+// func SpellOut() Option
+
+// NoSeparator causes a number to be displayed without grouping separators.
+func NoSeparator() Option {
+ return func(t language.Tag, f *number.Formatter) {
+ f.GroupingSize = [2]uint8{}
+ }
+}
+
+// MaxIntegerDigits limits the number of integer digits, eliminating the
+// most significant digits.
+func MaxIntegerDigits(max int) Option {
+ return func(t language.Tag, f *number.Formatter) {
+ if max >= 1<<8 {
+ max = (1 << 8) - 1
+ }
+ f.MaxIntegerDigits = uint8(max)
+ }
+}
+
+// MinIntegerDigits specifies the minimum number of integer digits, adding
+// leading zeros when needed.
+func MinIntegerDigits(min int) Option {
+ return func(t language.Tag, f *number.Formatter) {
+ if min >= 1<<8 {
+ min = (1 << 8) - 1
+ }
+ f.MinIntegerDigits = uint8(min)
+ }
+}
+
+// MaxFractionDigits specifies the maximum number of fractional digits.
+func MaxFractionDigits(max int) Option {
+ return func(t language.Tag, f *number.Formatter) {
+ if max >= 1<<15 {
+ max = (1 << 15) - 1
+ }
+ f.MaxFractionDigits = int16(max)
+ }
+}
+
+// MinFractionDigits specifies the minimum number of fractional digits.
+func MinFractionDigits(min int) Option {
+ return func(t language.Tag, f *number.Formatter) {
+ if min >= 1<<8 {
+ min = (1 << 8) - 1
+ }
+ f.MinFractionDigits = uint8(min)
+ }
+}
+
+// Precision sets the maximum number of significant digits. A negative value
+// means exact.
+func Precision(prec int) Option {
+ return func(t language.Tag, f *number.Formatter) {
+ f.SetPrecision(prec)
+ }
+}
+
+// Scale simultaneously sets MinFractionDigits and MaxFractionDigits to the
+// given value.
+func Scale(decimals int) Option {
+ return func(t language.Tag, f *number.Formatter) {
+ f.SetScale(decimals)
+ }
+}
+
+// IncrementString sets the incremental value to which numbers should be
+// rounded. For instance: Increment("0.05") will cause 1.44 to round to 1.45.
+// IncrementString also sets scale to the scale of the increment.
+func IncrementString(decimal string) Option {
+ increment := 0
+ scale := 0
+ d := decimal
+ p := 0
+ for ; p < len(d) && '0' <= d[p] && d[p] <= '9'; p++ {
+ increment *= 10
+ increment += int(d[p]) - '0'
+ }
+ if p < len(d) && d[p] == '.' {
+ for p++; p < len(d) && '0' <= d[p] && d[p] <= '9'; p++ {
+ increment *= 10
+ increment += int(d[p]) - '0'
+ scale++
+ }
+ }
+ if p < len(d) {
+ increment = 0
+ scale = 0
+ }
+ return func(t language.Tag, f *number.Formatter) {
+ f.Increment = uint32(increment)
+ f.IncrementScale = uint8(scale)
+ f.SetScale(scale)
+ }
+}
+
+func noop(language.Tag, *number.Formatter) {}
+
+// PatternOverrides allows users to specify alternative patterns for specific
+// languages. The Pattern will be overridden for all languages in a subgroup as
+// well. The function will panic for invalid input. It is best to create this
+// option at startup time.
+// PatternOverrides must be the first Option passed to a formatter.
+func PatternOverrides(patterns map[string]string) Option {
+ // TODO: make it so that it does not have to be the first option.
+ // TODO: use -x-nochild to indicate it does not override child tags.
+ m := map[language.Tag]*number.Pattern{}
+ for k, v := range patterns {
+ tag := language.MustParse(k)
+ p, err := number.ParsePattern(v)
+ if err != nil {
+ panic(fmt.Errorf("number: PatternOverrides: %v", err))
+ }
+ m[tag] = p
+ }
+ return func(t language.Tag, f *number.Formatter) {
+ // TODO: Use language grouping relation instead of parent relation.
+ // TODO: Should parent implement the grouping relation?
+ for lang := t; ; lang = t.Parent() {
+ if p, ok := m[lang]; ok {
+ f.Pattern = *p
+ break
+ }
+ if lang == language.Und {
+ break
+ }
+ }
+ }
+}
+
+// FormatWidth sets the total format width.
+func FormatWidth(n int) Option {
+ if n <= 0 {
+ return noop
+ }
+ return func(t language.Tag, f *number.Formatter) {
+ f.FormatWidth = uint16(n)
+ if f.PadRune == 0 {
+ f.PadRune = ' '
+ }
+ }
+}
+
+// Pad sets the rune to be used for filling up to the format width.
+func Pad(r rune) Option {
+ return func(t language.Tag, f *number.Formatter) {
+ f.PadRune = r
+ }
+}
+
+// TODO:
+// - FormatPosition (using type aliasing?)
+// - Multiplier: find a better way to represent and figure out what to do
+// with clashes with percent/permille.
+// - NumberingSystem(nu string): not accessable in number.Info now. Also, should
+// this be keyed by language or generic?
+// - SymbolOverrides(symbols map[string]map[number.SymbolType]string) Option
diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule.go b/vendor/golang.org/x/text/secure/bidirule/bidirule.go
index a7161bdd9..0e6b85824 100644
--- a/vendor/golang.org/x/text/secure/bidirule/bidirule.go
+++ b/vendor/golang.org/x/text/secure/bidirule/bidirule.go
@@ -155,6 +155,7 @@ func DirectionString(s string) bidi.Direction {
e, sz := bidi.LookupString(s[i:])
if sz == 0 {
i++
+ continue
}
c := e.Class()
if c == bidi.R || c == bidi.AL || c == bidi.AN {
@@ -203,9 +204,6 @@ func (t *Transformer) isRTL() bool {
}
func (t *Transformer) isFinal() bool {
- if !t.isRTL() {
- return true
- }
return t.state == ruleLTRFinal || t.state == ruleRTLFinal || t.state == ruleInitial
}
diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go b/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go
index 0794b3d7d..4b6c612dc 100644
--- a/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go
+++ b/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go
@@ -120,43 +120,53 @@ var testCases = [][]ruleTest{
}, {
in: strEN,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strEN),
}, {
in: strES,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strES),
}, {
in: strET,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strET),
}, {
in: strCS,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strCS),
}, {
in: strNSM,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strNSM),
}, {
in: strBN,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strBN),
}, {
in: strB,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strB),
}, {
in: strS,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strS),
}, {
in: strWS,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strWS),
}, {
in: strON,
dir: bidi.LeftToRight,
- err: nil, // not an RTL string
+ err: ErrInvalid,
+ n: len(strON),
}, {
in: strEN + strR,
dir: bidi.RightToLeft,
@@ -506,8 +516,8 @@ var testCases = [][]ruleTest{
}, {
in: strL + strB + strL,
dir: bidi.LeftToRight,
- n: len(strL + strAN + strL),
- err: nil,
+ n: len(strL + strB + strL),
+ err: ErrInvalid,
}, {
in: strL + strB + strL + strR,
dir: bidi.RightToLeft,
@@ -517,7 +527,7 @@ var testCases = [][]ruleTest{
in: strL + strS + strL,
dir: bidi.LeftToRight,
n: len(strL + strS + strL),
- err: nil,
+ err: ErrInvalid,
}, {
in: strL + strS + strL + strR,
dir: bidi.RightToLeft,
@@ -527,7 +537,7 @@ var testCases = [][]ruleTest{
in: strL + strWS + strL,
dir: bidi.LeftToRight,
n: len(strL + strWS + strL),
- err: nil,
+ err: ErrInvalid,
}, {
in: strL + strWS + strL + strR,
dir: bidi.RightToLeft,
@@ -560,7 +570,7 @@ var testCases = [][]ruleTest{
in: strL + strES,
dir: bidi.LeftToRight,
n: len(strL + strES),
- err: nil,
+ err: ErrInvalid,
}, {
in: strL + strES + strR,
dir: bidi.RightToLeft,
@@ -570,7 +580,7 @@ var testCases = [][]ruleTest{
in: strL + strCS,
dir: bidi.LeftToRight,
n: len(strL + strCS),
- err: nil,
+ err: ErrInvalid,
}, {
in: strL + strCS + strR,
dir: bidi.RightToLeft,
@@ -580,7 +590,7 @@ var testCases = [][]ruleTest{
in: strL + strET,
dir: bidi.LeftToRight,
n: len(strL + strET),
- err: nil,
+ err: ErrInvalid,
}, {
in: strL + strET + strR,
dir: bidi.RightToLeft,
@@ -590,7 +600,7 @@ var testCases = [][]ruleTest{
in: strL + strON,
dir: bidi.LeftToRight,
n: len(strL + strON),
- err: nil,
+ err: ErrInvalid,
}, {
in: strL + strON + strR,
dir: bidi.RightToLeft,
@@ -600,7 +610,7 @@ var testCases = [][]ruleTest{
in: strL + strBN,
dir: bidi.LeftToRight,
n: len(strL + strBN),
- err: nil,
+ err: ErrInvalid,
}, {
in: strL + strBN + strR,
dir: bidi.RightToLeft,
@@ -625,31 +635,31 @@ var testCases = [][]ruleTest{
in: strL + strB,
dir: bidi.LeftToRight,
n: len(strL + strB),
- err: nil,
+ err: ErrInvalid,
}, {
in: strL + strB + strR,
dir: bidi.RightToLeft,
n: len(strL + strB),
err: ErrInvalid,
}, {
- in: strL + strB,
+ in: strL + strS,
dir: bidi.LeftToRight,
- n: len(strL + strB),
- err: nil,
+ n: len(strL + strS),
+ err: ErrInvalid,
}, {
- in: strL + strB + strR,
+ in: strL + strS + strR,
dir: bidi.RightToLeft,
- n: len(strL + strB),
+ n: len(strL + strS),
err: ErrInvalid,
}, {
- in: strL + strB,
+ in: strL + strWS,
dir: bidi.LeftToRight,
- n: len(strL + strB),
- err: nil,
+ n: len(strL + strWS),
+ err: ErrInvalid,
}, {
- in: strL + strB + strR,
+ in: strL + strWS + strR,
dir: bidi.RightToLeft,
- n: len(strL + strB),
+ n: len(strL + strWS),
err: ErrInvalid,
}},
@@ -688,6 +698,11 @@ var testCases = [][]ruleTest{
nSrc: 5,
err0: transform.ErrShortDst,
}, {
+ in: "\U000102f7",
+ dir: bidi.LeftToRight,
+ n: len("\U000102f7"),
+ err: ErrInvalid,
+ }, {
// Short destination splitting input rune
in: "e\u0301",
dir: bidi.LeftToRight,
@@ -696,6 +711,17 @@ var testCases = [][]ruleTest{
szDst: 2,
nSrc: 1,
err0: transform.ErrShortDst,
+ }, {
+ // Unicode 10.0.0 IDNA test string.
+ in: "FAX\u2a77\U0001d186",
+ dir: bidi.LeftToRight,
+ n: len("FAX\u2a77\U0001d186"),
+ err: ErrInvalid,
+ }, {
+ in: "\x80\u0660",
+ dir: bidi.RightToLeft,
+ n: 0,
+ err: ErrInvalid,
}},
}
diff --git a/vendor/golang.org/x/text/secure/precis/enforce_test.go b/vendor/golang.org/x/text/secure/precis/enforce_test.go
index d36a9809c..b54662758 100644
--- a/vendor/golang.org/x/text/secure/precis/enforce_test.go
+++ b/vendor/golang.org/x/text/secure/precis/enforce_test.go
@@ -210,27 +210,27 @@ var enforceTestCases = []struct {
{"\u03D2", "", errDisallowedRune},
{"\u03B0", "\u03B0", nil},
{"foo bar", "", errDisallowedRune},
- {"♚", "", errDisallowedRune},
+ {"♚", "", bidirule.ErrInvalid},
{"\u007E", "~", nil},
{"a", "a", nil},
{"!", "!", nil},
- {"²", "", errDisallowedRune},
+ {"²", "", bidirule.ErrInvalid},
{"\t", "", errDisallowedRune},
{"\n", "", errDisallowedRune},
- {"\u26D6", "", errDisallowedRune},
- {"\u26FF", "", errDisallowedRune},
+ {"\u26D6", "", bidirule.ErrInvalid},
+ {"\u26FF", "", bidirule.ErrInvalid},
{"\uFB00", "", errDisallowedRune},
- {"\u1680", "", errDisallowedRune},
+ {"\u1680", "", bidirule.ErrInvalid},
{" ", "", errDisallowedRune},
{" ", "", errDisallowedRune},
{"\u01C5", "", errDisallowedRune},
- {"\u16EE", "", errDisallowedRune}, // Nl RUNIC ARLAUG SYMBOL
- {"\u0488", "", errDisallowedRune}, // Me COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
- {"\u212B", "\u00e5", nil}, // Angstrom sign, NFC -> U+00E5
- {"A\u030A", "å", nil}, // A + ring
- {"\u00C5", "å", nil}, // A with ring
- {"\u00E7", "ç", nil}, // c cedille
- {"\u0063\u0327", "ç", nil}, // c + cedille
+ {"\u16EE", "", errDisallowedRune}, // Nl RUNIC ARLAUG SYMBOL
+ {"\u0488", "", bidirule.ErrInvalid}, // Me COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
+ {"\u212B", "\u00e5", nil}, // Angstrom sign, NFC -> U+00E5
+ {"A\u030A", "å", nil}, // A + ring
+ {"\u00C5", "å", nil}, // A with ring
+ {"\u00E7", "ç", nil}, // c cedille
+ {"\u0063\u0327", "ç", nil}, // c + cedille
{"\u0158", "ř", nil},
{"\u0052\u030C", "ř", nil},
diff --git a/vendor/golang.org/x/text/secure/precis/tables.go b/vendor/golang.org/x/text/secure/precis/tables.go
index 2f550c1ef..113d5d29e 100644
--- a/vendor/golang.org/x/text/secure/precis/tables.go
+++ b/vendor/golang.org/x/text/secure/precis/tables.go
@@ -3,7 +3,7 @@
package precis
// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "9.0.0"
+const UnicodeVersion = "10.0.0"
// lookup returns the trie value for the first UTF-8 encoding in s and
// the width in bytes of this encoding. The size will be 0 if s does not
@@ -175,7 +175,7 @@ func (t *derivedPropertiesTrie) lookupStringUnsafe(s string) uint8 {
return 0
}
-// derivedPropertiesTrie. Total size: 25344 bytes (24.75 KiB). Checksum: c5b977d76d42d8a.
+// derivedPropertiesTrie. Total size: 25920 bytes (25.31 KiB). Checksum: 25eb1c8ad0a9331f.
type derivedPropertiesTrie struct{}
func newDerivedPropertiesTrie(i int) *derivedPropertiesTrie {
@@ -190,9 +190,9 @@ func (t *derivedPropertiesTrie) lookupValue(n uint32, b byte) uint8 {
}
}
-// derivedPropertiesValues: 324 blocks, 20736 entries, 20736 bytes
+// derivedPropertiesValues: 331 blocks, 21184 entries, 21184 bytes
// The third block is the zero block.
-var derivedPropertiesValues = [20736]uint8{
+var derivedPropertiesValues = [21184]uint8{
// Block 0x0, offset 0x0
0x00: 0x0040, 0x01: 0x0040, 0x02: 0x0040, 0x03: 0x0040, 0x04: 0x0040, 0x05: 0x0040,
0x06: 0x0040, 0x07: 0x0040, 0x08: 0x0040, 0x09: 0x0040, 0x0a: 0x0040, 0x0b: 0x0040,
@@ -531,7 +531,9 @@ var derivedPropertiesValues = [20736]uint8{
0x74c: 0x00c2, 0x74d: 0x00c2, 0x74e: 0x00c2, 0x74f: 0x00c2, 0x750: 0x00c2, 0x751: 0x00c2,
0x752: 0x00c2, 0x753: 0x00c2, 0x754: 0x00c4, 0x755: 0x00c2, 0x756: 0x00c0, 0x757: 0x00c0,
0x758: 0x00c0, 0x759: 0x00c3, 0x75a: 0x00c3, 0x75b: 0x00c3,
- 0x75e: 0x0080,
+ 0x75e: 0x0080, 0x760: 0x00c2, 0x761: 0x00c0, 0x762: 0x00c2, 0x763: 0x00c2,
+ 0x764: 0x00c2, 0x765: 0x00c2, 0x766: 0x00c0, 0x767: 0x00c4, 0x768: 0x00c2, 0x769: 0x00c4,
+ 0x76a: 0x00c4,
// Block 0x1e, offset 0x780
0x7a0: 0x00c2, 0x7a1: 0x00c2, 0x7a2: 0x00c2, 0x7a3: 0x00c2,
0x7a4: 0x00c2, 0x7a5: 0x00c2, 0x7a6: 0x00c2, 0x7a7: 0x00c2, 0x7a8: 0x00c2, 0x7a9: 0x00c2,
@@ -595,6 +597,7 @@ var derivedPropertiesValues = [20736]uint8{
0x8ea: 0x00c0, 0x8eb: 0x00c0, 0x8ec: 0x00c0, 0x8ed: 0x00c0, 0x8ee: 0x00c0, 0x8ef: 0x00c0,
0x8f0: 0x00c0, 0x8f1: 0x00c0, 0x8f2: 0x0080, 0x8f3: 0x0080, 0x8f4: 0x0080, 0x8f5: 0x0080,
0x8f6: 0x0080, 0x8f7: 0x0080, 0x8f8: 0x0080, 0x8f9: 0x0080, 0x8fa: 0x0080, 0x8fb: 0x0080,
+ 0x8fc: 0x00c0, 0x8fd: 0x0080,
// Block 0x24, offset 0x900
0x901: 0x00c3, 0x902: 0x00c3, 0x903: 0x00c0, 0x905: 0x00c0,
0x906: 0x00c0, 0x907: 0x00c0, 0x908: 0x00c0, 0x909: 0x00c0, 0x90a: 0x00c0,
@@ -636,7 +639,8 @@ var derivedPropertiesValues = [20736]uint8{
0x9e6: 0x00c0, 0x9e7: 0x00c0, 0x9e8: 0x00c0, 0x9e9: 0x00c0,
0x9ea: 0x00c0, 0x9eb: 0x00c0, 0x9ec: 0x00c0, 0x9ed: 0x00c0, 0x9ee: 0x00c0, 0x9ef: 0x00c0,
0x9f0: 0x0080, 0x9f1: 0x0080,
- 0x9f9: 0x00c0,
+ 0x9f9: 0x00c0, 0x9fa: 0x00c3, 0x9fb: 0x00c3,
+ 0x9fc: 0x00c3, 0x9fd: 0x00c3, 0x9fe: 0x00c3, 0x9ff: 0x00c3,
// Block 0x28, offset 0xa00
0xa01: 0x00c3, 0xa02: 0x00c0, 0xa03: 0x00c0, 0xa05: 0x00c0,
0xa06: 0x00c0, 0xa07: 0x00c0, 0xa08: 0x00c0, 0xa09: 0x00c0, 0xa0a: 0x00c0, 0xa0b: 0x00c0,
@@ -726,7 +730,7 @@ var derivedPropertiesValues = [20736]uint8{
0xbea: 0x00c0, 0xbeb: 0x00c0, 0xbec: 0x00c0, 0xbed: 0x00c0, 0xbee: 0x00c0, 0xbef: 0x00c0,
0xbf1: 0x00c0, 0xbf2: 0x00c0,
// Block 0x30, offset 0xc00
- 0xc01: 0x00c3, 0xc02: 0x00c0, 0xc03: 0x00c0, 0xc05: 0x00c0,
+ 0xc00: 0x00c3, 0xc01: 0x00c3, 0xc02: 0x00c0, 0xc03: 0x00c0, 0xc05: 0x00c0,
0xc06: 0x00c0, 0xc07: 0x00c0, 0xc08: 0x00c0, 0xc09: 0x00c0, 0xc0a: 0x00c0, 0xc0b: 0x00c0,
0xc0c: 0x00c0, 0xc0e: 0x00c0, 0xc0f: 0x00c0, 0xc10: 0x00c0,
0xc12: 0x00c0, 0xc13: 0x00c0, 0xc14: 0x00c0, 0xc15: 0x00c0, 0xc16: 0x00c0, 0xc17: 0x00c0,
@@ -735,8 +739,8 @@ var derivedPropertiesValues = [20736]uint8{
0xc24: 0x00c0, 0xc25: 0x00c0, 0xc26: 0x00c0, 0xc27: 0x00c0, 0xc28: 0x00c0, 0xc29: 0x00c0,
0xc2a: 0x00c0, 0xc2b: 0x00c0, 0xc2c: 0x00c0, 0xc2d: 0x00c0, 0xc2e: 0x00c0, 0xc2f: 0x00c0,
0xc30: 0x00c0, 0xc31: 0x00c0, 0xc32: 0x00c0, 0xc33: 0x00c0, 0xc34: 0x00c0, 0xc35: 0x00c0,
- 0xc36: 0x00c0, 0xc37: 0x00c0, 0xc38: 0x00c0, 0xc39: 0x00c0, 0xc3a: 0x00c0,
- 0xc3d: 0x00c0, 0xc3e: 0x00c0, 0xc3f: 0x00c0,
+ 0xc36: 0x00c0, 0xc37: 0x00c0, 0xc38: 0x00c0, 0xc39: 0x00c0, 0xc3a: 0x00c0, 0xc3b: 0x00c6,
+ 0xc3c: 0x00c6, 0xc3d: 0x00c0, 0xc3e: 0x00c0, 0xc3f: 0x00c0,
// Block 0x31, offset 0xc40
0xc40: 0x00c0, 0xc41: 0x00c3, 0xc42: 0x00c3, 0xc43: 0x00c3, 0xc44: 0x00c3,
0xc46: 0x00c0, 0xc47: 0x00c0, 0xc48: 0x00c0, 0xc4a: 0x00c0, 0xc4b: 0x00c0,
@@ -1292,7 +1296,7 @@ var derivedPropertiesValues = [20736]uint8{
0x18a4: 0x00c3, 0x18a5: 0x00c3, 0x18a6: 0x00c3, 0x18a7: 0x00c3, 0x18a8: 0x00c3, 0x18a9: 0x00c0,
0x18aa: 0x00c0, 0x18ab: 0x00c0, 0x18ac: 0x00c0, 0x18ad: 0x00c3, 0x18ae: 0x00c0, 0x18af: 0x00c0,
0x18b0: 0x00c0, 0x18b1: 0x00c0, 0x18b2: 0x00c0, 0x18b3: 0x00c0, 0x18b4: 0x00c3, 0x18b5: 0x00c0,
- 0x18b6: 0x00c0, 0x18b8: 0x00c3, 0x18b9: 0x00c3,
+ 0x18b6: 0x00c0, 0x18b7: 0x00c0, 0x18b8: 0x00c3, 0x18b9: 0x00c3,
// Block 0x63, offset 0x18c0
0x18c0: 0x00c0, 0x18c1: 0x00c0, 0x18c2: 0x00c0, 0x18c3: 0x00c0, 0x18c4: 0x00c0, 0x18c5: 0x00c0,
0x18c6: 0x00c0, 0x18c7: 0x00c0, 0x18c8: 0x00c0, 0x18c9: 0x00c0, 0x18ca: 0x00c0, 0x18cb: 0x00c0,
@@ -1339,7 +1343,7 @@ var derivedPropertiesValues = [20736]uint8{
0x19a4: 0x00c3, 0x19a5: 0x00c3, 0x19a6: 0x00c3, 0x19a7: 0x00c3, 0x19a8: 0x00c3, 0x19a9: 0x00c3,
0x19aa: 0x00c3, 0x19ab: 0x00c3, 0x19ac: 0x00c3, 0x19ad: 0x00c3, 0x19ae: 0x00c3, 0x19af: 0x00c3,
0x19b0: 0x00c3, 0x19b1: 0x00c3, 0x19b2: 0x00c3, 0x19b3: 0x00c3, 0x19b4: 0x00c3, 0x19b5: 0x00c3,
- 0x19bb: 0x00c3,
+ 0x19b6: 0x00c3, 0x19b7: 0x00c3, 0x19b8: 0x00c3, 0x19b9: 0x00c3, 0x19bb: 0x00c3,
0x19bc: 0x00c3, 0x19bd: 0x00c3, 0x19be: 0x00c3, 0x19bf: 0x00c3,
// Block 0x67, offset 0x19c0
0x19c0: 0x00c0, 0x19c1: 0x00c0, 0x19c2: 0x00c0, 0x19c3: 0x00c0, 0x19c4: 0x00c0, 0x19c5: 0x00c0,
@@ -1436,7 +1440,7 @@ var derivedPropertiesValues = [20736]uint8{
0x1baa: 0x0080, 0x1bab: 0x0080, 0x1bac: 0x0080, 0x1bad: 0x0080, 0x1bae: 0x0080, 0x1baf: 0x0080,
0x1bb0: 0x0080, 0x1bb1: 0x0080, 0x1bb2: 0x0080, 0x1bb3: 0x0080, 0x1bb4: 0x0080, 0x1bb5: 0x0080,
0x1bb6: 0x0080, 0x1bb7: 0x0080, 0x1bb8: 0x0080, 0x1bb9: 0x0080, 0x1bba: 0x0080, 0x1bbb: 0x0080,
- 0x1bbc: 0x0080, 0x1bbd: 0x0080, 0x1bbe: 0x0080,
+ 0x1bbc: 0x0080, 0x1bbd: 0x0080, 0x1bbe: 0x0080, 0x1bbf: 0x0080,
// Block 0x6f, offset 0x1bc0
0x1bd0: 0x00c3, 0x1bd1: 0x00c3,
0x1bd2: 0x00c3, 0x1bd3: 0x00c3, 0x1bd4: 0x00c3, 0x1bd5: 0x00c3, 0x1bd6: 0x00c3, 0x1bd7: 0x00c3,
@@ -1500,81 +1504,82 @@ var derivedPropertiesValues = [20736]uint8{
0x1d12: 0x0080, 0x1d13: 0x0080, 0x1d14: 0x0080, 0x1d15: 0x0080, 0x1d16: 0x0080, 0x1d17: 0x0080,
0x1d18: 0x0080, 0x1d19: 0x0080, 0x1d1a: 0x0080, 0x1d1b: 0x0080, 0x1d1c: 0x0080, 0x1d1d: 0x0080,
0x1d1e: 0x0080, 0x1d1f: 0x0080, 0x1d20: 0x0080, 0x1d21: 0x0080, 0x1d22: 0x0080, 0x1d23: 0x0080,
- 0x1d24: 0x0080, 0x1d25: 0x0080, 0x1d26: 0x0080, 0x1d27: 0x0080, 0x1d28: 0x0080, 0x1d29: 0x0080,
- 0x1d2a: 0x0080, 0x1d2b: 0x0080, 0x1d2c: 0x0080, 0x1d2d: 0x0080, 0x1d2e: 0x0080, 0x1d2f: 0x0080,
- 0x1d30: 0x0080, 0x1d31: 0x0080, 0x1d32: 0x0080, 0x1d33: 0x0080, 0x1d34: 0x0080, 0x1d35: 0x0080,
- 0x1d36: 0x0080, 0x1d37: 0x0080, 0x1d38: 0x0080, 0x1d39: 0x0080, 0x1d3a: 0x0080, 0x1d3b: 0x0080,
- 0x1d3c: 0x0080, 0x1d3d: 0x0080, 0x1d3e: 0x0080,
+ 0x1d24: 0x0080, 0x1d25: 0x0080, 0x1d26: 0x0080,
// Block 0x75, offset 0x1d40
0x1d40: 0x0080, 0x1d41: 0x0080, 0x1d42: 0x0080, 0x1d43: 0x0080, 0x1d44: 0x0080, 0x1d45: 0x0080,
- 0x1d46: 0x0080, 0x1d47: 0x0080, 0x1d48: 0x0080, 0x1d49: 0x0080, 0x1d4a: 0x0080, 0x1d4b: 0x0080,
- 0x1d4c: 0x0080, 0x1d4d: 0x0080, 0x1d4e: 0x0080, 0x1d4f: 0x0080, 0x1d50: 0x0080, 0x1d51: 0x0080,
- 0x1d52: 0x0080, 0x1d53: 0x0080, 0x1d54: 0x0080, 0x1d55: 0x0080, 0x1d56: 0x0080, 0x1d57: 0x0080,
- 0x1d58: 0x0080, 0x1d59: 0x0080, 0x1d5a: 0x0080, 0x1d5b: 0x0080, 0x1d5c: 0x0080, 0x1d5d: 0x0080,
- 0x1d5e: 0x0080, 0x1d5f: 0x0080, 0x1d60: 0x0080, 0x1d61: 0x0080, 0x1d62: 0x0080, 0x1d63: 0x0080,
- 0x1d64: 0x0080, 0x1d65: 0x0080, 0x1d66: 0x0080,
+ 0x1d46: 0x0080, 0x1d47: 0x0080, 0x1d48: 0x0080, 0x1d49: 0x0080, 0x1d4a: 0x0080,
+ 0x1d60: 0x0080, 0x1d61: 0x0080, 0x1d62: 0x0080, 0x1d63: 0x0080,
+ 0x1d64: 0x0080, 0x1d65: 0x0080, 0x1d66: 0x0080, 0x1d67: 0x0080, 0x1d68: 0x0080, 0x1d69: 0x0080,
+ 0x1d6a: 0x0080, 0x1d6b: 0x0080, 0x1d6c: 0x0080, 0x1d6d: 0x0080, 0x1d6e: 0x0080, 0x1d6f: 0x0080,
+ 0x1d70: 0x0080, 0x1d71: 0x0080, 0x1d72: 0x0080, 0x1d73: 0x0080, 0x1d74: 0x0080, 0x1d75: 0x0080,
+ 0x1d76: 0x0080, 0x1d77: 0x0080, 0x1d78: 0x0080, 0x1d79: 0x0080, 0x1d7a: 0x0080, 0x1d7b: 0x0080,
+ 0x1d7c: 0x0080, 0x1d7d: 0x0080, 0x1d7e: 0x0080, 0x1d7f: 0x0080,
// Block 0x76, offset 0x1d80
0x1d80: 0x0080, 0x1d81: 0x0080, 0x1d82: 0x0080, 0x1d83: 0x0080, 0x1d84: 0x0080, 0x1d85: 0x0080,
- 0x1d86: 0x0080, 0x1d87: 0x0080, 0x1d88: 0x0080, 0x1d89: 0x0080, 0x1d8a: 0x0080,
- 0x1da0: 0x0080, 0x1da1: 0x0080, 0x1da2: 0x0080, 0x1da3: 0x0080,
+ 0x1d86: 0x0080, 0x1d87: 0x0080, 0x1d88: 0x0080, 0x1d89: 0x0080, 0x1d8a: 0x0080, 0x1d8b: 0x0080,
+ 0x1d8c: 0x0080, 0x1d8d: 0x0080, 0x1d8e: 0x0080, 0x1d8f: 0x0080, 0x1d90: 0x0080, 0x1d91: 0x0080,
+ 0x1d92: 0x0080, 0x1d93: 0x0080, 0x1d94: 0x0080, 0x1d95: 0x0080, 0x1d96: 0x0080, 0x1d97: 0x0080,
+ 0x1d98: 0x0080, 0x1d99: 0x0080, 0x1d9a: 0x0080, 0x1d9b: 0x0080, 0x1d9c: 0x0080, 0x1d9d: 0x0080,
+ 0x1d9e: 0x0080, 0x1d9f: 0x0080, 0x1da0: 0x0080, 0x1da1: 0x0080, 0x1da2: 0x0080, 0x1da3: 0x0080,
0x1da4: 0x0080, 0x1da5: 0x0080, 0x1da6: 0x0080, 0x1da7: 0x0080, 0x1da8: 0x0080, 0x1da9: 0x0080,
0x1daa: 0x0080, 0x1dab: 0x0080, 0x1dac: 0x0080, 0x1dad: 0x0080, 0x1dae: 0x0080, 0x1daf: 0x0080,
- 0x1db0: 0x0080, 0x1db1: 0x0080, 0x1db2: 0x0080, 0x1db3: 0x0080, 0x1db4: 0x0080, 0x1db5: 0x0080,
+ 0x1db0: 0x0080, 0x1db1: 0x0080, 0x1db2: 0x0080, 0x1db3: 0x0080,
0x1db6: 0x0080, 0x1db7: 0x0080, 0x1db8: 0x0080, 0x1db9: 0x0080, 0x1dba: 0x0080, 0x1dbb: 0x0080,
0x1dbc: 0x0080, 0x1dbd: 0x0080, 0x1dbe: 0x0080, 0x1dbf: 0x0080,
// Block 0x77, offset 0x1dc0
0x1dc0: 0x0080, 0x1dc1: 0x0080, 0x1dc2: 0x0080, 0x1dc3: 0x0080, 0x1dc4: 0x0080, 0x1dc5: 0x0080,
0x1dc6: 0x0080, 0x1dc7: 0x0080, 0x1dc8: 0x0080, 0x1dc9: 0x0080, 0x1dca: 0x0080, 0x1dcb: 0x0080,
0x1dcc: 0x0080, 0x1dcd: 0x0080, 0x1dce: 0x0080, 0x1dcf: 0x0080, 0x1dd0: 0x0080, 0x1dd1: 0x0080,
- 0x1dd2: 0x0080, 0x1dd3: 0x0080, 0x1dd4: 0x0080, 0x1dd5: 0x0080, 0x1dd6: 0x0080, 0x1dd7: 0x0080,
+ 0x1dd2: 0x0080, 0x1dd3: 0x0080, 0x1dd4: 0x0080, 0x1dd5: 0x0080,
0x1dd8: 0x0080, 0x1dd9: 0x0080, 0x1dda: 0x0080, 0x1ddb: 0x0080, 0x1ddc: 0x0080, 0x1ddd: 0x0080,
0x1dde: 0x0080, 0x1ddf: 0x0080, 0x1de0: 0x0080, 0x1de1: 0x0080, 0x1de2: 0x0080, 0x1de3: 0x0080,
0x1de4: 0x0080, 0x1de5: 0x0080, 0x1de6: 0x0080, 0x1de7: 0x0080, 0x1de8: 0x0080, 0x1de9: 0x0080,
0x1dea: 0x0080, 0x1deb: 0x0080, 0x1dec: 0x0080, 0x1ded: 0x0080, 0x1dee: 0x0080, 0x1def: 0x0080,
- 0x1df0: 0x0080, 0x1df1: 0x0080, 0x1df2: 0x0080, 0x1df3: 0x0080,
- 0x1df6: 0x0080, 0x1df7: 0x0080, 0x1df8: 0x0080, 0x1df9: 0x0080, 0x1dfa: 0x0080, 0x1dfb: 0x0080,
- 0x1dfc: 0x0080, 0x1dfd: 0x0080, 0x1dfe: 0x0080, 0x1dff: 0x0080,
+ 0x1df0: 0x0080, 0x1df1: 0x0080, 0x1df2: 0x0080, 0x1df3: 0x0080, 0x1df4: 0x0080, 0x1df5: 0x0080,
+ 0x1df6: 0x0080, 0x1df7: 0x0080, 0x1df8: 0x0080, 0x1df9: 0x0080,
+ 0x1dfd: 0x0080, 0x1dfe: 0x0080, 0x1dff: 0x0080,
// Block 0x78, offset 0x1e00
0x1e00: 0x0080, 0x1e01: 0x0080, 0x1e02: 0x0080, 0x1e03: 0x0080, 0x1e04: 0x0080, 0x1e05: 0x0080,
- 0x1e06: 0x0080, 0x1e07: 0x0080, 0x1e08: 0x0080, 0x1e09: 0x0080, 0x1e0a: 0x0080, 0x1e0b: 0x0080,
+ 0x1e06: 0x0080, 0x1e07: 0x0080, 0x1e08: 0x0080, 0x1e0a: 0x0080, 0x1e0b: 0x0080,
0x1e0c: 0x0080, 0x1e0d: 0x0080, 0x1e0e: 0x0080, 0x1e0f: 0x0080, 0x1e10: 0x0080, 0x1e11: 0x0080,
- 0x1e12: 0x0080, 0x1e13: 0x0080, 0x1e14: 0x0080, 0x1e15: 0x0080,
- 0x1e18: 0x0080, 0x1e19: 0x0080, 0x1e1a: 0x0080, 0x1e1b: 0x0080, 0x1e1c: 0x0080, 0x1e1d: 0x0080,
- 0x1e1e: 0x0080, 0x1e1f: 0x0080, 0x1e20: 0x0080, 0x1e21: 0x0080, 0x1e22: 0x0080, 0x1e23: 0x0080,
- 0x1e24: 0x0080, 0x1e25: 0x0080, 0x1e26: 0x0080, 0x1e27: 0x0080, 0x1e28: 0x0080, 0x1e29: 0x0080,
- 0x1e2a: 0x0080, 0x1e2b: 0x0080, 0x1e2c: 0x0080, 0x1e2d: 0x0080, 0x1e2e: 0x0080, 0x1e2f: 0x0080,
- 0x1e30: 0x0080, 0x1e31: 0x0080, 0x1e32: 0x0080, 0x1e33: 0x0080, 0x1e34: 0x0080, 0x1e35: 0x0080,
- 0x1e36: 0x0080, 0x1e37: 0x0080, 0x1e38: 0x0080, 0x1e39: 0x0080,
- 0x1e3d: 0x0080, 0x1e3e: 0x0080, 0x1e3f: 0x0080,
+ 0x1e12: 0x0080,
+ 0x1e2c: 0x0080, 0x1e2d: 0x0080, 0x1e2e: 0x0080, 0x1e2f: 0x0080,
// Block 0x79, offset 0x1e40
- 0x1e40: 0x0080, 0x1e41: 0x0080, 0x1e42: 0x0080, 0x1e43: 0x0080, 0x1e44: 0x0080, 0x1e45: 0x0080,
- 0x1e46: 0x0080, 0x1e47: 0x0080, 0x1e48: 0x0080, 0x1e4a: 0x0080, 0x1e4b: 0x0080,
- 0x1e4c: 0x0080, 0x1e4d: 0x0080, 0x1e4e: 0x0080, 0x1e4f: 0x0080, 0x1e50: 0x0080, 0x1e51: 0x0080,
- 0x1e6c: 0x0080, 0x1e6d: 0x0080, 0x1e6e: 0x0080, 0x1e6f: 0x0080,
+ 0x1e40: 0x00c0, 0x1e41: 0x00c0, 0x1e42: 0x00c0, 0x1e43: 0x00c0, 0x1e44: 0x00c0, 0x1e45: 0x00c0,
+ 0x1e46: 0x00c0, 0x1e47: 0x00c0, 0x1e48: 0x00c0, 0x1e49: 0x00c0, 0x1e4a: 0x00c0, 0x1e4b: 0x00c0,
+ 0x1e4c: 0x00c0, 0x1e4d: 0x00c0, 0x1e4e: 0x00c0, 0x1e4f: 0x00c0, 0x1e50: 0x00c0, 0x1e51: 0x00c0,
+ 0x1e52: 0x00c0, 0x1e53: 0x00c0, 0x1e54: 0x00c0, 0x1e55: 0x00c0, 0x1e56: 0x00c0, 0x1e57: 0x00c0,
+ 0x1e58: 0x00c0, 0x1e59: 0x00c0, 0x1e5a: 0x00c0, 0x1e5b: 0x00c0, 0x1e5c: 0x00c0, 0x1e5d: 0x00c0,
+ 0x1e5e: 0x00c0, 0x1e5f: 0x00c0, 0x1e60: 0x00c0, 0x1e61: 0x00c0, 0x1e62: 0x00c0, 0x1e63: 0x00c0,
+ 0x1e64: 0x00c0, 0x1e65: 0x00c0, 0x1e66: 0x00c0, 0x1e67: 0x00c0, 0x1e68: 0x00c0, 0x1e69: 0x00c0,
+ 0x1e6a: 0x00c0, 0x1e6b: 0x00c0, 0x1e6c: 0x00c0, 0x1e6d: 0x00c0, 0x1e6e: 0x00c0,
+ 0x1e70: 0x00c0, 0x1e71: 0x00c0, 0x1e72: 0x00c0, 0x1e73: 0x00c0, 0x1e74: 0x00c0, 0x1e75: 0x00c0,
+ 0x1e76: 0x00c0, 0x1e77: 0x00c0, 0x1e78: 0x00c0, 0x1e79: 0x00c0, 0x1e7a: 0x00c0, 0x1e7b: 0x00c0,
+ 0x1e7c: 0x00c0, 0x1e7d: 0x00c0, 0x1e7e: 0x00c0, 0x1e7f: 0x00c0,
// Block 0x7a, offset 0x1e80
0x1e80: 0x00c0, 0x1e81: 0x00c0, 0x1e82: 0x00c0, 0x1e83: 0x00c0, 0x1e84: 0x00c0, 0x1e85: 0x00c0,
0x1e86: 0x00c0, 0x1e87: 0x00c0, 0x1e88: 0x00c0, 0x1e89: 0x00c0, 0x1e8a: 0x00c0, 0x1e8b: 0x00c0,
0x1e8c: 0x00c0, 0x1e8d: 0x00c0, 0x1e8e: 0x00c0, 0x1e8f: 0x00c0, 0x1e90: 0x00c0, 0x1e91: 0x00c0,
0x1e92: 0x00c0, 0x1e93: 0x00c0, 0x1e94: 0x00c0, 0x1e95: 0x00c0, 0x1e96: 0x00c0, 0x1e97: 0x00c0,
0x1e98: 0x00c0, 0x1e99: 0x00c0, 0x1e9a: 0x00c0, 0x1e9b: 0x00c0, 0x1e9c: 0x00c0, 0x1e9d: 0x00c0,
- 0x1e9e: 0x00c0, 0x1e9f: 0x00c0, 0x1ea0: 0x00c0, 0x1ea1: 0x00c0, 0x1ea2: 0x00c0, 0x1ea3: 0x00c0,
+ 0x1e9e: 0x00c0, 0x1ea0: 0x00c0, 0x1ea1: 0x00c0, 0x1ea2: 0x00c0, 0x1ea3: 0x00c0,
0x1ea4: 0x00c0, 0x1ea5: 0x00c0, 0x1ea6: 0x00c0, 0x1ea7: 0x00c0, 0x1ea8: 0x00c0, 0x1ea9: 0x00c0,
- 0x1eaa: 0x00c0, 0x1eab: 0x00c0, 0x1eac: 0x00c0, 0x1ead: 0x00c0, 0x1eae: 0x00c0,
+ 0x1eaa: 0x00c0, 0x1eab: 0x00c0, 0x1eac: 0x00c0, 0x1ead: 0x00c0, 0x1eae: 0x00c0, 0x1eaf: 0x00c0,
0x1eb0: 0x00c0, 0x1eb1: 0x00c0, 0x1eb2: 0x00c0, 0x1eb3: 0x00c0, 0x1eb4: 0x00c0, 0x1eb5: 0x00c0,
0x1eb6: 0x00c0, 0x1eb7: 0x00c0, 0x1eb8: 0x00c0, 0x1eb9: 0x00c0, 0x1eba: 0x00c0, 0x1ebb: 0x00c0,
- 0x1ebc: 0x00c0, 0x1ebd: 0x00c0, 0x1ebe: 0x00c0, 0x1ebf: 0x00c0,
+ 0x1ebc: 0x0080, 0x1ebd: 0x0080, 0x1ebe: 0x00c0, 0x1ebf: 0x00c0,
// Block 0x7b, offset 0x1ec0
0x1ec0: 0x00c0, 0x1ec1: 0x00c0, 0x1ec2: 0x00c0, 0x1ec3: 0x00c0, 0x1ec4: 0x00c0, 0x1ec5: 0x00c0,
0x1ec6: 0x00c0, 0x1ec7: 0x00c0, 0x1ec8: 0x00c0, 0x1ec9: 0x00c0, 0x1eca: 0x00c0, 0x1ecb: 0x00c0,
0x1ecc: 0x00c0, 0x1ecd: 0x00c0, 0x1ece: 0x00c0, 0x1ecf: 0x00c0, 0x1ed0: 0x00c0, 0x1ed1: 0x00c0,
0x1ed2: 0x00c0, 0x1ed3: 0x00c0, 0x1ed4: 0x00c0, 0x1ed5: 0x00c0, 0x1ed6: 0x00c0, 0x1ed7: 0x00c0,
0x1ed8: 0x00c0, 0x1ed9: 0x00c0, 0x1eda: 0x00c0, 0x1edb: 0x00c0, 0x1edc: 0x00c0, 0x1edd: 0x00c0,
- 0x1ede: 0x00c0, 0x1ee0: 0x00c0, 0x1ee1: 0x00c0, 0x1ee2: 0x00c0, 0x1ee3: 0x00c0,
- 0x1ee4: 0x00c0, 0x1ee5: 0x00c0, 0x1ee6: 0x00c0, 0x1ee7: 0x00c0, 0x1ee8: 0x00c0, 0x1ee9: 0x00c0,
- 0x1eea: 0x00c0, 0x1eeb: 0x00c0, 0x1eec: 0x00c0, 0x1eed: 0x00c0, 0x1eee: 0x00c0, 0x1eef: 0x00c0,
- 0x1ef0: 0x00c0, 0x1ef1: 0x00c0, 0x1ef2: 0x00c0, 0x1ef3: 0x00c0, 0x1ef4: 0x00c0, 0x1ef5: 0x00c0,
- 0x1ef6: 0x00c0, 0x1ef7: 0x00c0, 0x1ef8: 0x00c0, 0x1ef9: 0x00c0, 0x1efa: 0x00c0, 0x1efb: 0x00c0,
- 0x1efc: 0x0080, 0x1efd: 0x0080, 0x1efe: 0x00c0, 0x1eff: 0x00c0,
+ 0x1ede: 0x00c0, 0x1edf: 0x00c0, 0x1ee0: 0x00c0, 0x1ee1: 0x00c0, 0x1ee2: 0x00c0, 0x1ee3: 0x00c0,
+ 0x1ee4: 0x00c0, 0x1ee5: 0x0080, 0x1ee6: 0x0080, 0x1ee7: 0x0080, 0x1ee8: 0x0080, 0x1ee9: 0x0080,
+ 0x1eea: 0x0080, 0x1eeb: 0x00c0, 0x1eec: 0x00c0, 0x1eed: 0x00c0, 0x1eee: 0x00c0, 0x1eef: 0x00c3,
+ 0x1ef0: 0x00c3, 0x1ef1: 0x00c3, 0x1ef2: 0x00c0, 0x1ef3: 0x00c0,
+ 0x1ef9: 0x0080, 0x1efa: 0x0080, 0x1efb: 0x0080,
+ 0x1efc: 0x0080, 0x1efd: 0x0080, 0x1efe: 0x0080, 0x1eff: 0x0080,
// Block 0x7c, offset 0x1f00
0x1f00: 0x00c0, 0x1f01: 0x00c0, 0x1f02: 0x00c0, 0x1f03: 0x00c0, 0x1f04: 0x00c0, 0x1f05: 0x00c0,
0x1f06: 0x00c0, 0x1f07: 0x00c0, 0x1f08: 0x00c0, 0x1f09: 0x00c0, 0x1f0a: 0x00c0, 0x1f0b: 0x00c0,
@@ -1582,11 +1587,11 @@ var derivedPropertiesValues = [20736]uint8{
0x1f12: 0x00c0, 0x1f13: 0x00c0, 0x1f14: 0x00c0, 0x1f15: 0x00c0, 0x1f16: 0x00c0, 0x1f17: 0x00c0,
0x1f18: 0x00c0, 0x1f19: 0x00c0, 0x1f1a: 0x00c0, 0x1f1b: 0x00c0, 0x1f1c: 0x00c0, 0x1f1d: 0x00c0,
0x1f1e: 0x00c0, 0x1f1f: 0x00c0, 0x1f20: 0x00c0, 0x1f21: 0x00c0, 0x1f22: 0x00c0, 0x1f23: 0x00c0,
- 0x1f24: 0x00c0, 0x1f25: 0x0080, 0x1f26: 0x0080, 0x1f27: 0x0080, 0x1f28: 0x0080, 0x1f29: 0x0080,
- 0x1f2a: 0x0080, 0x1f2b: 0x00c0, 0x1f2c: 0x00c0, 0x1f2d: 0x00c0, 0x1f2e: 0x00c0, 0x1f2f: 0x00c3,
- 0x1f30: 0x00c3, 0x1f31: 0x00c3, 0x1f32: 0x00c0, 0x1f33: 0x00c0,
- 0x1f39: 0x0080, 0x1f3a: 0x0080, 0x1f3b: 0x0080,
- 0x1f3c: 0x0080, 0x1f3d: 0x0080, 0x1f3e: 0x0080, 0x1f3f: 0x0080,
+ 0x1f24: 0x00c0, 0x1f25: 0x00c0, 0x1f27: 0x00c0,
+ 0x1f2d: 0x00c0,
+ 0x1f30: 0x00c0, 0x1f31: 0x00c0, 0x1f32: 0x00c0, 0x1f33: 0x00c0, 0x1f34: 0x00c0, 0x1f35: 0x00c0,
+ 0x1f36: 0x00c0, 0x1f37: 0x00c0, 0x1f38: 0x00c0, 0x1f39: 0x00c0, 0x1f3a: 0x00c0, 0x1f3b: 0x00c0,
+ 0x1f3c: 0x00c0, 0x1f3d: 0x00c0, 0x1f3e: 0x00c0, 0x1f3f: 0x00c0,
// Block 0x7d, offset 0x1f40
0x1f40: 0x00c0, 0x1f41: 0x00c0, 0x1f42: 0x00c0, 0x1f43: 0x00c0, 0x1f44: 0x00c0, 0x1f45: 0x00c0,
0x1f46: 0x00c0, 0x1f47: 0x00c0, 0x1f48: 0x00c0, 0x1f49: 0x00c0, 0x1f4a: 0x00c0, 0x1f4b: 0x00c0,
@@ -1594,71 +1599,70 @@ var derivedPropertiesValues = [20736]uint8{
0x1f52: 0x00c0, 0x1f53: 0x00c0, 0x1f54: 0x00c0, 0x1f55: 0x00c0, 0x1f56: 0x00c0, 0x1f57: 0x00c0,
0x1f58: 0x00c0, 0x1f59: 0x00c0, 0x1f5a: 0x00c0, 0x1f5b: 0x00c0, 0x1f5c: 0x00c0, 0x1f5d: 0x00c0,
0x1f5e: 0x00c0, 0x1f5f: 0x00c0, 0x1f60: 0x00c0, 0x1f61: 0x00c0, 0x1f62: 0x00c0, 0x1f63: 0x00c0,
- 0x1f64: 0x00c0, 0x1f65: 0x00c0, 0x1f67: 0x00c0,
- 0x1f6d: 0x00c0,
- 0x1f70: 0x00c0, 0x1f71: 0x00c0, 0x1f72: 0x00c0, 0x1f73: 0x00c0, 0x1f74: 0x00c0, 0x1f75: 0x00c0,
- 0x1f76: 0x00c0, 0x1f77: 0x00c0, 0x1f78: 0x00c0, 0x1f79: 0x00c0, 0x1f7a: 0x00c0, 0x1f7b: 0x00c0,
- 0x1f7c: 0x00c0, 0x1f7d: 0x00c0, 0x1f7e: 0x00c0, 0x1f7f: 0x00c0,
+ 0x1f64: 0x00c0, 0x1f65: 0x00c0, 0x1f66: 0x00c0, 0x1f67: 0x00c0,
+ 0x1f6f: 0x0080,
+ 0x1f70: 0x0080,
+ 0x1f7f: 0x00c6,
// Block 0x7e, offset 0x1f80
0x1f80: 0x00c0, 0x1f81: 0x00c0, 0x1f82: 0x00c0, 0x1f83: 0x00c0, 0x1f84: 0x00c0, 0x1f85: 0x00c0,
0x1f86: 0x00c0, 0x1f87: 0x00c0, 0x1f88: 0x00c0, 0x1f89: 0x00c0, 0x1f8a: 0x00c0, 0x1f8b: 0x00c0,
0x1f8c: 0x00c0, 0x1f8d: 0x00c0, 0x1f8e: 0x00c0, 0x1f8f: 0x00c0, 0x1f90: 0x00c0, 0x1f91: 0x00c0,
- 0x1f92: 0x00c0, 0x1f93: 0x00c0, 0x1f94: 0x00c0, 0x1f95: 0x00c0, 0x1f96: 0x00c0, 0x1f97: 0x00c0,
- 0x1f98: 0x00c0, 0x1f99: 0x00c0, 0x1f9a: 0x00c0, 0x1f9b: 0x00c0, 0x1f9c: 0x00c0, 0x1f9d: 0x00c0,
- 0x1f9e: 0x00c0, 0x1f9f: 0x00c0, 0x1fa0: 0x00c0, 0x1fa1: 0x00c0, 0x1fa2: 0x00c0, 0x1fa3: 0x00c0,
- 0x1fa4: 0x00c0, 0x1fa5: 0x00c0, 0x1fa6: 0x00c0, 0x1fa7: 0x00c0,
- 0x1faf: 0x0080,
- 0x1fb0: 0x0080,
- 0x1fbf: 0x00c6,
+ 0x1f92: 0x00c0, 0x1f93: 0x00c0, 0x1f94: 0x00c0, 0x1f95: 0x00c0, 0x1f96: 0x00c0,
+ 0x1fa0: 0x00c0, 0x1fa1: 0x00c0, 0x1fa2: 0x00c0, 0x1fa3: 0x00c0,
+ 0x1fa4: 0x00c0, 0x1fa5: 0x00c0, 0x1fa6: 0x00c0, 0x1fa8: 0x00c0, 0x1fa9: 0x00c0,
+ 0x1faa: 0x00c0, 0x1fab: 0x00c0, 0x1fac: 0x00c0, 0x1fad: 0x00c0, 0x1fae: 0x00c0,
+ 0x1fb0: 0x00c0, 0x1fb1: 0x00c0, 0x1fb2: 0x00c0, 0x1fb3: 0x00c0, 0x1fb4: 0x00c0, 0x1fb5: 0x00c0,
+ 0x1fb6: 0x00c0, 0x1fb8: 0x00c0, 0x1fb9: 0x00c0, 0x1fba: 0x00c0, 0x1fbb: 0x00c0,
+ 0x1fbc: 0x00c0, 0x1fbd: 0x00c0, 0x1fbe: 0x00c0,
// Block 0x7f, offset 0x1fc0
0x1fc0: 0x00c0, 0x1fc1: 0x00c0, 0x1fc2: 0x00c0, 0x1fc3: 0x00c0, 0x1fc4: 0x00c0, 0x1fc5: 0x00c0,
- 0x1fc6: 0x00c0, 0x1fc7: 0x00c0, 0x1fc8: 0x00c0, 0x1fc9: 0x00c0, 0x1fca: 0x00c0, 0x1fcb: 0x00c0,
- 0x1fcc: 0x00c0, 0x1fcd: 0x00c0, 0x1fce: 0x00c0, 0x1fcf: 0x00c0, 0x1fd0: 0x00c0, 0x1fd1: 0x00c0,
+ 0x1fc6: 0x00c0, 0x1fc8: 0x00c0, 0x1fc9: 0x00c0, 0x1fca: 0x00c0, 0x1fcb: 0x00c0,
+ 0x1fcc: 0x00c0, 0x1fcd: 0x00c0, 0x1fce: 0x00c0, 0x1fd0: 0x00c0, 0x1fd1: 0x00c0,
0x1fd2: 0x00c0, 0x1fd3: 0x00c0, 0x1fd4: 0x00c0, 0x1fd5: 0x00c0, 0x1fd6: 0x00c0,
- 0x1fe0: 0x00c0, 0x1fe1: 0x00c0, 0x1fe2: 0x00c0, 0x1fe3: 0x00c0,
- 0x1fe4: 0x00c0, 0x1fe5: 0x00c0, 0x1fe6: 0x00c0, 0x1fe8: 0x00c0, 0x1fe9: 0x00c0,
- 0x1fea: 0x00c0, 0x1feb: 0x00c0, 0x1fec: 0x00c0, 0x1fed: 0x00c0, 0x1fee: 0x00c0,
- 0x1ff0: 0x00c0, 0x1ff1: 0x00c0, 0x1ff2: 0x00c0, 0x1ff3: 0x00c0, 0x1ff4: 0x00c0, 0x1ff5: 0x00c0,
- 0x1ff6: 0x00c0, 0x1ff8: 0x00c0, 0x1ff9: 0x00c0, 0x1ffa: 0x00c0, 0x1ffb: 0x00c0,
- 0x1ffc: 0x00c0, 0x1ffd: 0x00c0, 0x1ffe: 0x00c0,
+ 0x1fd8: 0x00c0, 0x1fd9: 0x00c0, 0x1fda: 0x00c0, 0x1fdb: 0x00c0, 0x1fdc: 0x00c0, 0x1fdd: 0x00c0,
+ 0x1fde: 0x00c0, 0x1fe0: 0x00c3, 0x1fe1: 0x00c3, 0x1fe2: 0x00c3, 0x1fe3: 0x00c3,
+ 0x1fe4: 0x00c3, 0x1fe5: 0x00c3, 0x1fe6: 0x00c3, 0x1fe7: 0x00c3, 0x1fe8: 0x00c3, 0x1fe9: 0x00c3,
+ 0x1fea: 0x00c3, 0x1feb: 0x00c3, 0x1fec: 0x00c3, 0x1fed: 0x00c3, 0x1fee: 0x00c3, 0x1fef: 0x00c3,
+ 0x1ff0: 0x00c3, 0x1ff1: 0x00c3, 0x1ff2: 0x00c3, 0x1ff3: 0x00c3, 0x1ff4: 0x00c3, 0x1ff5: 0x00c3,
+ 0x1ff6: 0x00c3, 0x1ff7: 0x00c3, 0x1ff8: 0x00c3, 0x1ff9: 0x00c3, 0x1ffa: 0x00c3, 0x1ffb: 0x00c3,
+ 0x1ffc: 0x00c3, 0x1ffd: 0x00c3, 0x1ffe: 0x00c3, 0x1fff: 0x00c3,
// Block 0x80, offset 0x2000
- 0x2000: 0x00c0, 0x2001: 0x00c0, 0x2002: 0x00c0, 0x2003: 0x00c0, 0x2004: 0x00c0, 0x2005: 0x00c0,
- 0x2006: 0x00c0, 0x2008: 0x00c0, 0x2009: 0x00c0, 0x200a: 0x00c0, 0x200b: 0x00c0,
- 0x200c: 0x00c0, 0x200d: 0x00c0, 0x200e: 0x00c0, 0x2010: 0x00c0, 0x2011: 0x00c0,
- 0x2012: 0x00c0, 0x2013: 0x00c0, 0x2014: 0x00c0, 0x2015: 0x00c0, 0x2016: 0x00c0,
- 0x2018: 0x00c0, 0x2019: 0x00c0, 0x201a: 0x00c0, 0x201b: 0x00c0, 0x201c: 0x00c0, 0x201d: 0x00c0,
- 0x201e: 0x00c0, 0x2020: 0x00c3, 0x2021: 0x00c3, 0x2022: 0x00c3, 0x2023: 0x00c3,
- 0x2024: 0x00c3, 0x2025: 0x00c3, 0x2026: 0x00c3, 0x2027: 0x00c3, 0x2028: 0x00c3, 0x2029: 0x00c3,
- 0x202a: 0x00c3, 0x202b: 0x00c3, 0x202c: 0x00c3, 0x202d: 0x00c3, 0x202e: 0x00c3, 0x202f: 0x00c3,
- 0x2030: 0x00c3, 0x2031: 0x00c3, 0x2032: 0x00c3, 0x2033: 0x00c3, 0x2034: 0x00c3, 0x2035: 0x00c3,
- 0x2036: 0x00c3, 0x2037: 0x00c3, 0x2038: 0x00c3, 0x2039: 0x00c3, 0x203a: 0x00c3, 0x203b: 0x00c3,
- 0x203c: 0x00c3, 0x203d: 0x00c3, 0x203e: 0x00c3, 0x203f: 0x00c3,
+ 0x2000: 0x0080, 0x2001: 0x0080, 0x2002: 0x0080, 0x2003: 0x0080, 0x2004: 0x0080, 0x2005: 0x0080,
+ 0x2006: 0x0080, 0x2007: 0x0080, 0x2008: 0x0080, 0x2009: 0x0080, 0x200a: 0x0080, 0x200b: 0x0080,
+ 0x200c: 0x0080, 0x200d: 0x0080, 0x200e: 0x0080, 0x200f: 0x0080, 0x2010: 0x0080, 0x2011: 0x0080,
+ 0x2012: 0x0080, 0x2013: 0x0080, 0x2014: 0x0080, 0x2015: 0x0080, 0x2016: 0x0080, 0x2017: 0x0080,
+ 0x2018: 0x0080, 0x2019: 0x0080, 0x201a: 0x0080, 0x201b: 0x0080, 0x201c: 0x0080, 0x201d: 0x0080,
+ 0x201e: 0x0080, 0x201f: 0x0080, 0x2020: 0x0080, 0x2021: 0x0080, 0x2022: 0x0080, 0x2023: 0x0080,
+ 0x2024: 0x0080, 0x2025: 0x0080, 0x2026: 0x0080, 0x2027: 0x0080, 0x2028: 0x0080, 0x2029: 0x0080,
+ 0x202a: 0x0080, 0x202b: 0x0080, 0x202c: 0x0080, 0x202d: 0x0080, 0x202e: 0x0080, 0x202f: 0x00c0,
+ 0x2030: 0x0080, 0x2031: 0x0080, 0x2032: 0x0080, 0x2033: 0x0080, 0x2034: 0x0080, 0x2035: 0x0080,
+ 0x2036: 0x0080, 0x2037: 0x0080, 0x2038: 0x0080, 0x2039: 0x0080, 0x203a: 0x0080, 0x203b: 0x0080,
+ 0x203c: 0x0080, 0x203d: 0x0080, 0x203e: 0x0080, 0x203f: 0x0080,
// Block 0x81, offset 0x2040
0x2040: 0x0080, 0x2041: 0x0080, 0x2042: 0x0080, 0x2043: 0x0080, 0x2044: 0x0080, 0x2045: 0x0080,
- 0x2046: 0x0080, 0x2047: 0x0080, 0x2048: 0x0080, 0x2049: 0x0080, 0x204a: 0x0080, 0x204b: 0x0080,
- 0x204c: 0x0080, 0x204d: 0x0080, 0x204e: 0x0080, 0x204f: 0x0080, 0x2050: 0x0080, 0x2051: 0x0080,
- 0x2052: 0x0080, 0x2053: 0x0080, 0x2054: 0x0080, 0x2055: 0x0080, 0x2056: 0x0080, 0x2057: 0x0080,
- 0x2058: 0x0080, 0x2059: 0x0080, 0x205a: 0x0080, 0x205b: 0x0080, 0x205c: 0x0080, 0x205d: 0x0080,
- 0x205e: 0x0080, 0x205f: 0x0080, 0x2060: 0x0080, 0x2061: 0x0080, 0x2062: 0x0080, 0x2063: 0x0080,
- 0x2064: 0x0080, 0x2065: 0x0080, 0x2066: 0x0080, 0x2067: 0x0080, 0x2068: 0x0080, 0x2069: 0x0080,
- 0x206a: 0x0080, 0x206b: 0x0080, 0x206c: 0x0080, 0x206d: 0x0080, 0x206e: 0x0080, 0x206f: 0x00c0,
- 0x2070: 0x0080, 0x2071: 0x0080, 0x2072: 0x0080, 0x2073: 0x0080, 0x2074: 0x0080, 0x2075: 0x0080,
- 0x2076: 0x0080, 0x2077: 0x0080, 0x2078: 0x0080, 0x2079: 0x0080, 0x207a: 0x0080, 0x207b: 0x0080,
- 0x207c: 0x0080, 0x207d: 0x0080, 0x207e: 0x0080, 0x207f: 0x0080,
+ 0x2046: 0x0080, 0x2047: 0x0080, 0x2048: 0x0080, 0x2049: 0x0080,
// Block 0x82, offset 0x2080
- 0x2080: 0x0080, 0x2081: 0x0080, 0x2082: 0x0080, 0x2083: 0x0080, 0x2084: 0x0080,
+ 0x2080: 0x008c, 0x2081: 0x008c, 0x2082: 0x008c, 0x2083: 0x008c, 0x2084: 0x008c, 0x2085: 0x008c,
+ 0x2086: 0x008c, 0x2087: 0x008c, 0x2088: 0x008c, 0x2089: 0x008c, 0x208a: 0x008c, 0x208b: 0x008c,
+ 0x208c: 0x008c, 0x208d: 0x008c, 0x208e: 0x008c, 0x208f: 0x008c, 0x2090: 0x008c, 0x2091: 0x008c,
+ 0x2092: 0x008c, 0x2093: 0x008c, 0x2094: 0x008c, 0x2095: 0x008c, 0x2096: 0x008c, 0x2097: 0x008c,
+ 0x2098: 0x008c, 0x2099: 0x008c, 0x209b: 0x008c, 0x209c: 0x008c, 0x209d: 0x008c,
+ 0x209e: 0x008c, 0x209f: 0x008c, 0x20a0: 0x008c, 0x20a1: 0x008c, 0x20a2: 0x008c, 0x20a3: 0x008c,
+ 0x20a4: 0x008c, 0x20a5: 0x008c, 0x20a6: 0x008c, 0x20a7: 0x008c, 0x20a8: 0x008c, 0x20a9: 0x008c,
+ 0x20aa: 0x008c, 0x20ab: 0x008c, 0x20ac: 0x008c, 0x20ad: 0x008c, 0x20ae: 0x008c, 0x20af: 0x008c,
+ 0x20b0: 0x008c, 0x20b1: 0x008c, 0x20b2: 0x008c, 0x20b3: 0x008c, 0x20b4: 0x008c, 0x20b5: 0x008c,
+ 0x20b6: 0x008c, 0x20b7: 0x008c, 0x20b8: 0x008c, 0x20b9: 0x008c, 0x20ba: 0x008c, 0x20bb: 0x008c,
+ 0x20bc: 0x008c, 0x20bd: 0x008c, 0x20be: 0x008c, 0x20bf: 0x008c,
// Block 0x83, offset 0x20c0
0x20c0: 0x008c, 0x20c1: 0x008c, 0x20c2: 0x008c, 0x20c3: 0x008c, 0x20c4: 0x008c, 0x20c5: 0x008c,
0x20c6: 0x008c, 0x20c7: 0x008c, 0x20c8: 0x008c, 0x20c9: 0x008c, 0x20ca: 0x008c, 0x20cb: 0x008c,
0x20cc: 0x008c, 0x20cd: 0x008c, 0x20ce: 0x008c, 0x20cf: 0x008c, 0x20d0: 0x008c, 0x20d1: 0x008c,
0x20d2: 0x008c, 0x20d3: 0x008c, 0x20d4: 0x008c, 0x20d5: 0x008c, 0x20d6: 0x008c, 0x20d7: 0x008c,
- 0x20d8: 0x008c, 0x20d9: 0x008c, 0x20db: 0x008c, 0x20dc: 0x008c, 0x20dd: 0x008c,
+ 0x20d8: 0x008c, 0x20d9: 0x008c, 0x20da: 0x008c, 0x20db: 0x008c, 0x20dc: 0x008c, 0x20dd: 0x008c,
0x20de: 0x008c, 0x20df: 0x008c, 0x20e0: 0x008c, 0x20e1: 0x008c, 0x20e2: 0x008c, 0x20e3: 0x008c,
0x20e4: 0x008c, 0x20e5: 0x008c, 0x20e6: 0x008c, 0x20e7: 0x008c, 0x20e8: 0x008c, 0x20e9: 0x008c,
0x20ea: 0x008c, 0x20eb: 0x008c, 0x20ec: 0x008c, 0x20ed: 0x008c, 0x20ee: 0x008c, 0x20ef: 0x008c,
- 0x20f0: 0x008c, 0x20f1: 0x008c, 0x20f2: 0x008c, 0x20f3: 0x008c, 0x20f4: 0x008c, 0x20f5: 0x008c,
- 0x20f6: 0x008c, 0x20f7: 0x008c, 0x20f8: 0x008c, 0x20f9: 0x008c, 0x20fa: 0x008c, 0x20fb: 0x008c,
- 0x20fc: 0x008c, 0x20fd: 0x008c, 0x20fe: 0x008c, 0x20ff: 0x008c,
+ 0x20f0: 0x008c, 0x20f1: 0x008c, 0x20f2: 0x008c, 0x20f3: 0x008c,
// Block 0x84, offset 0x2100
0x2100: 0x008c, 0x2101: 0x008c, 0x2102: 0x008c, 0x2103: 0x008c, 0x2104: 0x008c, 0x2105: 0x008c,
0x2106: 0x008c, 0x2107: 0x008c, 0x2108: 0x008c, 0x2109: 0x008c, 0x210a: 0x008c, 0x210b: 0x008c,
@@ -1668,45 +1672,47 @@ var derivedPropertiesValues = [20736]uint8{
0x211e: 0x008c, 0x211f: 0x008c, 0x2120: 0x008c, 0x2121: 0x008c, 0x2122: 0x008c, 0x2123: 0x008c,
0x2124: 0x008c, 0x2125: 0x008c, 0x2126: 0x008c, 0x2127: 0x008c, 0x2128: 0x008c, 0x2129: 0x008c,
0x212a: 0x008c, 0x212b: 0x008c, 0x212c: 0x008c, 0x212d: 0x008c, 0x212e: 0x008c, 0x212f: 0x008c,
- 0x2130: 0x008c, 0x2131: 0x008c, 0x2132: 0x008c, 0x2133: 0x008c,
+ 0x2130: 0x008c, 0x2131: 0x008c, 0x2132: 0x008c, 0x2133: 0x008c, 0x2134: 0x008c, 0x2135: 0x008c,
+ 0x2136: 0x008c, 0x2137: 0x008c, 0x2138: 0x008c, 0x2139: 0x008c, 0x213a: 0x008c, 0x213b: 0x008c,
+ 0x213c: 0x008c, 0x213d: 0x008c, 0x213e: 0x008c, 0x213f: 0x008c,
// Block 0x85, offset 0x2140
0x2140: 0x008c, 0x2141: 0x008c, 0x2142: 0x008c, 0x2143: 0x008c, 0x2144: 0x008c, 0x2145: 0x008c,
0x2146: 0x008c, 0x2147: 0x008c, 0x2148: 0x008c, 0x2149: 0x008c, 0x214a: 0x008c, 0x214b: 0x008c,
0x214c: 0x008c, 0x214d: 0x008c, 0x214e: 0x008c, 0x214f: 0x008c, 0x2150: 0x008c, 0x2151: 0x008c,
- 0x2152: 0x008c, 0x2153: 0x008c, 0x2154: 0x008c, 0x2155: 0x008c, 0x2156: 0x008c, 0x2157: 0x008c,
- 0x2158: 0x008c, 0x2159: 0x008c, 0x215a: 0x008c, 0x215b: 0x008c, 0x215c: 0x008c, 0x215d: 0x008c,
- 0x215e: 0x008c, 0x215f: 0x008c, 0x2160: 0x008c, 0x2161: 0x008c, 0x2162: 0x008c, 0x2163: 0x008c,
- 0x2164: 0x008c, 0x2165: 0x008c, 0x2166: 0x008c, 0x2167: 0x008c, 0x2168: 0x008c, 0x2169: 0x008c,
- 0x216a: 0x008c, 0x216b: 0x008c, 0x216c: 0x008c, 0x216d: 0x008c, 0x216e: 0x008c, 0x216f: 0x008c,
- 0x2170: 0x008c, 0x2171: 0x008c, 0x2172: 0x008c, 0x2173: 0x008c, 0x2174: 0x008c, 0x2175: 0x008c,
- 0x2176: 0x008c, 0x2177: 0x008c, 0x2178: 0x008c, 0x2179: 0x008c, 0x217a: 0x008c, 0x217b: 0x008c,
- 0x217c: 0x008c, 0x217d: 0x008c, 0x217e: 0x008c, 0x217f: 0x008c,
+ 0x2152: 0x008c, 0x2153: 0x008c, 0x2154: 0x008c, 0x2155: 0x008c,
+ 0x2170: 0x0080, 0x2171: 0x0080, 0x2172: 0x0080, 0x2173: 0x0080, 0x2174: 0x0080, 0x2175: 0x0080,
+ 0x2176: 0x0080, 0x2177: 0x0080, 0x2178: 0x0080, 0x2179: 0x0080, 0x217a: 0x0080, 0x217b: 0x0080,
// Block 0x86, offset 0x2180
- 0x2180: 0x008c, 0x2181: 0x008c, 0x2182: 0x008c, 0x2183: 0x008c, 0x2184: 0x008c, 0x2185: 0x008c,
- 0x2186: 0x008c, 0x2187: 0x008c, 0x2188: 0x008c, 0x2189: 0x008c, 0x218a: 0x008c, 0x218b: 0x008c,
- 0x218c: 0x008c, 0x218d: 0x008c, 0x218e: 0x008c, 0x218f: 0x008c, 0x2190: 0x008c, 0x2191: 0x008c,
- 0x2192: 0x008c, 0x2193: 0x008c, 0x2194: 0x008c, 0x2195: 0x008c,
- 0x21b0: 0x0080, 0x21b1: 0x0080, 0x21b2: 0x0080, 0x21b3: 0x0080, 0x21b4: 0x0080, 0x21b5: 0x0080,
- 0x21b6: 0x0080, 0x21b7: 0x0080, 0x21b8: 0x0080, 0x21b9: 0x0080, 0x21ba: 0x0080, 0x21bb: 0x0080,
+ 0x2180: 0x0080, 0x2181: 0x0080, 0x2182: 0x0080, 0x2183: 0x0080, 0x2184: 0x0080, 0x2185: 0x00cc,
+ 0x2186: 0x00c0, 0x2187: 0x00cc, 0x2188: 0x0080, 0x2189: 0x0080, 0x218a: 0x0080, 0x218b: 0x0080,
+ 0x218c: 0x0080, 0x218d: 0x0080, 0x218e: 0x0080, 0x218f: 0x0080, 0x2190: 0x0080, 0x2191: 0x0080,
+ 0x2192: 0x0080, 0x2193: 0x0080, 0x2194: 0x0080, 0x2195: 0x0080, 0x2196: 0x0080, 0x2197: 0x0080,
+ 0x2198: 0x0080, 0x2199: 0x0080, 0x219a: 0x0080, 0x219b: 0x0080, 0x219c: 0x0080, 0x219d: 0x0080,
+ 0x219e: 0x0080, 0x219f: 0x0080, 0x21a0: 0x0080, 0x21a1: 0x008c, 0x21a2: 0x008c, 0x21a3: 0x008c,
+ 0x21a4: 0x008c, 0x21a5: 0x008c, 0x21a6: 0x008c, 0x21a7: 0x008c, 0x21a8: 0x008c, 0x21a9: 0x008c,
+ 0x21aa: 0x00c3, 0x21ab: 0x00c3, 0x21ac: 0x00c3, 0x21ad: 0x00c3, 0x21ae: 0x0040, 0x21af: 0x0040,
+ 0x21b0: 0x0080, 0x21b1: 0x0040, 0x21b2: 0x0040, 0x21b3: 0x0040, 0x21b4: 0x0040, 0x21b5: 0x0040,
+ 0x21b6: 0x0080, 0x21b7: 0x0080, 0x21b8: 0x008c, 0x21b9: 0x008c, 0x21ba: 0x008c, 0x21bb: 0x0040,
+ 0x21bc: 0x00c0, 0x21bd: 0x0080, 0x21be: 0x0080, 0x21bf: 0x0080,
// Block 0x87, offset 0x21c0
- 0x21c0: 0x0080, 0x21c1: 0x0080, 0x21c2: 0x0080, 0x21c3: 0x0080, 0x21c4: 0x0080, 0x21c5: 0x00cc,
- 0x21c6: 0x00c0, 0x21c7: 0x00cc, 0x21c8: 0x0080, 0x21c9: 0x0080, 0x21ca: 0x0080, 0x21cb: 0x0080,
- 0x21cc: 0x0080, 0x21cd: 0x0080, 0x21ce: 0x0080, 0x21cf: 0x0080, 0x21d0: 0x0080, 0x21d1: 0x0080,
- 0x21d2: 0x0080, 0x21d3: 0x0080, 0x21d4: 0x0080, 0x21d5: 0x0080, 0x21d6: 0x0080, 0x21d7: 0x0080,
- 0x21d8: 0x0080, 0x21d9: 0x0080, 0x21da: 0x0080, 0x21db: 0x0080, 0x21dc: 0x0080, 0x21dd: 0x0080,
- 0x21de: 0x0080, 0x21df: 0x0080, 0x21e0: 0x0080, 0x21e1: 0x008c, 0x21e2: 0x008c, 0x21e3: 0x008c,
- 0x21e4: 0x008c, 0x21e5: 0x008c, 0x21e6: 0x008c, 0x21e7: 0x008c, 0x21e8: 0x008c, 0x21e9: 0x008c,
- 0x21ea: 0x00c3, 0x21eb: 0x00c3, 0x21ec: 0x00c3, 0x21ed: 0x00c3, 0x21ee: 0x0040, 0x21ef: 0x0040,
- 0x21f0: 0x0080, 0x21f1: 0x0040, 0x21f2: 0x0040, 0x21f3: 0x0040, 0x21f4: 0x0040, 0x21f5: 0x0040,
- 0x21f6: 0x0080, 0x21f7: 0x0080, 0x21f8: 0x008c, 0x21f9: 0x008c, 0x21fa: 0x008c, 0x21fb: 0x0040,
- 0x21fc: 0x00c0, 0x21fd: 0x0080, 0x21fe: 0x0080, 0x21ff: 0x0080,
+ 0x21c1: 0x00cc, 0x21c2: 0x00cc, 0x21c3: 0x00cc, 0x21c4: 0x00cc, 0x21c5: 0x00cc,
+ 0x21c6: 0x00cc, 0x21c7: 0x00cc, 0x21c8: 0x00cc, 0x21c9: 0x00cc, 0x21ca: 0x00cc, 0x21cb: 0x00cc,
+ 0x21cc: 0x00cc, 0x21cd: 0x00cc, 0x21ce: 0x00cc, 0x21cf: 0x00cc, 0x21d0: 0x00cc, 0x21d1: 0x00cc,
+ 0x21d2: 0x00cc, 0x21d3: 0x00cc, 0x21d4: 0x00cc, 0x21d5: 0x00cc, 0x21d6: 0x00cc, 0x21d7: 0x00cc,
+ 0x21d8: 0x00cc, 0x21d9: 0x00cc, 0x21da: 0x00cc, 0x21db: 0x00cc, 0x21dc: 0x00cc, 0x21dd: 0x00cc,
+ 0x21de: 0x00cc, 0x21df: 0x00cc, 0x21e0: 0x00cc, 0x21e1: 0x00cc, 0x21e2: 0x00cc, 0x21e3: 0x00cc,
+ 0x21e4: 0x00cc, 0x21e5: 0x00cc, 0x21e6: 0x00cc, 0x21e7: 0x00cc, 0x21e8: 0x00cc, 0x21e9: 0x00cc,
+ 0x21ea: 0x00cc, 0x21eb: 0x00cc, 0x21ec: 0x00cc, 0x21ed: 0x00cc, 0x21ee: 0x00cc, 0x21ef: 0x00cc,
+ 0x21f0: 0x00cc, 0x21f1: 0x00cc, 0x21f2: 0x00cc, 0x21f3: 0x00cc, 0x21f4: 0x00cc, 0x21f5: 0x00cc,
+ 0x21f6: 0x00cc, 0x21f7: 0x00cc, 0x21f8: 0x00cc, 0x21f9: 0x00cc, 0x21fa: 0x00cc, 0x21fb: 0x00cc,
+ 0x21fc: 0x00cc, 0x21fd: 0x00cc, 0x21fe: 0x00cc, 0x21ff: 0x00cc,
// Block 0x88, offset 0x2200
- 0x2201: 0x00cc, 0x2202: 0x00cc, 0x2203: 0x00cc, 0x2204: 0x00cc, 0x2205: 0x00cc,
+ 0x2200: 0x00cc, 0x2201: 0x00cc, 0x2202: 0x00cc, 0x2203: 0x00cc, 0x2204: 0x00cc, 0x2205: 0x00cc,
0x2206: 0x00cc, 0x2207: 0x00cc, 0x2208: 0x00cc, 0x2209: 0x00cc, 0x220a: 0x00cc, 0x220b: 0x00cc,
0x220c: 0x00cc, 0x220d: 0x00cc, 0x220e: 0x00cc, 0x220f: 0x00cc, 0x2210: 0x00cc, 0x2211: 0x00cc,
- 0x2212: 0x00cc, 0x2213: 0x00cc, 0x2214: 0x00cc, 0x2215: 0x00cc, 0x2216: 0x00cc, 0x2217: 0x00cc,
- 0x2218: 0x00cc, 0x2219: 0x00cc, 0x221a: 0x00cc, 0x221b: 0x00cc, 0x221c: 0x00cc, 0x221d: 0x00cc,
- 0x221e: 0x00cc, 0x221f: 0x00cc, 0x2220: 0x00cc, 0x2221: 0x00cc, 0x2222: 0x00cc, 0x2223: 0x00cc,
+ 0x2212: 0x00cc, 0x2213: 0x00cc, 0x2214: 0x00cc, 0x2215: 0x00cc, 0x2216: 0x00cc,
+ 0x2219: 0x00c3, 0x221a: 0x00c3, 0x221b: 0x0080, 0x221c: 0x0080, 0x221d: 0x00cc,
+ 0x221e: 0x00cc, 0x221f: 0x008c, 0x2220: 0x0080, 0x2221: 0x00cc, 0x2222: 0x00cc, 0x2223: 0x00cc,
0x2224: 0x00cc, 0x2225: 0x00cc, 0x2226: 0x00cc, 0x2227: 0x00cc, 0x2228: 0x00cc, 0x2229: 0x00cc,
0x222a: 0x00cc, 0x222b: 0x00cc, 0x222c: 0x00cc, 0x222d: 0x00cc, 0x222e: 0x00cc, 0x222f: 0x00cc,
0x2230: 0x00cc, 0x2231: 0x00cc, 0x2232: 0x00cc, 0x2233: 0x00cc, 0x2234: 0x00cc, 0x2235: 0x00cc,
@@ -1716,107 +1722,107 @@ var derivedPropertiesValues = [20736]uint8{
0x2240: 0x00cc, 0x2241: 0x00cc, 0x2242: 0x00cc, 0x2243: 0x00cc, 0x2244: 0x00cc, 0x2245: 0x00cc,
0x2246: 0x00cc, 0x2247: 0x00cc, 0x2248: 0x00cc, 0x2249: 0x00cc, 0x224a: 0x00cc, 0x224b: 0x00cc,
0x224c: 0x00cc, 0x224d: 0x00cc, 0x224e: 0x00cc, 0x224f: 0x00cc, 0x2250: 0x00cc, 0x2251: 0x00cc,
- 0x2252: 0x00cc, 0x2253: 0x00cc, 0x2254: 0x00cc, 0x2255: 0x00cc, 0x2256: 0x00cc,
- 0x2259: 0x00c3, 0x225a: 0x00c3, 0x225b: 0x0080, 0x225c: 0x0080, 0x225d: 0x00cc,
- 0x225e: 0x00cc, 0x225f: 0x008c, 0x2260: 0x0080, 0x2261: 0x00cc, 0x2262: 0x00cc, 0x2263: 0x00cc,
+ 0x2252: 0x00cc, 0x2253: 0x00cc, 0x2254: 0x00cc, 0x2255: 0x00cc, 0x2256: 0x00cc, 0x2257: 0x00cc,
+ 0x2258: 0x00cc, 0x2259: 0x00cc, 0x225a: 0x00cc, 0x225b: 0x00cc, 0x225c: 0x00cc, 0x225d: 0x00cc,
+ 0x225e: 0x00cc, 0x225f: 0x00cc, 0x2260: 0x00cc, 0x2261: 0x00cc, 0x2262: 0x00cc, 0x2263: 0x00cc,
0x2264: 0x00cc, 0x2265: 0x00cc, 0x2266: 0x00cc, 0x2267: 0x00cc, 0x2268: 0x00cc, 0x2269: 0x00cc,
0x226a: 0x00cc, 0x226b: 0x00cc, 0x226c: 0x00cc, 0x226d: 0x00cc, 0x226e: 0x00cc, 0x226f: 0x00cc,
0x2270: 0x00cc, 0x2271: 0x00cc, 0x2272: 0x00cc, 0x2273: 0x00cc, 0x2274: 0x00cc, 0x2275: 0x00cc,
- 0x2276: 0x00cc, 0x2277: 0x00cc, 0x2278: 0x00cc, 0x2279: 0x00cc, 0x227a: 0x00cc, 0x227b: 0x00cc,
- 0x227c: 0x00cc, 0x227d: 0x00cc, 0x227e: 0x00cc, 0x227f: 0x00cc,
+ 0x2276: 0x00cc, 0x2277: 0x00cc, 0x2278: 0x00cc, 0x2279: 0x00cc, 0x227a: 0x00cc, 0x227b: 0x00d2,
+ 0x227c: 0x00c0, 0x227d: 0x00cc, 0x227e: 0x00cc, 0x227f: 0x008c,
// Block 0x8a, offset 0x2280
- 0x2280: 0x00cc, 0x2281: 0x00cc, 0x2282: 0x00cc, 0x2283: 0x00cc, 0x2284: 0x00cc, 0x2285: 0x00cc,
- 0x2286: 0x00cc, 0x2287: 0x00cc, 0x2288: 0x00cc, 0x2289: 0x00cc, 0x228a: 0x00cc, 0x228b: 0x00cc,
- 0x228c: 0x00cc, 0x228d: 0x00cc, 0x228e: 0x00cc, 0x228f: 0x00cc, 0x2290: 0x00cc, 0x2291: 0x00cc,
- 0x2292: 0x00cc, 0x2293: 0x00cc, 0x2294: 0x00cc, 0x2295: 0x00cc, 0x2296: 0x00cc, 0x2297: 0x00cc,
- 0x2298: 0x00cc, 0x2299: 0x00cc, 0x229a: 0x00cc, 0x229b: 0x00cc, 0x229c: 0x00cc, 0x229d: 0x00cc,
- 0x229e: 0x00cc, 0x229f: 0x00cc, 0x22a0: 0x00cc, 0x22a1: 0x00cc, 0x22a2: 0x00cc, 0x22a3: 0x00cc,
- 0x22a4: 0x00cc, 0x22a5: 0x00cc, 0x22a6: 0x00cc, 0x22a7: 0x00cc, 0x22a8: 0x00cc, 0x22a9: 0x00cc,
- 0x22aa: 0x00cc, 0x22ab: 0x00cc, 0x22ac: 0x00cc, 0x22ad: 0x00cc, 0x22ae: 0x00cc, 0x22af: 0x00cc,
- 0x22b0: 0x00cc, 0x22b1: 0x00cc, 0x22b2: 0x00cc, 0x22b3: 0x00cc, 0x22b4: 0x00cc, 0x22b5: 0x00cc,
- 0x22b6: 0x00cc, 0x22b7: 0x00cc, 0x22b8: 0x00cc, 0x22b9: 0x00cc, 0x22ba: 0x00cc, 0x22bb: 0x00d2,
- 0x22bc: 0x00c0, 0x22bd: 0x00cc, 0x22be: 0x00cc, 0x22bf: 0x008c,
+ 0x2285: 0x00c0,
+ 0x2286: 0x00c0, 0x2287: 0x00c0, 0x2288: 0x00c0, 0x2289: 0x00c0, 0x228a: 0x00c0, 0x228b: 0x00c0,
+ 0x228c: 0x00c0, 0x228d: 0x00c0, 0x228e: 0x00c0, 0x228f: 0x00c0, 0x2290: 0x00c0, 0x2291: 0x00c0,
+ 0x2292: 0x00c0, 0x2293: 0x00c0, 0x2294: 0x00c0, 0x2295: 0x00c0, 0x2296: 0x00c0, 0x2297: 0x00c0,
+ 0x2298: 0x00c0, 0x2299: 0x00c0, 0x229a: 0x00c0, 0x229b: 0x00c0, 0x229c: 0x00c0, 0x229d: 0x00c0,
+ 0x229e: 0x00c0, 0x229f: 0x00c0, 0x22a0: 0x00c0, 0x22a1: 0x00c0, 0x22a2: 0x00c0, 0x22a3: 0x00c0,
+ 0x22a4: 0x00c0, 0x22a5: 0x00c0, 0x22a6: 0x00c0, 0x22a7: 0x00c0, 0x22a8: 0x00c0, 0x22a9: 0x00c0,
+ 0x22aa: 0x00c0, 0x22ab: 0x00c0, 0x22ac: 0x00c0, 0x22ad: 0x00c0, 0x22ae: 0x00c0,
+ 0x22b1: 0x0080, 0x22b2: 0x0080, 0x22b3: 0x0080, 0x22b4: 0x0080, 0x22b5: 0x0080,
+ 0x22b6: 0x0080, 0x22b7: 0x0080, 0x22b8: 0x0080, 0x22b9: 0x0080, 0x22ba: 0x0080, 0x22bb: 0x0080,
+ 0x22bc: 0x0080, 0x22bd: 0x0080, 0x22be: 0x0080, 0x22bf: 0x0080,
// Block 0x8b, offset 0x22c0
- 0x22c5: 0x00c0,
- 0x22c6: 0x00c0, 0x22c7: 0x00c0, 0x22c8: 0x00c0, 0x22c9: 0x00c0, 0x22ca: 0x00c0, 0x22cb: 0x00c0,
- 0x22cc: 0x00c0, 0x22cd: 0x00c0, 0x22ce: 0x00c0, 0x22cf: 0x00c0, 0x22d0: 0x00c0, 0x22d1: 0x00c0,
- 0x22d2: 0x00c0, 0x22d3: 0x00c0, 0x22d4: 0x00c0, 0x22d5: 0x00c0, 0x22d6: 0x00c0, 0x22d7: 0x00c0,
- 0x22d8: 0x00c0, 0x22d9: 0x00c0, 0x22da: 0x00c0, 0x22db: 0x00c0, 0x22dc: 0x00c0, 0x22dd: 0x00c0,
- 0x22de: 0x00c0, 0x22df: 0x00c0, 0x22e0: 0x00c0, 0x22e1: 0x00c0, 0x22e2: 0x00c0, 0x22e3: 0x00c0,
- 0x22e4: 0x00c0, 0x22e5: 0x00c0, 0x22e6: 0x00c0, 0x22e7: 0x00c0, 0x22e8: 0x00c0, 0x22e9: 0x00c0,
- 0x22ea: 0x00c0, 0x22eb: 0x00c0, 0x22ec: 0x00c0, 0x22ed: 0x00c0,
- 0x22f1: 0x0080, 0x22f2: 0x0080, 0x22f3: 0x0080, 0x22f4: 0x0080, 0x22f5: 0x0080,
+ 0x22c0: 0x0080, 0x22c1: 0x0080, 0x22c2: 0x0080, 0x22c3: 0x0080, 0x22c4: 0x0080, 0x22c5: 0x0080,
+ 0x22c6: 0x0080, 0x22c7: 0x0080, 0x22c8: 0x0080, 0x22c9: 0x0080, 0x22ca: 0x0080, 0x22cb: 0x0080,
+ 0x22cc: 0x0080, 0x22cd: 0x0080, 0x22ce: 0x0080, 0x22cf: 0x0080, 0x22d0: 0x0080, 0x22d1: 0x0080,
+ 0x22d2: 0x0080, 0x22d3: 0x0080, 0x22d4: 0x0080, 0x22d5: 0x0080, 0x22d6: 0x0080, 0x22d7: 0x0080,
+ 0x22d8: 0x0080, 0x22d9: 0x0080, 0x22da: 0x0080, 0x22db: 0x0080, 0x22dc: 0x0080, 0x22dd: 0x0080,
+ 0x22de: 0x0080, 0x22df: 0x0080, 0x22e0: 0x0080, 0x22e1: 0x0080, 0x22e2: 0x0080, 0x22e3: 0x0080,
+ 0x22e4: 0x0040, 0x22e5: 0x0080, 0x22e6: 0x0080, 0x22e7: 0x0080, 0x22e8: 0x0080, 0x22e9: 0x0080,
+ 0x22ea: 0x0080, 0x22eb: 0x0080, 0x22ec: 0x0080, 0x22ed: 0x0080, 0x22ee: 0x0080, 0x22ef: 0x0080,
+ 0x22f0: 0x0080, 0x22f1: 0x0080, 0x22f2: 0x0080, 0x22f3: 0x0080, 0x22f4: 0x0080, 0x22f5: 0x0080,
0x22f6: 0x0080, 0x22f7: 0x0080, 0x22f8: 0x0080, 0x22f9: 0x0080, 0x22fa: 0x0080, 0x22fb: 0x0080,
0x22fc: 0x0080, 0x22fd: 0x0080, 0x22fe: 0x0080, 0x22ff: 0x0080,
// Block 0x8c, offset 0x2300
0x2300: 0x0080, 0x2301: 0x0080, 0x2302: 0x0080, 0x2303: 0x0080, 0x2304: 0x0080, 0x2305: 0x0080,
0x2306: 0x0080, 0x2307: 0x0080, 0x2308: 0x0080, 0x2309: 0x0080, 0x230a: 0x0080, 0x230b: 0x0080,
- 0x230c: 0x0080, 0x230d: 0x0080, 0x230e: 0x0080, 0x230f: 0x0080, 0x2310: 0x0080, 0x2311: 0x0080,
+ 0x230c: 0x0080, 0x230d: 0x0080, 0x230e: 0x0080, 0x2310: 0x0080, 0x2311: 0x0080,
0x2312: 0x0080, 0x2313: 0x0080, 0x2314: 0x0080, 0x2315: 0x0080, 0x2316: 0x0080, 0x2317: 0x0080,
0x2318: 0x0080, 0x2319: 0x0080, 0x231a: 0x0080, 0x231b: 0x0080, 0x231c: 0x0080, 0x231d: 0x0080,
- 0x231e: 0x0080, 0x231f: 0x0080, 0x2320: 0x0080, 0x2321: 0x0080, 0x2322: 0x0080, 0x2323: 0x0080,
- 0x2324: 0x0040, 0x2325: 0x0080, 0x2326: 0x0080, 0x2327: 0x0080, 0x2328: 0x0080, 0x2329: 0x0080,
- 0x232a: 0x0080, 0x232b: 0x0080, 0x232c: 0x0080, 0x232d: 0x0080, 0x232e: 0x0080, 0x232f: 0x0080,
- 0x2330: 0x0080, 0x2331: 0x0080, 0x2332: 0x0080, 0x2333: 0x0080, 0x2334: 0x0080, 0x2335: 0x0080,
- 0x2336: 0x0080, 0x2337: 0x0080, 0x2338: 0x0080, 0x2339: 0x0080, 0x233a: 0x0080, 0x233b: 0x0080,
- 0x233c: 0x0080, 0x233d: 0x0080, 0x233e: 0x0080, 0x233f: 0x0080,
+ 0x231e: 0x0080, 0x231f: 0x0080, 0x2320: 0x00c0, 0x2321: 0x00c0, 0x2322: 0x00c0, 0x2323: 0x00c0,
+ 0x2324: 0x00c0, 0x2325: 0x00c0, 0x2326: 0x00c0, 0x2327: 0x00c0, 0x2328: 0x00c0, 0x2329: 0x00c0,
+ 0x232a: 0x00c0, 0x232b: 0x00c0, 0x232c: 0x00c0, 0x232d: 0x00c0, 0x232e: 0x00c0, 0x232f: 0x00c0,
+ 0x2330: 0x00c0, 0x2331: 0x00c0, 0x2332: 0x00c0, 0x2333: 0x00c0, 0x2334: 0x00c0, 0x2335: 0x00c0,
+ 0x2336: 0x00c0, 0x2337: 0x00c0, 0x2338: 0x00c0, 0x2339: 0x00c0, 0x233a: 0x00c0,
// Block 0x8d, offset 0x2340
0x2340: 0x0080, 0x2341: 0x0080, 0x2342: 0x0080, 0x2343: 0x0080, 0x2344: 0x0080, 0x2345: 0x0080,
0x2346: 0x0080, 0x2347: 0x0080, 0x2348: 0x0080, 0x2349: 0x0080, 0x234a: 0x0080, 0x234b: 0x0080,
- 0x234c: 0x0080, 0x234d: 0x0080, 0x234e: 0x0080, 0x2350: 0x0080, 0x2351: 0x0080,
+ 0x234c: 0x0080, 0x234d: 0x0080, 0x234e: 0x0080, 0x234f: 0x0080, 0x2350: 0x0080, 0x2351: 0x0080,
0x2352: 0x0080, 0x2353: 0x0080, 0x2354: 0x0080, 0x2355: 0x0080, 0x2356: 0x0080, 0x2357: 0x0080,
0x2358: 0x0080, 0x2359: 0x0080, 0x235a: 0x0080, 0x235b: 0x0080, 0x235c: 0x0080, 0x235d: 0x0080,
- 0x235e: 0x0080, 0x235f: 0x0080, 0x2360: 0x00c0, 0x2361: 0x00c0, 0x2362: 0x00c0, 0x2363: 0x00c0,
- 0x2364: 0x00c0, 0x2365: 0x00c0, 0x2366: 0x00c0, 0x2367: 0x00c0, 0x2368: 0x00c0, 0x2369: 0x00c0,
- 0x236a: 0x00c0, 0x236b: 0x00c0, 0x236c: 0x00c0, 0x236d: 0x00c0, 0x236e: 0x00c0, 0x236f: 0x00c0,
- 0x2370: 0x00c0, 0x2371: 0x00c0, 0x2372: 0x00c0, 0x2373: 0x00c0, 0x2374: 0x00c0, 0x2375: 0x00c0,
- 0x2376: 0x00c0, 0x2377: 0x00c0, 0x2378: 0x00c0, 0x2379: 0x00c0, 0x237a: 0x00c0,
+ 0x235e: 0x0080, 0x235f: 0x0080, 0x2360: 0x0080, 0x2361: 0x0080, 0x2362: 0x0080, 0x2363: 0x0080,
+ 0x2370: 0x00cc, 0x2371: 0x00cc, 0x2372: 0x00cc, 0x2373: 0x00cc, 0x2374: 0x00cc, 0x2375: 0x00cc,
+ 0x2376: 0x00cc, 0x2377: 0x00cc, 0x2378: 0x00cc, 0x2379: 0x00cc, 0x237a: 0x00cc, 0x237b: 0x00cc,
+ 0x237c: 0x00cc, 0x237d: 0x00cc, 0x237e: 0x00cc, 0x237f: 0x00cc,
// Block 0x8e, offset 0x2380
0x2380: 0x0080, 0x2381: 0x0080, 0x2382: 0x0080, 0x2383: 0x0080, 0x2384: 0x0080, 0x2385: 0x0080,
0x2386: 0x0080, 0x2387: 0x0080, 0x2388: 0x0080, 0x2389: 0x0080, 0x238a: 0x0080, 0x238b: 0x0080,
0x238c: 0x0080, 0x238d: 0x0080, 0x238e: 0x0080, 0x238f: 0x0080, 0x2390: 0x0080, 0x2391: 0x0080,
0x2392: 0x0080, 0x2393: 0x0080, 0x2394: 0x0080, 0x2395: 0x0080, 0x2396: 0x0080, 0x2397: 0x0080,
0x2398: 0x0080, 0x2399: 0x0080, 0x239a: 0x0080, 0x239b: 0x0080, 0x239c: 0x0080, 0x239d: 0x0080,
- 0x239e: 0x0080, 0x239f: 0x0080, 0x23a0: 0x0080, 0x23a1: 0x0080, 0x23a2: 0x0080, 0x23a3: 0x0080,
- 0x23b0: 0x00cc, 0x23b1: 0x00cc, 0x23b2: 0x00cc, 0x23b3: 0x00cc, 0x23b4: 0x00cc, 0x23b5: 0x00cc,
- 0x23b6: 0x00cc, 0x23b7: 0x00cc, 0x23b8: 0x00cc, 0x23b9: 0x00cc, 0x23ba: 0x00cc, 0x23bb: 0x00cc,
- 0x23bc: 0x00cc, 0x23bd: 0x00cc, 0x23be: 0x00cc, 0x23bf: 0x00cc,
+ 0x239e: 0x0080, 0x23a0: 0x0080, 0x23a1: 0x0080, 0x23a2: 0x0080, 0x23a3: 0x0080,
+ 0x23a4: 0x0080, 0x23a5: 0x0080, 0x23a6: 0x0080, 0x23a7: 0x0080, 0x23a8: 0x0080, 0x23a9: 0x0080,
+ 0x23aa: 0x0080, 0x23ab: 0x0080, 0x23ac: 0x0080, 0x23ad: 0x0080, 0x23ae: 0x0080, 0x23af: 0x0080,
+ 0x23b0: 0x0080, 0x23b1: 0x0080, 0x23b2: 0x0080, 0x23b3: 0x0080, 0x23b4: 0x0080, 0x23b5: 0x0080,
+ 0x23b6: 0x0080, 0x23b7: 0x0080, 0x23b8: 0x0080, 0x23b9: 0x0080, 0x23ba: 0x0080, 0x23bb: 0x0080,
+ 0x23bc: 0x0080, 0x23bd: 0x0080, 0x23be: 0x0080, 0x23bf: 0x0080,
// Block 0x8f, offset 0x23c0
0x23c0: 0x0080, 0x23c1: 0x0080, 0x23c2: 0x0080, 0x23c3: 0x0080, 0x23c4: 0x0080, 0x23c5: 0x0080,
0x23c6: 0x0080, 0x23c7: 0x0080, 0x23c8: 0x0080, 0x23c9: 0x0080, 0x23ca: 0x0080, 0x23cb: 0x0080,
- 0x23cc: 0x0080, 0x23cd: 0x0080, 0x23ce: 0x0080, 0x23cf: 0x0080, 0x23d0: 0x0080, 0x23d1: 0x0080,
- 0x23d2: 0x0080, 0x23d3: 0x0080, 0x23d4: 0x0080, 0x23d5: 0x0080, 0x23d6: 0x0080, 0x23d7: 0x0080,
- 0x23d8: 0x0080, 0x23d9: 0x0080, 0x23da: 0x0080, 0x23db: 0x0080, 0x23dc: 0x0080, 0x23dd: 0x0080,
- 0x23de: 0x0080, 0x23e0: 0x0080, 0x23e1: 0x0080, 0x23e2: 0x0080, 0x23e3: 0x0080,
- 0x23e4: 0x0080, 0x23e5: 0x0080, 0x23e6: 0x0080, 0x23e7: 0x0080, 0x23e8: 0x0080, 0x23e9: 0x0080,
- 0x23ea: 0x0080, 0x23eb: 0x0080, 0x23ec: 0x0080, 0x23ed: 0x0080, 0x23ee: 0x0080, 0x23ef: 0x0080,
- 0x23f0: 0x0080, 0x23f1: 0x0080, 0x23f2: 0x0080, 0x23f3: 0x0080, 0x23f4: 0x0080, 0x23f5: 0x0080,
- 0x23f6: 0x0080, 0x23f7: 0x0080, 0x23f8: 0x0080, 0x23f9: 0x0080, 0x23fa: 0x0080, 0x23fb: 0x0080,
- 0x23fc: 0x0080, 0x23fd: 0x0080, 0x23fe: 0x0080, 0x23ff: 0x0080,
+ 0x23cc: 0x0080, 0x23cd: 0x0080, 0x23ce: 0x0080, 0x23cf: 0x0080, 0x23d0: 0x008c, 0x23d1: 0x008c,
+ 0x23d2: 0x008c, 0x23d3: 0x008c, 0x23d4: 0x008c, 0x23d5: 0x008c, 0x23d6: 0x008c, 0x23d7: 0x008c,
+ 0x23d8: 0x008c, 0x23d9: 0x008c, 0x23da: 0x008c, 0x23db: 0x008c, 0x23dc: 0x008c, 0x23dd: 0x008c,
+ 0x23de: 0x008c, 0x23df: 0x008c, 0x23e0: 0x008c, 0x23e1: 0x008c, 0x23e2: 0x008c, 0x23e3: 0x008c,
+ 0x23e4: 0x008c, 0x23e5: 0x008c, 0x23e6: 0x008c, 0x23e7: 0x008c, 0x23e8: 0x008c, 0x23e9: 0x008c,
+ 0x23ea: 0x008c, 0x23eb: 0x008c, 0x23ec: 0x008c, 0x23ed: 0x008c, 0x23ee: 0x008c, 0x23ef: 0x008c,
+ 0x23f0: 0x008c, 0x23f1: 0x008c, 0x23f2: 0x008c, 0x23f3: 0x008c, 0x23f4: 0x008c, 0x23f5: 0x008c,
+ 0x23f6: 0x008c, 0x23f7: 0x008c, 0x23f8: 0x008c, 0x23f9: 0x008c, 0x23fa: 0x008c, 0x23fb: 0x008c,
+ 0x23fc: 0x008c, 0x23fd: 0x008c, 0x23fe: 0x008c,
// Block 0x90, offset 0x2400
- 0x2400: 0x0080, 0x2401: 0x0080, 0x2402: 0x0080, 0x2403: 0x0080, 0x2404: 0x0080, 0x2405: 0x0080,
- 0x2406: 0x0080, 0x2407: 0x0080, 0x2408: 0x0080, 0x2409: 0x0080, 0x240a: 0x0080, 0x240b: 0x0080,
- 0x240c: 0x0080, 0x240d: 0x0080, 0x240e: 0x0080, 0x240f: 0x0080, 0x2410: 0x008c, 0x2411: 0x008c,
+ 0x2400: 0x008c, 0x2401: 0x008c, 0x2402: 0x008c, 0x2403: 0x008c, 0x2404: 0x008c, 0x2405: 0x008c,
+ 0x2406: 0x008c, 0x2407: 0x008c, 0x2408: 0x008c, 0x2409: 0x008c, 0x240a: 0x008c, 0x240b: 0x008c,
+ 0x240c: 0x008c, 0x240d: 0x008c, 0x240e: 0x008c, 0x240f: 0x008c, 0x2410: 0x008c, 0x2411: 0x008c,
0x2412: 0x008c, 0x2413: 0x008c, 0x2414: 0x008c, 0x2415: 0x008c, 0x2416: 0x008c, 0x2417: 0x008c,
- 0x2418: 0x008c, 0x2419: 0x008c, 0x241a: 0x008c, 0x241b: 0x008c, 0x241c: 0x008c, 0x241d: 0x008c,
- 0x241e: 0x008c, 0x241f: 0x008c, 0x2420: 0x008c, 0x2421: 0x008c, 0x2422: 0x008c, 0x2423: 0x008c,
- 0x2424: 0x008c, 0x2425: 0x008c, 0x2426: 0x008c, 0x2427: 0x008c, 0x2428: 0x008c, 0x2429: 0x008c,
- 0x242a: 0x008c, 0x242b: 0x008c, 0x242c: 0x008c, 0x242d: 0x008c, 0x242e: 0x008c, 0x242f: 0x008c,
- 0x2430: 0x008c, 0x2431: 0x008c, 0x2432: 0x008c, 0x2433: 0x008c, 0x2434: 0x008c, 0x2435: 0x008c,
- 0x2436: 0x008c, 0x2437: 0x008c, 0x2438: 0x008c, 0x2439: 0x008c, 0x243a: 0x008c, 0x243b: 0x008c,
- 0x243c: 0x008c, 0x243d: 0x008c, 0x243e: 0x008c,
+ 0x2418: 0x0080, 0x2419: 0x0080, 0x241a: 0x0080, 0x241b: 0x0080, 0x241c: 0x0080, 0x241d: 0x0080,
+ 0x241e: 0x0080, 0x241f: 0x0080, 0x2420: 0x0080, 0x2421: 0x0080, 0x2422: 0x0080, 0x2423: 0x0080,
+ 0x2424: 0x0080, 0x2425: 0x0080, 0x2426: 0x0080, 0x2427: 0x0080, 0x2428: 0x0080, 0x2429: 0x0080,
+ 0x242a: 0x0080, 0x242b: 0x0080, 0x242c: 0x0080, 0x242d: 0x0080, 0x242e: 0x0080, 0x242f: 0x0080,
+ 0x2430: 0x0080, 0x2431: 0x0080, 0x2432: 0x0080, 0x2433: 0x0080, 0x2434: 0x0080, 0x2435: 0x0080,
+ 0x2436: 0x0080, 0x2437: 0x0080, 0x2438: 0x0080, 0x2439: 0x0080, 0x243a: 0x0080, 0x243b: 0x0080,
+ 0x243c: 0x0080, 0x243d: 0x0080, 0x243e: 0x0080, 0x243f: 0x0080,
// Block 0x91, offset 0x2440
- 0x2440: 0x008c, 0x2441: 0x008c, 0x2442: 0x008c, 0x2443: 0x008c, 0x2444: 0x008c, 0x2445: 0x008c,
- 0x2446: 0x008c, 0x2447: 0x008c, 0x2448: 0x008c, 0x2449: 0x008c, 0x244a: 0x008c, 0x244b: 0x008c,
- 0x244c: 0x008c, 0x244d: 0x008c, 0x244e: 0x008c, 0x244f: 0x008c, 0x2450: 0x008c, 0x2451: 0x008c,
- 0x2452: 0x008c, 0x2453: 0x008c, 0x2454: 0x008c, 0x2455: 0x008c, 0x2456: 0x008c, 0x2457: 0x008c,
- 0x2458: 0x0080, 0x2459: 0x0080, 0x245a: 0x0080, 0x245b: 0x0080, 0x245c: 0x0080, 0x245d: 0x0080,
- 0x245e: 0x0080, 0x245f: 0x0080, 0x2460: 0x0080, 0x2461: 0x0080, 0x2462: 0x0080, 0x2463: 0x0080,
- 0x2464: 0x0080, 0x2465: 0x0080, 0x2466: 0x0080, 0x2467: 0x0080, 0x2468: 0x0080, 0x2469: 0x0080,
- 0x246a: 0x0080, 0x246b: 0x0080, 0x246c: 0x0080, 0x246d: 0x0080, 0x246e: 0x0080, 0x246f: 0x0080,
- 0x2470: 0x0080, 0x2471: 0x0080, 0x2472: 0x0080, 0x2473: 0x0080, 0x2474: 0x0080, 0x2475: 0x0080,
- 0x2476: 0x0080, 0x2477: 0x0080, 0x2478: 0x0080, 0x2479: 0x0080, 0x247a: 0x0080, 0x247b: 0x0080,
- 0x247c: 0x0080, 0x247d: 0x0080, 0x247e: 0x0080, 0x247f: 0x0080,
+ 0x2440: 0x00cc, 0x2441: 0x00cc, 0x2442: 0x00cc, 0x2443: 0x00cc, 0x2444: 0x00cc, 0x2445: 0x00cc,
+ 0x2446: 0x00cc, 0x2447: 0x00cc, 0x2448: 0x00cc, 0x2449: 0x00cc, 0x244a: 0x00cc, 0x244b: 0x00cc,
+ 0x244c: 0x00cc, 0x244d: 0x00cc, 0x244e: 0x00cc, 0x244f: 0x00cc, 0x2450: 0x00cc, 0x2451: 0x00cc,
+ 0x2452: 0x00cc, 0x2453: 0x00cc, 0x2454: 0x00cc, 0x2455: 0x00cc, 0x2456: 0x00cc, 0x2457: 0x00cc,
+ 0x2458: 0x00cc, 0x2459: 0x00cc, 0x245a: 0x00cc, 0x245b: 0x00cc, 0x245c: 0x00cc, 0x245d: 0x00cc,
+ 0x245e: 0x00cc, 0x245f: 0x00cc, 0x2460: 0x00cc, 0x2461: 0x00cc, 0x2462: 0x00cc, 0x2463: 0x00cc,
+ 0x2464: 0x00cc, 0x2465: 0x00cc, 0x2466: 0x00cc, 0x2467: 0x00cc, 0x2468: 0x00cc, 0x2469: 0x00cc,
+ 0x246a: 0x00cc, 0x246b: 0x00cc, 0x246c: 0x00cc, 0x246d: 0x00cc, 0x246e: 0x00cc, 0x246f: 0x00cc,
+ 0x2470: 0x00cc, 0x2471: 0x00cc, 0x2472: 0x00cc, 0x2473: 0x00cc, 0x2474: 0x00cc, 0x2475: 0x00cc,
+ 0x2476: 0x00cc, 0x2477: 0x00cc, 0x2478: 0x00cc, 0x2479: 0x00cc, 0x247a: 0x00cc, 0x247b: 0x00cc,
+ 0x247c: 0x00cc, 0x247d: 0x00cc, 0x247e: 0x00cc, 0x247f: 0x00cc,
// Block 0x92, offset 0x2480
0x2480: 0x00cc, 0x2481: 0x00cc, 0x2482: 0x00cc, 0x2483: 0x00cc, 0x2484: 0x00cc, 0x2485: 0x00cc,
0x2486: 0x00cc, 0x2487: 0x00cc, 0x2488: 0x00cc, 0x2489: 0x00cc, 0x248a: 0x00cc, 0x248b: 0x00cc,
@@ -1827,8 +1833,6 @@ var derivedPropertiesValues = [20736]uint8{
0x24a4: 0x00cc, 0x24a5: 0x00cc, 0x24a6: 0x00cc, 0x24a7: 0x00cc, 0x24a8: 0x00cc, 0x24a9: 0x00cc,
0x24aa: 0x00cc, 0x24ab: 0x00cc, 0x24ac: 0x00cc, 0x24ad: 0x00cc, 0x24ae: 0x00cc, 0x24af: 0x00cc,
0x24b0: 0x00cc, 0x24b1: 0x00cc, 0x24b2: 0x00cc, 0x24b3: 0x00cc, 0x24b4: 0x00cc, 0x24b5: 0x00cc,
- 0x24b6: 0x00cc, 0x24b7: 0x00cc, 0x24b8: 0x00cc, 0x24b9: 0x00cc, 0x24ba: 0x00cc, 0x24bb: 0x00cc,
- 0x24bc: 0x00cc, 0x24bd: 0x00cc, 0x24be: 0x00cc, 0x24bf: 0x00cc,
// Block 0x93, offset 0x24c0
0x24c0: 0x00cc, 0x24c1: 0x00cc, 0x24c2: 0x00cc, 0x24c3: 0x00cc, 0x24c4: 0x00cc, 0x24c5: 0x00cc,
0x24c6: 0x00cc, 0x24c7: 0x00cc, 0x24c8: 0x00cc, 0x24c9: 0x00cc, 0x24ca: 0x00cc, 0x24cb: 0x00cc,
@@ -1837,250 +1841,255 @@ var derivedPropertiesValues = [20736]uint8{
0x24d8: 0x00cc, 0x24d9: 0x00cc, 0x24da: 0x00cc, 0x24db: 0x00cc, 0x24dc: 0x00cc, 0x24dd: 0x00cc,
0x24de: 0x00cc, 0x24df: 0x00cc, 0x24e0: 0x00cc, 0x24e1: 0x00cc, 0x24e2: 0x00cc, 0x24e3: 0x00cc,
0x24e4: 0x00cc, 0x24e5: 0x00cc, 0x24e6: 0x00cc, 0x24e7: 0x00cc, 0x24e8: 0x00cc, 0x24e9: 0x00cc,
- 0x24ea: 0x00cc, 0x24eb: 0x00cc, 0x24ec: 0x00cc, 0x24ed: 0x00cc, 0x24ee: 0x00cc, 0x24ef: 0x00cc,
- 0x24f0: 0x00cc, 0x24f1: 0x00cc, 0x24f2: 0x00cc, 0x24f3: 0x00cc, 0x24f4: 0x00cc, 0x24f5: 0x00cc,
+ 0x24ea: 0x00cc,
// Block 0x94, offset 0x2500
- 0x2500: 0x00cc, 0x2501: 0x00cc, 0x2502: 0x00cc, 0x2503: 0x00cc, 0x2504: 0x00cc, 0x2505: 0x00cc,
- 0x2506: 0x00cc, 0x2507: 0x00cc, 0x2508: 0x00cc, 0x2509: 0x00cc, 0x250a: 0x00cc, 0x250b: 0x00cc,
- 0x250c: 0x00cc, 0x250d: 0x00cc, 0x250e: 0x00cc, 0x250f: 0x00cc, 0x2510: 0x00cc, 0x2511: 0x00cc,
- 0x2512: 0x00cc, 0x2513: 0x00cc, 0x2514: 0x00cc, 0x2515: 0x00cc,
+ 0x2500: 0x00c0, 0x2501: 0x00c0, 0x2502: 0x00c0, 0x2503: 0x00c0, 0x2504: 0x00c0, 0x2505: 0x00c0,
+ 0x2506: 0x00c0, 0x2507: 0x00c0, 0x2508: 0x00c0, 0x2509: 0x00c0, 0x250a: 0x00c0, 0x250b: 0x00c0,
+ 0x250c: 0x00c0, 0x2510: 0x0080, 0x2511: 0x0080,
+ 0x2512: 0x0080, 0x2513: 0x0080, 0x2514: 0x0080, 0x2515: 0x0080, 0x2516: 0x0080, 0x2517: 0x0080,
+ 0x2518: 0x0080, 0x2519: 0x0080, 0x251a: 0x0080, 0x251b: 0x0080, 0x251c: 0x0080, 0x251d: 0x0080,
+ 0x251e: 0x0080, 0x251f: 0x0080, 0x2520: 0x0080, 0x2521: 0x0080, 0x2522: 0x0080, 0x2523: 0x0080,
+ 0x2524: 0x0080, 0x2525: 0x0080, 0x2526: 0x0080, 0x2527: 0x0080, 0x2528: 0x0080, 0x2529: 0x0080,
+ 0x252a: 0x0080, 0x252b: 0x0080, 0x252c: 0x0080, 0x252d: 0x0080, 0x252e: 0x0080, 0x252f: 0x0080,
+ 0x2530: 0x0080, 0x2531: 0x0080, 0x2532: 0x0080, 0x2533: 0x0080, 0x2534: 0x0080, 0x2535: 0x0080,
+ 0x2536: 0x0080, 0x2537: 0x0080, 0x2538: 0x0080, 0x2539: 0x0080, 0x253a: 0x0080, 0x253b: 0x0080,
+ 0x253c: 0x0080, 0x253d: 0x0080, 0x253e: 0x0080, 0x253f: 0x0080,
// Block 0x95, offset 0x2540
- 0x2540: 0x00c0, 0x2541: 0x00c0, 0x2542: 0x00c0, 0x2543: 0x00c0, 0x2544: 0x00c0, 0x2545: 0x00c0,
- 0x2546: 0x00c0, 0x2547: 0x00c0, 0x2548: 0x00c0, 0x2549: 0x00c0, 0x254a: 0x00c0, 0x254b: 0x00c0,
- 0x254c: 0x00c0, 0x2550: 0x0080, 0x2551: 0x0080,
- 0x2552: 0x0080, 0x2553: 0x0080, 0x2554: 0x0080, 0x2555: 0x0080, 0x2556: 0x0080, 0x2557: 0x0080,
- 0x2558: 0x0080, 0x2559: 0x0080, 0x255a: 0x0080, 0x255b: 0x0080, 0x255c: 0x0080, 0x255d: 0x0080,
- 0x255e: 0x0080, 0x255f: 0x0080, 0x2560: 0x0080, 0x2561: 0x0080, 0x2562: 0x0080, 0x2563: 0x0080,
- 0x2564: 0x0080, 0x2565: 0x0080, 0x2566: 0x0080, 0x2567: 0x0080, 0x2568: 0x0080, 0x2569: 0x0080,
- 0x256a: 0x0080, 0x256b: 0x0080, 0x256c: 0x0080, 0x256d: 0x0080, 0x256e: 0x0080, 0x256f: 0x0080,
- 0x2570: 0x0080, 0x2571: 0x0080, 0x2572: 0x0080, 0x2573: 0x0080, 0x2574: 0x0080, 0x2575: 0x0080,
- 0x2576: 0x0080, 0x2577: 0x0080, 0x2578: 0x0080, 0x2579: 0x0080, 0x257a: 0x0080, 0x257b: 0x0080,
- 0x257c: 0x0080, 0x257d: 0x0080, 0x257e: 0x0080, 0x257f: 0x0080,
+ 0x2540: 0x0080, 0x2541: 0x0080, 0x2542: 0x0080, 0x2543: 0x0080, 0x2544: 0x0080, 0x2545: 0x0080,
+ 0x2546: 0x0080,
+ 0x2550: 0x00c0, 0x2551: 0x00c0,
+ 0x2552: 0x00c0, 0x2553: 0x00c0, 0x2554: 0x00c0, 0x2555: 0x00c0, 0x2556: 0x00c0, 0x2557: 0x00c0,
+ 0x2558: 0x00c0, 0x2559: 0x00c0, 0x255a: 0x00c0, 0x255b: 0x00c0, 0x255c: 0x00c0, 0x255d: 0x00c0,
+ 0x255e: 0x00c0, 0x255f: 0x00c0, 0x2560: 0x00c0, 0x2561: 0x00c0, 0x2562: 0x00c0, 0x2563: 0x00c0,
+ 0x2564: 0x00c0, 0x2565: 0x00c0, 0x2566: 0x00c0, 0x2567: 0x00c0, 0x2568: 0x00c0, 0x2569: 0x00c0,
+ 0x256a: 0x00c0, 0x256b: 0x00c0, 0x256c: 0x00c0, 0x256d: 0x00c0, 0x256e: 0x00c0, 0x256f: 0x00c0,
+ 0x2570: 0x00c0, 0x2571: 0x00c0, 0x2572: 0x00c0, 0x2573: 0x00c0, 0x2574: 0x00c0, 0x2575: 0x00c0,
+ 0x2576: 0x00c0, 0x2577: 0x00c0, 0x2578: 0x00c0, 0x2579: 0x00c0, 0x257a: 0x00c0, 0x257b: 0x00c0,
+ 0x257c: 0x00c0, 0x257d: 0x00c0, 0x257e: 0x0080, 0x257f: 0x0080,
// Block 0x96, offset 0x2580
- 0x2580: 0x0080, 0x2581: 0x0080, 0x2582: 0x0080, 0x2583: 0x0080, 0x2584: 0x0080, 0x2585: 0x0080,
- 0x2586: 0x0080,
- 0x2590: 0x00c0, 0x2591: 0x00c0,
+ 0x2580: 0x00c0, 0x2581: 0x00c0, 0x2582: 0x00c0, 0x2583: 0x00c0, 0x2584: 0x00c0, 0x2585: 0x00c0,
+ 0x2586: 0x00c0, 0x2587: 0x00c0, 0x2588: 0x00c0, 0x2589: 0x00c0, 0x258a: 0x00c0, 0x258b: 0x00c0,
+ 0x258c: 0x00c0, 0x258d: 0x0080, 0x258e: 0x0080, 0x258f: 0x0080, 0x2590: 0x00c0, 0x2591: 0x00c0,
0x2592: 0x00c0, 0x2593: 0x00c0, 0x2594: 0x00c0, 0x2595: 0x00c0, 0x2596: 0x00c0, 0x2597: 0x00c0,
0x2598: 0x00c0, 0x2599: 0x00c0, 0x259a: 0x00c0, 0x259b: 0x00c0, 0x259c: 0x00c0, 0x259d: 0x00c0,
0x259e: 0x00c0, 0x259f: 0x00c0, 0x25a0: 0x00c0, 0x25a1: 0x00c0, 0x25a2: 0x00c0, 0x25a3: 0x00c0,
0x25a4: 0x00c0, 0x25a5: 0x00c0, 0x25a6: 0x00c0, 0x25a7: 0x00c0, 0x25a8: 0x00c0, 0x25a9: 0x00c0,
- 0x25aa: 0x00c0, 0x25ab: 0x00c0, 0x25ac: 0x00c0, 0x25ad: 0x00c0, 0x25ae: 0x00c0, 0x25af: 0x00c0,
- 0x25b0: 0x00c0, 0x25b1: 0x00c0, 0x25b2: 0x00c0, 0x25b3: 0x00c0, 0x25b4: 0x00c0, 0x25b5: 0x00c0,
- 0x25b6: 0x00c0, 0x25b7: 0x00c0, 0x25b8: 0x00c0, 0x25b9: 0x00c0, 0x25ba: 0x00c0, 0x25bb: 0x00c0,
- 0x25bc: 0x00c0, 0x25bd: 0x00c0, 0x25be: 0x0080, 0x25bf: 0x0080,
+ 0x25aa: 0x00c0, 0x25ab: 0x00c0,
// Block 0x97, offset 0x25c0
0x25c0: 0x00c0, 0x25c1: 0x00c0, 0x25c2: 0x00c0, 0x25c3: 0x00c0, 0x25c4: 0x00c0, 0x25c5: 0x00c0,
0x25c6: 0x00c0, 0x25c7: 0x00c0, 0x25c8: 0x00c0, 0x25c9: 0x00c0, 0x25ca: 0x00c0, 0x25cb: 0x00c0,
- 0x25cc: 0x00c0, 0x25cd: 0x0080, 0x25ce: 0x0080, 0x25cf: 0x0080, 0x25d0: 0x00c0, 0x25d1: 0x00c0,
+ 0x25cc: 0x00c0, 0x25cd: 0x00c0, 0x25ce: 0x00c0, 0x25cf: 0x00c0, 0x25d0: 0x00c0, 0x25d1: 0x00c0,
0x25d2: 0x00c0, 0x25d3: 0x00c0, 0x25d4: 0x00c0, 0x25d5: 0x00c0, 0x25d6: 0x00c0, 0x25d7: 0x00c0,
0x25d8: 0x00c0, 0x25d9: 0x00c0, 0x25da: 0x00c0, 0x25db: 0x00c0, 0x25dc: 0x00c0, 0x25dd: 0x00c0,
0x25de: 0x00c0, 0x25df: 0x00c0, 0x25e0: 0x00c0, 0x25e1: 0x00c0, 0x25e2: 0x00c0, 0x25e3: 0x00c0,
0x25e4: 0x00c0, 0x25e5: 0x00c0, 0x25e6: 0x00c0, 0x25e7: 0x00c0, 0x25e8: 0x00c0, 0x25e9: 0x00c0,
- 0x25ea: 0x00c0, 0x25eb: 0x00c0,
+ 0x25ea: 0x00c0, 0x25eb: 0x00c0, 0x25ec: 0x00c0, 0x25ed: 0x00c0, 0x25ee: 0x00c0, 0x25ef: 0x00c3,
+ 0x25f0: 0x0083, 0x25f1: 0x0083, 0x25f2: 0x0083, 0x25f3: 0x0080, 0x25f4: 0x00c3, 0x25f5: 0x00c3,
+ 0x25f6: 0x00c3, 0x25f7: 0x00c3, 0x25f8: 0x00c3, 0x25f9: 0x00c3, 0x25fa: 0x00c3, 0x25fb: 0x00c3,
+ 0x25fc: 0x00c3, 0x25fd: 0x00c3, 0x25fe: 0x0080, 0x25ff: 0x00c0,
// Block 0x98, offset 0x2600
0x2600: 0x00c0, 0x2601: 0x00c0, 0x2602: 0x00c0, 0x2603: 0x00c0, 0x2604: 0x00c0, 0x2605: 0x00c0,
0x2606: 0x00c0, 0x2607: 0x00c0, 0x2608: 0x00c0, 0x2609: 0x00c0, 0x260a: 0x00c0, 0x260b: 0x00c0,
0x260c: 0x00c0, 0x260d: 0x00c0, 0x260e: 0x00c0, 0x260f: 0x00c0, 0x2610: 0x00c0, 0x2611: 0x00c0,
0x2612: 0x00c0, 0x2613: 0x00c0, 0x2614: 0x00c0, 0x2615: 0x00c0, 0x2616: 0x00c0, 0x2617: 0x00c0,
- 0x2618: 0x00c0, 0x2619: 0x00c0, 0x261a: 0x00c0, 0x261b: 0x00c0, 0x261c: 0x00c0, 0x261d: 0x00c0,
- 0x261e: 0x00c0, 0x261f: 0x00c0, 0x2620: 0x00c0, 0x2621: 0x00c0, 0x2622: 0x00c0, 0x2623: 0x00c0,
+ 0x2618: 0x00c0, 0x2619: 0x00c0, 0x261a: 0x00c0, 0x261b: 0x00c0, 0x261c: 0x0080, 0x261d: 0x0080,
+ 0x261e: 0x00c3, 0x261f: 0x00c3, 0x2620: 0x00c0, 0x2621: 0x00c0, 0x2622: 0x00c0, 0x2623: 0x00c0,
0x2624: 0x00c0, 0x2625: 0x00c0, 0x2626: 0x00c0, 0x2627: 0x00c0, 0x2628: 0x00c0, 0x2629: 0x00c0,
- 0x262a: 0x00c0, 0x262b: 0x00c0, 0x262c: 0x00c0, 0x262d: 0x00c0, 0x262e: 0x00c0, 0x262f: 0x00c3,
- 0x2630: 0x0083, 0x2631: 0x0083, 0x2632: 0x0083, 0x2633: 0x0080, 0x2634: 0x00c3, 0x2635: 0x00c3,
- 0x2636: 0x00c3, 0x2637: 0x00c3, 0x2638: 0x00c3, 0x2639: 0x00c3, 0x263a: 0x00c3, 0x263b: 0x00c3,
- 0x263c: 0x00c3, 0x263d: 0x00c3, 0x263e: 0x0080, 0x263f: 0x00c0,
+ 0x262a: 0x00c0, 0x262b: 0x00c0, 0x262c: 0x00c0, 0x262d: 0x00c0, 0x262e: 0x00c0, 0x262f: 0x00c0,
+ 0x2630: 0x00c0, 0x2631: 0x00c0, 0x2632: 0x00c0, 0x2633: 0x00c0, 0x2634: 0x00c0, 0x2635: 0x00c0,
+ 0x2636: 0x00c0, 0x2637: 0x00c0, 0x2638: 0x00c0, 0x2639: 0x00c0, 0x263a: 0x00c0, 0x263b: 0x00c0,
+ 0x263c: 0x00c0, 0x263d: 0x00c0, 0x263e: 0x00c0, 0x263f: 0x00c0,
// Block 0x99, offset 0x2640
0x2640: 0x00c0, 0x2641: 0x00c0, 0x2642: 0x00c0, 0x2643: 0x00c0, 0x2644: 0x00c0, 0x2645: 0x00c0,
0x2646: 0x00c0, 0x2647: 0x00c0, 0x2648: 0x00c0, 0x2649: 0x00c0, 0x264a: 0x00c0, 0x264b: 0x00c0,
0x264c: 0x00c0, 0x264d: 0x00c0, 0x264e: 0x00c0, 0x264f: 0x00c0, 0x2650: 0x00c0, 0x2651: 0x00c0,
0x2652: 0x00c0, 0x2653: 0x00c0, 0x2654: 0x00c0, 0x2655: 0x00c0, 0x2656: 0x00c0, 0x2657: 0x00c0,
- 0x2658: 0x00c0, 0x2659: 0x00c0, 0x265a: 0x00c0, 0x265b: 0x00c0, 0x265c: 0x0080, 0x265d: 0x0080,
- 0x265e: 0x00c3, 0x265f: 0x00c3, 0x2660: 0x00c0, 0x2661: 0x00c0, 0x2662: 0x00c0, 0x2663: 0x00c0,
- 0x2664: 0x00c0, 0x2665: 0x00c0, 0x2666: 0x00c0, 0x2667: 0x00c0, 0x2668: 0x00c0, 0x2669: 0x00c0,
- 0x266a: 0x00c0, 0x266b: 0x00c0, 0x266c: 0x00c0, 0x266d: 0x00c0, 0x266e: 0x00c0, 0x266f: 0x00c0,
- 0x2670: 0x00c0, 0x2671: 0x00c0, 0x2672: 0x00c0, 0x2673: 0x00c0, 0x2674: 0x00c0, 0x2675: 0x00c0,
- 0x2676: 0x00c0, 0x2677: 0x00c0, 0x2678: 0x00c0, 0x2679: 0x00c0, 0x267a: 0x00c0, 0x267b: 0x00c0,
- 0x267c: 0x00c0, 0x267d: 0x00c0, 0x267e: 0x00c0, 0x267f: 0x00c0,
+ 0x2658: 0x00c0, 0x2659: 0x00c0, 0x265a: 0x00c0, 0x265b: 0x00c0, 0x265c: 0x00c0, 0x265d: 0x00c0,
+ 0x265e: 0x00c0, 0x265f: 0x00c0, 0x2660: 0x00c0, 0x2661: 0x00c0, 0x2662: 0x00c0, 0x2663: 0x00c0,
+ 0x2664: 0x00c0, 0x2665: 0x00c0, 0x2666: 0x0080, 0x2667: 0x0080, 0x2668: 0x0080, 0x2669: 0x0080,
+ 0x266a: 0x0080, 0x266b: 0x0080, 0x266c: 0x0080, 0x266d: 0x0080, 0x266e: 0x0080, 0x266f: 0x0080,
+ 0x2670: 0x00c3, 0x2671: 0x00c3, 0x2672: 0x0080, 0x2673: 0x0080, 0x2674: 0x0080, 0x2675: 0x0080,
+ 0x2676: 0x0080, 0x2677: 0x0080,
// Block 0x9a, offset 0x2680
- 0x2680: 0x00c0, 0x2681: 0x00c0, 0x2682: 0x00c0, 0x2683: 0x00c0, 0x2684: 0x00c0, 0x2685: 0x00c0,
- 0x2686: 0x00c0, 0x2687: 0x00c0, 0x2688: 0x00c0, 0x2689: 0x00c0, 0x268a: 0x00c0, 0x268b: 0x00c0,
- 0x268c: 0x00c0, 0x268d: 0x00c0, 0x268e: 0x00c0, 0x268f: 0x00c0, 0x2690: 0x00c0, 0x2691: 0x00c0,
- 0x2692: 0x00c0, 0x2693: 0x00c0, 0x2694: 0x00c0, 0x2695: 0x00c0, 0x2696: 0x00c0, 0x2697: 0x00c0,
+ 0x2680: 0x0080, 0x2681: 0x0080, 0x2682: 0x0080, 0x2683: 0x0080, 0x2684: 0x0080, 0x2685: 0x0080,
+ 0x2686: 0x0080, 0x2687: 0x0080, 0x2688: 0x0080, 0x2689: 0x0080, 0x268a: 0x0080, 0x268b: 0x0080,
+ 0x268c: 0x0080, 0x268d: 0x0080, 0x268e: 0x0080, 0x268f: 0x0080, 0x2690: 0x0080, 0x2691: 0x0080,
+ 0x2692: 0x0080, 0x2693: 0x0080, 0x2694: 0x0080, 0x2695: 0x0080, 0x2696: 0x0080, 0x2697: 0x00c0,
0x2698: 0x00c0, 0x2699: 0x00c0, 0x269a: 0x00c0, 0x269b: 0x00c0, 0x269c: 0x00c0, 0x269d: 0x00c0,
- 0x269e: 0x00c0, 0x269f: 0x00c0, 0x26a0: 0x00c0, 0x26a1: 0x00c0, 0x26a2: 0x00c0, 0x26a3: 0x00c0,
- 0x26a4: 0x00c0, 0x26a5: 0x00c0, 0x26a6: 0x0080, 0x26a7: 0x0080, 0x26a8: 0x0080, 0x26a9: 0x0080,
- 0x26aa: 0x0080, 0x26ab: 0x0080, 0x26ac: 0x0080, 0x26ad: 0x0080, 0x26ae: 0x0080, 0x26af: 0x0080,
- 0x26b0: 0x00c3, 0x26b1: 0x00c3, 0x26b2: 0x0080, 0x26b3: 0x0080, 0x26b4: 0x0080, 0x26b5: 0x0080,
- 0x26b6: 0x0080, 0x26b7: 0x0080,
+ 0x269e: 0x00c0, 0x269f: 0x00c0, 0x26a0: 0x0080, 0x26a1: 0x0080, 0x26a2: 0x00c0, 0x26a3: 0x00c0,
+ 0x26a4: 0x00c0, 0x26a5: 0x00c0, 0x26a6: 0x00c0, 0x26a7: 0x00c0, 0x26a8: 0x00c0, 0x26a9: 0x00c0,
+ 0x26aa: 0x00c0, 0x26ab: 0x00c0, 0x26ac: 0x00c0, 0x26ad: 0x00c0, 0x26ae: 0x00c0, 0x26af: 0x00c0,
+ 0x26b0: 0x00c0, 0x26b1: 0x00c0, 0x26b2: 0x00c0, 0x26b3: 0x00c0, 0x26b4: 0x00c0, 0x26b5: 0x00c0,
+ 0x26b6: 0x00c0, 0x26b7: 0x00c0, 0x26b8: 0x00c0, 0x26b9: 0x00c0, 0x26ba: 0x00c0, 0x26bb: 0x00c0,
+ 0x26bc: 0x00c0, 0x26bd: 0x00c0, 0x26be: 0x00c0, 0x26bf: 0x00c0,
// Block 0x9b, offset 0x26c0
- 0x26c0: 0x0080, 0x26c1: 0x0080, 0x26c2: 0x0080, 0x26c3: 0x0080, 0x26c4: 0x0080, 0x26c5: 0x0080,
- 0x26c6: 0x0080, 0x26c7: 0x0080, 0x26c8: 0x0080, 0x26c9: 0x0080, 0x26ca: 0x0080, 0x26cb: 0x0080,
- 0x26cc: 0x0080, 0x26cd: 0x0080, 0x26ce: 0x0080, 0x26cf: 0x0080, 0x26d0: 0x0080, 0x26d1: 0x0080,
- 0x26d2: 0x0080, 0x26d3: 0x0080, 0x26d4: 0x0080, 0x26d5: 0x0080, 0x26d6: 0x0080, 0x26d7: 0x00c0,
+ 0x26c0: 0x00c0, 0x26c1: 0x00c0, 0x26c2: 0x00c0, 0x26c3: 0x00c0, 0x26c4: 0x00c0, 0x26c5: 0x00c0,
+ 0x26c6: 0x00c0, 0x26c7: 0x00c0, 0x26c8: 0x00c0, 0x26c9: 0x00c0, 0x26ca: 0x00c0, 0x26cb: 0x00c0,
+ 0x26cc: 0x00c0, 0x26cd: 0x00c0, 0x26ce: 0x00c0, 0x26cf: 0x00c0, 0x26d0: 0x00c0, 0x26d1: 0x00c0,
+ 0x26d2: 0x00c0, 0x26d3: 0x00c0, 0x26d4: 0x00c0, 0x26d5: 0x00c0, 0x26d6: 0x00c0, 0x26d7: 0x00c0,
0x26d8: 0x00c0, 0x26d9: 0x00c0, 0x26da: 0x00c0, 0x26db: 0x00c0, 0x26dc: 0x00c0, 0x26dd: 0x00c0,
- 0x26de: 0x00c0, 0x26df: 0x00c0, 0x26e0: 0x0080, 0x26e1: 0x0080, 0x26e2: 0x00c0, 0x26e3: 0x00c0,
+ 0x26de: 0x00c0, 0x26df: 0x00c0, 0x26e0: 0x00c0, 0x26e1: 0x00c0, 0x26e2: 0x00c0, 0x26e3: 0x00c0,
0x26e4: 0x00c0, 0x26e5: 0x00c0, 0x26e6: 0x00c0, 0x26e7: 0x00c0, 0x26e8: 0x00c0, 0x26e9: 0x00c0,
0x26ea: 0x00c0, 0x26eb: 0x00c0, 0x26ec: 0x00c0, 0x26ed: 0x00c0, 0x26ee: 0x00c0, 0x26ef: 0x00c0,
- 0x26f0: 0x00c0, 0x26f1: 0x00c0, 0x26f2: 0x00c0, 0x26f3: 0x00c0, 0x26f4: 0x00c0, 0x26f5: 0x00c0,
+ 0x26f0: 0x0080, 0x26f1: 0x00c0, 0x26f2: 0x00c0, 0x26f3: 0x00c0, 0x26f4: 0x00c0, 0x26f5: 0x00c0,
0x26f6: 0x00c0, 0x26f7: 0x00c0, 0x26f8: 0x00c0, 0x26f9: 0x00c0, 0x26fa: 0x00c0, 0x26fb: 0x00c0,
0x26fc: 0x00c0, 0x26fd: 0x00c0, 0x26fe: 0x00c0, 0x26ff: 0x00c0,
// Block 0x9c, offset 0x2700
0x2700: 0x00c0, 0x2701: 0x00c0, 0x2702: 0x00c0, 0x2703: 0x00c0, 0x2704: 0x00c0, 0x2705: 0x00c0,
- 0x2706: 0x00c0, 0x2707: 0x00c0, 0x2708: 0x00c0, 0x2709: 0x00c0, 0x270a: 0x00c0, 0x270b: 0x00c0,
+ 0x2706: 0x00c0, 0x2707: 0x00c0, 0x2708: 0x00c0, 0x2709: 0x0080, 0x270a: 0x0080, 0x270b: 0x00c0,
0x270c: 0x00c0, 0x270d: 0x00c0, 0x270e: 0x00c0, 0x270f: 0x00c0, 0x2710: 0x00c0, 0x2711: 0x00c0,
0x2712: 0x00c0, 0x2713: 0x00c0, 0x2714: 0x00c0, 0x2715: 0x00c0, 0x2716: 0x00c0, 0x2717: 0x00c0,
0x2718: 0x00c0, 0x2719: 0x00c0, 0x271a: 0x00c0, 0x271b: 0x00c0, 0x271c: 0x00c0, 0x271d: 0x00c0,
0x271e: 0x00c0, 0x271f: 0x00c0, 0x2720: 0x00c0, 0x2721: 0x00c0, 0x2722: 0x00c0, 0x2723: 0x00c0,
0x2724: 0x00c0, 0x2725: 0x00c0, 0x2726: 0x00c0, 0x2727: 0x00c0, 0x2728: 0x00c0, 0x2729: 0x00c0,
- 0x272a: 0x00c0, 0x272b: 0x00c0, 0x272c: 0x00c0, 0x272d: 0x00c0, 0x272e: 0x00c0, 0x272f: 0x00c0,
- 0x2730: 0x0080, 0x2731: 0x00c0, 0x2732: 0x00c0, 0x2733: 0x00c0, 0x2734: 0x00c0, 0x2735: 0x00c0,
- 0x2736: 0x00c0, 0x2737: 0x00c0, 0x2738: 0x00c0, 0x2739: 0x00c0, 0x273a: 0x00c0, 0x273b: 0x00c0,
- 0x273c: 0x00c0, 0x273d: 0x00c0, 0x273e: 0x00c0, 0x273f: 0x00c0,
+ 0x272a: 0x00c0, 0x272b: 0x00c0, 0x272c: 0x00c0, 0x272d: 0x00c0, 0x272e: 0x00c0,
+ 0x2730: 0x00c0, 0x2731: 0x00c0, 0x2732: 0x00c0, 0x2733: 0x00c0, 0x2734: 0x00c0, 0x2735: 0x00c0,
+ 0x2736: 0x00c0, 0x2737: 0x00c0,
// Block 0x9d, offset 0x2740
- 0x2740: 0x00c0, 0x2741: 0x00c0, 0x2742: 0x00c0, 0x2743: 0x00c0, 0x2744: 0x00c0, 0x2745: 0x00c0,
- 0x2746: 0x00c0, 0x2747: 0x00c0, 0x2748: 0x00c0, 0x2749: 0x0080, 0x274a: 0x0080, 0x274b: 0x00c0,
- 0x274c: 0x00c0, 0x274d: 0x00c0, 0x274e: 0x00c0, 0x274f: 0x00c0, 0x2750: 0x00c0, 0x2751: 0x00c0,
- 0x2752: 0x00c0, 0x2753: 0x00c0, 0x2754: 0x00c0, 0x2755: 0x00c0, 0x2756: 0x00c0, 0x2757: 0x00c0,
- 0x2758: 0x00c0, 0x2759: 0x00c0, 0x275a: 0x00c0, 0x275b: 0x00c0, 0x275c: 0x00c0, 0x275d: 0x00c0,
- 0x275e: 0x00c0, 0x275f: 0x00c0, 0x2760: 0x00c0, 0x2761: 0x00c0, 0x2762: 0x00c0, 0x2763: 0x00c0,
- 0x2764: 0x00c0, 0x2765: 0x00c0, 0x2766: 0x00c0, 0x2767: 0x00c0, 0x2768: 0x00c0, 0x2769: 0x00c0,
- 0x276a: 0x00c0, 0x276b: 0x00c0, 0x276c: 0x00c0, 0x276d: 0x00c0, 0x276e: 0x00c0,
- 0x2770: 0x00c0, 0x2771: 0x00c0, 0x2772: 0x00c0, 0x2773: 0x00c0, 0x2774: 0x00c0, 0x2775: 0x00c0,
- 0x2776: 0x00c0, 0x2777: 0x00c0,
+ 0x2777: 0x00c0, 0x2778: 0x0080, 0x2779: 0x0080, 0x277a: 0x00c0, 0x277b: 0x00c0,
+ 0x277c: 0x00c0, 0x277d: 0x00c0, 0x277e: 0x00c0, 0x277f: 0x00c0,
// Block 0x9e, offset 0x2780
- 0x27b7: 0x00c0, 0x27b8: 0x0080, 0x27b9: 0x0080, 0x27ba: 0x00c0, 0x27bb: 0x00c0,
- 0x27bc: 0x00c0, 0x27bd: 0x00c0, 0x27be: 0x00c0, 0x27bf: 0x00c0,
+ 0x2780: 0x00c0, 0x2781: 0x00c0, 0x2782: 0x00c3, 0x2783: 0x00c0, 0x2784: 0x00c0, 0x2785: 0x00c0,
+ 0x2786: 0x00c6, 0x2787: 0x00c0, 0x2788: 0x00c0, 0x2789: 0x00c0, 0x278a: 0x00c0, 0x278b: 0x00c3,
+ 0x278c: 0x00c0, 0x278d: 0x00c0, 0x278e: 0x00c0, 0x278f: 0x00c0, 0x2790: 0x00c0, 0x2791: 0x00c0,
+ 0x2792: 0x00c0, 0x2793: 0x00c0, 0x2794: 0x00c0, 0x2795: 0x00c0, 0x2796: 0x00c0, 0x2797: 0x00c0,
+ 0x2798: 0x00c0, 0x2799: 0x00c0, 0x279a: 0x00c0, 0x279b: 0x00c0, 0x279c: 0x00c0, 0x279d: 0x00c0,
+ 0x279e: 0x00c0, 0x279f: 0x00c0, 0x27a0: 0x00c0, 0x27a1: 0x00c0, 0x27a2: 0x00c0, 0x27a3: 0x00c0,
+ 0x27a4: 0x00c0, 0x27a5: 0x00c3, 0x27a6: 0x00c3, 0x27a7: 0x00c0, 0x27a8: 0x0080, 0x27a9: 0x0080,
+ 0x27aa: 0x0080, 0x27ab: 0x0080,
+ 0x27b0: 0x0080, 0x27b1: 0x0080, 0x27b2: 0x0080, 0x27b3: 0x0080, 0x27b4: 0x0080, 0x27b5: 0x0080,
+ 0x27b6: 0x0080, 0x27b7: 0x0080, 0x27b8: 0x0080, 0x27b9: 0x0080,
// Block 0x9f, offset 0x27c0
- 0x27c0: 0x00c0, 0x27c1: 0x00c0, 0x27c2: 0x00c3, 0x27c3: 0x00c0, 0x27c4: 0x00c0, 0x27c5: 0x00c0,
- 0x27c6: 0x00c6, 0x27c7: 0x00c0, 0x27c8: 0x00c0, 0x27c9: 0x00c0, 0x27ca: 0x00c0, 0x27cb: 0x00c3,
- 0x27cc: 0x00c0, 0x27cd: 0x00c0, 0x27ce: 0x00c0, 0x27cf: 0x00c0, 0x27d0: 0x00c0, 0x27d1: 0x00c0,
- 0x27d2: 0x00c0, 0x27d3: 0x00c0, 0x27d4: 0x00c0, 0x27d5: 0x00c0, 0x27d6: 0x00c0, 0x27d7: 0x00c0,
- 0x27d8: 0x00c0, 0x27d9: 0x00c0, 0x27da: 0x00c0, 0x27db: 0x00c0, 0x27dc: 0x00c0, 0x27dd: 0x00c0,
- 0x27de: 0x00c0, 0x27df: 0x00c0, 0x27e0: 0x00c0, 0x27e1: 0x00c0, 0x27e2: 0x00c0, 0x27e3: 0x00c0,
- 0x27e4: 0x00c0, 0x27e5: 0x00c3, 0x27e6: 0x00c3, 0x27e7: 0x00c0, 0x27e8: 0x0080, 0x27e9: 0x0080,
- 0x27ea: 0x0080, 0x27eb: 0x0080,
- 0x27f0: 0x0080, 0x27f1: 0x0080, 0x27f2: 0x0080, 0x27f3: 0x0080, 0x27f4: 0x0080, 0x27f5: 0x0080,
- 0x27f6: 0x0080, 0x27f7: 0x0080, 0x27f8: 0x0080, 0x27f9: 0x0080,
+ 0x27c0: 0x00c2, 0x27c1: 0x00c2, 0x27c2: 0x00c2, 0x27c3: 0x00c2, 0x27c4: 0x00c2, 0x27c5: 0x00c2,
+ 0x27c6: 0x00c2, 0x27c7: 0x00c2, 0x27c8: 0x00c2, 0x27c9: 0x00c2, 0x27ca: 0x00c2, 0x27cb: 0x00c2,
+ 0x27cc: 0x00c2, 0x27cd: 0x00c2, 0x27ce: 0x00c2, 0x27cf: 0x00c2, 0x27d0: 0x00c2, 0x27d1: 0x00c2,
+ 0x27d2: 0x00c2, 0x27d3: 0x00c2, 0x27d4: 0x00c2, 0x27d5: 0x00c2, 0x27d6: 0x00c2, 0x27d7: 0x00c2,
+ 0x27d8: 0x00c2, 0x27d9: 0x00c2, 0x27da: 0x00c2, 0x27db: 0x00c2, 0x27dc: 0x00c2, 0x27dd: 0x00c2,
+ 0x27de: 0x00c2, 0x27df: 0x00c2, 0x27e0: 0x00c2, 0x27e1: 0x00c2, 0x27e2: 0x00c2, 0x27e3: 0x00c2,
+ 0x27e4: 0x00c2, 0x27e5: 0x00c2, 0x27e6: 0x00c2, 0x27e7: 0x00c2, 0x27e8: 0x00c2, 0x27e9: 0x00c2,
+ 0x27ea: 0x00c2, 0x27eb: 0x00c2, 0x27ec: 0x00c2, 0x27ed: 0x00c2, 0x27ee: 0x00c2, 0x27ef: 0x00c2,
+ 0x27f0: 0x00c2, 0x27f1: 0x00c2, 0x27f2: 0x00c1, 0x27f3: 0x00c0, 0x27f4: 0x0080, 0x27f5: 0x0080,
+ 0x27f6: 0x0080, 0x27f7: 0x0080,
// Block 0xa0, offset 0x2800
- 0x2800: 0x00c2, 0x2801: 0x00c2, 0x2802: 0x00c2, 0x2803: 0x00c2, 0x2804: 0x00c2, 0x2805: 0x00c2,
- 0x2806: 0x00c2, 0x2807: 0x00c2, 0x2808: 0x00c2, 0x2809: 0x00c2, 0x280a: 0x00c2, 0x280b: 0x00c2,
- 0x280c: 0x00c2, 0x280d: 0x00c2, 0x280e: 0x00c2, 0x280f: 0x00c2, 0x2810: 0x00c2, 0x2811: 0x00c2,
- 0x2812: 0x00c2, 0x2813: 0x00c2, 0x2814: 0x00c2, 0x2815: 0x00c2, 0x2816: 0x00c2, 0x2817: 0x00c2,
- 0x2818: 0x00c2, 0x2819: 0x00c2, 0x281a: 0x00c2, 0x281b: 0x00c2, 0x281c: 0x00c2, 0x281d: 0x00c2,
- 0x281e: 0x00c2, 0x281f: 0x00c2, 0x2820: 0x00c2, 0x2821: 0x00c2, 0x2822: 0x00c2, 0x2823: 0x00c2,
- 0x2824: 0x00c2, 0x2825: 0x00c2, 0x2826: 0x00c2, 0x2827: 0x00c2, 0x2828: 0x00c2, 0x2829: 0x00c2,
- 0x282a: 0x00c2, 0x282b: 0x00c2, 0x282c: 0x00c2, 0x282d: 0x00c2, 0x282e: 0x00c2, 0x282f: 0x00c2,
- 0x2830: 0x00c2, 0x2831: 0x00c2, 0x2832: 0x00c1, 0x2833: 0x00c0, 0x2834: 0x0080, 0x2835: 0x0080,
- 0x2836: 0x0080, 0x2837: 0x0080,
+ 0x2800: 0x00c0, 0x2801: 0x00c0, 0x2802: 0x00c0, 0x2803: 0x00c0, 0x2804: 0x00c6, 0x2805: 0x00c3,
+ 0x280e: 0x0080, 0x280f: 0x0080, 0x2810: 0x00c0, 0x2811: 0x00c0,
+ 0x2812: 0x00c0, 0x2813: 0x00c0, 0x2814: 0x00c0, 0x2815: 0x00c0, 0x2816: 0x00c0, 0x2817: 0x00c0,
+ 0x2818: 0x00c0, 0x2819: 0x00c0,
+ 0x2820: 0x00c3, 0x2821: 0x00c3, 0x2822: 0x00c3, 0x2823: 0x00c3,
+ 0x2824: 0x00c3, 0x2825: 0x00c3, 0x2826: 0x00c3, 0x2827: 0x00c3, 0x2828: 0x00c3, 0x2829: 0x00c3,
+ 0x282a: 0x00c3, 0x282b: 0x00c3, 0x282c: 0x00c3, 0x282d: 0x00c3, 0x282e: 0x00c3, 0x282f: 0x00c3,
+ 0x2830: 0x00c3, 0x2831: 0x00c3, 0x2832: 0x00c0, 0x2833: 0x00c0, 0x2834: 0x00c0, 0x2835: 0x00c0,
+ 0x2836: 0x00c0, 0x2837: 0x00c0, 0x2838: 0x0080, 0x2839: 0x0080, 0x283a: 0x0080, 0x283b: 0x00c0,
+ 0x283c: 0x0080, 0x283d: 0x00c0,
// Block 0xa1, offset 0x2840
- 0x2840: 0x00c0, 0x2841: 0x00c0, 0x2842: 0x00c0, 0x2843: 0x00c0, 0x2844: 0x00c6, 0x2845: 0x00c3,
- 0x284e: 0x0080, 0x284f: 0x0080, 0x2850: 0x00c0, 0x2851: 0x00c0,
+ 0x2840: 0x00c0, 0x2841: 0x00c0, 0x2842: 0x00c0, 0x2843: 0x00c0, 0x2844: 0x00c0, 0x2845: 0x00c0,
+ 0x2846: 0x00c0, 0x2847: 0x00c0, 0x2848: 0x00c0, 0x2849: 0x00c0, 0x284a: 0x00c0, 0x284b: 0x00c0,
+ 0x284c: 0x00c0, 0x284d: 0x00c0, 0x284e: 0x00c0, 0x284f: 0x00c0, 0x2850: 0x00c0, 0x2851: 0x00c0,
0x2852: 0x00c0, 0x2853: 0x00c0, 0x2854: 0x00c0, 0x2855: 0x00c0, 0x2856: 0x00c0, 0x2857: 0x00c0,
- 0x2858: 0x00c0, 0x2859: 0x00c0,
- 0x2860: 0x00c3, 0x2861: 0x00c3, 0x2862: 0x00c3, 0x2863: 0x00c3,
- 0x2864: 0x00c3, 0x2865: 0x00c3, 0x2866: 0x00c3, 0x2867: 0x00c3, 0x2868: 0x00c3, 0x2869: 0x00c3,
- 0x286a: 0x00c3, 0x286b: 0x00c3, 0x286c: 0x00c3, 0x286d: 0x00c3, 0x286e: 0x00c3, 0x286f: 0x00c3,
- 0x2870: 0x00c3, 0x2871: 0x00c3, 0x2872: 0x00c0, 0x2873: 0x00c0, 0x2874: 0x00c0, 0x2875: 0x00c0,
- 0x2876: 0x00c0, 0x2877: 0x00c0, 0x2878: 0x0080, 0x2879: 0x0080, 0x287a: 0x0080, 0x287b: 0x00c0,
- 0x287c: 0x0080, 0x287d: 0x00c0,
+ 0x2858: 0x00c0, 0x2859: 0x00c0, 0x285a: 0x00c0, 0x285b: 0x00c0, 0x285c: 0x00c0, 0x285d: 0x00c0,
+ 0x285e: 0x00c0, 0x285f: 0x00c0, 0x2860: 0x00c0, 0x2861: 0x00c0, 0x2862: 0x00c0, 0x2863: 0x00c0,
+ 0x2864: 0x00c0, 0x2865: 0x00c0, 0x2866: 0x00c3, 0x2867: 0x00c3, 0x2868: 0x00c3, 0x2869: 0x00c3,
+ 0x286a: 0x00c3, 0x286b: 0x00c3, 0x286c: 0x00c3, 0x286d: 0x00c3, 0x286e: 0x0080, 0x286f: 0x0080,
+ 0x2870: 0x00c0, 0x2871: 0x00c0, 0x2872: 0x00c0, 0x2873: 0x00c0, 0x2874: 0x00c0, 0x2875: 0x00c0,
+ 0x2876: 0x00c0, 0x2877: 0x00c0, 0x2878: 0x00c0, 0x2879: 0x00c0, 0x287a: 0x00c0, 0x287b: 0x00c0,
+ 0x287c: 0x00c0, 0x287d: 0x00c0, 0x287e: 0x00c0, 0x287f: 0x00c0,
// Block 0xa2, offset 0x2880
0x2880: 0x00c0, 0x2881: 0x00c0, 0x2882: 0x00c0, 0x2883: 0x00c0, 0x2884: 0x00c0, 0x2885: 0x00c0,
- 0x2886: 0x00c0, 0x2887: 0x00c0, 0x2888: 0x00c0, 0x2889: 0x00c0, 0x288a: 0x00c0, 0x288b: 0x00c0,
- 0x288c: 0x00c0, 0x288d: 0x00c0, 0x288e: 0x00c0, 0x288f: 0x00c0, 0x2890: 0x00c0, 0x2891: 0x00c0,
- 0x2892: 0x00c0, 0x2893: 0x00c0, 0x2894: 0x00c0, 0x2895: 0x00c0, 0x2896: 0x00c0, 0x2897: 0x00c0,
- 0x2898: 0x00c0, 0x2899: 0x00c0, 0x289a: 0x00c0, 0x289b: 0x00c0, 0x289c: 0x00c0, 0x289d: 0x00c0,
- 0x289e: 0x00c0, 0x289f: 0x00c0, 0x28a0: 0x00c0, 0x28a1: 0x00c0, 0x28a2: 0x00c0, 0x28a3: 0x00c0,
- 0x28a4: 0x00c0, 0x28a5: 0x00c0, 0x28a6: 0x00c3, 0x28a7: 0x00c3, 0x28a8: 0x00c3, 0x28a9: 0x00c3,
- 0x28aa: 0x00c3, 0x28ab: 0x00c3, 0x28ac: 0x00c3, 0x28ad: 0x00c3, 0x28ae: 0x0080, 0x28af: 0x0080,
- 0x28b0: 0x00c0, 0x28b1: 0x00c0, 0x28b2: 0x00c0, 0x28b3: 0x00c0, 0x28b4: 0x00c0, 0x28b5: 0x00c0,
- 0x28b6: 0x00c0, 0x28b7: 0x00c0, 0x28b8: 0x00c0, 0x28b9: 0x00c0, 0x28ba: 0x00c0, 0x28bb: 0x00c0,
- 0x28bc: 0x00c0, 0x28bd: 0x00c0, 0x28be: 0x00c0, 0x28bf: 0x00c0,
+ 0x2886: 0x00c0, 0x2887: 0x00c3, 0x2888: 0x00c3, 0x2889: 0x00c3, 0x288a: 0x00c3, 0x288b: 0x00c3,
+ 0x288c: 0x00c3, 0x288d: 0x00c3, 0x288e: 0x00c3, 0x288f: 0x00c3, 0x2890: 0x00c3, 0x2891: 0x00c3,
+ 0x2892: 0x00c0, 0x2893: 0x00c5,
+ 0x289f: 0x0080, 0x28a0: 0x0040, 0x28a1: 0x0040, 0x28a2: 0x0040, 0x28a3: 0x0040,
+ 0x28a4: 0x0040, 0x28a5: 0x0040, 0x28a6: 0x0040, 0x28a7: 0x0040, 0x28a8: 0x0040, 0x28a9: 0x0040,
+ 0x28aa: 0x0040, 0x28ab: 0x0040, 0x28ac: 0x0040, 0x28ad: 0x0040, 0x28ae: 0x0040, 0x28af: 0x0040,
+ 0x28b0: 0x0040, 0x28b1: 0x0040, 0x28b2: 0x0040, 0x28b3: 0x0040, 0x28b4: 0x0040, 0x28b5: 0x0040,
+ 0x28b6: 0x0040, 0x28b7: 0x0040, 0x28b8: 0x0040, 0x28b9: 0x0040, 0x28ba: 0x0040, 0x28bb: 0x0040,
+ 0x28bc: 0x0040,
// Block 0xa3, offset 0x28c0
- 0x28c0: 0x00c0, 0x28c1: 0x00c0, 0x28c2: 0x00c0, 0x28c3: 0x00c0, 0x28c4: 0x00c0, 0x28c5: 0x00c0,
- 0x28c6: 0x00c0, 0x28c7: 0x00c3, 0x28c8: 0x00c3, 0x28c9: 0x00c3, 0x28ca: 0x00c3, 0x28cb: 0x00c3,
- 0x28cc: 0x00c3, 0x28cd: 0x00c3, 0x28ce: 0x00c3, 0x28cf: 0x00c3, 0x28d0: 0x00c3, 0x28d1: 0x00c3,
- 0x28d2: 0x00c0, 0x28d3: 0x00c5,
- 0x28df: 0x0080, 0x28e0: 0x0040, 0x28e1: 0x0040, 0x28e2: 0x0040, 0x28e3: 0x0040,
- 0x28e4: 0x0040, 0x28e5: 0x0040, 0x28e6: 0x0040, 0x28e7: 0x0040, 0x28e8: 0x0040, 0x28e9: 0x0040,
- 0x28ea: 0x0040, 0x28eb: 0x0040, 0x28ec: 0x0040, 0x28ed: 0x0040, 0x28ee: 0x0040, 0x28ef: 0x0040,
- 0x28f0: 0x0040, 0x28f1: 0x0040, 0x28f2: 0x0040, 0x28f3: 0x0040, 0x28f4: 0x0040, 0x28f5: 0x0040,
- 0x28f6: 0x0040, 0x28f7: 0x0040, 0x28f8: 0x0040, 0x28f9: 0x0040, 0x28fa: 0x0040, 0x28fb: 0x0040,
- 0x28fc: 0x0040,
+ 0x28c0: 0x00c3, 0x28c1: 0x00c3, 0x28c2: 0x00c3, 0x28c3: 0x00c0, 0x28c4: 0x00c0, 0x28c5: 0x00c0,
+ 0x28c6: 0x00c0, 0x28c7: 0x00c0, 0x28c8: 0x00c0, 0x28c9: 0x00c0, 0x28ca: 0x00c0, 0x28cb: 0x00c0,
+ 0x28cc: 0x00c0, 0x28cd: 0x00c0, 0x28ce: 0x00c0, 0x28cf: 0x00c0, 0x28d0: 0x00c0, 0x28d1: 0x00c0,
+ 0x28d2: 0x00c0, 0x28d3: 0x00c0, 0x28d4: 0x00c0, 0x28d5: 0x00c0, 0x28d6: 0x00c0, 0x28d7: 0x00c0,
+ 0x28d8: 0x00c0, 0x28d9: 0x00c0, 0x28da: 0x00c0, 0x28db: 0x00c0, 0x28dc: 0x00c0, 0x28dd: 0x00c0,
+ 0x28de: 0x00c0, 0x28df: 0x00c0, 0x28e0: 0x00c0, 0x28e1: 0x00c0, 0x28e2: 0x00c0, 0x28e3: 0x00c0,
+ 0x28e4: 0x00c0, 0x28e5: 0x00c0, 0x28e6: 0x00c0, 0x28e7: 0x00c0, 0x28e8: 0x00c0, 0x28e9: 0x00c0,
+ 0x28ea: 0x00c0, 0x28eb: 0x00c0, 0x28ec: 0x00c0, 0x28ed: 0x00c0, 0x28ee: 0x00c0, 0x28ef: 0x00c0,
+ 0x28f0: 0x00c0, 0x28f1: 0x00c0, 0x28f2: 0x00c0, 0x28f3: 0x00c3, 0x28f4: 0x00c0, 0x28f5: 0x00c0,
+ 0x28f6: 0x00c3, 0x28f7: 0x00c3, 0x28f8: 0x00c3, 0x28f9: 0x00c3, 0x28fa: 0x00c0, 0x28fb: 0x00c0,
+ 0x28fc: 0x00c3, 0x28fd: 0x00c0, 0x28fe: 0x00c0, 0x28ff: 0x00c0,
// Block 0xa4, offset 0x2900
- 0x2900: 0x00c3, 0x2901: 0x00c3, 0x2902: 0x00c3, 0x2903: 0x00c0, 0x2904: 0x00c0, 0x2905: 0x00c0,
- 0x2906: 0x00c0, 0x2907: 0x00c0, 0x2908: 0x00c0, 0x2909: 0x00c0, 0x290a: 0x00c0, 0x290b: 0x00c0,
- 0x290c: 0x00c0, 0x290d: 0x00c0, 0x290e: 0x00c0, 0x290f: 0x00c0, 0x2910: 0x00c0, 0x2911: 0x00c0,
+ 0x2900: 0x00c5, 0x2901: 0x0080, 0x2902: 0x0080, 0x2903: 0x0080, 0x2904: 0x0080, 0x2905: 0x0080,
+ 0x2906: 0x0080, 0x2907: 0x0080, 0x2908: 0x0080, 0x2909: 0x0080, 0x290a: 0x0080, 0x290b: 0x0080,
+ 0x290c: 0x0080, 0x290d: 0x0080, 0x290f: 0x00c0, 0x2910: 0x00c0, 0x2911: 0x00c0,
0x2912: 0x00c0, 0x2913: 0x00c0, 0x2914: 0x00c0, 0x2915: 0x00c0, 0x2916: 0x00c0, 0x2917: 0x00c0,
- 0x2918: 0x00c0, 0x2919: 0x00c0, 0x291a: 0x00c0, 0x291b: 0x00c0, 0x291c: 0x00c0, 0x291d: 0x00c0,
- 0x291e: 0x00c0, 0x291f: 0x00c0, 0x2920: 0x00c0, 0x2921: 0x00c0, 0x2922: 0x00c0, 0x2923: 0x00c0,
- 0x2924: 0x00c0, 0x2925: 0x00c0, 0x2926: 0x00c0, 0x2927: 0x00c0, 0x2928: 0x00c0, 0x2929: 0x00c0,
+ 0x2918: 0x00c0, 0x2919: 0x00c0,
+ 0x291e: 0x0080, 0x291f: 0x0080, 0x2920: 0x00c0, 0x2921: 0x00c0, 0x2922: 0x00c0, 0x2923: 0x00c0,
+ 0x2924: 0x00c0, 0x2925: 0x00c3, 0x2926: 0x00c0, 0x2927: 0x00c0, 0x2928: 0x00c0, 0x2929: 0x00c0,
0x292a: 0x00c0, 0x292b: 0x00c0, 0x292c: 0x00c0, 0x292d: 0x00c0, 0x292e: 0x00c0, 0x292f: 0x00c0,
- 0x2930: 0x00c0, 0x2931: 0x00c0, 0x2932: 0x00c0, 0x2933: 0x00c3, 0x2934: 0x00c0, 0x2935: 0x00c0,
- 0x2936: 0x00c3, 0x2937: 0x00c3, 0x2938: 0x00c3, 0x2939: 0x00c3, 0x293a: 0x00c0, 0x293b: 0x00c0,
- 0x293c: 0x00c3, 0x293d: 0x00c0, 0x293e: 0x00c0, 0x293f: 0x00c0,
+ 0x2930: 0x00c0, 0x2931: 0x00c0, 0x2932: 0x00c0, 0x2933: 0x00c0, 0x2934: 0x00c0, 0x2935: 0x00c0,
+ 0x2936: 0x00c0, 0x2937: 0x00c0, 0x2938: 0x00c0, 0x2939: 0x00c0, 0x293a: 0x00c0, 0x293b: 0x00c0,
+ 0x293c: 0x00c0, 0x293d: 0x00c0, 0x293e: 0x00c0,
// Block 0xa5, offset 0x2940
- 0x2940: 0x00c5, 0x2941: 0x0080, 0x2942: 0x0080, 0x2943: 0x0080, 0x2944: 0x0080, 0x2945: 0x0080,
- 0x2946: 0x0080, 0x2947: 0x0080, 0x2948: 0x0080, 0x2949: 0x0080, 0x294a: 0x0080, 0x294b: 0x0080,
- 0x294c: 0x0080, 0x294d: 0x0080, 0x294f: 0x00c0, 0x2950: 0x00c0, 0x2951: 0x00c0,
+ 0x2940: 0x00c0, 0x2941: 0x00c0, 0x2942: 0x00c0, 0x2943: 0x00c0, 0x2944: 0x00c0, 0x2945: 0x00c0,
+ 0x2946: 0x00c0, 0x2947: 0x00c0, 0x2948: 0x00c0, 0x2949: 0x00c0, 0x294a: 0x00c0, 0x294b: 0x00c0,
+ 0x294c: 0x00c0, 0x294d: 0x00c0, 0x294e: 0x00c0, 0x294f: 0x00c0, 0x2950: 0x00c0, 0x2951: 0x00c0,
0x2952: 0x00c0, 0x2953: 0x00c0, 0x2954: 0x00c0, 0x2955: 0x00c0, 0x2956: 0x00c0, 0x2957: 0x00c0,
- 0x2958: 0x00c0, 0x2959: 0x00c0,
- 0x295e: 0x0080, 0x295f: 0x0080, 0x2960: 0x00c0, 0x2961: 0x00c0, 0x2962: 0x00c0, 0x2963: 0x00c0,
- 0x2964: 0x00c0, 0x2965: 0x00c3, 0x2966: 0x00c0, 0x2967: 0x00c0, 0x2968: 0x00c0, 0x2969: 0x00c0,
- 0x296a: 0x00c0, 0x296b: 0x00c0, 0x296c: 0x00c0, 0x296d: 0x00c0, 0x296e: 0x00c0, 0x296f: 0x00c0,
- 0x2970: 0x00c0, 0x2971: 0x00c0, 0x2972: 0x00c0, 0x2973: 0x00c0, 0x2974: 0x00c0, 0x2975: 0x00c0,
- 0x2976: 0x00c0, 0x2977: 0x00c0, 0x2978: 0x00c0, 0x2979: 0x00c0, 0x297a: 0x00c0, 0x297b: 0x00c0,
- 0x297c: 0x00c0, 0x297d: 0x00c0, 0x297e: 0x00c0,
+ 0x2958: 0x00c0, 0x2959: 0x00c0, 0x295a: 0x00c0, 0x295b: 0x00c0, 0x295c: 0x00c0, 0x295d: 0x00c0,
+ 0x295e: 0x00c0, 0x295f: 0x00c0, 0x2960: 0x00c0, 0x2961: 0x00c0, 0x2962: 0x00c0, 0x2963: 0x00c0,
+ 0x2964: 0x00c0, 0x2965: 0x00c0, 0x2966: 0x00c0, 0x2967: 0x00c0, 0x2968: 0x00c0, 0x2969: 0x00c3,
+ 0x296a: 0x00c3, 0x296b: 0x00c3, 0x296c: 0x00c3, 0x296d: 0x00c3, 0x296e: 0x00c3, 0x296f: 0x00c0,
+ 0x2970: 0x00c0, 0x2971: 0x00c3, 0x2972: 0x00c3, 0x2973: 0x00c0, 0x2974: 0x00c0, 0x2975: 0x00c3,
+ 0x2976: 0x00c3,
// Block 0xa6, offset 0x2980
- 0x2980: 0x00c0, 0x2981: 0x00c0, 0x2982: 0x00c0, 0x2983: 0x00c0, 0x2984: 0x00c0, 0x2985: 0x00c0,
+ 0x2980: 0x00c0, 0x2981: 0x00c0, 0x2982: 0x00c0, 0x2983: 0x00c3, 0x2984: 0x00c0, 0x2985: 0x00c0,
0x2986: 0x00c0, 0x2987: 0x00c0, 0x2988: 0x00c0, 0x2989: 0x00c0, 0x298a: 0x00c0, 0x298b: 0x00c0,
- 0x298c: 0x00c0, 0x298d: 0x00c0, 0x298e: 0x00c0, 0x298f: 0x00c0, 0x2990: 0x00c0, 0x2991: 0x00c0,
+ 0x298c: 0x00c3, 0x298d: 0x00c0, 0x2990: 0x00c0, 0x2991: 0x00c0,
0x2992: 0x00c0, 0x2993: 0x00c0, 0x2994: 0x00c0, 0x2995: 0x00c0, 0x2996: 0x00c0, 0x2997: 0x00c0,
- 0x2998: 0x00c0, 0x2999: 0x00c0, 0x299a: 0x00c0, 0x299b: 0x00c0, 0x299c: 0x00c0, 0x299d: 0x00c0,
- 0x299e: 0x00c0, 0x299f: 0x00c0, 0x29a0: 0x00c0, 0x29a1: 0x00c0, 0x29a2: 0x00c0, 0x29a3: 0x00c0,
- 0x29a4: 0x00c0, 0x29a5: 0x00c0, 0x29a6: 0x00c0, 0x29a7: 0x00c0, 0x29a8: 0x00c0, 0x29a9: 0x00c3,
- 0x29aa: 0x00c3, 0x29ab: 0x00c3, 0x29ac: 0x00c3, 0x29ad: 0x00c3, 0x29ae: 0x00c3, 0x29af: 0x00c0,
- 0x29b0: 0x00c0, 0x29b1: 0x00c3, 0x29b2: 0x00c3, 0x29b3: 0x00c0, 0x29b4: 0x00c0, 0x29b5: 0x00c3,
- 0x29b6: 0x00c3,
+ 0x2998: 0x00c0, 0x2999: 0x00c0, 0x299c: 0x0080, 0x299d: 0x0080,
+ 0x299e: 0x0080, 0x299f: 0x0080, 0x29a0: 0x00c0, 0x29a1: 0x00c0, 0x29a2: 0x00c0, 0x29a3: 0x00c0,
+ 0x29a4: 0x00c0, 0x29a5: 0x00c0, 0x29a6: 0x00c0, 0x29a7: 0x00c0, 0x29a8: 0x00c0, 0x29a9: 0x00c0,
+ 0x29aa: 0x00c0, 0x29ab: 0x00c0, 0x29ac: 0x00c0, 0x29ad: 0x00c0, 0x29ae: 0x00c0, 0x29af: 0x00c0,
+ 0x29b0: 0x00c0, 0x29b1: 0x00c0, 0x29b2: 0x00c0, 0x29b3: 0x00c0, 0x29b4: 0x00c0, 0x29b5: 0x00c0,
+ 0x29b6: 0x00c0, 0x29b7: 0x0080, 0x29b8: 0x0080, 0x29b9: 0x0080, 0x29ba: 0x00c0, 0x29bb: 0x00c0,
+ 0x29bc: 0x00c3, 0x29bd: 0x00c0, 0x29be: 0x00c0, 0x29bf: 0x00c0,
// Block 0xa7, offset 0x29c0
- 0x29c0: 0x00c0, 0x29c1: 0x00c0, 0x29c2: 0x00c0, 0x29c3: 0x00c3, 0x29c4: 0x00c0, 0x29c5: 0x00c0,
+ 0x29c0: 0x00c0, 0x29c1: 0x00c0, 0x29c2: 0x00c0, 0x29c3: 0x00c0, 0x29c4: 0x00c0, 0x29c5: 0x00c0,
0x29c6: 0x00c0, 0x29c7: 0x00c0, 0x29c8: 0x00c0, 0x29c9: 0x00c0, 0x29ca: 0x00c0, 0x29cb: 0x00c0,
- 0x29cc: 0x00c3, 0x29cd: 0x00c0, 0x29d0: 0x00c0, 0x29d1: 0x00c0,
+ 0x29cc: 0x00c0, 0x29cd: 0x00c0, 0x29ce: 0x00c0, 0x29cf: 0x00c0, 0x29d0: 0x00c0, 0x29d1: 0x00c0,
0x29d2: 0x00c0, 0x29d3: 0x00c0, 0x29d4: 0x00c0, 0x29d5: 0x00c0, 0x29d6: 0x00c0, 0x29d7: 0x00c0,
- 0x29d8: 0x00c0, 0x29d9: 0x00c0, 0x29dc: 0x0080, 0x29dd: 0x0080,
- 0x29de: 0x0080, 0x29df: 0x0080, 0x29e0: 0x00c0, 0x29e1: 0x00c0, 0x29e2: 0x00c0, 0x29e3: 0x00c0,
+ 0x29d8: 0x00c0, 0x29d9: 0x00c0, 0x29da: 0x00c0, 0x29db: 0x00c0, 0x29dc: 0x00c0, 0x29dd: 0x00c0,
+ 0x29de: 0x00c0, 0x29df: 0x00c0, 0x29e0: 0x00c0, 0x29e1: 0x00c0, 0x29e2: 0x00c0, 0x29e3: 0x00c0,
0x29e4: 0x00c0, 0x29e5: 0x00c0, 0x29e6: 0x00c0, 0x29e7: 0x00c0, 0x29e8: 0x00c0, 0x29e9: 0x00c0,
0x29ea: 0x00c0, 0x29eb: 0x00c0, 0x29ec: 0x00c0, 0x29ed: 0x00c0, 0x29ee: 0x00c0, 0x29ef: 0x00c0,
- 0x29f0: 0x00c0, 0x29f1: 0x00c0, 0x29f2: 0x00c0, 0x29f3: 0x00c0, 0x29f4: 0x00c0, 0x29f5: 0x00c0,
- 0x29f6: 0x00c0, 0x29f7: 0x0080, 0x29f8: 0x0080, 0x29f9: 0x0080, 0x29fa: 0x00c0, 0x29fb: 0x00c0,
- 0x29fc: 0x00c3, 0x29fd: 0x00c0, 0x29fe: 0x00c0, 0x29ff: 0x00c0,
+ 0x29f0: 0x00c3, 0x29f1: 0x00c0, 0x29f2: 0x00c3, 0x29f3: 0x00c3, 0x29f4: 0x00c3, 0x29f5: 0x00c0,
+ 0x29f6: 0x00c0, 0x29f7: 0x00c3, 0x29f8: 0x00c3, 0x29f9: 0x00c0, 0x29fa: 0x00c0, 0x29fb: 0x00c0,
+ 0x29fc: 0x00c0, 0x29fd: 0x00c0, 0x29fe: 0x00c3, 0x29ff: 0x00c3,
// Block 0xa8, offset 0x2a00
- 0x2a00: 0x00c0, 0x2a01: 0x00c0, 0x2a02: 0x00c0, 0x2a03: 0x00c0, 0x2a04: 0x00c0, 0x2a05: 0x00c0,
- 0x2a06: 0x00c0, 0x2a07: 0x00c0, 0x2a08: 0x00c0, 0x2a09: 0x00c0, 0x2a0a: 0x00c0, 0x2a0b: 0x00c0,
- 0x2a0c: 0x00c0, 0x2a0d: 0x00c0, 0x2a0e: 0x00c0, 0x2a0f: 0x00c0, 0x2a10: 0x00c0, 0x2a11: 0x00c0,
- 0x2a12: 0x00c0, 0x2a13: 0x00c0, 0x2a14: 0x00c0, 0x2a15: 0x00c0, 0x2a16: 0x00c0, 0x2a17: 0x00c0,
- 0x2a18: 0x00c0, 0x2a19: 0x00c0, 0x2a1a: 0x00c0, 0x2a1b: 0x00c0, 0x2a1c: 0x00c0, 0x2a1d: 0x00c0,
- 0x2a1e: 0x00c0, 0x2a1f: 0x00c0, 0x2a20: 0x00c0, 0x2a21: 0x00c0, 0x2a22: 0x00c0, 0x2a23: 0x00c0,
+ 0x2a00: 0x00c0, 0x2a01: 0x00c3, 0x2a02: 0x00c0,
+ 0x2a1b: 0x00c0, 0x2a1c: 0x00c0, 0x2a1d: 0x00c0,
+ 0x2a1e: 0x0080, 0x2a1f: 0x0080, 0x2a20: 0x00c0, 0x2a21: 0x00c0, 0x2a22: 0x00c0, 0x2a23: 0x00c0,
0x2a24: 0x00c0, 0x2a25: 0x00c0, 0x2a26: 0x00c0, 0x2a27: 0x00c0, 0x2a28: 0x00c0, 0x2a29: 0x00c0,
- 0x2a2a: 0x00c0, 0x2a2b: 0x00c0, 0x2a2c: 0x00c0, 0x2a2d: 0x00c0, 0x2a2e: 0x00c0, 0x2a2f: 0x00c0,
- 0x2a30: 0x00c3, 0x2a31: 0x00c0, 0x2a32: 0x00c3, 0x2a33: 0x00c3, 0x2a34: 0x00c3, 0x2a35: 0x00c0,
- 0x2a36: 0x00c0, 0x2a37: 0x00c3, 0x2a38: 0x00c3, 0x2a39: 0x00c0, 0x2a3a: 0x00c0, 0x2a3b: 0x00c0,
- 0x2a3c: 0x00c0, 0x2a3d: 0x00c0, 0x2a3e: 0x00c3, 0x2a3f: 0x00c3,
+ 0x2a2a: 0x00c0, 0x2a2b: 0x00c0, 0x2a2c: 0x00c3, 0x2a2d: 0x00c3, 0x2a2e: 0x00c0, 0x2a2f: 0x00c0,
+ 0x2a30: 0x0080, 0x2a31: 0x0080, 0x2a32: 0x00c0, 0x2a33: 0x00c0, 0x2a34: 0x00c0, 0x2a35: 0x00c0,
+ 0x2a36: 0x00c6,
// Block 0xa9, offset 0x2a40
- 0x2a40: 0x00c0, 0x2a41: 0x00c3, 0x2a42: 0x00c0,
- 0x2a5b: 0x00c0, 0x2a5c: 0x00c0, 0x2a5d: 0x00c0,
- 0x2a5e: 0x0080, 0x2a5f: 0x0080, 0x2a60: 0x00c0, 0x2a61: 0x00c0, 0x2a62: 0x00c0, 0x2a63: 0x00c0,
- 0x2a64: 0x00c0, 0x2a65: 0x00c0, 0x2a66: 0x00c0, 0x2a67: 0x00c0, 0x2a68: 0x00c0, 0x2a69: 0x00c0,
- 0x2a6a: 0x00c0, 0x2a6b: 0x00c0, 0x2a6c: 0x00c3, 0x2a6d: 0x00c3, 0x2a6e: 0x00c0, 0x2a6f: 0x00c0,
- 0x2a70: 0x0080, 0x2a71: 0x0080, 0x2a72: 0x00c0, 0x2a73: 0x00c0, 0x2a74: 0x00c0, 0x2a75: 0x00c0,
- 0x2a76: 0x00c6,
+ 0x2a41: 0x00c0, 0x2a42: 0x00c0, 0x2a43: 0x00c0, 0x2a44: 0x00c0, 0x2a45: 0x00c0,
+ 0x2a46: 0x00c0, 0x2a49: 0x00c0, 0x2a4a: 0x00c0, 0x2a4b: 0x00c0,
+ 0x2a4c: 0x00c0, 0x2a4d: 0x00c0, 0x2a4e: 0x00c0, 0x2a51: 0x00c0,
+ 0x2a52: 0x00c0, 0x2a53: 0x00c0, 0x2a54: 0x00c0, 0x2a55: 0x00c0, 0x2a56: 0x00c0,
+ 0x2a60: 0x00c0, 0x2a61: 0x00c0, 0x2a62: 0x00c0, 0x2a63: 0x00c0,
+ 0x2a64: 0x00c0, 0x2a65: 0x00c0, 0x2a66: 0x00c0, 0x2a68: 0x00c0, 0x2a69: 0x00c0,
+ 0x2a6a: 0x00c0, 0x2a6b: 0x00c0, 0x2a6c: 0x00c0, 0x2a6d: 0x00c0, 0x2a6e: 0x00c0,
+ 0x2a70: 0x00c0, 0x2a71: 0x00c0, 0x2a72: 0x00c0, 0x2a73: 0x00c0, 0x2a74: 0x00c0, 0x2a75: 0x00c0,
+ 0x2a76: 0x00c0, 0x2a77: 0x00c0, 0x2a78: 0x00c0, 0x2a79: 0x00c0, 0x2a7a: 0x00c0, 0x2a7b: 0x00c0,
+ 0x2a7c: 0x00c0, 0x2a7d: 0x00c0, 0x2a7e: 0x00c0, 0x2a7f: 0x00c0,
// Block 0xaa, offset 0x2a80
- 0x2a81: 0x00c0, 0x2a82: 0x00c0, 0x2a83: 0x00c0, 0x2a84: 0x00c0, 0x2a85: 0x00c0,
- 0x2a86: 0x00c0, 0x2a89: 0x00c0, 0x2a8a: 0x00c0, 0x2a8b: 0x00c0,
- 0x2a8c: 0x00c0, 0x2a8d: 0x00c0, 0x2a8e: 0x00c0, 0x2a91: 0x00c0,
- 0x2a92: 0x00c0, 0x2a93: 0x00c0, 0x2a94: 0x00c0, 0x2a95: 0x00c0, 0x2a96: 0x00c0,
- 0x2aa0: 0x00c0, 0x2aa1: 0x00c0, 0x2aa2: 0x00c0, 0x2aa3: 0x00c0,
- 0x2aa4: 0x00c0, 0x2aa5: 0x00c0, 0x2aa6: 0x00c0, 0x2aa8: 0x00c0, 0x2aa9: 0x00c0,
- 0x2aaa: 0x00c0, 0x2aab: 0x00c0, 0x2aac: 0x00c0, 0x2aad: 0x00c0, 0x2aae: 0x00c0,
+ 0x2a80: 0x00c0, 0x2a81: 0x00c0, 0x2a82: 0x00c0, 0x2a83: 0x00c0, 0x2a84: 0x00c0, 0x2a85: 0x00c0,
+ 0x2a86: 0x00c0, 0x2a87: 0x00c0, 0x2a88: 0x00c0, 0x2a89: 0x00c0, 0x2a8a: 0x00c0, 0x2a8b: 0x00c0,
+ 0x2a8c: 0x00c0, 0x2a8d: 0x00c0, 0x2a8e: 0x00c0, 0x2a8f: 0x00c0, 0x2a90: 0x00c0, 0x2a91: 0x00c0,
+ 0x2a92: 0x00c0, 0x2a93: 0x00c0, 0x2a94: 0x00c0, 0x2a95: 0x00c0, 0x2a96: 0x00c0, 0x2a97: 0x00c0,
+ 0x2a98: 0x00c0, 0x2a99: 0x00c0, 0x2a9a: 0x00c0, 0x2a9b: 0x0080, 0x2a9c: 0x0080, 0x2a9d: 0x0080,
+ 0x2a9e: 0x0080, 0x2a9f: 0x0080, 0x2aa0: 0x00c0, 0x2aa1: 0x00c0, 0x2aa2: 0x00c0, 0x2aa3: 0x00c0,
+ 0x2aa4: 0x00c0, 0x2aa5: 0x00c8,
0x2ab0: 0x00c0, 0x2ab1: 0x00c0, 0x2ab2: 0x00c0, 0x2ab3: 0x00c0, 0x2ab4: 0x00c0, 0x2ab5: 0x00c0,
0x2ab6: 0x00c0, 0x2ab7: 0x00c0, 0x2ab8: 0x00c0, 0x2ab9: 0x00c0, 0x2aba: 0x00c0, 0x2abb: 0x00c0,
0x2abc: 0x00c0, 0x2abd: 0x00c0, 0x2abe: 0x00c0, 0x2abf: 0x00c0,
@@ -2089,12 +2098,12 @@ var derivedPropertiesValues = [20736]uint8{
0x2ac6: 0x00c0, 0x2ac7: 0x00c0, 0x2ac8: 0x00c0, 0x2ac9: 0x00c0, 0x2aca: 0x00c0, 0x2acb: 0x00c0,
0x2acc: 0x00c0, 0x2acd: 0x00c0, 0x2ace: 0x00c0, 0x2acf: 0x00c0, 0x2ad0: 0x00c0, 0x2ad1: 0x00c0,
0x2ad2: 0x00c0, 0x2ad3: 0x00c0, 0x2ad4: 0x00c0, 0x2ad5: 0x00c0, 0x2ad6: 0x00c0, 0x2ad7: 0x00c0,
- 0x2ad8: 0x00c0, 0x2ad9: 0x00c0, 0x2ada: 0x00c0, 0x2adb: 0x0080, 0x2adc: 0x0080, 0x2add: 0x0080,
- 0x2ade: 0x0080, 0x2adf: 0x0080, 0x2ae0: 0x00c0, 0x2ae1: 0x00c0, 0x2ae2: 0x00c0, 0x2ae3: 0x00c0,
- 0x2ae4: 0x00c0, 0x2ae5: 0x00c8,
+ 0x2ad8: 0x00c0, 0x2ad9: 0x00c0, 0x2ada: 0x00c0, 0x2adb: 0x00c0, 0x2adc: 0x00c0, 0x2add: 0x00c0,
+ 0x2ade: 0x00c0, 0x2adf: 0x00c0, 0x2ae0: 0x00c0, 0x2ae1: 0x00c0, 0x2ae2: 0x00c0, 0x2ae3: 0x00c0,
+ 0x2ae4: 0x00c0, 0x2ae5: 0x00c3, 0x2ae6: 0x00c0, 0x2ae7: 0x00c0, 0x2ae8: 0x00c3, 0x2ae9: 0x00c0,
+ 0x2aea: 0x00c0, 0x2aeb: 0x0080, 0x2aec: 0x00c0, 0x2aed: 0x00c6,
0x2af0: 0x00c0, 0x2af1: 0x00c0, 0x2af2: 0x00c0, 0x2af3: 0x00c0, 0x2af4: 0x00c0, 0x2af5: 0x00c0,
- 0x2af6: 0x00c0, 0x2af7: 0x00c0, 0x2af8: 0x00c0, 0x2af9: 0x00c0, 0x2afa: 0x00c0, 0x2afb: 0x00c0,
- 0x2afc: 0x00c0, 0x2afd: 0x00c0, 0x2afe: 0x00c0, 0x2aff: 0x00c0,
+ 0x2af6: 0x00c0, 0x2af7: 0x00c0, 0x2af8: 0x00c0, 0x2af9: 0x00c0,
// Block 0xac, offset 0x2b00
0x2b00: 0x00c0, 0x2b01: 0x00c0, 0x2b02: 0x00c0, 0x2b03: 0x00c0, 0x2b04: 0x00c0, 0x2b05: 0x00c0,
0x2b06: 0x00c0, 0x2b07: 0x00c0, 0x2b08: 0x00c0, 0x2b09: 0x00c0, 0x2b0a: 0x00c0, 0x2b0b: 0x00c0,
@@ -2102,40 +2111,41 @@ var derivedPropertiesValues = [20736]uint8{
0x2b12: 0x00c0, 0x2b13: 0x00c0, 0x2b14: 0x00c0, 0x2b15: 0x00c0, 0x2b16: 0x00c0, 0x2b17: 0x00c0,
0x2b18: 0x00c0, 0x2b19: 0x00c0, 0x2b1a: 0x00c0, 0x2b1b: 0x00c0, 0x2b1c: 0x00c0, 0x2b1d: 0x00c0,
0x2b1e: 0x00c0, 0x2b1f: 0x00c0, 0x2b20: 0x00c0, 0x2b21: 0x00c0, 0x2b22: 0x00c0, 0x2b23: 0x00c0,
- 0x2b24: 0x00c0, 0x2b25: 0x00c3, 0x2b26: 0x00c0, 0x2b27: 0x00c0, 0x2b28: 0x00c3, 0x2b29: 0x00c0,
- 0x2b2a: 0x00c0, 0x2b2b: 0x0080, 0x2b2c: 0x00c0, 0x2b2d: 0x00c6,
- 0x2b30: 0x00c0, 0x2b31: 0x00c0, 0x2b32: 0x00c0, 0x2b33: 0x00c0, 0x2b34: 0x00c0, 0x2b35: 0x00c0,
- 0x2b36: 0x00c0, 0x2b37: 0x00c0, 0x2b38: 0x00c0, 0x2b39: 0x00c0,
+ 0x2b30: 0x0040, 0x2b31: 0x0040, 0x2b32: 0x0040, 0x2b33: 0x0040, 0x2b34: 0x0040, 0x2b35: 0x0040,
+ 0x2b36: 0x0040, 0x2b37: 0x0040, 0x2b38: 0x0040, 0x2b39: 0x0040, 0x2b3a: 0x0040, 0x2b3b: 0x0040,
+ 0x2b3c: 0x0040, 0x2b3d: 0x0040, 0x2b3e: 0x0040, 0x2b3f: 0x0040,
// Block 0xad, offset 0x2b40
- 0x2b40: 0x00c0, 0x2b41: 0x00c0, 0x2b42: 0x00c0, 0x2b43: 0x00c0, 0x2b44: 0x00c0, 0x2b45: 0x00c0,
- 0x2b46: 0x00c0, 0x2b47: 0x00c0, 0x2b48: 0x00c0, 0x2b49: 0x00c0, 0x2b4a: 0x00c0, 0x2b4b: 0x00c0,
- 0x2b4c: 0x00c0, 0x2b4d: 0x00c0, 0x2b4e: 0x00c0, 0x2b4f: 0x00c0, 0x2b50: 0x00c0, 0x2b51: 0x00c0,
- 0x2b52: 0x00c0, 0x2b53: 0x00c0, 0x2b54: 0x00c0, 0x2b55: 0x00c0, 0x2b56: 0x00c0, 0x2b57: 0x00c0,
- 0x2b58: 0x00c0, 0x2b59: 0x00c0, 0x2b5a: 0x00c0, 0x2b5b: 0x00c0, 0x2b5c: 0x00c0, 0x2b5d: 0x00c0,
- 0x2b5e: 0x00c0, 0x2b5f: 0x00c0, 0x2b60: 0x00c0, 0x2b61: 0x00c0, 0x2b62: 0x00c0, 0x2b63: 0x00c0,
+ 0x2b40: 0x0040, 0x2b41: 0x0040, 0x2b42: 0x0040, 0x2b43: 0x0040, 0x2b44: 0x0040, 0x2b45: 0x0040,
+ 0x2b46: 0x0040, 0x2b4b: 0x0040,
+ 0x2b4c: 0x0040, 0x2b4d: 0x0040, 0x2b4e: 0x0040, 0x2b4f: 0x0040, 0x2b50: 0x0040, 0x2b51: 0x0040,
+ 0x2b52: 0x0040, 0x2b53: 0x0040, 0x2b54: 0x0040, 0x2b55: 0x0040, 0x2b56: 0x0040, 0x2b57: 0x0040,
+ 0x2b58: 0x0040, 0x2b59: 0x0040, 0x2b5a: 0x0040, 0x2b5b: 0x0040, 0x2b5c: 0x0040, 0x2b5d: 0x0040,
+ 0x2b5e: 0x0040, 0x2b5f: 0x0040, 0x2b60: 0x0040, 0x2b61: 0x0040, 0x2b62: 0x0040, 0x2b63: 0x0040,
+ 0x2b64: 0x0040, 0x2b65: 0x0040, 0x2b66: 0x0040, 0x2b67: 0x0040, 0x2b68: 0x0040, 0x2b69: 0x0040,
+ 0x2b6a: 0x0040, 0x2b6b: 0x0040, 0x2b6c: 0x0040, 0x2b6d: 0x0040, 0x2b6e: 0x0040, 0x2b6f: 0x0040,
0x2b70: 0x0040, 0x2b71: 0x0040, 0x2b72: 0x0040, 0x2b73: 0x0040, 0x2b74: 0x0040, 0x2b75: 0x0040,
0x2b76: 0x0040, 0x2b77: 0x0040, 0x2b78: 0x0040, 0x2b79: 0x0040, 0x2b7a: 0x0040, 0x2b7b: 0x0040,
- 0x2b7c: 0x0040, 0x2b7d: 0x0040, 0x2b7e: 0x0040, 0x2b7f: 0x0040,
// Block 0xae, offset 0x2b80
- 0x2b80: 0x0040, 0x2b81: 0x0040, 0x2b82: 0x0040, 0x2b83: 0x0040, 0x2b84: 0x0040, 0x2b85: 0x0040,
- 0x2b86: 0x0040, 0x2b8b: 0x0040,
- 0x2b8c: 0x0040, 0x2b8d: 0x0040, 0x2b8e: 0x0040, 0x2b8f: 0x0040, 0x2b90: 0x0040, 0x2b91: 0x0040,
- 0x2b92: 0x0040, 0x2b93: 0x0040, 0x2b94: 0x0040, 0x2b95: 0x0040, 0x2b96: 0x0040, 0x2b97: 0x0040,
- 0x2b98: 0x0040, 0x2b99: 0x0040, 0x2b9a: 0x0040, 0x2b9b: 0x0040, 0x2b9c: 0x0040, 0x2b9d: 0x0040,
- 0x2b9e: 0x0040, 0x2b9f: 0x0040, 0x2ba0: 0x0040, 0x2ba1: 0x0040, 0x2ba2: 0x0040, 0x2ba3: 0x0040,
- 0x2ba4: 0x0040, 0x2ba5: 0x0040, 0x2ba6: 0x0040, 0x2ba7: 0x0040, 0x2ba8: 0x0040, 0x2ba9: 0x0040,
- 0x2baa: 0x0040, 0x2bab: 0x0040, 0x2bac: 0x0040, 0x2bad: 0x0040, 0x2bae: 0x0040, 0x2baf: 0x0040,
- 0x2bb0: 0x0040, 0x2bb1: 0x0040, 0x2bb2: 0x0040, 0x2bb3: 0x0040, 0x2bb4: 0x0040, 0x2bb5: 0x0040,
- 0x2bb6: 0x0040, 0x2bb7: 0x0040, 0x2bb8: 0x0040, 0x2bb9: 0x0040, 0x2bba: 0x0040, 0x2bbb: 0x0040,
+ 0x2b80: 0x008c, 0x2b81: 0x008c, 0x2b82: 0x008c, 0x2b83: 0x008c, 0x2b84: 0x008c, 0x2b85: 0x008c,
+ 0x2b86: 0x008c, 0x2b87: 0x008c, 0x2b88: 0x008c, 0x2b89: 0x008c, 0x2b8a: 0x008c, 0x2b8b: 0x008c,
+ 0x2b8c: 0x008c, 0x2b8d: 0x008c, 0x2b8e: 0x00cc, 0x2b8f: 0x00cc, 0x2b90: 0x008c, 0x2b91: 0x00cc,
+ 0x2b92: 0x008c, 0x2b93: 0x00cc, 0x2b94: 0x00cc, 0x2b95: 0x008c, 0x2b96: 0x008c, 0x2b97: 0x008c,
+ 0x2b98: 0x008c, 0x2b99: 0x008c, 0x2b9a: 0x008c, 0x2b9b: 0x008c, 0x2b9c: 0x008c, 0x2b9d: 0x008c,
+ 0x2b9e: 0x008c, 0x2b9f: 0x00cc, 0x2ba0: 0x008c, 0x2ba1: 0x00cc, 0x2ba2: 0x008c, 0x2ba3: 0x00cc,
+ 0x2ba4: 0x00cc, 0x2ba5: 0x008c, 0x2ba6: 0x008c, 0x2ba7: 0x00cc, 0x2ba8: 0x00cc, 0x2ba9: 0x00cc,
+ 0x2baa: 0x008c, 0x2bab: 0x008c, 0x2bac: 0x008c, 0x2bad: 0x008c, 0x2bae: 0x008c, 0x2baf: 0x008c,
+ 0x2bb0: 0x008c, 0x2bb1: 0x008c, 0x2bb2: 0x008c, 0x2bb3: 0x008c, 0x2bb4: 0x008c, 0x2bb5: 0x008c,
+ 0x2bb6: 0x008c, 0x2bb7: 0x008c, 0x2bb8: 0x008c, 0x2bb9: 0x008c, 0x2bba: 0x008c, 0x2bbb: 0x008c,
+ 0x2bbc: 0x008c, 0x2bbd: 0x008c, 0x2bbe: 0x008c, 0x2bbf: 0x008c,
// Block 0xaf, offset 0x2bc0
0x2bc0: 0x008c, 0x2bc1: 0x008c, 0x2bc2: 0x008c, 0x2bc3: 0x008c, 0x2bc4: 0x008c, 0x2bc5: 0x008c,
0x2bc6: 0x008c, 0x2bc7: 0x008c, 0x2bc8: 0x008c, 0x2bc9: 0x008c, 0x2bca: 0x008c, 0x2bcb: 0x008c,
- 0x2bcc: 0x008c, 0x2bcd: 0x008c, 0x2bce: 0x00cc, 0x2bcf: 0x00cc, 0x2bd0: 0x008c, 0x2bd1: 0x00cc,
- 0x2bd2: 0x008c, 0x2bd3: 0x00cc, 0x2bd4: 0x00cc, 0x2bd5: 0x008c, 0x2bd6: 0x008c, 0x2bd7: 0x008c,
+ 0x2bcc: 0x008c, 0x2bcd: 0x008c, 0x2bce: 0x008c, 0x2bcf: 0x008c, 0x2bd0: 0x008c, 0x2bd1: 0x008c,
+ 0x2bd2: 0x008c, 0x2bd3: 0x008c, 0x2bd4: 0x008c, 0x2bd5: 0x008c, 0x2bd6: 0x008c, 0x2bd7: 0x008c,
0x2bd8: 0x008c, 0x2bd9: 0x008c, 0x2bda: 0x008c, 0x2bdb: 0x008c, 0x2bdc: 0x008c, 0x2bdd: 0x008c,
- 0x2bde: 0x008c, 0x2bdf: 0x00cc, 0x2be0: 0x008c, 0x2be1: 0x00cc, 0x2be2: 0x008c, 0x2be3: 0x00cc,
- 0x2be4: 0x00cc, 0x2be5: 0x008c, 0x2be6: 0x008c, 0x2be7: 0x00cc, 0x2be8: 0x00cc, 0x2be9: 0x00cc,
- 0x2bea: 0x008c, 0x2beb: 0x008c, 0x2bec: 0x008c, 0x2bed: 0x008c, 0x2bee: 0x008c, 0x2bef: 0x008c,
+ 0x2bde: 0x008c, 0x2bdf: 0x008c, 0x2be0: 0x008c, 0x2be1: 0x008c, 0x2be2: 0x008c, 0x2be3: 0x008c,
+ 0x2be4: 0x008c, 0x2be5: 0x008c, 0x2be6: 0x008c, 0x2be7: 0x008c, 0x2be8: 0x008c, 0x2be9: 0x008c,
+ 0x2bea: 0x008c, 0x2beb: 0x008c, 0x2bec: 0x008c, 0x2bed: 0x008c,
0x2bf0: 0x008c, 0x2bf1: 0x008c, 0x2bf2: 0x008c, 0x2bf3: 0x008c, 0x2bf4: 0x008c, 0x2bf5: 0x008c,
0x2bf6: 0x008c, 0x2bf7: 0x008c, 0x2bf8: 0x008c, 0x2bf9: 0x008c, 0x2bfa: 0x008c, 0x2bfb: 0x008c,
0x2bfc: 0x008c, 0x2bfd: 0x008c, 0x2bfe: 0x008c, 0x2bff: 0x008c,
@@ -2144,35 +2154,33 @@ var derivedPropertiesValues = [20736]uint8{
0x2c06: 0x008c, 0x2c07: 0x008c, 0x2c08: 0x008c, 0x2c09: 0x008c, 0x2c0a: 0x008c, 0x2c0b: 0x008c,
0x2c0c: 0x008c, 0x2c0d: 0x008c, 0x2c0e: 0x008c, 0x2c0f: 0x008c, 0x2c10: 0x008c, 0x2c11: 0x008c,
0x2c12: 0x008c, 0x2c13: 0x008c, 0x2c14: 0x008c, 0x2c15: 0x008c, 0x2c16: 0x008c, 0x2c17: 0x008c,
- 0x2c18: 0x008c, 0x2c19: 0x008c, 0x2c1a: 0x008c, 0x2c1b: 0x008c, 0x2c1c: 0x008c, 0x2c1d: 0x008c,
- 0x2c1e: 0x008c, 0x2c1f: 0x008c, 0x2c20: 0x008c, 0x2c21: 0x008c, 0x2c22: 0x008c, 0x2c23: 0x008c,
- 0x2c24: 0x008c, 0x2c25: 0x008c, 0x2c26: 0x008c, 0x2c27: 0x008c, 0x2c28: 0x008c, 0x2c29: 0x008c,
- 0x2c2a: 0x008c, 0x2c2b: 0x008c, 0x2c2c: 0x008c, 0x2c2d: 0x008c,
- 0x2c30: 0x008c, 0x2c31: 0x008c, 0x2c32: 0x008c, 0x2c33: 0x008c, 0x2c34: 0x008c, 0x2c35: 0x008c,
- 0x2c36: 0x008c, 0x2c37: 0x008c, 0x2c38: 0x008c, 0x2c39: 0x008c, 0x2c3a: 0x008c, 0x2c3b: 0x008c,
- 0x2c3c: 0x008c, 0x2c3d: 0x008c, 0x2c3e: 0x008c, 0x2c3f: 0x008c,
+ 0x2c18: 0x008c, 0x2c19: 0x008c,
// Block 0xb1, offset 0x2c40
- 0x2c40: 0x008c, 0x2c41: 0x008c, 0x2c42: 0x008c, 0x2c43: 0x008c, 0x2c44: 0x008c, 0x2c45: 0x008c,
- 0x2c46: 0x008c, 0x2c47: 0x008c, 0x2c48: 0x008c, 0x2c49: 0x008c, 0x2c4a: 0x008c, 0x2c4b: 0x008c,
- 0x2c4c: 0x008c, 0x2c4d: 0x008c, 0x2c4e: 0x008c, 0x2c4f: 0x008c, 0x2c50: 0x008c, 0x2c51: 0x008c,
- 0x2c52: 0x008c, 0x2c53: 0x008c, 0x2c54: 0x008c, 0x2c55: 0x008c, 0x2c56: 0x008c, 0x2c57: 0x008c,
- 0x2c58: 0x008c, 0x2c59: 0x008c,
+ 0x2c40: 0x0080, 0x2c41: 0x0080, 0x2c42: 0x0080, 0x2c43: 0x0080, 0x2c44: 0x0080, 0x2c45: 0x0080,
+ 0x2c46: 0x0080,
+ 0x2c53: 0x0080, 0x2c54: 0x0080, 0x2c55: 0x0080, 0x2c56: 0x0080, 0x2c57: 0x0080,
+ 0x2c5d: 0x008a,
+ 0x2c5e: 0x00cb, 0x2c5f: 0x008a, 0x2c60: 0x008a, 0x2c61: 0x008a, 0x2c62: 0x008a, 0x2c63: 0x008a,
+ 0x2c64: 0x008a, 0x2c65: 0x008a, 0x2c66: 0x008a, 0x2c67: 0x008a, 0x2c68: 0x008a, 0x2c69: 0x008a,
+ 0x2c6a: 0x008a, 0x2c6b: 0x008a, 0x2c6c: 0x008a, 0x2c6d: 0x008a, 0x2c6e: 0x008a, 0x2c6f: 0x008a,
+ 0x2c70: 0x008a, 0x2c71: 0x008a, 0x2c72: 0x008a, 0x2c73: 0x008a, 0x2c74: 0x008a, 0x2c75: 0x008a,
+ 0x2c76: 0x008a, 0x2c78: 0x008a, 0x2c79: 0x008a, 0x2c7a: 0x008a, 0x2c7b: 0x008a,
+ 0x2c7c: 0x008a, 0x2c7e: 0x008a,
// Block 0xb2, offset 0x2c80
- 0x2c80: 0x0080, 0x2c81: 0x0080, 0x2c82: 0x0080, 0x2c83: 0x0080, 0x2c84: 0x0080, 0x2c85: 0x0080,
- 0x2c86: 0x0080,
- 0x2c93: 0x0080, 0x2c94: 0x0080, 0x2c95: 0x0080, 0x2c96: 0x0080, 0x2c97: 0x0080,
- 0x2c9d: 0x008a,
- 0x2c9e: 0x00cb, 0x2c9f: 0x008a, 0x2ca0: 0x008a, 0x2ca1: 0x008a, 0x2ca2: 0x008a, 0x2ca3: 0x008a,
- 0x2ca4: 0x008a, 0x2ca5: 0x008a, 0x2ca6: 0x008a, 0x2ca7: 0x008a, 0x2ca8: 0x008a, 0x2ca9: 0x008a,
- 0x2caa: 0x008a, 0x2cab: 0x008a, 0x2cac: 0x008a, 0x2cad: 0x008a, 0x2cae: 0x008a, 0x2caf: 0x008a,
- 0x2cb0: 0x008a, 0x2cb1: 0x008a, 0x2cb2: 0x008a, 0x2cb3: 0x008a, 0x2cb4: 0x008a, 0x2cb5: 0x008a,
- 0x2cb6: 0x008a, 0x2cb8: 0x008a, 0x2cb9: 0x008a, 0x2cba: 0x008a, 0x2cbb: 0x008a,
- 0x2cbc: 0x008a, 0x2cbe: 0x008a,
+ 0x2c80: 0x008a, 0x2c81: 0x008a, 0x2c83: 0x008a, 0x2c84: 0x008a,
+ 0x2c86: 0x008a, 0x2c87: 0x008a, 0x2c88: 0x008a, 0x2c89: 0x008a, 0x2c8a: 0x008a, 0x2c8b: 0x008a,
+ 0x2c8c: 0x008a, 0x2c8d: 0x008a, 0x2c8e: 0x008a, 0x2c8f: 0x008a, 0x2c90: 0x0080, 0x2c91: 0x0080,
+ 0x2c92: 0x0080, 0x2c93: 0x0080, 0x2c94: 0x0080, 0x2c95: 0x0080, 0x2c96: 0x0080, 0x2c97: 0x0080,
+ 0x2c98: 0x0080, 0x2c99: 0x0080, 0x2c9a: 0x0080, 0x2c9b: 0x0080, 0x2c9c: 0x0080, 0x2c9d: 0x0080,
+ 0x2c9e: 0x0080, 0x2c9f: 0x0080, 0x2ca0: 0x0080, 0x2ca1: 0x0080, 0x2ca2: 0x0080, 0x2ca3: 0x0080,
+ 0x2ca4: 0x0080, 0x2ca5: 0x0080, 0x2ca6: 0x0080, 0x2ca7: 0x0080, 0x2ca8: 0x0080, 0x2ca9: 0x0080,
+ 0x2caa: 0x0080, 0x2cab: 0x0080, 0x2cac: 0x0080, 0x2cad: 0x0080, 0x2cae: 0x0080, 0x2caf: 0x0080,
+ 0x2cb0: 0x0080, 0x2cb1: 0x0080, 0x2cb2: 0x0080, 0x2cb3: 0x0080, 0x2cb4: 0x0080, 0x2cb5: 0x0080,
+ 0x2cb6: 0x0080, 0x2cb7: 0x0080, 0x2cb8: 0x0080, 0x2cb9: 0x0080, 0x2cba: 0x0080, 0x2cbb: 0x0080,
+ 0x2cbc: 0x0080, 0x2cbd: 0x0080, 0x2cbe: 0x0080, 0x2cbf: 0x0080,
// Block 0xb3, offset 0x2cc0
- 0x2cc0: 0x008a, 0x2cc1: 0x008a, 0x2cc3: 0x008a, 0x2cc4: 0x008a,
- 0x2cc6: 0x008a, 0x2cc7: 0x008a, 0x2cc8: 0x008a, 0x2cc9: 0x008a, 0x2cca: 0x008a, 0x2ccb: 0x008a,
- 0x2ccc: 0x008a, 0x2ccd: 0x008a, 0x2cce: 0x008a, 0x2ccf: 0x008a, 0x2cd0: 0x0080, 0x2cd1: 0x0080,
- 0x2cd2: 0x0080, 0x2cd3: 0x0080, 0x2cd4: 0x0080, 0x2cd5: 0x0080, 0x2cd6: 0x0080, 0x2cd7: 0x0080,
+ 0x2cc0: 0x0080, 0x2cc1: 0x0080,
+ 0x2cd3: 0x0080, 0x2cd4: 0x0080, 0x2cd5: 0x0080, 0x2cd6: 0x0080, 0x2cd7: 0x0080,
0x2cd8: 0x0080, 0x2cd9: 0x0080, 0x2cda: 0x0080, 0x2cdb: 0x0080, 0x2cdc: 0x0080, 0x2cdd: 0x0080,
0x2cde: 0x0080, 0x2cdf: 0x0080, 0x2ce0: 0x0080, 0x2ce1: 0x0080, 0x2ce2: 0x0080, 0x2ce3: 0x0080,
0x2ce4: 0x0080, 0x2ce5: 0x0080, 0x2ce6: 0x0080, 0x2ce7: 0x0080, 0x2ce8: 0x0080, 0x2ce9: 0x0080,
@@ -2181,8 +2189,8 @@ var derivedPropertiesValues = [20736]uint8{
0x2cf6: 0x0080, 0x2cf7: 0x0080, 0x2cf8: 0x0080, 0x2cf9: 0x0080, 0x2cfa: 0x0080, 0x2cfb: 0x0080,
0x2cfc: 0x0080, 0x2cfd: 0x0080, 0x2cfe: 0x0080, 0x2cff: 0x0080,
// Block 0xb4, offset 0x2d00
- 0x2d00: 0x0080, 0x2d01: 0x0080,
- 0x2d13: 0x0080, 0x2d14: 0x0080, 0x2d15: 0x0080, 0x2d16: 0x0080, 0x2d17: 0x0080,
+ 0x2d10: 0x0080, 0x2d11: 0x0080,
+ 0x2d12: 0x0080, 0x2d13: 0x0080, 0x2d14: 0x0080, 0x2d15: 0x0080, 0x2d16: 0x0080, 0x2d17: 0x0080,
0x2d18: 0x0080, 0x2d19: 0x0080, 0x2d1a: 0x0080, 0x2d1b: 0x0080, 0x2d1c: 0x0080, 0x2d1d: 0x0080,
0x2d1e: 0x0080, 0x2d1f: 0x0080, 0x2d20: 0x0080, 0x2d21: 0x0080, 0x2d22: 0x0080, 0x2d23: 0x0080,
0x2d24: 0x0080, 0x2d25: 0x0080, 0x2d26: 0x0080, 0x2d27: 0x0080, 0x2d28: 0x0080, 0x2d29: 0x0080,
@@ -2191,7 +2199,9 @@ var derivedPropertiesValues = [20736]uint8{
0x2d36: 0x0080, 0x2d37: 0x0080, 0x2d38: 0x0080, 0x2d39: 0x0080, 0x2d3a: 0x0080, 0x2d3b: 0x0080,
0x2d3c: 0x0080, 0x2d3d: 0x0080, 0x2d3e: 0x0080, 0x2d3f: 0x0080,
// Block 0xb5, offset 0x2d40
- 0x2d50: 0x0080, 0x2d51: 0x0080,
+ 0x2d40: 0x0080, 0x2d41: 0x0080, 0x2d42: 0x0080, 0x2d43: 0x0080, 0x2d44: 0x0080, 0x2d45: 0x0080,
+ 0x2d46: 0x0080, 0x2d47: 0x0080, 0x2d48: 0x0080, 0x2d49: 0x0080, 0x2d4a: 0x0080, 0x2d4b: 0x0080,
+ 0x2d4c: 0x0080, 0x2d4d: 0x0080, 0x2d4e: 0x0080, 0x2d4f: 0x0080,
0x2d52: 0x0080, 0x2d53: 0x0080, 0x2d54: 0x0080, 0x2d55: 0x0080, 0x2d56: 0x0080, 0x2d57: 0x0080,
0x2d58: 0x0080, 0x2d59: 0x0080, 0x2d5a: 0x0080, 0x2d5b: 0x0080, 0x2d5c: 0x0080, 0x2d5d: 0x0080,
0x2d5e: 0x0080, 0x2d5f: 0x0080, 0x2d60: 0x0080, 0x2d61: 0x0080, 0x2d62: 0x0080, 0x2d63: 0x0080,
@@ -2202,48 +2212,48 @@ var derivedPropertiesValues = [20736]uint8{
0x2d7c: 0x0080, 0x2d7d: 0x0080, 0x2d7e: 0x0080, 0x2d7f: 0x0080,
// Block 0xb6, offset 0x2d80
0x2d80: 0x0080, 0x2d81: 0x0080, 0x2d82: 0x0080, 0x2d83: 0x0080, 0x2d84: 0x0080, 0x2d85: 0x0080,
- 0x2d86: 0x0080, 0x2d87: 0x0080, 0x2d88: 0x0080, 0x2d89: 0x0080, 0x2d8a: 0x0080, 0x2d8b: 0x0080,
- 0x2d8c: 0x0080, 0x2d8d: 0x0080, 0x2d8e: 0x0080, 0x2d8f: 0x0080,
- 0x2d92: 0x0080, 0x2d93: 0x0080, 0x2d94: 0x0080, 0x2d95: 0x0080, 0x2d96: 0x0080, 0x2d97: 0x0080,
- 0x2d98: 0x0080, 0x2d99: 0x0080, 0x2d9a: 0x0080, 0x2d9b: 0x0080, 0x2d9c: 0x0080, 0x2d9d: 0x0080,
- 0x2d9e: 0x0080, 0x2d9f: 0x0080, 0x2da0: 0x0080, 0x2da1: 0x0080, 0x2da2: 0x0080, 0x2da3: 0x0080,
- 0x2da4: 0x0080, 0x2da5: 0x0080, 0x2da6: 0x0080, 0x2da7: 0x0080, 0x2da8: 0x0080, 0x2da9: 0x0080,
- 0x2daa: 0x0080, 0x2dab: 0x0080, 0x2dac: 0x0080, 0x2dad: 0x0080, 0x2dae: 0x0080, 0x2daf: 0x0080,
+ 0x2d86: 0x0080, 0x2d87: 0x0080,
0x2db0: 0x0080, 0x2db1: 0x0080, 0x2db2: 0x0080, 0x2db3: 0x0080, 0x2db4: 0x0080, 0x2db5: 0x0080,
0x2db6: 0x0080, 0x2db7: 0x0080, 0x2db8: 0x0080, 0x2db9: 0x0080, 0x2dba: 0x0080, 0x2dbb: 0x0080,
- 0x2dbc: 0x0080, 0x2dbd: 0x0080, 0x2dbe: 0x0080, 0x2dbf: 0x0080,
+ 0x2dbc: 0x0080, 0x2dbd: 0x0080,
// Block 0xb7, offset 0x2dc0
- 0x2dc0: 0x0080, 0x2dc1: 0x0080, 0x2dc2: 0x0080, 0x2dc3: 0x0080, 0x2dc4: 0x0080, 0x2dc5: 0x0080,
- 0x2dc6: 0x0080, 0x2dc7: 0x0080,
+ 0x2dc0: 0x0040, 0x2dc1: 0x0040, 0x2dc2: 0x0040, 0x2dc3: 0x0040, 0x2dc4: 0x0040, 0x2dc5: 0x0040,
+ 0x2dc6: 0x0040, 0x2dc7: 0x0040, 0x2dc8: 0x0040, 0x2dc9: 0x0040, 0x2dca: 0x0040, 0x2dcb: 0x0040,
+ 0x2dcc: 0x0040, 0x2dcd: 0x0040, 0x2dce: 0x0040, 0x2dcf: 0x0040, 0x2dd0: 0x0080, 0x2dd1: 0x0080,
+ 0x2dd2: 0x0080, 0x2dd3: 0x0080, 0x2dd4: 0x0080, 0x2dd5: 0x0080, 0x2dd6: 0x0080, 0x2dd7: 0x0080,
+ 0x2dd8: 0x0080, 0x2dd9: 0x0080,
+ 0x2de0: 0x00c3, 0x2de1: 0x00c3, 0x2de2: 0x00c3, 0x2de3: 0x00c3,
+ 0x2de4: 0x00c3, 0x2de5: 0x00c3, 0x2de6: 0x00c3, 0x2de7: 0x00c3, 0x2de8: 0x00c3, 0x2de9: 0x00c3,
+ 0x2dea: 0x00c3, 0x2deb: 0x00c3, 0x2dec: 0x00c3, 0x2ded: 0x00c3, 0x2dee: 0x00c3, 0x2def: 0x00c3,
0x2df0: 0x0080, 0x2df1: 0x0080, 0x2df2: 0x0080, 0x2df3: 0x0080, 0x2df4: 0x0080, 0x2df5: 0x0080,
0x2df6: 0x0080, 0x2df7: 0x0080, 0x2df8: 0x0080, 0x2df9: 0x0080, 0x2dfa: 0x0080, 0x2dfb: 0x0080,
- 0x2dfc: 0x0080, 0x2dfd: 0x0080,
+ 0x2dfc: 0x0080, 0x2dfd: 0x0080, 0x2dfe: 0x0080, 0x2dff: 0x0080,
// Block 0xb8, offset 0x2e00
- 0x2e00: 0x0040, 0x2e01: 0x0040, 0x2e02: 0x0040, 0x2e03: 0x0040, 0x2e04: 0x0040, 0x2e05: 0x0040,
- 0x2e06: 0x0040, 0x2e07: 0x0040, 0x2e08: 0x0040, 0x2e09: 0x0040, 0x2e0a: 0x0040, 0x2e0b: 0x0040,
- 0x2e0c: 0x0040, 0x2e0d: 0x0040, 0x2e0e: 0x0040, 0x2e0f: 0x0040, 0x2e10: 0x0080, 0x2e11: 0x0080,
- 0x2e12: 0x0080, 0x2e13: 0x0080, 0x2e14: 0x0080, 0x2e15: 0x0080, 0x2e16: 0x0080, 0x2e17: 0x0080,
- 0x2e18: 0x0080, 0x2e19: 0x0080,
- 0x2e20: 0x00c3, 0x2e21: 0x00c3, 0x2e22: 0x00c3, 0x2e23: 0x00c3,
- 0x2e24: 0x00c3, 0x2e25: 0x00c3, 0x2e26: 0x00c3, 0x2e27: 0x00c3, 0x2e28: 0x00c3, 0x2e29: 0x00c3,
- 0x2e2a: 0x00c3, 0x2e2b: 0x00c3, 0x2e2c: 0x00c3, 0x2e2d: 0x00c3, 0x2e2e: 0x00c3, 0x2e2f: 0x00c3,
- 0x2e30: 0x0080, 0x2e31: 0x0080, 0x2e32: 0x0080, 0x2e33: 0x0080, 0x2e34: 0x0080, 0x2e35: 0x0080,
+ 0x2e00: 0x0080, 0x2e01: 0x0080, 0x2e02: 0x0080, 0x2e03: 0x0080, 0x2e04: 0x0080, 0x2e05: 0x0080,
+ 0x2e06: 0x0080, 0x2e07: 0x0080, 0x2e08: 0x0080, 0x2e09: 0x0080, 0x2e0a: 0x0080, 0x2e0b: 0x0080,
+ 0x2e0c: 0x0080, 0x2e0d: 0x0080, 0x2e0e: 0x0080, 0x2e0f: 0x0080, 0x2e10: 0x0080, 0x2e11: 0x0080,
+ 0x2e12: 0x0080, 0x2e14: 0x0080, 0x2e15: 0x0080, 0x2e16: 0x0080, 0x2e17: 0x0080,
+ 0x2e18: 0x0080, 0x2e19: 0x0080, 0x2e1a: 0x0080, 0x2e1b: 0x0080, 0x2e1c: 0x0080, 0x2e1d: 0x0080,
+ 0x2e1e: 0x0080, 0x2e1f: 0x0080, 0x2e20: 0x0080, 0x2e21: 0x0080, 0x2e22: 0x0080, 0x2e23: 0x0080,
+ 0x2e24: 0x0080, 0x2e25: 0x0080, 0x2e26: 0x0080, 0x2e28: 0x0080, 0x2e29: 0x0080,
+ 0x2e2a: 0x0080, 0x2e2b: 0x0080,
+ 0x2e30: 0x0080, 0x2e31: 0x0080, 0x2e32: 0x0080, 0x2e33: 0x00c0, 0x2e34: 0x0080,
0x2e36: 0x0080, 0x2e37: 0x0080, 0x2e38: 0x0080, 0x2e39: 0x0080, 0x2e3a: 0x0080, 0x2e3b: 0x0080,
0x2e3c: 0x0080, 0x2e3d: 0x0080, 0x2e3e: 0x0080, 0x2e3f: 0x0080,
// Block 0xb9, offset 0x2e40
0x2e40: 0x0080, 0x2e41: 0x0080, 0x2e42: 0x0080, 0x2e43: 0x0080, 0x2e44: 0x0080, 0x2e45: 0x0080,
0x2e46: 0x0080, 0x2e47: 0x0080, 0x2e48: 0x0080, 0x2e49: 0x0080, 0x2e4a: 0x0080, 0x2e4b: 0x0080,
0x2e4c: 0x0080, 0x2e4d: 0x0080, 0x2e4e: 0x0080, 0x2e4f: 0x0080, 0x2e50: 0x0080, 0x2e51: 0x0080,
- 0x2e52: 0x0080, 0x2e54: 0x0080, 0x2e55: 0x0080, 0x2e56: 0x0080, 0x2e57: 0x0080,
+ 0x2e52: 0x0080, 0x2e53: 0x0080, 0x2e54: 0x0080, 0x2e55: 0x0080, 0x2e56: 0x0080, 0x2e57: 0x0080,
0x2e58: 0x0080, 0x2e59: 0x0080, 0x2e5a: 0x0080, 0x2e5b: 0x0080, 0x2e5c: 0x0080, 0x2e5d: 0x0080,
0x2e5e: 0x0080, 0x2e5f: 0x0080, 0x2e60: 0x0080, 0x2e61: 0x0080, 0x2e62: 0x0080, 0x2e63: 0x0080,
- 0x2e64: 0x0080, 0x2e65: 0x0080, 0x2e66: 0x0080, 0x2e68: 0x0080, 0x2e69: 0x0080,
- 0x2e6a: 0x0080, 0x2e6b: 0x0080,
- 0x2e70: 0x0080, 0x2e71: 0x0080, 0x2e72: 0x0080, 0x2e73: 0x00c0, 0x2e74: 0x0080,
+ 0x2e64: 0x0080, 0x2e65: 0x0080, 0x2e66: 0x0080, 0x2e67: 0x0080, 0x2e68: 0x0080, 0x2e69: 0x0080,
+ 0x2e6a: 0x0080, 0x2e6b: 0x0080, 0x2e6c: 0x0080, 0x2e6d: 0x0080, 0x2e6e: 0x0080, 0x2e6f: 0x0080,
+ 0x2e70: 0x0080, 0x2e71: 0x0080, 0x2e72: 0x0080, 0x2e73: 0x0080, 0x2e74: 0x0080, 0x2e75: 0x0080,
0x2e76: 0x0080, 0x2e77: 0x0080, 0x2e78: 0x0080, 0x2e79: 0x0080, 0x2e7a: 0x0080, 0x2e7b: 0x0080,
- 0x2e7c: 0x0080, 0x2e7d: 0x0080, 0x2e7e: 0x0080, 0x2e7f: 0x0080,
+ 0x2e7c: 0x0080, 0x2e7f: 0x0040,
// Block 0xba, offset 0x2e80
- 0x2e80: 0x0080, 0x2e81: 0x0080, 0x2e82: 0x0080, 0x2e83: 0x0080, 0x2e84: 0x0080, 0x2e85: 0x0080,
+ 0x2e81: 0x0080, 0x2e82: 0x0080, 0x2e83: 0x0080, 0x2e84: 0x0080, 0x2e85: 0x0080,
0x2e86: 0x0080, 0x2e87: 0x0080, 0x2e88: 0x0080, 0x2e89: 0x0080, 0x2e8a: 0x0080, 0x2e8b: 0x0080,
0x2e8c: 0x0080, 0x2e8d: 0x0080, 0x2e8e: 0x0080, 0x2e8f: 0x0080, 0x2e90: 0x0080, 0x2e91: 0x0080,
0x2e92: 0x0080, 0x2e93: 0x0080, 0x2e94: 0x0080, 0x2e95: 0x0080, 0x2e96: 0x0080, 0x2e97: 0x0080,
@@ -2253,205 +2263,205 @@ var derivedPropertiesValues = [20736]uint8{
0x2eaa: 0x0080, 0x2eab: 0x0080, 0x2eac: 0x0080, 0x2ead: 0x0080, 0x2eae: 0x0080, 0x2eaf: 0x0080,
0x2eb0: 0x0080, 0x2eb1: 0x0080, 0x2eb2: 0x0080, 0x2eb3: 0x0080, 0x2eb4: 0x0080, 0x2eb5: 0x0080,
0x2eb6: 0x0080, 0x2eb7: 0x0080, 0x2eb8: 0x0080, 0x2eb9: 0x0080, 0x2eba: 0x0080, 0x2ebb: 0x0080,
- 0x2ebc: 0x0080, 0x2ebf: 0x0040,
+ 0x2ebc: 0x0080, 0x2ebd: 0x0080, 0x2ebe: 0x0080, 0x2ebf: 0x0080,
// Block 0xbb, offset 0x2ec0
- 0x2ec1: 0x0080, 0x2ec2: 0x0080, 0x2ec3: 0x0080, 0x2ec4: 0x0080, 0x2ec5: 0x0080,
+ 0x2ec0: 0x0080, 0x2ec1: 0x0080, 0x2ec2: 0x0080, 0x2ec3: 0x0080, 0x2ec4: 0x0080, 0x2ec5: 0x0080,
0x2ec6: 0x0080, 0x2ec7: 0x0080, 0x2ec8: 0x0080, 0x2ec9: 0x0080, 0x2eca: 0x0080, 0x2ecb: 0x0080,
0x2ecc: 0x0080, 0x2ecd: 0x0080, 0x2ece: 0x0080, 0x2ecf: 0x0080, 0x2ed0: 0x0080, 0x2ed1: 0x0080,
0x2ed2: 0x0080, 0x2ed3: 0x0080, 0x2ed4: 0x0080, 0x2ed5: 0x0080, 0x2ed6: 0x0080, 0x2ed7: 0x0080,
0x2ed8: 0x0080, 0x2ed9: 0x0080, 0x2eda: 0x0080, 0x2edb: 0x0080, 0x2edc: 0x0080, 0x2edd: 0x0080,
0x2ede: 0x0080, 0x2edf: 0x0080, 0x2ee0: 0x0080, 0x2ee1: 0x0080, 0x2ee2: 0x0080, 0x2ee3: 0x0080,
- 0x2ee4: 0x0080, 0x2ee5: 0x0080, 0x2ee6: 0x0080, 0x2ee7: 0x0080, 0x2ee8: 0x0080, 0x2ee9: 0x0080,
- 0x2eea: 0x0080, 0x2eeb: 0x0080, 0x2eec: 0x0080, 0x2eed: 0x0080, 0x2eee: 0x0080, 0x2eef: 0x0080,
- 0x2ef0: 0x0080, 0x2ef1: 0x0080, 0x2ef2: 0x0080, 0x2ef3: 0x0080, 0x2ef4: 0x0080, 0x2ef5: 0x0080,
- 0x2ef6: 0x0080, 0x2ef7: 0x0080, 0x2ef8: 0x0080, 0x2ef9: 0x0080, 0x2efa: 0x0080, 0x2efb: 0x0080,
- 0x2efc: 0x0080, 0x2efd: 0x0080, 0x2efe: 0x0080, 0x2eff: 0x0080,
+ 0x2ee4: 0x0080, 0x2ee5: 0x0080, 0x2ee6: 0x008c, 0x2ee7: 0x008c, 0x2ee8: 0x008c, 0x2ee9: 0x008c,
+ 0x2eea: 0x008c, 0x2eeb: 0x008c, 0x2eec: 0x008c, 0x2eed: 0x008c, 0x2eee: 0x008c, 0x2eef: 0x008c,
+ 0x2ef0: 0x0080, 0x2ef1: 0x008c, 0x2ef2: 0x008c, 0x2ef3: 0x008c, 0x2ef4: 0x008c, 0x2ef5: 0x008c,
+ 0x2ef6: 0x008c, 0x2ef7: 0x008c, 0x2ef8: 0x008c, 0x2ef9: 0x008c, 0x2efa: 0x008c, 0x2efb: 0x008c,
+ 0x2efc: 0x008c, 0x2efd: 0x008c, 0x2efe: 0x008c, 0x2eff: 0x008c,
// Block 0xbc, offset 0x2f00
- 0x2f00: 0x0080, 0x2f01: 0x0080, 0x2f02: 0x0080, 0x2f03: 0x0080, 0x2f04: 0x0080, 0x2f05: 0x0080,
- 0x2f06: 0x0080, 0x2f07: 0x0080, 0x2f08: 0x0080, 0x2f09: 0x0080, 0x2f0a: 0x0080, 0x2f0b: 0x0080,
- 0x2f0c: 0x0080, 0x2f0d: 0x0080, 0x2f0e: 0x0080, 0x2f0f: 0x0080, 0x2f10: 0x0080, 0x2f11: 0x0080,
- 0x2f12: 0x0080, 0x2f13: 0x0080, 0x2f14: 0x0080, 0x2f15: 0x0080, 0x2f16: 0x0080, 0x2f17: 0x0080,
- 0x2f18: 0x0080, 0x2f19: 0x0080, 0x2f1a: 0x0080, 0x2f1b: 0x0080, 0x2f1c: 0x0080, 0x2f1d: 0x0080,
- 0x2f1e: 0x0080, 0x2f1f: 0x0080, 0x2f20: 0x0080, 0x2f21: 0x0080, 0x2f22: 0x0080, 0x2f23: 0x0080,
- 0x2f24: 0x0080, 0x2f25: 0x0080, 0x2f26: 0x008c, 0x2f27: 0x008c, 0x2f28: 0x008c, 0x2f29: 0x008c,
- 0x2f2a: 0x008c, 0x2f2b: 0x008c, 0x2f2c: 0x008c, 0x2f2d: 0x008c, 0x2f2e: 0x008c, 0x2f2f: 0x008c,
- 0x2f30: 0x0080, 0x2f31: 0x008c, 0x2f32: 0x008c, 0x2f33: 0x008c, 0x2f34: 0x008c, 0x2f35: 0x008c,
- 0x2f36: 0x008c, 0x2f37: 0x008c, 0x2f38: 0x008c, 0x2f39: 0x008c, 0x2f3a: 0x008c, 0x2f3b: 0x008c,
- 0x2f3c: 0x008c, 0x2f3d: 0x008c, 0x2f3e: 0x008c, 0x2f3f: 0x008c,
+ 0x2f00: 0x008c, 0x2f01: 0x008c, 0x2f02: 0x008c, 0x2f03: 0x008c, 0x2f04: 0x008c, 0x2f05: 0x008c,
+ 0x2f06: 0x008c, 0x2f07: 0x008c, 0x2f08: 0x008c, 0x2f09: 0x008c, 0x2f0a: 0x008c, 0x2f0b: 0x008c,
+ 0x2f0c: 0x008c, 0x2f0d: 0x008c, 0x2f0e: 0x008c, 0x2f0f: 0x008c, 0x2f10: 0x008c, 0x2f11: 0x008c,
+ 0x2f12: 0x008c, 0x2f13: 0x008c, 0x2f14: 0x008c, 0x2f15: 0x008c, 0x2f16: 0x008c, 0x2f17: 0x008c,
+ 0x2f18: 0x008c, 0x2f19: 0x008c, 0x2f1a: 0x008c, 0x2f1b: 0x008c, 0x2f1c: 0x008c, 0x2f1d: 0x008c,
+ 0x2f1e: 0x0080, 0x2f1f: 0x0080, 0x2f20: 0x0040, 0x2f21: 0x0080, 0x2f22: 0x0080, 0x2f23: 0x0080,
+ 0x2f24: 0x0080, 0x2f25: 0x0080, 0x2f26: 0x0080, 0x2f27: 0x0080, 0x2f28: 0x0080, 0x2f29: 0x0080,
+ 0x2f2a: 0x0080, 0x2f2b: 0x0080, 0x2f2c: 0x0080, 0x2f2d: 0x0080, 0x2f2e: 0x0080, 0x2f2f: 0x0080,
+ 0x2f30: 0x0080, 0x2f31: 0x0080, 0x2f32: 0x0080, 0x2f33: 0x0080, 0x2f34: 0x0080, 0x2f35: 0x0080,
+ 0x2f36: 0x0080, 0x2f37: 0x0080, 0x2f38: 0x0080, 0x2f39: 0x0080, 0x2f3a: 0x0080, 0x2f3b: 0x0080,
+ 0x2f3c: 0x0080, 0x2f3d: 0x0080, 0x2f3e: 0x0080,
// Block 0xbd, offset 0x2f40
- 0x2f40: 0x008c, 0x2f41: 0x008c, 0x2f42: 0x008c, 0x2f43: 0x008c, 0x2f44: 0x008c, 0x2f45: 0x008c,
- 0x2f46: 0x008c, 0x2f47: 0x008c, 0x2f48: 0x008c, 0x2f49: 0x008c, 0x2f4a: 0x008c, 0x2f4b: 0x008c,
- 0x2f4c: 0x008c, 0x2f4d: 0x008c, 0x2f4e: 0x008c, 0x2f4f: 0x008c, 0x2f50: 0x008c, 0x2f51: 0x008c,
- 0x2f52: 0x008c, 0x2f53: 0x008c, 0x2f54: 0x008c, 0x2f55: 0x008c, 0x2f56: 0x008c, 0x2f57: 0x008c,
- 0x2f58: 0x008c, 0x2f59: 0x008c, 0x2f5a: 0x008c, 0x2f5b: 0x008c, 0x2f5c: 0x008c, 0x2f5d: 0x008c,
- 0x2f5e: 0x0080, 0x2f5f: 0x0080, 0x2f60: 0x0040, 0x2f61: 0x0080, 0x2f62: 0x0080, 0x2f63: 0x0080,
- 0x2f64: 0x0080, 0x2f65: 0x0080, 0x2f66: 0x0080, 0x2f67: 0x0080, 0x2f68: 0x0080, 0x2f69: 0x0080,
- 0x2f6a: 0x0080, 0x2f6b: 0x0080, 0x2f6c: 0x0080, 0x2f6d: 0x0080, 0x2f6e: 0x0080, 0x2f6f: 0x0080,
- 0x2f70: 0x0080, 0x2f71: 0x0080, 0x2f72: 0x0080, 0x2f73: 0x0080, 0x2f74: 0x0080, 0x2f75: 0x0080,
- 0x2f76: 0x0080, 0x2f77: 0x0080, 0x2f78: 0x0080, 0x2f79: 0x0080, 0x2f7a: 0x0080, 0x2f7b: 0x0080,
- 0x2f7c: 0x0080, 0x2f7d: 0x0080, 0x2f7e: 0x0080,
+ 0x2f42: 0x0080, 0x2f43: 0x0080, 0x2f44: 0x0080, 0x2f45: 0x0080,
+ 0x2f46: 0x0080, 0x2f47: 0x0080, 0x2f4a: 0x0080, 0x2f4b: 0x0080,
+ 0x2f4c: 0x0080, 0x2f4d: 0x0080, 0x2f4e: 0x0080, 0x2f4f: 0x0080,
+ 0x2f52: 0x0080, 0x2f53: 0x0080, 0x2f54: 0x0080, 0x2f55: 0x0080, 0x2f56: 0x0080, 0x2f57: 0x0080,
+ 0x2f5a: 0x0080, 0x2f5b: 0x0080, 0x2f5c: 0x0080,
+ 0x2f60: 0x0080, 0x2f61: 0x0080, 0x2f62: 0x0080, 0x2f63: 0x0080,
+ 0x2f64: 0x0080, 0x2f65: 0x0080, 0x2f66: 0x0080, 0x2f68: 0x0080, 0x2f69: 0x0080,
+ 0x2f6a: 0x0080, 0x2f6b: 0x0080, 0x2f6c: 0x0080, 0x2f6d: 0x0080, 0x2f6e: 0x0080,
+ 0x2f79: 0x0040, 0x2f7a: 0x0040, 0x2f7b: 0x0040,
+ 0x2f7c: 0x0080, 0x2f7d: 0x0080,
// Block 0xbe, offset 0x2f80
- 0x2f82: 0x0080, 0x2f83: 0x0080, 0x2f84: 0x0080, 0x2f85: 0x0080,
- 0x2f86: 0x0080, 0x2f87: 0x0080, 0x2f8a: 0x0080, 0x2f8b: 0x0080,
- 0x2f8c: 0x0080, 0x2f8d: 0x0080, 0x2f8e: 0x0080, 0x2f8f: 0x0080,
- 0x2f92: 0x0080, 0x2f93: 0x0080, 0x2f94: 0x0080, 0x2f95: 0x0080, 0x2f96: 0x0080, 0x2f97: 0x0080,
- 0x2f9a: 0x0080, 0x2f9b: 0x0080, 0x2f9c: 0x0080,
- 0x2fa0: 0x0080, 0x2fa1: 0x0080, 0x2fa2: 0x0080, 0x2fa3: 0x0080,
- 0x2fa4: 0x0080, 0x2fa5: 0x0080, 0x2fa6: 0x0080, 0x2fa8: 0x0080, 0x2fa9: 0x0080,
- 0x2faa: 0x0080, 0x2fab: 0x0080, 0x2fac: 0x0080, 0x2fad: 0x0080, 0x2fae: 0x0080,
- 0x2fb9: 0x0040, 0x2fba: 0x0040, 0x2fbb: 0x0040,
- 0x2fbc: 0x0080, 0x2fbd: 0x0080,
+ 0x2f80: 0x00c0, 0x2f81: 0x00c0, 0x2f82: 0x00c0, 0x2f83: 0x00c0, 0x2f84: 0x00c0, 0x2f85: 0x00c0,
+ 0x2f86: 0x00c0, 0x2f87: 0x00c0, 0x2f88: 0x00c0, 0x2f89: 0x00c0, 0x2f8a: 0x00c0, 0x2f8b: 0x00c0,
+ 0x2f8d: 0x00c0, 0x2f8e: 0x00c0, 0x2f8f: 0x00c0, 0x2f90: 0x00c0, 0x2f91: 0x00c0,
+ 0x2f92: 0x00c0, 0x2f93: 0x00c0, 0x2f94: 0x00c0, 0x2f95: 0x00c0, 0x2f96: 0x00c0, 0x2f97: 0x00c0,
+ 0x2f98: 0x00c0, 0x2f99: 0x00c0, 0x2f9a: 0x00c0, 0x2f9b: 0x00c0, 0x2f9c: 0x00c0, 0x2f9d: 0x00c0,
+ 0x2f9e: 0x00c0, 0x2f9f: 0x00c0, 0x2fa0: 0x00c0, 0x2fa1: 0x00c0, 0x2fa2: 0x00c0, 0x2fa3: 0x00c0,
+ 0x2fa4: 0x00c0, 0x2fa5: 0x00c0, 0x2fa6: 0x00c0, 0x2fa8: 0x00c0, 0x2fa9: 0x00c0,
+ 0x2faa: 0x00c0, 0x2fab: 0x00c0, 0x2fac: 0x00c0, 0x2fad: 0x00c0, 0x2fae: 0x00c0, 0x2faf: 0x00c0,
+ 0x2fb0: 0x00c0, 0x2fb1: 0x00c0, 0x2fb2: 0x00c0, 0x2fb3: 0x00c0, 0x2fb4: 0x00c0, 0x2fb5: 0x00c0,
+ 0x2fb6: 0x00c0, 0x2fb7: 0x00c0, 0x2fb8: 0x00c0, 0x2fb9: 0x00c0, 0x2fba: 0x00c0,
+ 0x2fbc: 0x00c0, 0x2fbd: 0x00c0, 0x2fbf: 0x00c0,
// Block 0xbf, offset 0x2fc0
0x2fc0: 0x00c0, 0x2fc1: 0x00c0, 0x2fc2: 0x00c0, 0x2fc3: 0x00c0, 0x2fc4: 0x00c0, 0x2fc5: 0x00c0,
0x2fc6: 0x00c0, 0x2fc7: 0x00c0, 0x2fc8: 0x00c0, 0x2fc9: 0x00c0, 0x2fca: 0x00c0, 0x2fcb: 0x00c0,
- 0x2fcd: 0x00c0, 0x2fce: 0x00c0, 0x2fcf: 0x00c0, 0x2fd0: 0x00c0, 0x2fd1: 0x00c0,
+ 0x2fcc: 0x00c0, 0x2fcd: 0x00c0, 0x2fd0: 0x00c0, 0x2fd1: 0x00c0,
0x2fd2: 0x00c0, 0x2fd3: 0x00c0, 0x2fd4: 0x00c0, 0x2fd5: 0x00c0, 0x2fd6: 0x00c0, 0x2fd7: 0x00c0,
0x2fd8: 0x00c0, 0x2fd9: 0x00c0, 0x2fda: 0x00c0, 0x2fdb: 0x00c0, 0x2fdc: 0x00c0, 0x2fdd: 0x00c0,
- 0x2fde: 0x00c0, 0x2fdf: 0x00c0, 0x2fe0: 0x00c0, 0x2fe1: 0x00c0, 0x2fe2: 0x00c0, 0x2fe3: 0x00c0,
- 0x2fe4: 0x00c0, 0x2fe5: 0x00c0, 0x2fe6: 0x00c0, 0x2fe8: 0x00c0, 0x2fe9: 0x00c0,
- 0x2fea: 0x00c0, 0x2feb: 0x00c0, 0x2fec: 0x00c0, 0x2fed: 0x00c0, 0x2fee: 0x00c0, 0x2fef: 0x00c0,
- 0x2ff0: 0x00c0, 0x2ff1: 0x00c0, 0x2ff2: 0x00c0, 0x2ff3: 0x00c0, 0x2ff4: 0x00c0, 0x2ff5: 0x00c0,
- 0x2ff6: 0x00c0, 0x2ff7: 0x00c0, 0x2ff8: 0x00c0, 0x2ff9: 0x00c0, 0x2ffa: 0x00c0,
- 0x2ffc: 0x00c0, 0x2ffd: 0x00c0, 0x2fff: 0x00c0,
// Block 0xc0, offset 0x3000
0x3000: 0x00c0, 0x3001: 0x00c0, 0x3002: 0x00c0, 0x3003: 0x00c0, 0x3004: 0x00c0, 0x3005: 0x00c0,
0x3006: 0x00c0, 0x3007: 0x00c0, 0x3008: 0x00c0, 0x3009: 0x00c0, 0x300a: 0x00c0, 0x300b: 0x00c0,
- 0x300c: 0x00c0, 0x300d: 0x00c0, 0x3010: 0x00c0, 0x3011: 0x00c0,
+ 0x300c: 0x00c0, 0x300d: 0x00c0, 0x300e: 0x00c0, 0x300f: 0x00c0, 0x3010: 0x00c0, 0x3011: 0x00c0,
0x3012: 0x00c0, 0x3013: 0x00c0, 0x3014: 0x00c0, 0x3015: 0x00c0, 0x3016: 0x00c0, 0x3017: 0x00c0,
0x3018: 0x00c0, 0x3019: 0x00c0, 0x301a: 0x00c0, 0x301b: 0x00c0, 0x301c: 0x00c0, 0x301d: 0x00c0,
+ 0x301e: 0x00c0, 0x301f: 0x00c0, 0x3020: 0x00c0, 0x3021: 0x00c0, 0x3022: 0x00c0, 0x3023: 0x00c0,
+ 0x3024: 0x00c0, 0x3025: 0x00c0, 0x3026: 0x00c0, 0x3027: 0x00c0, 0x3028: 0x00c0, 0x3029: 0x00c0,
+ 0x302a: 0x00c0, 0x302b: 0x00c0, 0x302c: 0x00c0, 0x302d: 0x00c0, 0x302e: 0x00c0, 0x302f: 0x00c0,
+ 0x3030: 0x00c0, 0x3031: 0x00c0, 0x3032: 0x00c0, 0x3033: 0x00c0, 0x3034: 0x00c0, 0x3035: 0x00c0,
+ 0x3036: 0x00c0, 0x3037: 0x00c0, 0x3038: 0x00c0, 0x3039: 0x00c0, 0x303a: 0x00c0,
// Block 0xc1, offset 0x3040
- 0x3040: 0x00c0, 0x3041: 0x00c0, 0x3042: 0x00c0, 0x3043: 0x00c0, 0x3044: 0x00c0, 0x3045: 0x00c0,
- 0x3046: 0x00c0, 0x3047: 0x00c0, 0x3048: 0x00c0, 0x3049: 0x00c0, 0x304a: 0x00c0, 0x304b: 0x00c0,
- 0x304c: 0x00c0, 0x304d: 0x00c0, 0x304e: 0x00c0, 0x304f: 0x00c0, 0x3050: 0x00c0, 0x3051: 0x00c0,
- 0x3052: 0x00c0, 0x3053: 0x00c0, 0x3054: 0x00c0, 0x3055: 0x00c0, 0x3056: 0x00c0, 0x3057: 0x00c0,
- 0x3058: 0x00c0, 0x3059: 0x00c0, 0x305a: 0x00c0, 0x305b: 0x00c0, 0x305c: 0x00c0, 0x305d: 0x00c0,
- 0x305e: 0x00c0, 0x305f: 0x00c0, 0x3060: 0x00c0, 0x3061: 0x00c0, 0x3062: 0x00c0, 0x3063: 0x00c0,
- 0x3064: 0x00c0, 0x3065: 0x00c0, 0x3066: 0x00c0, 0x3067: 0x00c0, 0x3068: 0x00c0, 0x3069: 0x00c0,
- 0x306a: 0x00c0, 0x306b: 0x00c0, 0x306c: 0x00c0, 0x306d: 0x00c0, 0x306e: 0x00c0, 0x306f: 0x00c0,
- 0x3070: 0x00c0, 0x3071: 0x00c0, 0x3072: 0x00c0, 0x3073: 0x00c0, 0x3074: 0x00c0, 0x3075: 0x00c0,
- 0x3076: 0x00c0, 0x3077: 0x00c0, 0x3078: 0x00c0, 0x3079: 0x00c0, 0x307a: 0x00c0,
+ 0x3040: 0x0080, 0x3041: 0x0080, 0x3042: 0x0080,
+ 0x3047: 0x0080, 0x3048: 0x0080, 0x3049: 0x0080, 0x304a: 0x0080, 0x304b: 0x0080,
+ 0x304c: 0x0080, 0x304d: 0x0080, 0x304e: 0x0080, 0x304f: 0x0080, 0x3050: 0x0080, 0x3051: 0x0080,
+ 0x3052: 0x0080, 0x3053: 0x0080, 0x3054: 0x0080, 0x3055: 0x0080, 0x3056: 0x0080, 0x3057: 0x0080,
+ 0x3058: 0x0080, 0x3059: 0x0080, 0x305a: 0x0080, 0x305b: 0x0080, 0x305c: 0x0080, 0x305d: 0x0080,
+ 0x305e: 0x0080, 0x305f: 0x0080, 0x3060: 0x0080, 0x3061: 0x0080, 0x3062: 0x0080, 0x3063: 0x0080,
+ 0x3064: 0x0080, 0x3065: 0x0080, 0x3066: 0x0080, 0x3067: 0x0080, 0x3068: 0x0080, 0x3069: 0x0080,
+ 0x306a: 0x0080, 0x306b: 0x0080, 0x306c: 0x0080, 0x306d: 0x0080, 0x306e: 0x0080, 0x306f: 0x0080,
+ 0x3070: 0x0080, 0x3071: 0x0080, 0x3072: 0x0080, 0x3073: 0x0080,
+ 0x3077: 0x0080, 0x3078: 0x0080, 0x3079: 0x0080, 0x307a: 0x0080, 0x307b: 0x0080,
+ 0x307c: 0x0080, 0x307d: 0x0080, 0x307e: 0x0080, 0x307f: 0x0080,
// Block 0xc2, offset 0x3080
- 0x3080: 0x0080, 0x3081: 0x0080, 0x3082: 0x0080,
- 0x3087: 0x0080, 0x3088: 0x0080, 0x3089: 0x0080, 0x308a: 0x0080, 0x308b: 0x0080,
- 0x308c: 0x0080, 0x308d: 0x0080, 0x308e: 0x0080, 0x308f: 0x0080, 0x3090: 0x0080, 0x3091: 0x0080,
- 0x3092: 0x0080, 0x3093: 0x0080, 0x3094: 0x0080, 0x3095: 0x0080, 0x3096: 0x0080, 0x3097: 0x0080,
- 0x3098: 0x0080, 0x3099: 0x0080, 0x309a: 0x0080, 0x309b: 0x0080, 0x309c: 0x0080, 0x309d: 0x0080,
- 0x309e: 0x0080, 0x309f: 0x0080, 0x30a0: 0x0080, 0x30a1: 0x0080, 0x30a2: 0x0080, 0x30a3: 0x0080,
- 0x30a4: 0x0080, 0x30a5: 0x0080, 0x30a6: 0x0080, 0x30a7: 0x0080, 0x30a8: 0x0080, 0x30a9: 0x0080,
- 0x30aa: 0x0080, 0x30ab: 0x0080, 0x30ac: 0x0080, 0x30ad: 0x0080, 0x30ae: 0x0080, 0x30af: 0x0080,
- 0x30b0: 0x0080, 0x30b1: 0x0080, 0x30b2: 0x0080, 0x30b3: 0x0080,
- 0x30b7: 0x0080, 0x30b8: 0x0080, 0x30b9: 0x0080, 0x30ba: 0x0080, 0x30bb: 0x0080,
- 0x30bc: 0x0080, 0x30bd: 0x0080, 0x30be: 0x0080, 0x30bf: 0x0080,
+ 0x3080: 0x0088, 0x3081: 0x0088, 0x3082: 0x0088, 0x3083: 0x0088, 0x3084: 0x0088, 0x3085: 0x0088,
+ 0x3086: 0x0088, 0x3087: 0x0088, 0x3088: 0x0088, 0x3089: 0x0088, 0x308a: 0x0088, 0x308b: 0x0088,
+ 0x308c: 0x0088, 0x308d: 0x0088, 0x308e: 0x0088, 0x308f: 0x0088, 0x3090: 0x0088, 0x3091: 0x0088,
+ 0x3092: 0x0088, 0x3093: 0x0088, 0x3094: 0x0088, 0x3095: 0x0088, 0x3096: 0x0088, 0x3097: 0x0088,
+ 0x3098: 0x0088, 0x3099: 0x0088, 0x309a: 0x0088, 0x309b: 0x0088, 0x309c: 0x0088, 0x309d: 0x0088,
+ 0x309e: 0x0088, 0x309f: 0x0088, 0x30a0: 0x0088, 0x30a1: 0x0088, 0x30a2: 0x0088, 0x30a3: 0x0088,
+ 0x30a4: 0x0088, 0x30a5: 0x0088, 0x30a6: 0x0088, 0x30a7: 0x0088, 0x30a8: 0x0088, 0x30a9: 0x0088,
+ 0x30aa: 0x0088, 0x30ab: 0x0088, 0x30ac: 0x0088, 0x30ad: 0x0088, 0x30ae: 0x0088, 0x30af: 0x0088,
+ 0x30b0: 0x0088, 0x30b1: 0x0088, 0x30b2: 0x0088, 0x30b3: 0x0088, 0x30b4: 0x0088, 0x30b5: 0x0088,
+ 0x30b6: 0x0088, 0x30b7: 0x0088, 0x30b8: 0x0088, 0x30b9: 0x0088, 0x30ba: 0x0088, 0x30bb: 0x0088,
+ 0x30bc: 0x0088, 0x30bd: 0x0088, 0x30be: 0x0088, 0x30bf: 0x0088,
// Block 0xc3, offset 0x30c0
0x30c0: 0x0088, 0x30c1: 0x0088, 0x30c2: 0x0088, 0x30c3: 0x0088, 0x30c4: 0x0088, 0x30c5: 0x0088,
0x30c6: 0x0088, 0x30c7: 0x0088, 0x30c8: 0x0088, 0x30c9: 0x0088, 0x30ca: 0x0088, 0x30cb: 0x0088,
- 0x30cc: 0x0088, 0x30cd: 0x0088, 0x30ce: 0x0088, 0x30cf: 0x0088, 0x30d0: 0x0088, 0x30d1: 0x0088,
- 0x30d2: 0x0088, 0x30d3: 0x0088, 0x30d4: 0x0088, 0x30d5: 0x0088, 0x30d6: 0x0088, 0x30d7: 0x0088,
- 0x30d8: 0x0088, 0x30d9: 0x0088, 0x30da: 0x0088, 0x30db: 0x0088, 0x30dc: 0x0088, 0x30dd: 0x0088,
- 0x30de: 0x0088, 0x30df: 0x0088, 0x30e0: 0x0088, 0x30e1: 0x0088, 0x30e2: 0x0088, 0x30e3: 0x0088,
- 0x30e4: 0x0088, 0x30e5: 0x0088, 0x30e6: 0x0088, 0x30e7: 0x0088, 0x30e8: 0x0088, 0x30e9: 0x0088,
- 0x30ea: 0x0088, 0x30eb: 0x0088, 0x30ec: 0x0088, 0x30ed: 0x0088, 0x30ee: 0x0088, 0x30ef: 0x0088,
- 0x30f0: 0x0088, 0x30f1: 0x0088, 0x30f2: 0x0088, 0x30f3: 0x0088, 0x30f4: 0x0088, 0x30f5: 0x0088,
- 0x30f6: 0x0088, 0x30f7: 0x0088, 0x30f8: 0x0088, 0x30f9: 0x0088, 0x30fa: 0x0088, 0x30fb: 0x0088,
- 0x30fc: 0x0088, 0x30fd: 0x0088, 0x30fe: 0x0088, 0x30ff: 0x0088,
+ 0x30cc: 0x0088, 0x30cd: 0x0088, 0x30ce: 0x0088, 0x30d0: 0x0080, 0x30d1: 0x0080,
+ 0x30d2: 0x0080, 0x30d3: 0x0080, 0x30d4: 0x0080, 0x30d5: 0x0080, 0x30d6: 0x0080, 0x30d7: 0x0080,
+ 0x30d8: 0x0080, 0x30d9: 0x0080, 0x30da: 0x0080, 0x30db: 0x0080,
+ 0x30e0: 0x0088,
// Block 0xc4, offset 0x3100
- 0x3100: 0x0088, 0x3101: 0x0088, 0x3102: 0x0088, 0x3103: 0x0088, 0x3104: 0x0088, 0x3105: 0x0088,
- 0x3106: 0x0088, 0x3107: 0x0088, 0x3108: 0x0088, 0x3109: 0x0088, 0x310a: 0x0088, 0x310b: 0x0088,
- 0x310c: 0x0088, 0x310d: 0x0088, 0x310e: 0x0088, 0x3110: 0x0080, 0x3111: 0x0080,
+ 0x3110: 0x0080, 0x3111: 0x0080,
0x3112: 0x0080, 0x3113: 0x0080, 0x3114: 0x0080, 0x3115: 0x0080, 0x3116: 0x0080, 0x3117: 0x0080,
- 0x3118: 0x0080, 0x3119: 0x0080, 0x311a: 0x0080, 0x311b: 0x0080,
- 0x3120: 0x0088,
+ 0x3118: 0x0080, 0x3119: 0x0080, 0x311a: 0x0080, 0x311b: 0x0080, 0x311c: 0x0080, 0x311d: 0x0080,
+ 0x311e: 0x0080, 0x311f: 0x0080, 0x3120: 0x0080, 0x3121: 0x0080, 0x3122: 0x0080, 0x3123: 0x0080,
+ 0x3124: 0x0080, 0x3125: 0x0080, 0x3126: 0x0080, 0x3127: 0x0080, 0x3128: 0x0080, 0x3129: 0x0080,
+ 0x312a: 0x0080, 0x312b: 0x0080, 0x312c: 0x0080, 0x312d: 0x0080, 0x312e: 0x0080, 0x312f: 0x0080,
+ 0x3130: 0x0080, 0x3131: 0x0080, 0x3132: 0x0080, 0x3133: 0x0080, 0x3134: 0x0080, 0x3135: 0x0080,
+ 0x3136: 0x0080, 0x3137: 0x0080, 0x3138: 0x0080, 0x3139: 0x0080, 0x313a: 0x0080, 0x313b: 0x0080,
+ 0x313c: 0x0080, 0x313d: 0x00c3,
// Block 0xc5, offset 0x3140
- 0x3150: 0x0080, 0x3151: 0x0080,
- 0x3152: 0x0080, 0x3153: 0x0080, 0x3154: 0x0080, 0x3155: 0x0080, 0x3156: 0x0080, 0x3157: 0x0080,
- 0x3158: 0x0080, 0x3159: 0x0080, 0x315a: 0x0080, 0x315b: 0x0080, 0x315c: 0x0080, 0x315d: 0x0080,
- 0x315e: 0x0080, 0x315f: 0x0080, 0x3160: 0x0080, 0x3161: 0x0080, 0x3162: 0x0080, 0x3163: 0x0080,
- 0x3164: 0x0080, 0x3165: 0x0080, 0x3166: 0x0080, 0x3167: 0x0080, 0x3168: 0x0080, 0x3169: 0x0080,
- 0x316a: 0x0080, 0x316b: 0x0080, 0x316c: 0x0080, 0x316d: 0x0080, 0x316e: 0x0080, 0x316f: 0x0080,
- 0x3170: 0x0080, 0x3171: 0x0080, 0x3172: 0x0080, 0x3173: 0x0080, 0x3174: 0x0080, 0x3175: 0x0080,
- 0x3176: 0x0080, 0x3177: 0x0080, 0x3178: 0x0080, 0x3179: 0x0080, 0x317a: 0x0080, 0x317b: 0x0080,
- 0x317c: 0x0080, 0x317d: 0x00c3,
+ 0x3140: 0x00c0, 0x3141: 0x00c0, 0x3142: 0x00c0, 0x3143: 0x00c0, 0x3144: 0x00c0, 0x3145: 0x00c0,
+ 0x3146: 0x00c0, 0x3147: 0x00c0, 0x3148: 0x00c0, 0x3149: 0x00c0, 0x314a: 0x00c0, 0x314b: 0x00c0,
+ 0x314c: 0x00c0, 0x314d: 0x00c0, 0x314e: 0x00c0, 0x314f: 0x00c0, 0x3150: 0x00c0, 0x3151: 0x00c0,
+ 0x3152: 0x00c0, 0x3153: 0x00c0, 0x3154: 0x00c0, 0x3155: 0x00c0, 0x3156: 0x00c0, 0x3157: 0x00c0,
+ 0x3158: 0x00c0, 0x3159: 0x00c0, 0x315a: 0x00c0, 0x315b: 0x00c0, 0x315c: 0x00c0,
+ 0x3160: 0x00c0, 0x3161: 0x00c0, 0x3162: 0x00c0, 0x3163: 0x00c0,
+ 0x3164: 0x00c0, 0x3165: 0x00c0, 0x3166: 0x00c0, 0x3167: 0x00c0, 0x3168: 0x00c0, 0x3169: 0x00c0,
+ 0x316a: 0x00c0, 0x316b: 0x00c0, 0x316c: 0x00c0, 0x316d: 0x00c0, 0x316e: 0x00c0, 0x316f: 0x00c0,
+ 0x3170: 0x00c0, 0x3171: 0x00c0, 0x3172: 0x00c0, 0x3173: 0x00c0, 0x3174: 0x00c0, 0x3175: 0x00c0,
+ 0x3176: 0x00c0, 0x3177: 0x00c0, 0x3178: 0x00c0, 0x3179: 0x00c0, 0x317a: 0x00c0, 0x317b: 0x00c0,
+ 0x317c: 0x00c0, 0x317d: 0x00c0, 0x317e: 0x00c0, 0x317f: 0x00c0,
// Block 0xc6, offset 0x3180
0x3180: 0x00c0, 0x3181: 0x00c0, 0x3182: 0x00c0, 0x3183: 0x00c0, 0x3184: 0x00c0, 0x3185: 0x00c0,
0x3186: 0x00c0, 0x3187: 0x00c0, 0x3188: 0x00c0, 0x3189: 0x00c0, 0x318a: 0x00c0, 0x318b: 0x00c0,
- 0x318c: 0x00c0, 0x318d: 0x00c0, 0x318e: 0x00c0, 0x318f: 0x00c0, 0x3190: 0x00c0, 0x3191: 0x00c0,
- 0x3192: 0x00c0, 0x3193: 0x00c0, 0x3194: 0x00c0, 0x3195: 0x00c0, 0x3196: 0x00c0, 0x3197: 0x00c0,
- 0x3198: 0x00c0, 0x3199: 0x00c0, 0x319a: 0x00c0, 0x319b: 0x00c0, 0x319c: 0x00c0,
- 0x31a0: 0x00c0, 0x31a1: 0x00c0, 0x31a2: 0x00c0, 0x31a3: 0x00c0,
- 0x31a4: 0x00c0, 0x31a5: 0x00c0, 0x31a6: 0x00c0, 0x31a7: 0x00c0, 0x31a8: 0x00c0, 0x31a9: 0x00c0,
- 0x31aa: 0x00c0, 0x31ab: 0x00c0, 0x31ac: 0x00c0, 0x31ad: 0x00c0, 0x31ae: 0x00c0, 0x31af: 0x00c0,
- 0x31b0: 0x00c0, 0x31b1: 0x00c0, 0x31b2: 0x00c0, 0x31b3: 0x00c0, 0x31b4: 0x00c0, 0x31b5: 0x00c0,
- 0x31b6: 0x00c0, 0x31b7: 0x00c0, 0x31b8: 0x00c0, 0x31b9: 0x00c0, 0x31ba: 0x00c0, 0x31bb: 0x00c0,
- 0x31bc: 0x00c0, 0x31bd: 0x00c0, 0x31be: 0x00c0, 0x31bf: 0x00c0,
+ 0x318c: 0x00c0, 0x318d: 0x00c0, 0x318e: 0x00c0, 0x318f: 0x00c0, 0x3190: 0x00c0,
+ 0x31a0: 0x00c3, 0x31a1: 0x0080, 0x31a2: 0x0080, 0x31a3: 0x0080,
+ 0x31a4: 0x0080, 0x31a5: 0x0080, 0x31a6: 0x0080, 0x31a7: 0x0080, 0x31a8: 0x0080, 0x31a9: 0x0080,
+ 0x31aa: 0x0080, 0x31ab: 0x0080, 0x31ac: 0x0080, 0x31ad: 0x0080, 0x31ae: 0x0080, 0x31af: 0x0080,
+ 0x31b0: 0x0080, 0x31b1: 0x0080, 0x31b2: 0x0080, 0x31b3: 0x0080, 0x31b4: 0x0080, 0x31b5: 0x0080,
+ 0x31b6: 0x0080, 0x31b7: 0x0080, 0x31b8: 0x0080, 0x31b9: 0x0080, 0x31ba: 0x0080, 0x31bb: 0x0080,
// Block 0xc7, offset 0x31c0
0x31c0: 0x00c0, 0x31c1: 0x00c0, 0x31c2: 0x00c0, 0x31c3: 0x00c0, 0x31c4: 0x00c0, 0x31c5: 0x00c0,
0x31c6: 0x00c0, 0x31c7: 0x00c0, 0x31c8: 0x00c0, 0x31c9: 0x00c0, 0x31ca: 0x00c0, 0x31cb: 0x00c0,
- 0x31cc: 0x00c0, 0x31cd: 0x00c0, 0x31ce: 0x00c0, 0x31cf: 0x00c0, 0x31d0: 0x00c0,
- 0x31e0: 0x00c3, 0x31e1: 0x0080, 0x31e2: 0x0080, 0x31e3: 0x0080,
- 0x31e4: 0x0080, 0x31e5: 0x0080, 0x31e6: 0x0080, 0x31e7: 0x0080, 0x31e8: 0x0080, 0x31e9: 0x0080,
- 0x31ea: 0x0080, 0x31eb: 0x0080, 0x31ec: 0x0080, 0x31ed: 0x0080, 0x31ee: 0x0080, 0x31ef: 0x0080,
- 0x31f0: 0x0080, 0x31f1: 0x0080, 0x31f2: 0x0080, 0x31f3: 0x0080, 0x31f4: 0x0080, 0x31f5: 0x0080,
- 0x31f6: 0x0080, 0x31f7: 0x0080, 0x31f8: 0x0080, 0x31f9: 0x0080, 0x31fa: 0x0080, 0x31fb: 0x0080,
+ 0x31cc: 0x00c0, 0x31cd: 0x00c0, 0x31ce: 0x00c0, 0x31cf: 0x00c0, 0x31d0: 0x00c0, 0x31d1: 0x00c0,
+ 0x31d2: 0x00c0, 0x31d3: 0x00c0, 0x31d4: 0x00c0, 0x31d5: 0x00c0, 0x31d6: 0x00c0, 0x31d7: 0x00c0,
+ 0x31d8: 0x00c0, 0x31d9: 0x00c0, 0x31da: 0x00c0, 0x31db: 0x00c0, 0x31dc: 0x00c0, 0x31dd: 0x00c0,
+ 0x31de: 0x00c0, 0x31df: 0x00c0, 0x31e0: 0x0080, 0x31e1: 0x0080, 0x31e2: 0x0080, 0x31e3: 0x0080,
+ 0x31ed: 0x00c0, 0x31ee: 0x00c0, 0x31ef: 0x00c0,
+ 0x31f0: 0x00c0, 0x31f1: 0x00c0, 0x31f2: 0x00c0, 0x31f3: 0x00c0, 0x31f4: 0x00c0, 0x31f5: 0x00c0,
+ 0x31f6: 0x00c0, 0x31f7: 0x00c0, 0x31f8: 0x00c0, 0x31f9: 0x00c0, 0x31fa: 0x00c0, 0x31fb: 0x00c0,
+ 0x31fc: 0x00c0, 0x31fd: 0x00c0, 0x31fe: 0x00c0, 0x31ff: 0x00c0,
// Block 0xc8, offset 0x3200
- 0x3200: 0x00c0, 0x3201: 0x00c0, 0x3202: 0x00c0, 0x3203: 0x00c0, 0x3204: 0x00c0, 0x3205: 0x00c0,
- 0x3206: 0x00c0, 0x3207: 0x00c0, 0x3208: 0x00c0, 0x3209: 0x00c0, 0x320a: 0x00c0, 0x320b: 0x00c0,
- 0x320c: 0x00c0, 0x320d: 0x00c0, 0x320e: 0x00c0, 0x320f: 0x00c0, 0x3210: 0x00c0, 0x3211: 0x00c0,
+ 0x3200: 0x00c0, 0x3201: 0x0080, 0x3202: 0x00c0, 0x3203: 0x00c0, 0x3204: 0x00c0, 0x3205: 0x00c0,
+ 0x3206: 0x00c0, 0x3207: 0x00c0, 0x3208: 0x00c0, 0x3209: 0x00c0, 0x320a: 0x0080,
+ 0x3210: 0x00c0, 0x3211: 0x00c0,
0x3212: 0x00c0, 0x3213: 0x00c0, 0x3214: 0x00c0, 0x3215: 0x00c0, 0x3216: 0x00c0, 0x3217: 0x00c0,
0x3218: 0x00c0, 0x3219: 0x00c0, 0x321a: 0x00c0, 0x321b: 0x00c0, 0x321c: 0x00c0, 0x321d: 0x00c0,
- 0x321e: 0x00c0, 0x321f: 0x00c0, 0x3220: 0x0080, 0x3221: 0x0080, 0x3222: 0x0080, 0x3223: 0x0080,
+ 0x321e: 0x00c0, 0x321f: 0x00c0, 0x3220: 0x00c0, 0x3221: 0x00c0, 0x3222: 0x00c0, 0x3223: 0x00c0,
+ 0x3224: 0x00c0, 0x3225: 0x00c0, 0x3226: 0x00c0, 0x3227: 0x00c0, 0x3228: 0x00c0, 0x3229: 0x00c0,
+ 0x322a: 0x00c0, 0x322b: 0x00c0, 0x322c: 0x00c0, 0x322d: 0x00c0, 0x322e: 0x00c0, 0x322f: 0x00c0,
0x3230: 0x00c0, 0x3231: 0x00c0, 0x3232: 0x00c0, 0x3233: 0x00c0, 0x3234: 0x00c0, 0x3235: 0x00c0,
- 0x3236: 0x00c0, 0x3237: 0x00c0, 0x3238: 0x00c0, 0x3239: 0x00c0, 0x323a: 0x00c0, 0x323b: 0x00c0,
- 0x323c: 0x00c0, 0x323d: 0x00c0, 0x323e: 0x00c0, 0x323f: 0x00c0,
+ 0x3236: 0x00c3, 0x3237: 0x00c3, 0x3238: 0x00c3, 0x3239: 0x00c3, 0x323a: 0x00c3,
// Block 0xc9, offset 0x3240
- 0x3240: 0x00c0, 0x3241: 0x0080, 0x3242: 0x00c0, 0x3243: 0x00c0, 0x3244: 0x00c0, 0x3245: 0x00c0,
- 0x3246: 0x00c0, 0x3247: 0x00c0, 0x3248: 0x00c0, 0x3249: 0x00c0, 0x324a: 0x0080,
- 0x3250: 0x00c0, 0x3251: 0x00c0,
+ 0x3240: 0x00c0, 0x3241: 0x00c0, 0x3242: 0x00c0, 0x3243: 0x00c0, 0x3244: 0x00c0, 0x3245: 0x00c0,
+ 0x3246: 0x00c0, 0x3247: 0x00c0, 0x3248: 0x00c0, 0x3249: 0x00c0, 0x324a: 0x00c0, 0x324b: 0x00c0,
+ 0x324c: 0x00c0, 0x324d: 0x00c0, 0x324e: 0x00c0, 0x324f: 0x00c0, 0x3250: 0x00c0, 0x3251: 0x00c0,
0x3252: 0x00c0, 0x3253: 0x00c0, 0x3254: 0x00c0, 0x3255: 0x00c0, 0x3256: 0x00c0, 0x3257: 0x00c0,
0x3258: 0x00c0, 0x3259: 0x00c0, 0x325a: 0x00c0, 0x325b: 0x00c0, 0x325c: 0x00c0, 0x325d: 0x00c0,
- 0x325e: 0x00c0, 0x325f: 0x00c0, 0x3260: 0x00c0, 0x3261: 0x00c0, 0x3262: 0x00c0, 0x3263: 0x00c0,
+ 0x325f: 0x0080, 0x3260: 0x00c0, 0x3261: 0x00c0, 0x3262: 0x00c0, 0x3263: 0x00c0,
0x3264: 0x00c0, 0x3265: 0x00c0, 0x3266: 0x00c0, 0x3267: 0x00c0, 0x3268: 0x00c0, 0x3269: 0x00c0,
0x326a: 0x00c0, 0x326b: 0x00c0, 0x326c: 0x00c0, 0x326d: 0x00c0, 0x326e: 0x00c0, 0x326f: 0x00c0,
0x3270: 0x00c0, 0x3271: 0x00c0, 0x3272: 0x00c0, 0x3273: 0x00c0, 0x3274: 0x00c0, 0x3275: 0x00c0,
- 0x3276: 0x00c3, 0x3277: 0x00c3, 0x3278: 0x00c3, 0x3279: 0x00c3, 0x327a: 0x00c3,
+ 0x3276: 0x00c0, 0x3277: 0x00c0, 0x3278: 0x00c0, 0x3279: 0x00c0, 0x327a: 0x00c0, 0x327b: 0x00c0,
+ 0x327c: 0x00c0, 0x327d: 0x00c0, 0x327e: 0x00c0, 0x327f: 0x00c0,
// Block 0xca, offset 0x3280
- 0x3280: 0x00c0, 0x3281: 0x00c0, 0x3282: 0x00c0, 0x3283: 0x00c0, 0x3284: 0x00c0, 0x3285: 0x00c0,
- 0x3286: 0x00c0, 0x3287: 0x00c0, 0x3288: 0x00c0, 0x3289: 0x00c0, 0x328a: 0x00c0, 0x328b: 0x00c0,
- 0x328c: 0x00c0, 0x328d: 0x00c0, 0x328e: 0x00c0, 0x328f: 0x00c0, 0x3290: 0x00c0, 0x3291: 0x00c0,
- 0x3292: 0x00c0, 0x3293: 0x00c0, 0x3294: 0x00c0, 0x3295: 0x00c0, 0x3296: 0x00c0, 0x3297: 0x00c0,
- 0x3298: 0x00c0, 0x3299: 0x00c0, 0x329a: 0x00c0, 0x329b: 0x00c0, 0x329c: 0x00c0, 0x329d: 0x00c0,
- 0x329f: 0x0080, 0x32a0: 0x00c0, 0x32a1: 0x00c0, 0x32a2: 0x00c0, 0x32a3: 0x00c0,
- 0x32a4: 0x00c0, 0x32a5: 0x00c0, 0x32a6: 0x00c0, 0x32a7: 0x00c0, 0x32a8: 0x00c0, 0x32a9: 0x00c0,
- 0x32aa: 0x00c0, 0x32ab: 0x00c0, 0x32ac: 0x00c0, 0x32ad: 0x00c0, 0x32ae: 0x00c0, 0x32af: 0x00c0,
- 0x32b0: 0x00c0, 0x32b1: 0x00c0, 0x32b2: 0x00c0, 0x32b3: 0x00c0, 0x32b4: 0x00c0, 0x32b5: 0x00c0,
- 0x32b6: 0x00c0, 0x32b7: 0x00c0, 0x32b8: 0x00c0, 0x32b9: 0x00c0, 0x32ba: 0x00c0, 0x32bb: 0x00c0,
- 0x32bc: 0x00c0, 0x32bd: 0x00c0, 0x32be: 0x00c0, 0x32bf: 0x00c0,
+ 0x3280: 0x00c0, 0x3281: 0x00c0, 0x3282: 0x00c0, 0x3283: 0x00c0,
+ 0x3288: 0x00c0, 0x3289: 0x00c0, 0x328a: 0x00c0, 0x328b: 0x00c0,
+ 0x328c: 0x00c0, 0x328d: 0x00c0, 0x328e: 0x00c0, 0x328f: 0x00c0, 0x3290: 0x0080, 0x3291: 0x0080,
+ 0x3292: 0x0080, 0x3293: 0x0080, 0x3294: 0x0080, 0x3295: 0x0080,
// Block 0xcb, offset 0x32c0
- 0x32c0: 0x00c0, 0x32c1: 0x00c0, 0x32c2: 0x00c0, 0x32c3: 0x00c0,
- 0x32c8: 0x00c0, 0x32c9: 0x00c0, 0x32ca: 0x00c0, 0x32cb: 0x00c0,
- 0x32cc: 0x00c0, 0x32cd: 0x00c0, 0x32ce: 0x00c0, 0x32cf: 0x00c0, 0x32d0: 0x0080, 0x32d1: 0x0080,
- 0x32d2: 0x0080, 0x32d3: 0x0080, 0x32d4: 0x0080, 0x32d5: 0x0080,
+ 0x32c0: 0x00c0, 0x32c1: 0x00c0, 0x32c2: 0x00c0, 0x32c3: 0x00c0, 0x32c4: 0x00c0, 0x32c5: 0x00c0,
+ 0x32c6: 0x00c0, 0x32c7: 0x00c0, 0x32c8: 0x00c0, 0x32c9: 0x00c0, 0x32ca: 0x00c0, 0x32cb: 0x00c0,
+ 0x32cc: 0x00c0, 0x32cd: 0x00c0, 0x32ce: 0x00c0, 0x32cf: 0x00c0, 0x32d0: 0x00c0, 0x32d1: 0x00c0,
+ 0x32d2: 0x00c0, 0x32d3: 0x00c0, 0x32d4: 0x00c0, 0x32d5: 0x00c0, 0x32d6: 0x00c0, 0x32d7: 0x00c0,
+ 0x32d8: 0x00c0, 0x32d9: 0x00c0, 0x32da: 0x00c0, 0x32db: 0x00c0, 0x32dc: 0x00c0, 0x32dd: 0x00c0,
+ 0x32e0: 0x00c0, 0x32e1: 0x00c0, 0x32e2: 0x00c0, 0x32e3: 0x00c0,
+ 0x32e4: 0x00c0, 0x32e5: 0x00c0, 0x32e6: 0x00c0, 0x32e7: 0x00c0, 0x32e8: 0x00c0, 0x32e9: 0x00c0,
+ 0x32f0: 0x00c0, 0x32f1: 0x00c0, 0x32f2: 0x00c0, 0x32f3: 0x00c0, 0x32f4: 0x00c0, 0x32f5: 0x00c0,
+ 0x32f6: 0x00c0, 0x32f7: 0x00c0, 0x32f8: 0x00c0, 0x32f9: 0x00c0, 0x32fa: 0x00c0, 0x32fb: 0x00c0,
+ 0x32fc: 0x00c0, 0x32fd: 0x00c0, 0x32fe: 0x00c0, 0x32ff: 0x00c0,
// Block 0xcc, offset 0x3300
0x3300: 0x00c0, 0x3301: 0x00c0, 0x3302: 0x00c0, 0x3303: 0x00c0, 0x3304: 0x00c0, 0x3305: 0x00c0,
0x3306: 0x00c0, 0x3307: 0x00c0, 0x3308: 0x00c0, 0x3309: 0x00c0, 0x330a: 0x00c0, 0x330b: 0x00c0,
0x330c: 0x00c0, 0x330d: 0x00c0, 0x330e: 0x00c0, 0x330f: 0x00c0, 0x3310: 0x00c0, 0x3311: 0x00c0,
- 0x3312: 0x00c0, 0x3313: 0x00c0, 0x3314: 0x00c0, 0x3315: 0x00c0, 0x3316: 0x00c0, 0x3317: 0x00c0,
+ 0x3312: 0x00c0, 0x3313: 0x00c0,
0x3318: 0x00c0, 0x3319: 0x00c0, 0x331a: 0x00c0, 0x331b: 0x00c0, 0x331c: 0x00c0, 0x331d: 0x00c0,
- 0x3320: 0x00c0, 0x3321: 0x00c0, 0x3322: 0x00c0, 0x3323: 0x00c0,
+ 0x331e: 0x00c0, 0x331f: 0x00c0, 0x3320: 0x00c0, 0x3321: 0x00c0, 0x3322: 0x00c0, 0x3323: 0x00c0,
0x3324: 0x00c0, 0x3325: 0x00c0, 0x3326: 0x00c0, 0x3327: 0x00c0, 0x3328: 0x00c0, 0x3329: 0x00c0,
+ 0x332a: 0x00c0, 0x332b: 0x00c0, 0x332c: 0x00c0, 0x332d: 0x00c0, 0x332e: 0x00c0, 0x332f: 0x00c0,
0x3330: 0x00c0, 0x3331: 0x00c0, 0x3332: 0x00c0, 0x3333: 0x00c0, 0x3334: 0x00c0, 0x3335: 0x00c0,
0x3336: 0x00c0, 0x3337: 0x00c0, 0x3338: 0x00c0, 0x3339: 0x00c0, 0x333a: 0x00c0, 0x333b: 0x00c0,
- 0x333c: 0x00c0, 0x333d: 0x00c0, 0x333e: 0x00c0, 0x333f: 0x00c0,
// Block 0xcd, offset 0x3340
0x3340: 0x00c0, 0x3341: 0x00c0, 0x3342: 0x00c0, 0x3343: 0x00c0, 0x3344: 0x00c0, 0x3345: 0x00c0,
0x3346: 0x00c0, 0x3347: 0x00c0, 0x3348: 0x00c0, 0x3349: 0x00c0, 0x334a: 0x00c0, 0x334b: 0x00c0,
0x334c: 0x00c0, 0x334d: 0x00c0, 0x334e: 0x00c0, 0x334f: 0x00c0, 0x3350: 0x00c0, 0x3351: 0x00c0,
- 0x3352: 0x00c0, 0x3353: 0x00c0,
+ 0x3352: 0x00c0, 0x3353: 0x00c0, 0x3354: 0x00c0, 0x3355: 0x00c0, 0x3356: 0x00c0, 0x3357: 0x00c0,
0x3358: 0x00c0, 0x3359: 0x00c0, 0x335a: 0x00c0, 0x335b: 0x00c0, 0x335c: 0x00c0, 0x335d: 0x00c0,
0x335e: 0x00c0, 0x335f: 0x00c0, 0x3360: 0x00c0, 0x3361: 0x00c0, 0x3362: 0x00c0, 0x3363: 0x00c0,
- 0x3364: 0x00c0, 0x3365: 0x00c0, 0x3366: 0x00c0, 0x3367: 0x00c0, 0x3368: 0x00c0, 0x3369: 0x00c0,
- 0x336a: 0x00c0, 0x336b: 0x00c0, 0x336c: 0x00c0, 0x336d: 0x00c0, 0x336e: 0x00c0, 0x336f: 0x00c0,
+ 0x3364: 0x00c0, 0x3365: 0x00c0, 0x3366: 0x00c0, 0x3367: 0x00c0,
0x3370: 0x00c0, 0x3371: 0x00c0, 0x3372: 0x00c0, 0x3373: 0x00c0, 0x3374: 0x00c0, 0x3375: 0x00c0,
0x3376: 0x00c0, 0x3377: 0x00c0, 0x3378: 0x00c0, 0x3379: 0x00c0, 0x337a: 0x00c0, 0x337b: 0x00c0,
+ 0x337c: 0x00c0, 0x337d: 0x00c0, 0x337e: 0x00c0, 0x337f: 0x00c0,
// Block 0xce, offset 0x3380
0x3380: 0x00c0, 0x3381: 0x00c0, 0x3382: 0x00c0, 0x3383: 0x00c0, 0x3384: 0x00c0, 0x3385: 0x00c0,
0x3386: 0x00c0, 0x3387: 0x00c0, 0x3388: 0x00c0, 0x3389: 0x00c0, 0x338a: 0x00c0, 0x338b: 0x00c0,
@@ -2459,10 +2469,7 @@ var derivedPropertiesValues = [20736]uint8{
0x3392: 0x00c0, 0x3393: 0x00c0, 0x3394: 0x00c0, 0x3395: 0x00c0, 0x3396: 0x00c0, 0x3397: 0x00c0,
0x3398: 0x00c0, 0x3399: 0x00c0, 0x339a: 0x00c0, 0x339b: 0x00c0, 0x339c: 0x00c0, 0x339d: 0x00c0,
0x339e: 0x00c0, 0x339f: 0x00c0, 0x33a0: 0x00c0, 0x33a1: 0x00c0, 0x33a2: 0x00c0, 0x33a3: 0x00c0,
- 0x33a4: 0x00c0, 0x33a5: 0x00c0, 0x33a6: 0x00c0, 0x33a7: 0x00c0,
- 0x33b0: 0x00c0, 0x33b1: 0x00c0, 0x33b2: 0x00c0, 0x33b3: 0x00c0, 0x33b4: 0x00c0, 0x33b5: 0x00c0,
- 0x33b6: 0x00c0, 0x33b7: 0x00c0, 0x33b8: 0x00c0, 0x33b9: 0x00c0, 0x33ba: 0x00c0, 0x33bb: 0x00c0,
- 0x33bc: 0x00c0, 0x33bd: 0x00c0, 0x33be: 0x00c0, 0x33bf: 0x00c0,
+ 0x33af: 0x0080,
// Block 0xcf, offset 0x33c0
0x33c0: 0x00c0, 0x33c1: 0x00c0, 0x33c2: 0x00c0, 0x33c3: 0x00c0, 0x33c4: 0x00c0, 0x33c5: 0x00c0,
0x33c6: 0x00c0, 0x33c7: 0x00c0, 0x33c8: 0x00c0, 0x33c9: 0x00c0, 0x33ca: 0x00c0, 0x33cb: 0x00c0,
@@ -2470,162 +2477,164 @@ var derivedPropertiesValues = [20736]uint8{
0x33d2: 0x00c0, 0x33d3: 0x00c0, 0x33d4: 0x00c0, 0x33d5: 0x00c0, 0x33d6: 0x00c0, 0x33d7: 0x00c0,
0x33d8: 0x00c0, 0x33d9: 0x00c0, 0x33da: 0x00c0, 0x33db: 0x00c0, 0x33dc: 0x00c0, 0x33dd: 0x00c0,
0x33de: 0x00c0, 0x33df: 0x00c0, 0x33e0: 0x00c0, 0x33e1: 0x00c0, 0x33e2: 0x00c0, 0x33e3: 0x00c0,
- 0x33ef: 0x0080,
+ 0x33e4: 0x00c0, 0x33e5: 0x00c0, 0x33e6: 0x00c0, 0x33e7: 0x00c0, 0x33e8: 0x00c0, 0x33e9: 0x00c0,
+ 0x33ea: 0x00c0, 0x33eb: 0x00c0, 0x33ec: 0x00c0, 0x33ed: 0x00c0, 0x33ee: 0x00c0, 0x33ef: 0x00c0,
+ 0x33f0: 0x00c0, 0x33f1: 0x00c0, 0x33f2: 0x00c0, 0x33f3: 0x00c0, 0x33f4: 0x00c0, 0x33f5: 0x00c0,
+ 0x33f6: 0x00c0,
// Block 0xd0, offset 0x3400
0x3400: 0x00c0, 0x3401: 0x00c0, 0x3402: 0x00c0, 0x3403: 0x00c0, 0x3404: 0x00c0, 0x3405: 0x00c0,
0x3406: 0x00c0, 0x3407: 0x00c0, 0x3408: 0x00c0, 0x3409: 0x00c0, 0x340a: 0x00c0, 0x340b: 0x00c0,
0x340c: 0x00c0, 0x340d: 0x00c0, 0x340e: 0x00c0, 0x340f: 0x00c0, 0x3410: 0x00c0, 0x3411: 0x00c0,
- 0x3412: 0x00c0, 0x3413: 0x00c0, 0x3414: 0x00c0, 0x3415: 0x00c0, 0x3416: 0x00c0, 0x3417: 0x00c0,
- 0x3418: 0x00c0, 0x3419: 0x00c0, 0x341a: 0x00c0, 0x341b: 0x00c0, 0x341c: 0x00c0, 0x341d: 0x00c0,
- 0x341e: 0x00c0, 0x341f: 0x00c0, 0x3420: 0x00c0, 0x3421: 0x00c0, 0x3422: 0x00c0, 0x3423: 0x00c0,
- 0x3424: 0x00c0, 0x3425: 0x00c0, 0x3426: 0x00c0, 0x3427: 0x00c0, 0x3428: 0x00c0, 0x3429: 0x00c0,
- 0x342a: 0x00c0, 0x342b: 0x00c0, 0x342c: 0x00c0, 0x342d: 0x00c0, 0x342e: 0x00c0, 0x342f: 0x00c0,
- 0x3430: 0x00c0, 0x3431: 0x00c0, 0x3432: 0x00c0, 0x3433: 0x00c0, 0x3434: 0x00c0, 0x3435: 0x00c0,
- 0x3436: 0x00c0,
+ 0x3412: 0x00c0, 0x3413: 0x00c0, 0x3414: 0x00c0, 0x3415: 0x00c0,
+ 0x3420: 0x00c0, 0x3421: 0x00c0, 0x3422: 0x00c0, 0x3423: 0x00c0,
+ 0x3424: 0x00c0, 0x3425: 0x00c0, 0x3426: 0x00c0, 0x3427: 0x00c0,
// Block 0xd1, offset 0x3440
0x3440: 0x00c0, 0x3441: 0x00c0, 0x3442: 0x00c0, 0x3443: 0x00c0, 0x3444: 0x00c0, 0x3445: 0x00c0,
- 0x3446: 0x00c0, 0x3447: 0x00c0, 0x3448: 0x00c0, 0x3449: 0x00c0, 0x344a: 0x00c0, 0x344b: 0x00c0,
+ 0x3448: 0x00c0, 0x344a: 0x00c0, 0x344b: 0x00c0,
0x344c: 0x00c0, 0x344d: 0x00c0, 0x344e: 0x00c0, 0x344f: 0x00c0, 0x3450: 0x00c0, 0x3451: 0x00c0,
- 0x3452: 0x00c0, 0x3453: 0x00c0, 0x3454: 0x00c0, 0x3455: 0x00c0,
- 0x3460: 0x00c0, 0x3461: 0x00c0, 0x3462: 0x00c0, 0x3463: 0x00c0,
- 0x3464: 0x00c0, 0x3465: 0x00c0, 0x3466: 0x00c0, 0x3467: 0x00c0,
+ 0x3452: 0x00c0, 0x3453: 0x00c0, 0x3454: 0x00c0, 0x3455: 0x00c0, 0x3456: 0x00c0, 0x3457: 0x00c0,
+ 0x3458: 0x00c0, 0x3459: 0x00c0, 0x345a: 0x00c0, 0x345b: 0x00c0, 0x345c: 0x00c0, 0x345d: 0x00c0,
+ 0x345e: 0x00c0, 0x345f: 0x00c0, 0x3460: 0x00c0, 0x3461: 0x00c0, 0x3462: 0x00c0, 0x3463: 0x00c0,
+ 0x3464: 0x00c0, 0x3465: 0x00c0, 0x3466: 0x00c0, 0x3467: 0x00c0, 0x3468: 0x00c0, 0x3469: 0x00c0,
+ 0x346a: 0x00c0, 0x346b: 0x00c0, 0x346c: 0x00c0, 0x346d: 0x00c0, 0x346e: 0x00c0, 0x346f: 0x00c0,
+ 0x3470: 0x00c0, 0x3471: 0x00c0, 0x3472: 0x00c0, 0x3473: 0x00c0, 0x3474: 0x00c0, 0x3475: 0x00c0,
+ 0x3477: 0x00c0, 0x3478: 0x00c0,
+ 0x347c: 0x00c0, 0x347f: 0x00c0,
// Block 0xd2, offset 0x3480
0x3480: 0x00c0, 0x3481: 0x00c0, 0x3482: 0x00c0, 0x3483: 0x00c0, 0x3484: 0x00c0, 0x3485: 0x00c0,
- 0x3488: 0x00c0, 0x348a: 0x00c0, 0x348b: 0x00c0,
+ 0x3486: 0x00c0, 0x3487: 0x00c0, 0x3488: 0x00c0, 0x3489: 0x00c0, 0x348a: 0x00c0, 0x348b: 0x00c0,
0x348c: 0x00c0, 0x348d: 0x00c0, 0x348e: 0x00c0, 0x348f: 0x00c0, 0x3490: 0x00c0, 0x3491: 0x00c0,
- 0x3492: 0x00c0, 0x3493: 0x00c0, 0x3494: 0x00c0, 0x3495: 0x00c0, 0x3496: 0x00c0, 0x3497: 0x00c0,
- 0x3498: 0x00c0, 0x3499: 0x00c0, 0x349a: 0x00c0, 0x349b: 0x00c0, 0x349c: 0x00c0, 0x349d: 0x00c0,
- 0x349e: 0x00c0, 0x349f: 0x00c0, 0x34a0: 0x00c0, 0x34a1: 0x00c0, 0x34a2: 0x00c0, 0x34a3: 0x00c0,
+ 0x3492: 0x00c0, 0x3493: 0x00c0, 0x3494: 0x00c0, 0x3495: 0x00c0, 0x3497: 0x0080,
+ 0x3498: 0x0080, 0x3499: 0x0080, 0x349a: 0x0080, 0x349b: 0x0080, 0x349c: 0x0080, 0x349d: 0x0080,
+ 0x349e: 0x0080, 0x349f: 0x0080, 0x34a0: 0x00c0, 0x34a1: 0x00c0, 0x34a2: 0x00c0, 0x34a3: 0x00c0,
0x34a4: 0x00c0, 0x34a5: 0x00c0, 0x34a6: 0x00c0, 0x34a7: 0x00c0, 0x34a8: 0x00c0, 0x34a9: 0x00c0,
0x34aa: 0x00c0, 0x34ab: 0x00c0, 0x34ac: 0x00c0, 0x34ad: 0x00c0, 0x34ae: 0x00c0, 0x34af: 0x00c0,
0x34b0: 0x00c0, 0x34b1: 0x00c0, 0x34b2: 0x00c0, 0x34b3: 0x00c0, 0x34b4: 0x00c0, 0x34b5: 0x00c0,
- 0x34b7: 0x00c0, 0x34b8: 0x00c0,
- 0x34bc: 0x00c0, 0x34bf: 0x00c0,
+ 0x34b6: 0x00c0, 0x34b7: 0x0080, 0x34b8: 0x0080, 0x34b9: 0x0080, 0x34ba: 0x0080, 0x34bb: 0x0080,
+ 0x34bc: 0x0080, 0x34bd: 0x0080, 0x34be: 0x0080, 0x34bf: 0x0080,
// Block 0xd3, offset 0x34c0
0x34c0: 0x00c0, 0x34c1: 0x00c0, 0x34c2: 0x00c0, 0x34c3: 0x00c0, 0x34c4: 0x00c0, 0x34c5: 0x00c0,
0x34c6: 0x00c0, 0x34c7: 0x00c0, 0x34c8: 0x00c0, 0x34c9: 0x00c0, 0x34ca: 0x00c0, 0x34cb: 0x00c0,
0x34cc: 0x00c0, 0x34cd: 0x00c0, 0x34ce: 0x00c0, 0x34cf: 0x00c0, 0x34d0: 0x00c0, 0x34d1: 0x00c0,
- 0x34d2: 0x00c0, 0x34d3: 0x00c0, 0x34d4: 0x00c0, 0x34d5: 0x00c0, 0x34d7: 0x0080,
- 0x34d8: 0x0080, 0x34d9: 0x0080, 0x34da: 0x0080, 0x34db: 0x0080, 0x34dc: 0x0080, 0x34dd: 0x0080,
- 0x34de: 0x0080, 0x34df: 0x0080, 0x34e0: 0x00c0, 0x34e1: 0x00c0, 0x34e2: 0x00c0, 0x34e3: 0x00c0,
- 0x34e4: 0x00c0, 0x34e5: 0x00c0, 0x34e6: 0x00c0, 0x34e7: 0x00c0, 0x34e8: 0x00c0, 0x34e9: 0x00c0,
- 0x34ea: 0x00c0, 0x34eb: 0x00c0, 0x34ec: 0x00c0, 0x34ed: 0x00c0, 0x34ee: 0x00c0, 0x34ef: 0x00c0,
- 0x34f0: 0x00c0, 0x34f1: 0x00c0, 0x34f2: 0x00c0, 0x34f3: 0x00c0, 0x34f4: 0x00c0, 0x34f5: 0x00c0,
- 0x34f6: 0x00c0, 0x34f7: 0x0080, 0x34f8: 0x0080, 0x34f9: 0x0080, 0x34fa: 0x0080, 0x34fb: 0x0080,
- 0x34fc: 0x0080, 0x34fd: 0x0080, 0x34fe: 0x0080, 0x34ff: 0x0080,
+ 0x34d2: 0x00c0, 0x34d3: 0x00c0, 0x34d4: 0x00c0, 0x34d5: 0x00c0, 0x34d6: 0x00c0, 0x34d7: 0x00c0,
+ 0x34d8: 0x00c0, 0x34d9: 0x00c0, 0x34da: 0x00c0, 0x34db: 0x00c0, 0x34dc: 0x00c0, 0x34dd: 0x00c0,
+ 0x34de: 0x00c0,
+ 0x34e7: 0x0080, 0x34e8: 0x0080, 0x34e9: 0x0080,
+ 0x34ea: 0x0080, 0x34eb: 0x0080, 0x34ec: 0x0080, 0x34ed: 0x0080, 0x34ee: 0x0080, 0x34ef: 0x0080,
// Block 0xd4, offset 0x3500
- 0x3500: 0x00c0, 0x3501: 0x00c0, 0x3502: 0x00c0, 0x3503: 0x00c0, 0x3504: 0x00c0, 0x3505: 0x00c0,
- 0x3506: 0x00c0, 0x3507: 0x00c0, 0x3508: 0x00c0, 0x3509: 0x00c0, 0x350a: 0x00c0, 0x350b: 0x00c0,
- 0x350c: 0x00c0, 0x350d: 0x00c0, 0x350e: 0x00c0, 0x350f: 0x00c0, 0x3510: 0x00c0, 0x3511: 0x00c0,
- 0x3512: 0x00c0, 0x3513: 0x00c0, 0x3514: 0x00c0, 0x3515: 0x00c0, 0x3516: 0x00c0, 0x3517: 0x00c0,
- 0x3518: 0x00c0, 0x3519: 0x00c0, 0x351a: 0x00c0, 0x351b: 0x00c0, 0x351c: 0x00c0, 0x351d: 0x00c0,
- 0x351e: 0x00c0,
- 0x3527: 0x0080, 0x3528: 0x0080, 0x3529: 0x0080,
- 0x352a: 0x0080, 0x352b: 0x0080, 0x352c: 0x0080, 0x352d: 0x0080, 0x352e: 0x0080, 0x352f: 0x0080,
+ 0x3520: 0x00c0, 0x3521: 0x00c0, 0x3522: 0x00c0, 0x3523: 0x00c0,
+ 0x3524: 0x00c0, 0x3525: 0x00c0, 0x3526: 0x00c0, 0x3527: 0x00c0, 0x3528: 0x00c0, 0x3529: 0x00c0,
+ 0x352a: 0x00c0, 0x352b: 0x00c0, 0x352c: 0x00c0, 0x352d: 0x00c0, 0x352e: 0x00c0, 0x352f: 0x00c0,
+ 0x3530: 0x00c0, 0x3531: 0x00c0, 0x3532: 0x00c0, 0x3534: 0x00c0, 0x3535: 0x00c0,
+ 0x353b: 0x0080,
+ 0x353c: 0x0080, 0x353d: 0x0080, 0x353e: 0x0080, 0x353f: 0x0080,
// Block 0xd5, offset 0x3540
- 0x3560: 0x00c0, 0x3561: 0x00c0, 0x3562: 0x00c0, 0x3563: 0x00c0,
+ 0x3540: 0x00c0, 0x3541: 0x00c0, 0x3542: 0x00c0, 0x3543: 0x00c0, 0x3544: 0x00c0, 0x3545: 0x00c0,
+ 0x3546: 0x00c0, 0x3547: 0x00c0, 0x3548: 0x00c0, 0x3549: 0x00c0, 0x354a: 0x00c0, 0x354b: 0x00c0,
+ 0x354c: 0x00c0, 0x354d: 0x00c0, 0x354e: 0x00c0, 0x354f: 0x00c0, 0x3550: 0x00c0, 0x3551: 0x00c0,
+ 0x3552: 0x00c0, 0x3553: 0x00c0, 0x3554: 0x00c0, 0x3555: 0x00c0, 0x3556: 0x0080, 0x3557: 0x0080,
+ 0x3558: 0x0080, 0x3559: 0x0080, 0x355a: 0x0080, 0x355b: 0x0080,
+ 0x355f: 0x0080, 0x3560: 0x00c0, 0x3561: 0x00c0, 0x3562: 0x00c0, 0x3563: 0x00c0,
0x3564: 0x00c0, 0x3565: 0x00c0, 0x3566: 0x00c0, 0x3567: 0x00c0, 0x3568: 0x00c0, 0x3569: 0x00c0,
0x356a: 0x00c0, 0x356b: 0x00c0, 0x356c: 0x00c0, 0x356d: 0x00c0, 0x356e: 0x00c0, 0x356f: 0x00c0,
- 0x3570: 0x00c0, 0x3571: 0x00c0, 0x3572: 0x00c0, 0x3574: 0x00c0, 0x3575: 0x00c0,
- 0x357b: 0x0080,
- 0x357c: 0x0080, 0x357d: 0x0080, 0x357e: 0x0080, 0x357f: 0x0080,
+ 0x3570: 0x00c0, 0x3571: 0x00c0, 0x3572: 0x00c0, 0x3573: 0x00c0, 0x3574: 0x00c0, 0x3575: 0x00c0,
+ 0x3576: 0x00c0, 0x3577: 0x00c0, 0x3578: 0x00c0, 0x3579: 0x00c0,
+ 0x357f: 0x0080,
// Block 0xd6, offset 0x3580
0x3580: 0x00c0, 0x3581: 0x00c0, 0x3582: 0x00c0, 0x3583: 0x00c0, 0x3584: 0x00c0, 0x3585: 0x00c0,
0x3586: 0x00c0, 0x3587: 0x00c0, 0x3588: 0x00c0, 0x3589: 0x00c0, 0x358a: 0x00c0, 0x358b: 0x00c0,
0x358c: 0x00c0, 0x358d: 0x00c0, 0x358e: 0x00c0, 0x358f: 0x00c0, 0x3590: 0x00c0, 0x3591: 0x00c0,
- 0x3592: 0x00c0, 0x3593: 0x00c0, 0x3594: 0x00c0, 0x3595: 0x00c0, 0x3596: 0x0080, 0x3597: 0x0080,
- 0x3598: 0x0080, 0x3599: 0x0080, 0x359a: 0x0080, 0x359b: 0x0080,
- 0x359f: 0x0080, 0x35a0: 0x00c0, 0x35a1: 0x00c0, 0x35a2: 0x00c0, 0x35a3: 0x00c0,
+ 0x3592: 0x00c0, 0x3593: 0x00c0, 0x3594: 0x00c0, 0x3595: 0x00c0, 0x3596: 0x00c0, 0x3597: 0x00c0,
+ 0x3598: 0x00c0, 0x3599: 0x00c0, 0x359a: 0x00c0, 0x359b: 0x00c0, 0x359c: 0x00c0, 0x359d: 0x00c0,
+ 0x359e: 0x00c0, 0x359f: 0x00c0, 0x35a0: 0x00c0, 0x35a1: 0x00c0, 0x35a2: 0x00c0, 0x35a3: 0x00c0,
0x35a4: 0x00c0, 0x35a5: 0x00c0, 0x35a6: 0x00c0, 0x35a7: 0x00c0, 0x35a8: 0x00c0, 0x35a9: 0x00c0,
0x35aa: 0x00c0, 0x35ab: 0x00c0, 0x35ac: 0x00c0, 0x35ad: 0x00c0, 0x35ae: 0x00c0, 0x35af: 0x00c0,
0x35b0: 0x00c0, 0x35b1: 0x00c0, 0x35b2: 0x00c0, 0x35b3: 0x00c0, 0x35b4: 0x00c0, 0x35b5: 0x00c0,
- 0x35b6: 0x00c0, 0x35b7: 0x00c0, 0x35b8: 0x00c0, 0x35b9: 0x00c0,
- 0x35bf: 0x0080,
+ 0x35b6: 0x00c0, 0x35b7: 0x00c0,
+ 0x35bc: 0x0080, 0x35bd: 0x0080, 0x35be: 0x00c0, 0x35bf: 0x00c0,
// Block 0xd7, offset 0x35c0
- 0x35c0: 0x00c0, 0x35c1: 0x00c0, 0x35c2: 0x00c0, 0x35c3: 0x00c0, 0x35c4: 0x00c0, 0x35c5: 0x00c0,
- 0x35c6: 0x00c0, 0x35c7: 0x00c0, 0x35c8: 0x00c0, 0x35c9: 0x00c0, 0x35ca: 0x00c0, 0x35cb: 0x00c0,
- 0x35cc: 0x00c0, 0x35cd: 0x00c0, 0x35ce: 0x00c0, 0x35cf: 0x00c0, 0x35d0: 0x00c0, 0x35d1: 0x00c0,
- 0x35d2: 0x00c0, 0x35d3: 0x00c0, 0x35d4: 0x00c0, 0x35d5: 0x00c0, 0x35d6: 0x00c0, 0x35d7: 0x00c0,
- 0x35d8: 0x00c0, 0x35d9: 0x00c0, 0x35da: 0x00c0, 0x35db: 0x00c0, 0x35dc: 0x00c0, 0x35dd: 0x00c0,
+ 0x35c0: 0x00c0, 0x35c1: 0x00c3, 0x35c2: 0x00c3, 0x35c3: 0x00c3, 0x35c5: 0x00c3,
+ 0x35c6: 0x00c3,
+ 0x35cc: 0x00c3, 0x35cd: 0x00c3, 0x35ce: 0x00c3, 0x35cf: 0x00c3, 0x35d0: 0x00c0, 0x35d1: 0x00c0,
+ 0x35d2: 0x00c0, 0x35d3: 0x00c0, 0x35d5: 0x00c0, 0x35d6: 0x00c0, 0x35d7: 0x00c0,
+ 0x35d9: 0x00c0, 0x35da: 0x00c0, 0x35db: 0x00c0, 0x35dc: 0x00c0, 0x35dd: 0x00c0,
0x35de: 0x00c0, 0x35df: 0x00c0, 0x35e0: 0x00c0, 0x35e1: 0x00c0, 0x35e2: 0x00c0, 0x35e3: 0x00c0,
0x35e4: 0x00c0, 0x35e5: 0x00c0, 0x35e6: 0x00c0, 0x35e7: 0x00c0, 0x35e8: 0x00c0, 0x35e9: 0x00c0,
0x35ea: 0x00c0, 0x35eb: 0x00c0, 0x35ec: 0x00c0, 0x35ed: 0x00c0, 0x35ee: 0x00c0, 0x35ef: 0x00c0,
- 0x35f0: 0x00c0, 0x35f1: 0x00c0, 0x35f2: 0x00c0, 0x35f3: 0x00c0, 0x35f4: 0x00c0, 0x35f5: 0x00c0,
- 0x35f6: 0x00c0, 0x35f7: 0x00c0,
- 0x35fc: 0x0080, 0x35fd: 0x0080, 0x35fe: 0x00c0, 0x35ff: 0x00c0,
+ 0x35f0: 0x00c0, 0x35f1: 0x00c0, 0x35f2: 0x00c0, 0x35f3: 0x00c0,
+ 0x35f8: 0x00c3, 0x35f9: 0x00c3, 0x35fa: 0x00c3,
+ 0x35ff: 0x00c6,
// Block 0xd8, offset 0x3600
- 0x3600: 0x00c0, 0x3601: 0x00c3, 0x3602: 0x00c3, 0x3603: 0x00c3, 0x3605: 0x00c3,
- 0x3606: 0x00c3,
- 0x360c: 0x00c3, 0x360d: 0x00c3, 0x360e: 0x00c3, 0x360f: 0x00c3, 0x3610: 0x00c0, 0x3611: 0x00c0,
- 0x3612: 0x00c0, 0x3613: 0x00c0, 0x3615: 0x00c0, 0x3616: 0x00c0, 0x3617: 0x00c0,
- 0x3619: 0x00c0, 0x361a: 0x00c0, 0x361b: 0x00c0, 0x361c: 0x00c0, 0x361d: 0x00c0,
- 0x361e: 0x00c0, 0x361f: 0x00c0, 0x3620: 0x00c0, 0x3621: 0x00c0, 0x3622: 0x00c0, 0x3623: 0x00c0,
+ 0x3600: 0x0080, 0x3601: 0x0080, 0x3602: 0x0080, 0x3603: 0x0080, 0x3604: 0x0080, 0x3605: 0x0080,
+ 0x3606: 0x0080, 0x3607: 0x0080,
+ 0x3610: 0x0080, 0x3611: 0x0080,
+ 0x3612: 0x0080, 0x3613: 0x0080, 0x3614: 0x0080, 0x3615: 0x0080, 0x3616: 0x0080, 0x3617: 0x0080,
+ 0x3618: 0x0080,
+ 0x3620: 0x00c0, 0x3621: 0x00c0, 0x3622: 0x00c0, 0x3623: 0x00c0,
0x3624: 0x00c0, 0x3625: 0x00c0, 0x3626: 0x00c0, 0x3627: 0x00c0, 0x3628: 0x00c0, 0x3629: 0x00c0,
0x362a: 0x00c0, 0x362b: 0x00c0, 0x362c: 0x00c0, 0x362d: 0x00c0, 0x362e: 0x00c0, 0x362f: 0x00c0,
- 0x3630: 0x00c0, 0x3631: 0x00c0, 0x3632: 0x00c0, 0x3633: 0x00c0,
- 0x3638: 0x00c3, 0x3639: 0x00c3, 0x363a: 0x00c3,
- 0x363f: 0x00c6,
+ 0x3630: 0x00c0, 0x3631: 0x00c0, 0x3632: 0x00c0, 0x3633: 0x00c0, 0x3634: 0x00c0, 0x3635: 0x00c0,
+ 0x3636: 0x00c0, 0x3637: 0x00c0, 0x3638: 0x00c0, 0x3639: 0x00c0, 0x363a: 0x00c0, 0x363b: 0x00c0,
+ 0x363c: 0x00c0, 0x363d: 0x0080, 0x363e: 0x0080, 0x363f: 0x0080,
// Block 0xd9, offset 0x3640
- 0x3640: 0x0080, 0x3641: 0x0080, 0x3642: 0x0080, 0x3643: 0x0080, 0x3644: 0x0080, 0x3645: 0x0080,
- 0x3646: 0x0080, 0x3647: 0x0080,
- 0x3650: 0x0080, 0x3651: 0x0080,
- 0x3652: 0x0080, 0x3653: 0x0080, 0x3654: 0x0080, 0x3655: 0x0080, 0x3656: 0x0080, 0x3657: 0x0080,
- 0x3658: 0x0080,
- 0x3660: 0x00c0, 0x3661: 0x00c0, 0x3662: 0x00c0, 0x3663: 0x00c0,
- 0x3664: 0x00c0, 0x3665: 0x00c0, 0x3666: 0x00c0, 0x3667: 0x00c0, 0x3668: 0x00c0, 0x3669: 0x00c0,
- 0x366a: 0x00c0, 0x366b: 0x00c0, 0x366c: 0x00c0, 0x366d: 0x00c0, 0x366e: 0x00c0, 0x366f: 0x00c0,
- 0x3670: 0x00c0, 0x3671: 0x00c0, 0x3672: 0x00c0, 0x3673: 0x00c0, 0x3674: 0x00c0, 0x3675: 0x00c0,
- 0x3676: 0x00c0, 0x3677: 0x00c0, 0x3678: 0x00c0, 0x3679: 0x00c0, 0x367a: 0x00c0, 0x367b: 0x00c0,
- 0x367c: 0x00c0, 0x367d: 0x0080, 0x367e: 0x0080, 0x367f: 0x0080,
+ 0x3640: 0x00c0, 0x3641: 0x00c0, 0x3642: 0x00c0, 0x3643: 0x00c0, 0x3644: 0x00c0, 0x3645: 0x00c0,
+ 0x3646: 0x00c0, 0x3647: 0x00c0, 0x3648: 0x00c0, 0x3649: 0x00c0, 0x364a: 0x00c0, 0x364b: 0x00c0,
+ 0x364c: 0x00c0, 0x364d: 0x00c0, 0x364e: 0x00c0, 0x364f: 0x00c0, 0x3650: 0x00c0, 0x3651: 0x00c0,
+ 0x3652: 0x00c0, 0x3653: 0x00c0, 0x3654: 0x00c0, 0x3655: 0x00c0, 0x3656: 0x00c0, 0x3657: 0x00c0,
+ 0x3658: 0x00c0, 0x3659: 0x00c0, 0x365a: 0x00c0, 0x365b: 0x00c0, 0x365c: 0x00c0, 0x365d: 0x0080,
+ 0x365e: 0x0080, 0x365f: 0x0080,
// Block 0xda, offset 0x3680
- 0x3680: 0x00c0, 0x3681: 0x00c0, 0x3682: 0x00c0, 0x3683: 0x00c0, 0x3684: 0x00c0, 0x3685: 0x00c0,
- 0x3686: 0x00c0, 0x3687: 0x00c0, 0x3688: 0x00c0, 0x3689: 0x00c0, 0x368a: 0x00c0, 0x368b: 0x00c0,
- 0x368c: 0x00c0, 0x368d: 0x00c0, 0x368e: 0x00c0, 0x368f: 0x00c0, 0x3690: 0x00c0, 0x3691: 0x00c0,
- 0x3692: 0x00c0, 0x3693: 0x00c0, 0x3694: 0x00c0, 0x3695: 0x00c0, 0x3696: 0x00c0, 0x3697: 0x00c0,
- 0x3698: 0x00c0, 0x3699: 0x00c0, 0x369a: 0x00c0, 0x369b: 0x00c0, 0x369c: 0x00c0, 0x369d: 0x0080,
- 0x369e: 0x0080, 0x369f: 0x0080,
+ 0x3680: 0x00c2, 0x3681: 0x00c2, 0x3682: 0x00c2, 0x3683: 0x00c2, 0x3684: 0x00c2, 0x3685: 0x00c4,
+ 0x3686: 0x00c0, 0x3687: 0x00c4, 0x3688: 0x0080, 0x3689: 0x00c4, 0x368a: 0x00c4, 0x368b: 0x00c0,
+ 0x368c: 0x00c0, 0x368d: 0x00c1, 0x368e: 0x00c4, 0x368f: 0x00c4, 0x3690: 0x00c4, 0x3691: 0x00c4,
+ 0x3692: 0x00c4, 0x3693: 0x00c2, 0x3694: 0x00c2, 0x3695: 0x00c2, 0x3696: 0x00c2, 0x3697: 0x00c1,
+ 0x3698: 0x00c2, 0x3699: 0x00c2, 0x369a: 0x00c2, 0x369b: 0x00c2, 0x369c: 0x00c2, 0x369d: 0x00c4,
+ 0x369e: 0x00c2, 0x369f: 0x00c2, 0x36a0: 0x00c2, 0x36a1: 0x00c4, 0x36a2: 0x00c0, 0x36a3: 0x00c0,
+ 0x36a4: 0x00c4, 0x36a5: 0x00c3, 0x36a6: 0x00c3,
+ 0x36ab: 0x0082, 0x36ac: 0x0082, 0x36ad: 0x0082, 0x36ae: 0x0082, 0x36af: 0x0084,
+ 0x36b0: 0x0080, 0x36b1: 0x0080, 0x36b2: 0x0080, 0x36b3: 0x0080, 0x36b4: 0x0080, 0x36b5: 0x0080,
+ 0x36b6: 0x0080,
// Block 0xdb, offset 0x36c0
- 0x36c0: 0x00c2, 0x36c1: 0x00c2, 0x36c2: 0x00c2, 0x36c3: 0x00c2, 0x36c4: 0x00c2, 0x36c5: 0x00c4,
- 0x36c6: 0x00c0, 0x36c7: 0x00c4, 0x36c8: 0x0080, 0x36c9: 0x00c4, 0x36ca: 0x00c4, 0x36cb: 0x00c0,
- 0x36cc: 0x00c0, 0x36cd: 0x00c1, 0x36ce: 0x00c4, 0x36cf: 0x00c4, 0x36d0: 0x00c4, 0x36d1: 0x00c4,
- 0x36d2: 0x00c4, 0x36d3: 0x00c2, 0x36d4: 0x00c2, 0x36d5: 0x00c2, 0x36d6: 0x00c2, 0x36d7: 0x00c1,
- 0x36d8: 0x00c2, 0x36d9: 0x00c2, 0x36da: 0x00c2, 0x36db: 0x00c2, 0x36dc: 0x00c2, 0x36dd: 0x00c4,
- 0x36de: 0x00c2, 0x36df: 0x00c2, 0x36e0: 0x00c2, 0x36e1: 0x00c4, 0x36e2: 0x00c0, 0x36e3: 0x00c0,
- 0x36e4: 0x00c4, 0x36e5: 0x00c3, 0x36e6: 0x00c3,
- 0x36eb: 0x0082, 0x36ec: 0x0082, 0x36ed: 0x0082, 0x36ee: 0x0082, 0x36ef: 0x0084,
- 0x36f0: 0x0080, 0x36f1: 0x0080, 0x36f2: 0x0080, 0x36f3: 0x0080, 0x36f4: 0x0080, 0x36f5: 0x0080,
- 0x36f6: 0x0080,
+ 0x36c0: 0x00c0, 0x36c1: 0x00c0, 0x36c2: 0x00c0, 0x36c3: 0x00c0, 0x36c4: 0x00c0, 0x36c5: 0x00c0,
+ 0x36c6: 0x00c0, 0x36c7: 0x00c0, 0x36c8: 0x00c0, 0x36c9: 0x00c0, 0x36ca: 0x00c0, 0x36cb: 0x00c0,
+ 0x36cc: 0x00c0, 0x36cd: 0x00c0, 0x36ce: 0x00c0, 0x36cf: 0x00c0, 0x36d0: 0x00c0, 0x36d1: 0x00c0,
+ 0x36d2: 0x00c0, 0x36d3: 0x00c0, 0x36d4: 0x00c0, 0x36d5: 0x00c0, 0x36d6: 0x00c0, 0x36d7: 0x00c0,
+ 0x36d8: 0x00c0, 0x36d9: 0x00c0, 0x36da: 0x00c0, 0x36db: 0x00c0, 0x36dc: 0x00c0, 0x36dd: 0x00c0,
+ 0x36de: 0x00c0, 0x36df: 0x00c0, 0x36e0: 0x00c0, 0x36e1: 0x00c0, 0x36e2: 0x00c0, 0x36e3: 0x00c0,
+ 0x36e4: 0x00c0, 0x36e5: 0x00c0, 0x36e6: 0x00c0, 0x36e7: 0x00c0, 0x36e8: 0x00c0, 0x36e9: 0x00c0,
+ 0x36ea: 0x00c0, 0x36eb: 0x00c0, 0x36ec: 0x00c0, 0x36ed: 0x00c0, 0x36ee: 0x00c0, 0x36ef: 0x00c0,
+ 0x36f0: 0x00c0, 0x36f1: 0x00c0, 0x36f2: 0x00c0, 0x36f3: 0x00c0, 0x36f4: 0x00c0, 0x36f5: 0x00c0,
+ 0x36f9: 0x0080, 0x36fa: 0x0080, 0x36fb: 0x0080,
+ 0x36fc: 0x0080, 0x36fd: 0x0080, 0x36fe: 0x0080, 0x36ff: 0x0080,
// Block 0xdc, offset 0x3700
0x3700: 0x00c0, 0x3701: 0x00c0, 0x3702: 0x00c0, 0x3703: 0x00c0, 0x3704: 0x00c0, 0x3705: 0x00c0,
0x3706: 0x00c0, 0x3707: 0x00c0, 0x3708: 0x00c0, 0x3709: 0x00c0, 0x370a: 0x00c0, 0x370b: 0x00c0,
0x370c: 0x00c0, 0x370d: 0x00c0, 0x370e: 0x00c0, 0x370f: 0x00c0, 0x3710: 0x00c0, 0x3711: 0x00c0,
- 0x3712: 0x00c0, 0x3713: 0x00c0, 0x3714: 0x00c0, 0x3715: 0x00c0, 0x3716: 0x00c0, 0x3717: 0x00c0,
- 0x3718: 0x00c0, 0x3719: 0x00c0, 0x371a: 0x00c0, 0x371b: 0x00c0, 0x371c: 0x00c0, 0x371d: 0x00c0,
- 0x371e: 0x00c0, 0x371f: 0x00c0, 0x3720: 0x00c0, 0x3721: 0x00c0, 0x3722: 0x00c0, 0x3723: 0x00c0,
+ 0x3712: 0x00c0, 0x3713: 0x00c0, 0x3714: 0x00c0, 0x3715: 0x00c0,
+ 0x3718: 0x0080, 0x3719: 0x0080, 0x371a: 0x0080, 0x371b: 0x0080, 0x371c: 0x0080, 0x371d: 0x0080,
+ 0x371e: 0x0080, 0x371f: 0x0080, 0x3720: 0x00c0, 0x3721: 0x00c0, 0x3722: 0x00c0, 0x3723: 0x00c0,
0x3724: 0x00c0, 0x3725: 0x00c0, 0x3726: 0x00c0, 0x3727: 0x00c0, 0x3728: 0x00c0, 0x3729: 0x00c0,
0x372a: 0x00c0, 0x372b: 0x00c0, 0x372c: 0x00c0, 0x372d: 0x00c0, 0x372e: 0x00c0, 0x372f: 0x00c0,
- 0x3730: 0x00c0, 0x3731: 0x00c0, 0x3732: 0x00c0, 0x3733: 0x00c0, 0x3734: 0x00c0, 0x3735: 0x00c0,
- 0x3739: 0x0080, 0x373a: 0x0080, 0x373b: 0x0080,
+ 0x3730: 0x00c0, 0x3731: 0x00c0, 0x3732: 0x00c0,
+ 0x3738: 0x0080, 0x3739: 0x0080, 0x373a: 0x0080, 0x373b: 0x0080,
0x373c: 0x0080, 0x373d: 0x0080, 0x373e: 0x0080, 0x373f: 0x0080,
// Block 0xdd, offset 0x3740
- 0x3740: 0x00c0, 0x3741: 0x00c0, 0x3742: 0x00c0, 0x3743: 0x00c0, 0x3744: 0x00c0, 0x3745: 0x00c0,
- 0x3746: 0x00c0, 0x3747: 0x00c0, 0x3748: 0x00c0, 0x3749: 0x00c0, 0x374a: 0x00c0, 0x374b: 0x00c0,
- 0x374c: 0x00c0, 0x374d: 0x00c0, 0x374e: 0x00c0, 0x374f: 0x00c0, 0x3750: 0x00c0, 0x3751: 0x00c0,
- 0x3752: 0x00c0, 0x3753: 0x00c0, 0x3754: 0x00c0, 0x3755: 0x00c0,
- 0x3758: 0x0080, 0x3759: 0x0080, 0x375a: 0x0080, 0x375b: 0x0080, 0x375c: 0x0080, 0x375d: 0x0080,
- 0x375e: 0x0080, 0x375f: 0x0080, 0x3760: 0x00c0, 0x3761: 0x00c0, 0x3762: 0x00c0, 0x3763: 0x00c0,
- 0x3764: 0x00c0, 0x3765: 0x00c0, 0x3766: 0x00c0, 0x3767: 0x00c0, 0x3768: 0x00c0, 0x3769: 0x00c0,
- 0x376a: 0x00c0, 0x376b: 0x00c0, 0x376c: 0x00c0, 0x376d: 0x00c0, 0x376e: 0x00c0, 0x376f: 0x00c0,
- 0x3770: 0x00c0, 0x3771: 0x00c0, 0x3772: 0x00c0,
- 0x3778: 0x0080, 0x3779: 0x0080, 0x377a: 0x0080, 0x377b: 0x0080,
- 0x377c: 0x0080, 0x377d: 0x0080, 0x377e: 0x0080, 0x377f: 0x0080,
+ 0x3740: 0x00c2, 0x3741: 0x00c4, 0x3742: 0x00c2, 0x3743: 0x00c4, 0x3744: 0x00c4, 0x3745: 0x00c4,
+ 0x3746: 0x00c2, 0x3747: 0x00c2, 0x3748: 0x00c2, 0x3749: 0x00c4, 0x374a: 0x00c2, 0x374b: 0x00c2,
+ 0x374c: 0x00c4, 0x374d: 0x00c2, 0x374e: 0x00c4, 0x374f: 0x00c4, 0x3750: 0x00c2, 0x3751: 0x00c4,
+ 0x3759: 0x0080, 0x375a: 0x0080, 0x375b: 0x0080, 0x375c: 0x0080,
+ 0x3769: 0x0084,
+ 0x376a: 0x0084, 0x376b: 0x0084, 0x376c: 0x0084, 0x376d: 0x0082, 0x376e: 0x0082, 0x376f: 0x0080,
// Block 0xde, offset 0x3780
- 0x3780: 0x00c2, 0x3781: 0x00c4, 0x3782: 0x00c2, 0x3783: 0x00c4, 0x3784: 0x00c4, 0x3785: 0x00c4,
- 0x3786: 0x00c2, 0x3787: 0x00c2, 0x3788: 0x00c2, 0x3789: 0x00c4, 0x378a: 0x00c2, 0x378b: 0x00c2,
- 0x378c: 0x00c4, 0x378d: 0x00c2, 0x378e: 0x00c4, 0x378f: 0x00c4, 0x3790: 0x00c2, 0x3791: 0x00c4,
- 0x3799: 0x0080, 0x379a: 0x0080, 0x379b: 0x0080, 0x379c: 0x0080,
- 0x37a9: 0x0084,
- 0x37aa: 0x0084, 0x37ab: 0x0084, 0x37ac: 0x0084, 0x37ad: 0x0082, 0x37ae: 0x0082, 0x37af: 0x0080,
+ 0x3780: 0x00c0, 0x3781: 0x00c0, 0x3782: 0x00c0, 0x3783: 0x00c0, 0x3784: 0x00c0, 0x3785: 0x00c0,
+ 0x3786: 0x00c0, 0x3787: 0x00c0, 0x3788: 0x00c0, 0x3789: 0x00c0, 0x378a: 0x00c0, 0x378b: 0x00c0,
+ 0x378c: 0x00c0, 0x378d: 0x00c0, 0x378e: 0x00c0, 0x378f: 0x00c0, 0x3790: 0x00c0, 0x3791: 0x00c0,
+ 0x3792: 0x00c0, 0x3793: 0x00c0, 0x3794: 0x00c0, 0x3795: 0x00c0, 0x3796: 0x00c0, 0x3797: 0x00c0,
+ 0x3798: 0x00c0, 0x3799: 0x00c0, 0x379a: 0x00c0, 0x379b: 0x00c0, 0x379c: 0x00c0, 0x379d: 0x00c0,
+ 0x379e: 0x00c0, 0x379f: 0x00c0, 0x37a0: 0x00c0, 0x37a1: 0x00c0, 0x37a2: 0x00c0, 0x37a3: 0x00c0,
+ 0x37a4: 0x00c0, 0x37a5: 0x00c0, 0x37a6: 0x00c0, 0x37a7: 0x00c0, 0x37a8: 0x00c0, 0x37a9: 0x00c0,
+ 0x37aa: 0x00c0, 0x37ab: 0x00c0, 0x37ac: 0x00c0, 0x37ad: 0x00c0, 0x37ae: 0x00c0, 0x37af: 0x00c0,
+ 0x37b0: 0x00c0, 0x37b1: 0x00c0, 0x37b2: 0x00c0,
// Block 0xdf, offset 0x37c0
0x37c0: 0x00c0, 0x37c1: 0x00c0, 0x37c2: 0x00c0, 0x37c3: 0x00c0, 0x37c4: 0x00c0, 0x37c5: 0x00c0,
0x37c6: 0x00c0, 0x37c7: 0x00c0, 0x37c8: 0x00c0, 0x37c9: 0x00c0, 0x37ca: 0x00c0, 0x37cb: 0x00c0,
@@ -2636,378 +2645,388 @@ var derivedPropertiesValues = [20736]uint8{
0x37e4: 0x00c0, 0x37e5: 0x00c0, 0x37e6: 0x00c0, 0x37e7: 0x00c0, 0x37e8: 0x00c0, 0x37e9: 0x00c0,
0x37ea: 0x00c0, 0x37eb: 0x00c0, 0x37ec: 0x00c0, 0x37ed: 0x00c0, 0x37ee: 0x00c0, 0x37ef: 0x00c0,
0x37f0: 0x00c0, 0x37f1: 0x00c0, 0x37f2: 0x00c0,
+ 0x37fa: 0x0080, 0x37fb: 0x0080,
+ 0x37fc: 0x0080, 0x37fd: 0x0080, 0x37fe: 0x0080, 0x37ff: 0x0080,
// Block 0xe0, offset 0x3800
- 0x3800: 0x00c0, 0x3801: 0x00c0, 0x3802: 0x00c0, 0x3803: 0x00c0, 0x3804: 0x00c0, 0x3805: 0x00c0,
- 0x3806: 0x00c0, 0x3807: 0x00c0, 0x3808: 0x00c0, 0x3809: 0x00c0, 0x380a: 0x00c0, 0x380b: 0x00c0,
- 0x380c: 0x00c0, 0x380d: 0x00c0, 0x380e: 0x00c0, 0x380f: 0x00c0, 0x3810: 0x00c0, 0x3811: 0x00c0,
- 0x3812: 0x00c0, 0x3813: 0x00c0, 0x3814: 0x00c0, 0x3815: 0x00c0, 0x3816: 0x00c0, 0x3817: 0x00c0,
- 0x3818: 0x00c0, 0x3819: 0x00c0, 0x381a: 0x00c0, 0x381b: 0x00c0, 0x381c: 0x00c0, 0x381d: 0x00c0,
- 0x381e: 0x00c0, 0x381f: 0x00c0, 0x3820: 0x00c0, 0x3821: 0x00c0, 0x3822: 0x00c0, 0x3823: 0x00c0,
- 0x3824: 0x00c0, 0x3825: 0x00c0, 0x3826: 0x00c0, 0x3827: 0x00c0, 0x3828: 0x00c0, 0x3829: 0x00c0,
- 0x382a: 0x00c0, 0x382b: 0x00c0, 0x382c: 0x00c0, 0x382d: 0x00c0, 0x382e: 0x00c0, 0x382f: 0x00c0,
- 0x3830: 0x00c0, 0x3831: 0x00c0, 0x3832: 0x00c0,
- 0x383a: 0x0080, 0x383b: 0x0080,
- 0x383c: 0x0080, 0x383d: 0x0080, 0x383e: 0x0080, 0x383f: 0x0080,
+ 0x3820: 0x0080, 0x3821: 0x0080, 0x3822: 0x0080, 0x3823: 0x0080,
+ 0x3824: 0x0080, 0x3825: 0x0080, 0x3826: 0x0080, 0x3827: 0x0080, 0x3828: 0x0080, 0x3829: 0x0080,
+ 0x382a: 0x0080, 0x382b: 0x0080, 0x382c: 0x0080, 0x382d: 0x0080, 0x382e: 0x0080, 0x382f: 0x0080,
+ 0x3830: 0x0080, 0x3831: 0x0080, 0x3832: 0x0080, 0x3833: 0x0080, 0x3834: 0x0080, 0x3835: 0x0080,
+ 0x3836: 0x0080, 0x3837: 0x0080, 0x3838: 0x0080, 0x3839: 0x0080, 0x383a: 0x0080, 0x383b: 0x0080,
+ 0x383c: 0x0080, 0x383d: 0x0080, 0x383e: 0x0080,
// Block 0xe1, offset 0x3840
- 0x3860: 0x0080, 0x3861: 0x0080, 0x3862: 0x0080, 0x3863: 0x0080,
- 0x3864: 0x0080, 0x3865: 0x0080, 0x3866: 0x0080, 0x3867: 0x0080, 0x3868: 0x0080, 0x3869: 0x0080,
- 0x386a: 0x0080, 0x386b: 0x0080, 0x386c: 0x0080, 0x386d: 0x0080, 0x386e: 0x0080, 0x386f: 0x0080,
- 0x3870: 0x0080, 0x3871: 0x0080, 0x3872: 0x0080, 0x3873: 0x0080, 0x3874: 0x0080, 0x3875: 0x0080,
- 0x3876: 0x0080, 0x3877: 0x0080, 0x3878: 0x0080, 0x3879: 0x0080, 0x387a: 0x0080, 0x387b: 0x0080,
- 0x387c: 0x0080, 0x387d: 0x0080, 0x387e: 0x0080,
+ 0x3840: 0x00c0, 0x3841: 0x00c3, 0x3842: 0x00c0, 0x3843: 0x00c0, 0x3844: 0x00c0, 0x3845: 0x00c0,
+ 0x3846: 0x00c0, 0x3847: 0x00c0, 0x3848: 0x00c0, 0x3849: 0x00c0, 0x384a: 0x00c0, 0x384b: 0x00c0,
+ 0x384c: 0x00c0, 0x384d: 0x00c0, 0x384e: 0x00c0, 0x384f: 0x00c0, 0x3850: 0x00c0, 0x3851: 0x00c0,
+ 0x3852: 0x00c0, 0x3853: 0x00c0, 0x3854: 0x00c0, 0x3855: 0x00c0, 0x3856: 0x00c0, 0x3857: 0x00c0,
+ 0x3858: 0x00c0, 0x3859: 0x00c0, 0x385a: 0x00c0, 0x385b: 0x00c0, 0x385c: 0x00c0, 0x385d: 0x00c0,
+ 0x385e: 0x00c0, 0x385f: 0x00c0, 0x3860: 0x00c0, 0x3861: 0x00c0, 0x3862: 0x00c0, 0x3863: 0x00c0,
+ 0x3864: 0x00c0, 0x3865: 0x00c0, 0x3866: 0x00c0, 0x3867: 0x00c0, 0x3868: 0x00c0, 0x3869: 0x00c0,
+ 0x386a: 0x00c0, 0x386b: 0x00c0, 0x386c: 0x00c0, 0x386d: 0x00c0, 0x386e: 0x00c0, 0x386f: 0x00c0,
+ 0x3870: 0x00c0, 0x3871: 0x00c0, 0x3872: 0x00c0, 0x3873: 0x00c0, 0x3874: 0x00c0, 0x3875: 0x00c0,
+ 0x3876: 0x00c0, 0x3877: 0x00c0, 0x3878: 0x00c3, 0x3879: 0x00c3, 0x387a: 0x00c3, 0x387b: 0x00c3,
+ 0x387c: 0x00c3, 0x387d: 0x00c3, 0x387e: 0x00c3, 0x387f: 0x00c3,
// Block 0xe2, offset 0x3880
- 0x3880: 0x00c0, 0x3881: 0x00c3, 0x3882: 0x00c0, 0x3883: 0x00c0, 0x3884: 0x00c0, 0x3885: 0x00c0,
- 0x3886: 0x00c0, 0x3887: 0x00c0, 0x3888: 0x00c0, 0x3889: 0x00c0, 0x388a: 0x00c0, 0x388b: 0x00c0,
- 0x388c: 0x00c0, 0x388d: 0x00c0, 0x388e: 0x00c0, 0x388f: 0x00c0, 0x3890: 0x00c0, 0x3891: 0x00c0,
- 0x3892: 0x00c0, 0x3893: 0x00c0, 0x3894: 0x00c0, 0x3895: 0x00c0, 0x3896: 0x00c0, 0x3897: 0x00c0,
- 0x3898: 0x00c0, 0x3899: 0x00c0, 0x389a: 0x00c0, 0x389b: 0x00c0, 0x389c: 0x00c0, 0x389d: 0x00c0,
- 0x389e: 0x00c0, 0x389f: 0x00c0, 0x38a0: 0x00c0, 0x38a1: 0x00c0, 0x38a2: 0x00c0, 0x38a3: 0x00c0,
- 0x38a4: 0x00c0, 0x38a5: 0x00c0, 0x38a6: 0x00c0, 0x38a7: 0x00c0, 0x38a8: 0x00c0, 0x38a9: 0x00c0,
+ 0x3880: 0x00c3, 0x3881: 0x00c3, 0x3882: 0x00c3, 0x3883: 0x00c3, 0x3884: 0x00c3, 0x3885: 0x00c3,
+ 0x3886: 0x00c6, 0x3887: 0x0080, 0x3888: 0x0080, 0x3889: 0x0080, 0x388a: 0x0080, 0x388b: 0x0080,
+ 0x388c: 0x0080, 0x388d: 0x0080,
+ 0x3892: 0x0080, 0x3893: 0x0080, 0x3894: 0x0080, 0x3895: 0x0080, 0x3896: 0x0080, 0x3897: 0x0080,
+ 0x3898: 0x0080, 0x3899: 0x0080, 0x389a: 0x0080, 0x389b: 0x0080, 0x389c: 0x0080, 0x389d: 0x0080,
+ 0x389e: 0x0080, 0x389f: 0x0080, 0x38a0: 0x0080, 0x38a1: 0x0080, 0x38a2: 0x0080, 0x38a3: 0x0080,
+ 0x38a4: 0x0080, 0x38a5: 0x0080, 0x38a6: 0x00c0, 0x38a7: 0x00c0, 0x38a8: 0x00c0, 0x38a9: 0x00c0,
0x38aa: 0x00c0, 0x38ab: 0x00c0, 0x38ac: 0x00c0, 0x38ad: 0x00c0, 0x38ae: 0x00c0, 0x38af: 0x00c0,
- 0x38b0: 0x00c0, 0x38b1: 0x00c0, 0x38b2: 0x00c0, 0x38b3: 0x00c0, 0x38b4: 0x00c0, 0x38b5: 0x00c0,
- 0x38b6: 0x00c0, 0x38b7: 0x00c0, 0x38b8: 0x00c3, 0x38b9: 0x00c3, 0x38ba: 0x00c3, 0x38bb: 0x00c3,
- 0x38bc: 0x00c3, 0x38bd: 0x00c3, 0x38be: 0x00c3, 0x38bf: 0x00c3,
+ 0x38bf: 0x00c6,
// Block 0xe3, offset 0x38c0
- 0x38c0: 0x00c3, 0x38c1: 0x00c3, 0x38c2: 0x00c3, 0x38c3: 0x00c3, 0x38c4: 0x00c3, 0x38c5: 0x00c3,
- 0x38c6: 0x00c6, 0x38c7: 0x0080, 0x38c8: 0x0080, 0x38c9: 0x0080, 0x38ca: 0x0080, 0x38cb: 0x0080,
- 0x38cc: 0x0080, 0x38cd: 0x0080,
- 0x38d2: 0x0080, 0x38d3: 0x0080, 0x38d4: 0x0080, 0x38d5: 0x0080, 0x38d6: 0x0080, 0x38d7: 0x0080,
- 0x38d8: 0x0080, 0x38d9: 0x0080, 0x38da: 0x0080, 0x38db: 0x0080, 0x38dc: 0x0080, 0x38dd: 0x0080,
- 0x38de: 0x0080, 0x38df: 0x0080, 0x38e0: 0x0080, 0x38e1: 0x0080, 0x38e2: 0x0080, 0x38e3: 0x0080,
- 0x38e4: 0x0080, 0x38e5: 0x0080, 0x38e6: 0x00c0, 0x38e7: 0x00c0, 0x38e8: 0x00c0, 0x38e9: 0x00c0,
+ 0x38c0: 0x00c3, 0x38c1: 0x00c3, 0x38c2: 0x00c0, 0x38c3: 0x00c0, 0x38c4: 0x00c0, 0x38c5: 0x00c0,
+ 0x38c6: 0x00c0, 0x38c7: 0x00c0, 0x38c8: 0x00c0, 0x38c9: 0x00c0, 0x38ca: 0x00c0, 0x38cb: 0x00c0,
+ 0x38cc: 0x00c0, 0x38cd: 0x00c0, 0x38ce: 0x00c0, 0x38cf: 0x00c0, 0x38d0: 0x00c0, 0x38d1: 0x00c0,
+ 0x38d2: 0x00c0, 0x38d3: 0x00c0, 0x38d4: 0x00c0, 0x38d5: 0x00c0, 0x38d6: 0x00c0, 0x38d7: 0x00c0,
+ 0x38d8: 0x00c0, 0x38d9: 0x00c0, 0x38da: 0x00c0, 0x38db: 0x00c0, 0x38dc: 0x00c0, 0x38dd: 0x00c0,
+ 0x38de: 0x00c0, 0x38df: 0x00c0, 0x38e0: 0x00c0, 0x38e1: 0x00c0, 0x38e2: 0x00c0, 0x38e3: 0x00c0,
+ 0x38e4: 0x00c0, 0x38e5: 0x00c0, 0x38e6: 0x00c0, 0x38e7: 0x00c0, 0x38e8: 0x00c0, 0x38e9: 0x00c0,
0x38ea: 0x00c0, 0x38eb: 0x00c0, 0x38ec: 0x00c0, 0x38ed: 0x00c0, 0x38ee: 0x00c0, 0x38ef: 0x00c0,
- 0x38ff: 0x00c6,
+ 0x38f0: 0x00c0, 0x38f1: 0x00c0, 0x38f2: 0x00c0, 0x38f3: 0x00c3, 0x38f4: 0x00c3, 0x38f5: 0x00c3,
+ 0x38f6: 0x00c3, 0x38f7: 0x00c0, 0x38f8: 0x00c0, 0x38f9: 0x00c6, 0x38fa: 0x00c3, 0x38fb: 0x0080,
+ 0x38fc: 0x0080, 0x38fd: 0x0040, 0x38fe: 0x0080, 0x38ff: 0x0080,
// Block 0xe4, offset 0x3900
- 0x3900: 0x00c3, 0x3901: 0x00c3, 0x3902: 0x00c0, 0x3903: 0x00c0, 0x3904: 0x00c0, 0x3905: 0x00c0,
- 0x3906: 0x00c0, 0x3907: 0x00c0, 0x3908: 0x00c0, 0x3909: 0x00c0, 0x390a: 0x00c0, 0x390b: 0x00c0,
- 0x390c: 0x00c0, 0x390d: 0x00c0, 0x390e: 0x00c0, 0x390f: 0x00c0, 0x3910: 0x00c0, 0x3911: 0x00c0,
+ 0x3900: 0x0080, 0x3901: 0x0080,
+ 0x3910: 0x00c0, 0x3911: 0x00c0,
0x3912: 0x00c0, 0x3913: 0x00c0, 0x3914: 0x00c0, 0x3915: 0x00c0, 0x3916: 0x00c0, 0x3917: 0x00c0,
0x3918: 0x00c0, 0x3919: 0x00c0, 0x391a: 0x00c0, 0x391b: 0x00c0, 0x391c: 0x00c0, 0x391d: 0x00c0,
0x391e: 0x00c0, 0x391f: 0x00c0, 0x3920: 0x00c0, 0x3921: 0x00c0, 0x3922: 0x00c0, 0x3923: 0x00c0,
- 0x3924: 0x00c0, 0x3925: 0x00c0, 0x3926: 0x00c0, 0x3927: 0x00c0, 0x3928: 0x00c0, 0x3929: 0x00c0,
- 0x392a: 0x00c0, 0x392b: 0x00c0, 0x392c: 0x00c0, 0x392d: 0x00c0, 0x392e: 0x00c0, 0x392f: 0x00c0,
- 0x3930: 0x00c0, 0x3931: 0x00c0, 0x3932: 0x00c0, 0x3933: 0x00c3, 0x3934: 0x00c3, 0x3935: 0x00c3,
- 0x3936: 0x00c3, 0x3937: 0x00c0, 0x3938: 0x00c0, 0x3939: 0x00c6, 0x393a: 0x00c3, 0x393b: 0x0080,
- 0x393c: 0x0080, 0x393d: 0x0040, 0x393e: 0x0080, 0x393f: 0x0080,
+ 0x3924: 0x00c0, 0x3925: 0x00c0, 0x3926: 0x00c0, 0x3927: 0x00c0, 0x3928: 0x00c0,
+ 0x3930: 0x00c0, 0x3931: 0x00c0, 0x3932: 0x00c0, 0x3933: 0x00c0, 0x3934: 0x00c0, 0x3935: 0x00c0,
+ 0x3936: 0x00c0, 0x3937: 0x00c0, 0x3938: 0x00c0, 0x3939: 0x00c0,
// Block 0xe5, offset 0x3940
- 0x3940: 0x0080, 0x3941: 0x0080,
- 0x3950: 0x00c0, 0x3951: 0x00c0,
+ 0x3940: 0x00c3, 0x3941: 0x00c3, 0x3942: 0x00c3, 0x3943: 0x00c0, 0x3944: 0x00c0, 0x3945: 0x00c0,
+ 0x3946: 0x00c0, 0x3947: 0x00c0, 0x3948: 0x00c0, 0x3949: 0x00c0, 0x394a: 0x00c0, 0x394b: 0x00c0,
+ 0x394c: 0x00c0, 0x394d: 0x00c0, 0x394e: 0x00c0, 0x394f: 0x00c0, 0x3950: 0x00c0, 0x3951: 0x00c0,
0x3952: 0x00c0, 0x3953: 0x00c0, 0x3954: 0x00c0, 0x3955: 0x00c0, 0x3956: 0x00c0, 0x3957: 0x00c0,
0x3958: 0x00c0, 0x3959: 0x00c0, 0x395a: 0x00c0, 0x395b: 0x00c0, 0x395c: 0x00c0, 0x395d: 0x00c0,
0x395e: 0x00c0, 0x395f: 0x00c0, 0x3960: 0x00c0, 0x3961: 0x00c0, 0x3962: 0x00c0, 0x3963: 0x00c0,
- 0x3964: 0x00c0, 0x3965: 0x00c0, 0x3966: 0x00c0, 0x3967: 0x00c0, 0x3968: 0x00c0,
- 0x3970: 0x00c0, 0x3971: 0x00c0, 0x3972: 0x00c0, 0x3973: 0x00c0, 0x3974: 0x00c0, 0x3975: 0x00c0,
- 0x3976: 0x00c0, 0x3977: 0x00c0, 0x3978: 0x00c0, 0x3979: 0x00c0,
+ 0x3964: 0x00c0, 0x3965: 0x00c0, 0x3966: 0x00c0, 0x3967: 0x00c3, 0x3968: 0x00c3, 0x3969: 0x00c3,
+ 0x396a: 0x00c3, 0x396b: 0x00c3, 0x396c: 0x00c0, 0x396d: 0x00c3, 0x396e: 0x00c3, 0x396f: 0x00c3,
+ 0x3970: 0x00c3, 0x3971: 0x00c3, 0x3972: 0x00c3, 0x3973: 0x00c6, 0x3974: 0x00c6,
+ 0x3976: 0x00c0, 0x3977: 0x00c0, 0x3978: 0x00c0, 0x3979: 0x00c0, 0x397a: 0x00c0, 0x397b: 0x00c0,
+ 0x397c: 0x00c0, 0x397d: 0x00c0, 0x397e: 0x00c0, 0x397f: 0x00c0,
// Block 0xe6, offset 0x3980
- 0x3980: 0x00c3, 0x3981: 0x00c3, 0x3982: 0x00c3, 0x3983: 0x00c0, 0x3984: 0x00c0, 0x3985: 0x00c0,
- 0x3986: 0x00c0, 0x3987: 0x00c0, 0x3988: 0x00c0, 0x3989: 0x00c0, 0x398a: 0x00c0, 0x398b: 0x00c0,
- 0x398c: 0x00c0, 0x398d: 0x00c0, 0x398e: 0x00c0, 0x398f: 0x00c0, 0x3990: 0x00c0, 0x3991: 0x00c0,
+ 0x3980: 0x0080, 0x3981: 0x0080, 0x3982: 0x0080, 0x3983: 0x0080,
+ 0x3990: 0x00c0, 0x3991: 0x00c0,
0x3992: 0x00c0, 0x3993: 0x00c0, 0x3994: 0x00c0, 0x3995: 0x00c0, 0x3996: 0x00c0, 0x3997: 0x00c0,
0x3998: 0x00c0, 0x3999: 0x00c0, 0x399a: 0x00c0, 0x399b: 0x00c0, 0x399c: 0x00c0, 0x399d: 0x00c0,
0x399e: 0x00c0, 0x399f: 0x00c0, 0x39a0: 0x00c0, 0x39a1: 0x00c0, 0x39a2: 0x00c0, 0x39a3: 0x00c0,
- 0x39a4: 0x00c0, 0x39a5: 0x00c0, 0x39a6: 0x00c0, 0x39a7: 0x00c3, 0x39a8: 0x00c3, 0x39a9: 0x00c3,
- 0x39aa: 0x00c3, 0x39ab: 0x00c3, 0x39ac: 0x00c0, 0x39ad: 0x00c3, 0x39ae: 0x00c3, 0x39af: 0x00c3,
- 0x39b0: 0x00c3, 0x39b1: 0x00c3, 0x39b2: 0x00c3, 0x39b3: 0x00c6, 0x39b4: 0x00c6,
- 0x39b6: 0x00c0, 0x39b7: 0x00c0, 0x39b8: 0x00c0, 0x39b9: 0x00c0, 0x39ba: 0x00c0, 0x39bb: 0x00c0,
- 0x39bc: 0x00c0, 0x39bd: 0x00c0, 0x39be: 0x00c0, 0x39bf: 0x00c0,
+ 0x39a4: 0x00c0, 0x39a5: 0x00c0, 0x39a6: 0x00c0, 0x39a7: 0x00c0, 0x39a8: 0x00c0, 0x39a9: 0x00c0,
+ 0x39aa: 0x00c0, 0x39ab: 0x00c0, 0x39ac: 0x00c0, 0x39ad: 0x00c0, 0x39ae: 0x00c0, 0x39af: 0x00c0,
+ 0x39b0: 0x00c0, 0x39b1: 0x00c0, 0x39b2: 0x00c0, 0x39b3: 0x00c3, 0x39b4: 0x0080, 0x39b5: 0x0080,
+ 0x39b6: 0x00c0,
// Block 0xe7, offset 0x39c0
- 0x39c0: 0x0080, 0x39c1: 0x0080, 0x39c2: 0x0080, 0x39c3: 0x0080,
- 0x39d0: 0x00c0, 0x39d1: 0x00c0,
+ 0x39c0: 0x00c3, 0x39c1: 0x00c3, 0x39c2: 0x00c0, 0x39c3: 0x00c0, 0x39c4: 0x00c0, 0x39c5: 0x00c0,
+ 0x39c6: 0x00c0, 0x39c7: 0x00c0, 0x39c8: 0x00c0, 0x39c9: 0x00c0, 0x39ca: 0x00c0, 0x39cb: 0x00c0,
+ 0x39cc: 0x00c0, 0x39cd: 0x00c0, 0x39ce: 0x00c0, 0x39cf: 0x00c0, 0x39d0: 0x00c0, 0x39d1: 0x00c0,
0x39d2: 0x00c0, 0x39d3: 0x00c0, 0x39d4: 0x00c0, 0x39d5: 0x00c0, 0x39d6: 0x00c0, 0x39d7: 0x00c0,
0x39d8: 0x00c0, 0x39d9: 0x00c0, 0x39da: 0x00c0, 0x39db: 0x00c0, 0x39dc: 0x00c0, 0x39dd: 0x00c0,
0x39de: 0x00c0, 0x39df: 0x00c0, 0x39e0: 0x00c0, 0x39e1: 0x00c0, 0x39e2: 0x00c0, 0x39e3: 0x00c0,
0x39e4: 0x00c0, 0x39e5: 0x00c0, 0x39e6: 0x00c0, 0x39e7: 0x00c0, 0x39e8: 0x00c0, 0x39e9: 0x00c0,
0x39ea: 0x00c0, 0x39eb: 0x00c0, 0x39ec: 0x00c0, 0x39ed: 0x00c0, 0x39ee: 0x00c0, 0x39ef: 0x00c0,
- 0x39f0: 0x00c0, 0x39f1: 0x00c0, 0x39f2: 0x00c0, 0x39f3: 0x00c3, 0x39f4: 0x0080, 0x39f5: 0x0080,
- 0x39f6: 0x00c0,
+ 0x39f0: 0x00c0, 0x39f1: 0x00c0, 0x39f2: 0x00c0, 0x39f3: 0x00c0, 0x39f4: 0x00c0, 0x39f5: 0x00c0,
+ 0x39f6: 0x00c3, 0x39f7: 0x00c3, 0x39f8: 0x00c3, 0x39f9: 0x00c3, 0x39fa: 0x00c3, 0x39fb: 0x00c3,
+ 0x39fc: 0x00c3, 0x39fd: 0x00c3, 0x39fe: 0x00c3, 0x39ff: 0x00c0,
// Block 0xe8, offset 0x3a00
- 0x3a00: 0x00c3, 0x3a01: 0x00c3, 0x3a02: 0x00c0, 0x3a03: 0x00c0, 0x3a04: 0x00c0, 0x3a05: 0x00c0,
- 0x3a06: 0x00c0, 0x3a07: 0x00c0, 0x3a08: 0x00c0, 0x3a09: 0x00c0, 0x3a0a: 0x00c0, 0x3a0b: 0x00c0,
- 0x3a0c: 0x00c0, 0x3a0d: 0x00c0, 0x3a0e: 0x00c0, 0x3a0f: 0x00c0, 0x3a10: 0x00c0, 0x3a11: 0x00c0,
+ 0x3a00: 0x00c5, 0x3a01: 0x00c0, 0x3a02: 0x00c0, 0x3a03: 0x00c0, 0x3a04: 0x00c0, 0x3a05: 0x0080,
+ 0x3a06: 0x0080, 0x3a07: 0x0080, 0x3a08: 0x0080, 0x3a09: 0x0080, 0x3a0a: 0x00c3, 0x3a0b: 0x00c3,
+ 0x3a0c: 0x00c3, 0x3a0d: 0x0080, 0x3a10: 0x00c0, 0x3a11: 0x00c0,
0x3a12: 0x00c0, 0x3a13: 0x00c0, 0x3a14: 0x00c0, 0x3a15: 0x00c0, 0x3a16: 0x00c0, 0x3a17: 0x00c0,
- 0x3a18: 0x00c0, 0x3a19: 0x00c0, 0x3a1a: 0x00c0, 0x3a1b: 0x00c0, 0x3a1c: 0x00c0, 0x3a1d: 0x00c0,
- 0x3a1e: 0x00c0, 0x3a1f: 0x00c0, 0x3a20: 0x00c0, 0x3a21: 0x00c0, 0x3a22: 0x00c0, 0x3a23: 0x00c0,
- 0x3a24: 0x00c0, 0x3a25: 0x00c0, 0x3a26: 0x00c0, 0x3a27: 0x00c0, 0x3a28: 0x00c0, 0x3a29: 0x00c0,
- 0x3a2a: 0x00c0, 0x3a2b: 0x00c0, 0x3a2c: 0x00c0, 0x3a2d: 0x00c0, 0x3a2e: 0x00c0, 0x3a2f: 0x00c0,
- 0x3a30: 0x00c0, 0x3a31: 0x00c0, 0x3a32: 0x00c0, 0x3a33: 0x00c0, 0x3a34: 0x00c0, 0x3a35: 0x00c0,
- 0x3a36: 0x00c3, 0x3a37: 0x00c3, 0x3a38: 0x00c3, 0x3a39: 0x00c3, 0x3a3a: 0x00c3, 0x3a3b: 0x00c3,
- 0x3a3c: 0x00c3, 0x3a3d: 0x00c3, 0x3a3e: 0x00c3, 0x3a3f: 0x00c0,
+ 0x3a18: 0x00c0, 0x3a19: 0x00c0, 0x3a1a: 0x00c0, 0x3a1b: 0x0080, 0x3a1c: 0x00c0, 0x3a1d: 0x0080,
+ 0x3a1e: 0x0080, 0x3a1f: 0x0080, 0x3a21: 0x0080, 0x3a22: 0x0080, 0x3a23: 0x0080,
+ 0x3a24: 0x0080, 0x3a25: 0x0080, 0x3a26: 0x0080, 0x3a27: 0x0080, 0x3a28: 0x0080, 0x3a29: 0x0080,
+ 0x3a2a: 0x0080, 0x3a2b: 0x0080, 0x3a2c: 0x0080, 0x3a2d: 0x0080, 0x3a2e: 0x0080, 0x3a2f: 0x0080,
+ 0x3a30: 0x0080, 0x3a31: 0x0080, 0x3a32: 0x0080, 0x3a33: 0x0080, 0x3a34: 0x0080,
// Block 0xe9, offset 0x3a40
- 0x3a40: 0x00c5, 0x3a41: 0x00c0, 0x3a42: 0x00c0, 0x3a43: 0x00c0, 0x3a44: 0x00c0, 0x3a45: 0x0080,
- 0x3a46: 0x0080, 0x3a47: 0x0080, 0x3a48: 0x0080, 0x3a49: 0x0080, 0x3a4a: 0x00c3, 0x3a4b: 0x00c3,
- 0x3a4c: 0x00c3, 0x3a4d: 0x0080, 0x3a50: 0x00c0, 0x3a51: 0x00c0,
- 0x3a52: 0x00c0, 0x3a53: 0x00c0, 0x3a54: 0x00c0, 0x3a55: 0x00c0, 0x3a56: 0x00c0, 0x3a57: 0x00c0,
- 0x3a58: 0x00c0, 0x3a59: 0x00c0, 0x3a5a: 0x00c0, 0x3a5b: 0x0080, 0x3a5c: 0x00c0, 0x3a5d: 0x0080,
- 0x3a5e: 0x0080, 0x3a5f: 0x0080, 0x3a61: 0x0080, 0x3a62: 0x0080, 0x3a63: 0x0080,
- 0x3a64: 0x0080, 0x3a65: 0x0080, 0x3a66: 0x0080, 0x3a67: 0x0080, 0x3a68: 0x0080, 0x3a69: 0x0080,
- 0x3a6a: 0x0080, 0x3a6b: 0x0080, 0x3a6c: 0x0080, 0x3a6d: 0x0080, 0x3a6e: 0x0080, 0x3a6f: 0x0080,
- 0x3a70: 0x0080, 0x3a71: 0x0080, 0x3a72: 0x0080, 0x3a73: 0x0080, 0x3a74: 0x0080,
+ 0x3a40: 0x00c0, 0x3a41: 0x00c0, 0x3a42: 0x00c0, 0x3a43: 0x00c0, 0x3a44: 0x00c0, 0x3a45: 0x00c0,
+ 0x3a46: 0x00c0, 0x3a47: 0x00c0, 0x3a48: 0x00c0, 0x3a49: 0x00c0, 0x3a4a: 0x00c0, 0x3a4b: 0x00c0,
+ 0x3a4c: 0x00c0, 0x3a4d: 0x00c0, 0x3a4e: 0x00c0, 0x3a4f: 0x00c0, 0x3a50: 0x00c0, 0x3a51: 0x00c0,
+ 0x3a53: 0x00c0, 0x3a54: 0x00c0, 0x3a55: 0x00c0, 0x3a56: 0x00c0, 0x3a57: 0x00c0,
+ 0x3a58: 0x00c0, 0x3a59: 0x00c0, 0x3a5a: 0x00c0, 0x3a5b: 0x00c0, 0x3a5c: 0x00c0, 0x3a5d: 0x00c0,
+ 0x3a5e: 0x00c0, 0x3a5f: 0x00c0, 0x3a60: 0x00c0, 0x3a61: 0x00c0, 0x3a62: 0x00c0, 0x3a63: 0x00c0,
+ 0x3a64: 0x00c0, 0x3a65: 0x00c0, 0x3a66: 0x00c0, 0x3a67: 0x00c0, 0x3a68: 0x00c0, 0x3a69: 0x00c0,
+ 0x3a6a: 0x00c0, 0x3a6b: 0x00c0, 0x3a6c: 0x00c0, 0x3a6d: 0x00c0, 0x3a6e: 0x00c0, 0x3a6f: 0x00c3,
+ 0x3a70: 0x00c3, 0x3a71: 0x00c3, 0x3a72: 0x00c0, 0x3a73: 0x00c0, 0x3a74: 0x00c3, 0x3a75: 0x00c5,
+ 0x3a76: 0x00c3, 0x3a77: 0x00c3, 0x3a78: 0x0080, 0x3a79: 0x0080, 0x3a7a: 0x0080, 0x3a7b: 0x0080,
+ 0x3a7c: 0x0080, 0x3a7d: 0x0080, 0x3a7e: 0x00c3,
// Block 0xea, offset 0x3a80
0x3a80: 0x00c0, 0x3a81: 0x00c0, 0x3a82: 0x00c0, 0x3a83: 0x00c0, 0x3a84: 0x00c0, 0x3a85: 0x00c0,
- 0x3a86: 0x00c0, 0x3a87: 0x00c0, 0x3a88: 0x00c0, 0x3a89: 0x00c0, 0x3a8a: 0x00c0, 0x3a8b: 0x00c0,
- 0x3a8c: 0x00c0, 0x3a8d: 0x00c0, 0x3a8e: 0x00c0, 0x3a8f: 0x00c0, 0x3a90: 0x00c0, 0x3a91: 0x00c0,
- 0x3a93: 0x00c0, 0x3a94: 0x00c0, 0x3a95: 0x00c0, 0x3a96: 0x00c0, 0x3a97: 0x00c0,
+ 0x3a86: 0x00c0, 0x3a88: 0x00c0, 0x3a8a: 0x00c0, 0x3a8b: 0x00c0,
+ 0x3a8c: 0x00c0, 0x3a8d: 0x00c0, 0x3a8f: 0x00c0, 0x3a90: 0x00c0, 0x3a91: 0x00c0,
+ 0x3a92: 0x00c0, 0x3a93: 0x00c0, 0x3a94: 0x00c0, 0x3a95: 0x00c0, 0x3a96: 0x00c0, 0x3a97: 0x00c0,
0x3a98: 0x00c0, 0x3a99: 0x00c0, 0x3a9a: 0x00c0, 0x3a9b: 0x00c0, 0x3a9c: 0x00c0, 0x3a9d: 0x00c0,
- 0x3a9e: 0x00c0, 0x3a9f: 0x00c0, 0x3aa0: 0x00c0, 0x3aa1: 0x00c0, 0x3aa2: 0x00c0, 0x3aa3: 0x00c0,
- 0x3aa4: 0x00c0, 0x3aa5: 0x00c0, 0x3aa6: 0x00c0, 0x3aa7: 0x00c0, 0x3aa8: 0x00c0, 0x3aa9: 0x00c0,
- 0x3aaa: 0x00c0, 0x3aab: 0x00c0, 0x3aac: 0x00c0, 0x3aad: 0x00c0, 0x3aae: 0x00c0, 0x3aaf: 0x00c3,
- 0x3ab0: 0x00c3, 0x3ab1: 0x00c3, 0x3ab2: 0x00c0, 0x3ab3: 0x00c0, 0x3ab4: 0x00c3, 0x3ab5: 0x00c5,
- 0x3ab6: 0x00c3, 0x3ab7: 0x00c3, 0x3ab8: 0x0080, 0x3ab9: 0x0080, 0x3aba: 0x0080, 0x3abb: 0x0080,
- 0x3abc: 0x0080, 0x3abd: 0x0080, 0x3abe: 0x00c3,
+ 0x3a9f: 0x00c0, 0x3aa0: 0x00c0, 0x3aa1: 0x00c0, 0x3aa2: 0x00c0, 0x3aa3: 0x00c0,
+ 0x3aa4: 0x00c0, 0x3aa5: 0x00c0, 0x3aa6: 0x00c0, 0x3aa7: 0x00c0, 0x3aa8: 0x00c0, 0x3aa9: 0x0080,
+ 0x3ab0: 0x00c0, 0x3ab1: 0x00c0, 0x3ab2: 0x00c0, 0x3ab3: 0x00c0, 0x3ab4: 0x00c0, 0x3ab5: 0x00c0,
+ 0x3ab6: 0x00c0, 0x3ab7: 0x00c0, 0x3ab8: 0x00c0, 0x3ab9: 0x00c0, 0x3aba: 0x00c0, 0x3abb: 0x00c0,
+ 0x3abc: 0x00c0, 0x3abd: 0x00c0, 0x3abe: 0x00c0, 0x3abf: 0x00c0,
// Block 0xeb, offset 0x3ac0
0x3ac0: 0x00c0, 0x3ac1: 0x00c0, 0x3ac2: 0x00c0, 0x3ac3: 0x00c0, 0x3ac4: 0x00c0, 0x3ac5: 0x00c0,
- 0x3ac6: 0x00c0, 0x3ac8: 0x00c0, 0x3aca: 0x00c0, 0x3acb: 0x00c0,
- 0x3acc: 0x00c0, 0x3acd: 0x00c0, 0x3acf: 0x00c0, 0x3ad0: 0x00c0, 0x3ad1: 0x00c0,
+ 0x3ac6: 0x00c0, 0x3ac7: 0x00c0, 0x3ac8: 0x00c0, 0x3ac9: 0x00c0, 0x3aca: 0x00c0, 0x3acb: 0x00c0,
+ 0x3acc: 0x00c0, 0x3acd: 0x00c0, 0x3ace: 0x00c0, 0x3acf: 0x00c0, 0x3ad0: 0x00c0, 0x3ad1: 0x00c0,
0x3ad2: 0x00c0, 0x3ad3: 0x00c0, 0x3ad4: 0x00c0, 0x3ad5: 0x00c0, 0x3ad6: 0x00c0, 0x3ad7: 0x00c0,
0x3ad8: 0x00c0, 0x3ad9: 0x00c0, 0x3ada: 0x00c0, 0x3adb: 0x00c0, 0x3adc: 0x00c0, 0x3add: 0x00c0,
- 0x3adf: 0x00c0, 0x3ae0: 0x00c0, 0x3ae1: 0x00c0, 0x3ae2: 0x00c0, 0x3ae3: 0x00c0,
- 0x3ae4: 0x00c0, 0x3ae5: 0x00c0, 0x3ae6: 0x00c0, 0x3ae7: 0x00c0, 0x3ae8: 0x00c0, 0x3ae9: 0x0080,
+ 0x3ade: 0x00c0, 0x3adf: 0x00c3, 0x3ae0: 0x00c0, 0x3ae1: 0x00c0, 0x3ae2: 0x00c0, 0x3ae3: 0x00c3,
+ 0x3ae4: 0x00c3, 0x3ae5: 0x00c3, 0x3ae6: 0x00c3, 0x3ae7: 0x00c3, 0x3ae8: 0x00c3, 0x3ae9: 0x00c3,
+ 0x3aea: 0x00c6,
0x3af0: 0x00c0, 0x3af1: 0x00c0, 0x3af2: 0x00c0, 0x3af3: 0x00c0, 0x3af4: 0x00c0, 0x3af5: 0x00c0,
- 0x3af6: 0x00c0, 0x3af7: 0x00c0, 0x3af8: 0x00c0, 0x3af9: 0x00c0, 0x3afa: 0x00c0, 0x3afb: 0x00c0,
- 0x3afc: 0x00c0, 0x3afd: 0x00c0, 0x3afe: 0x00c0, 0x3aff: 0x00c0,
+ 0x3af6: 0x00c0, 0x3af7: 0x00c0, 0x3af8: 0x00c0, 0x3af9: 0x00c0,
// Block 0xec, offset 0x3b00
- 0x3b00: 0x00c0, 0x3b01: 0x00c0, 0x3b02: 0x00c0, 0x3b03: 0x00c0, 0x3b04: 0x00c0, 0x3b05: 0x00c0,
+ 0x3b00: 0x00c3, 0x3b01: 0x00c3, 0x3b02: 0x00c0, 0x3b03: 0x00c0, 0x3b05: 0x00c0,
0x3b06: 0x00c0, 0x3b07: 0x00c0, 0x3b08: 0x00c0, 0x3b09: 0x00c0, 0x3b0a: 0x00c0, 0x3b0b: 0x00c0,
- 0x3b0c: 0x00c0, 0x3b0d: 0x00c0, 0x3b0e: 0x00c0, 0x3b0f: 0x00c0, 0x3b10: 0x00c0, 0x3b11: 0x00c0,
- 0x3b12: 0x00c0, 0x3b13: 0x00c0, 0x3b14: 0x00c0, 0x3b15: 0x00c0, 0x3b16: 0x00c0, 0x3b17: 0x00c0,
+ 0x3b0c: 0x00c0, 0x3b0f: 0x00c0, 0x3b10: 0x00c0,
+ 0x3b13: 0x00c0, 0x3b14: 0x00c0, 0x3b15: 0x00c0, 0x3b16: 0x00c0, 0x3b17: 0x00c0,
0x3b18: 0x00c0, 0x3b19: 0x00c0, 0x3b1a: 0x00c0, 0x3b1b: 0x00c0, 0x3b1c: 0x00c0, 0x3b1d: 0x00c0,
- 0x3b1e: 0x00c0, 0x3b1f: 0x00c3, 0x3b20: 0x00c0, 0x3b21: 0x00c0, 0x3b22: 0x00c0, 0x3b23: 0x00c3,
- 0x3b24: 0x00c3, 0x3b25: 0x00c3, 0x3b26: 0x00c3, 0x3b27: 0x00c3, 0x3b28: 0x00c3, 0x3b29: 0x00c3,
- 0x3b2a: 0x00c6,
- 0x3b30: 0x00c0, 0x3b31: 0x00c0, 0x3b32: 0x00c0, 0x3b33: 0x00c0, 0x3b34: 0x00c0, 0x3b35: 0x00c0,
+ 0x3b1e: 0x00c0, 0x3b1f: 0x00c0, 0x3b20: 0x00c0, 0x3b21: 0x00c0, 0x3b22: 0x00c0, 0x3b23: 0x00c0,
+ 0x3b24: 0x00c0, 0x3b25: 0x00c0, 0x3b26: 0x00c0, 0x3b27: 0x00c0, 0x3b28: 0x00c0,
+ 0x3b2a: 0x00c0, 0x3b2b: 0x00c0, 0x3b2c: 0x00c0, 0x3b2d: 0x00c0, 0x3b2e: 0x00c0, 0x3b2f: 0x00c0,
+ 0x3b30: 0x00c0, 0x3b32: 0x00c0, 0x3b33: 0x00c0, 0x3b35: 0x00c0,
0x3b36: 0x00c0, 0x3b37: 0x00c0, 0x3b38: 0x00c0, 0x3b39: 0x00c0,
+ 0x3b3c: 0x00c3, 0x3b3d: 0x00c0, 0x3b3e: 0x00c0, 0x3b3f: 0x00c0,
// Block 0xed, offset 0x3b40
- 0x3b40: 0x00c3, 0x3b41: 0x00c3, 0x3b42: 0x00c0, 0x3b43: 0x00c0, 0x3b45: 0x00c0,
- 0x3b46: 0x00c0, 0x3b47: 0x00c0, 0x3b48: 0x00c0, 0x3b49: 0x00c0, 0x3b4a: 0x00c0, 0x3b4b: 0x00c0,
- 0x3b4c: 0x00c0, 0x3b4f: 0x00c0, 0x3b50: 0x00c0,
- 0x3b53: 0x00c0, 0x3b54: 0x00c0, 0x3b55: 0x00c0, 0x3b56: 0x00c0, 0x3b57: 0x00c0,
- 0x3b58: 0x00c0, 0x3b59: 0x00c0, 0x3b5a: 0x00c0, 0x3b5b: 0x00c0, 0x3b5c: 0x00c0, 0x3b5d: 0x00c0,
+ 0x3b40: 0x00c3, 0x3b41: 0x00c0, 0x3b42: 0x00c0, 0x3b43: 0x00c0, 0x3b44: 0x00c0,
+ 0x3b47: 0x00c0, 0x3b48: 0x00c0, 0x3b4b: 0x00c0,
+ 0x3b4c: 0x00c0, 0x3b4d: 0x00c5, 0x3b50: 0x00c0,
+ 0x3b57: 0x00c0,
+ 0x3b5d: 0x00c0,
0x3b5e: 0x00c0, 0x3b5f: 0x00c0, 0x3b60: 0x00c0, 0x3b61: 0x00c0, 0x3b62: 0x00c0, 0x3b63: 0x00c0,
- 0x3b64: 0x00c0, 0x3b65: 0x00c0, 0x3b66: 0x00c0, 0x3b67: 0x00c0, 0x3b68: 0x00c0,
- 0x3b6a: 0x00c0, 0x3b6b: 0x00c0, 0x3b6c: 0x00c0, 0x3b6d: 0x00c0, 0x3b6e: 0x00c0, 0x3b6f: 0x00c0,
- 0x3b70: 0x00c0, 0x3b72: 0x00c0, 0x3b73: 0x00c0, 0x3b75: 0x00c0,
- 0x3b76: 0x00c0, 0x3b77: 0x00c0, 0x3b78: 0x00c0, 0x3b79: 0x00c0,
- 0x3b7c: 0x00c3, 0x3b7d: 0x00c0, 0x3b7e: 0x00c0, 0x3b7f: 0x00c0,
+ 0x3b66: 0x00c3, 0x3b67: 0x00c3, 0x3b68: 0x00c3, 0x3b69: 0x00c3,
+ 0x3b6a: 0x00c3, 0x3b6b: 0x00c3, 0x3b6c: 0x00c3,
+ 0x3b70: 0x00c3, 0x3b71: 0x00c3, 0x3b72: 0x00c3, 0x3b73: 0x00c3, 0x3b74: 0x00c3,
// Block 0xee, offset 0x3b80
- 0x3b80: 0x00c3, 0x3b81: 0x00c0, 0x3b82: 0x00c0, 0x3b83: 0x00c0, 0x3b84: 0x00c0,
- 0x3b87: 0x00c0, 0x3b88: 0x00c0, 0x3b8b: 0x00c0,
- 0x3b8c: 0x00c0, 0x3b8d: 0x00c5, 0x3b90: 0x00c0,
- 0x3b97: 0x00c0,
- 0x3b9d: 0x00c0,
+ 0x3b80: 0x00c0, 0x3b81: 0x00c0, 0x3b82: 0x00c0, 0x3b83: 0x00c0, 0x3b84: 0x00c0, 0x3b85: 0x00c0,
+ 0x3b86: 0x00c0, 0x3b87: 0x00c0, 0x3b88: 0x00c0, 0x3b89: 0x00c0, 0x3b8a: 0x00c0, 0x3b8b: 0x00c0,
+ 0x3b8c: 0x00c0, 0x3b8d: 0x00c0, 0x3b8e: 0x00c0, 0x3b8f: 0x00c0, 0x3b90: 0x00c0, 0x3b91: 0x00c0,
+ 0x3b92: 0x00c0, 0x3b93: 0x00c0, 0x3b94: 0x00c0, 0x3b95: 0x00c0, 0x3b96: 0x00c0, 0x3b97: 0x00c0,
+ 0x3b98: 0x00c0, 0x3b99: 0x00c0, 0x3b9a: 0x00c0, 0x3b9b: 0x00c0, 0x3b9c: 0x00c0, 0x3b9d: 0x00c0,
0x3b9e: 0x00c0, 0x3b9f: 0x00c0, 0x3ba0: 0x00c0, 0x3ba1: 0x00c0, 0x3ba2: 0x00c0, 0x3ba3: 0x00c0,
- 0x3ba6: 0x00c3, 0x3ba7: 0x00c3, 0x3ba8: 0x00c3, 0x3ba9: 0x00c3,
- 0x3baa: 0x00c3, 0x3bab: 0x00c3, 0x3bac: 0x00c3,
- 0x3bb0: 0x00c3, 0x3bb1: 0x00c3, 0x3bb2: 0x00c3, 0x3bb3: 0x00c3, 0x3bb4: 0x00c3,
+ 0x3ba4: 0x00c0, 0x3ba5: 0x00c0, 0x3ba6: 0x00c0, 0x3ba7: 0x00c0, 0x3ba8: 0x00c0, 0x3ba9: 0x00c0,
+ 0x3baa: 0x00c0, 0x3bab: 0x00c0, 0x3bac: 0x00c0, 0x3bad: 0x00c0, 0x3bae: 0x00c0, 0x3baf: 0x00c0,
+ 0x3bb0: 0x00c0, 0x3bb1: 0x00c0, 0x3bb2: 0x00c0, 0x3bb3: 0x00c0, 0x3bb4: 0x00c0, 0x3bb5: 0x00c0,
+ 0x3bb6: 0x00c0, 0x3bb7: 0x00c0, 0x3bb8: 0x00c3, 0x3bb9: 0x00c3, 0x3bba: 0x00c3, 0x3bbb: 0x00c3,
+ 0x3bbc: 0x00c3, 0x3bbd: 0x00c3, 0x3bbe: 0x00c3, 0x3bbf: 0x00c3,
// Block 0xef, offset 0x3bc0
- 0x3bc0: 0x00c0, 0x3bc1: 0x00c0, 0x3bc2: 0x00c0, 0x3bc3: 0x00c0, 0x3bc4: 0x00c0, 0x3bc5: 0x00c0,
- 0x3bc6: 0x00c0, 0x3bc7: 0x00c0, 0x3bc8: 0x00c0, 0x3bc9: 0x00c0, 0x3bca: 0x00c0, 0x3bcb: 0x00c0,
- 0x3bcc: 0x00c0, 0x3bcd: 0x00c0, 0x3bce: 0x00c0, 0x3bcf: 0x00c0, 0x3bd0: 0x00c0, 0x3bd1: 0x00c0,
+ 0x3bc0: 0x00c0, 0x3bc1: 0x00c0, 0x3bc2: 0x00c6, 0x3bc3: 0x00c3, 0x3bc4: 0x00c3, 0x3bc5: 0x00c0,
+ 0x3bc6: 0x00c3, 0x3bc7: 0x00c0, 0x3bc8: 0x00c0, 0x3bc9: 0x00c0, 0x3bca: 0x00c0, 0x3bcb: 0x0080,
+ 0x3bcc: 0x0080, 0x3bcd: 0x0080, 0x3bce: 0x0080, 0x3bcf: 0x0080, 0x3bd0: 0x00c0, 0x3bd1: 0x00c0,
0x3bd2: 0x00c0, 0x3bd3: 0x00c0, 0x3bd4: 0x00c0, 0x3bd5: 0x00c0, 0x3bd6: 0x00c0, 0x3bd7: 0x00c0,
- 0x3bd8: 0x00c0, 0x3bd9: 0x00c0, 0x3bda: 0x00c0, 0x3bdb: 0x00c0, 0x3bdc: 0x00c0, 0x3bdd: 0x00c0,
- 0x3bde: 0x00c0, 0x3bdf: 0x00c0, 0x3be0: 0x00c0, 0x3be1: 0x00c0, 0x3be2: 0x00c0, 0x3be3: 0x00c0,
- 0x3be4: 0x00c0, 0x3be5: 0x00c0, 0x3be6: 0x00c0, 0x3be7: 0x00c0, 0x3be8: 0x00c0, 0x3be9: 0x00c0,
- 0x3bea: 0x00c0, 0x3beb: 0x00c0, 0x3bec: 0x00c0, 0x3bed: 0x00c0, 0x3bee: 0x00c0, 0x3bef: 0x00c0,
- 0x3bf0: 0x00c0, 0x3bf1: 0x00c0, 0x3bf2: 0x00c0, 0x3bf3: 0x00c0, 0x3bf4: 0x00c0, 0x3bf5: 0x00c0,
- 0x3bf6: 0x00c0, 0x3bf7: 0x00c0, 0x3bf8: 0x00c3, 0x3bf9: 0x00c3, 0x3bfa: 0x00c3, 0x3bfb: 0x00c3,
- 0x3bfc: 0x00c3, 0x3bfd: 0x00c3, 0x3bfe: 0x00c3, 0x3bff: 0x00c3,
+ 0x3bd8: 0x00c0, 0x3bd9: 0x00c0, 0x3bdb: 0x0080, 0x3bdd: 0x0080,
// Block 0xf0, offset 0x3c00
- 0x3c00: 0x00c0, 0x3c01: 0x00c0, 0x3c02: 0x00c6, 0x3c03: 0x00c3, 0x3c04: 0x00c3, 0x3c05: 0x00c0,
- 0x3c06: 0x00c3, 0x3c07: 0x00c0, 0x3c08: 0x00c0, 0x3c09: 0x00c0, 0x3c0a: 0x00c0, 0x3c0b: 0x0080,
- 0x3c0c: 0x0080, 0x3c0d: 0x0080, 0x3c0e: 0x0080, 0x3c0f: 0x0080, 0x3c10: 0x00c0, 0x3c11: 0x00c0,
+ 0x3c00: 0x00c0, 0x3c01: 0x00c0, 0x3c02: 0x00c0, 0x3c03: 0x00c0, 0x3c04: 0x00c0, 0x3c05: 0x00c0,
+ 0x3c06: 0x00c0, 0x3c07: 0x00c0, 0x3c08: 0x00c0, 0x3c09: 0x00c0, 0x3c0a: 0x00c0, 0x3c0b: 0x00c0,
+ 0x3c0c: 0x00c0, 0x3c0d: 0x00c0, 0x3c0e: 0x00c0, 0x3c0f: 0x00c0, 0x3c10: 0x00c0, 0x3c11: 0x00c0,
0x3c12: 0x00c0, 0x3c13: 0x00c0, 0x3c14: 0x00c0, 0x3c15: 0x00c0, 0x3c16: 0x00c0, 0x3c17: 0x00c0,
- 0x3c18: 0x00c0, 0x3c19: 0x00c0, 0x3c1b: 0x0080, 0x3c1d: 0x0080,
+ 0x3c18: 0x00c0, 0x3c19: 0x00c0, 0x3c1a: 0x00c0, 0x3c1b: 0x00c0, 0x3c1c: 0x00c0, 0x3c1d: 0x00c0,
+ 0x3c1e: 0x00c0, 0x3c1f: 0x00c0, 0x3c20: 0x00c0, 0x3c21: 0x00c0, 0x3c22: 0x00c0, 0x3c23: 0x00c0,
+ 0x3c24: 0x00c0, 0x3c25: 0x00c0, 0x3c26: 0x00c0, 0x3c27: 0x00c0, 0x3c28: 0x00c0, 0x3c29: 0x00c0,
+ 0x3c2a: 0x00c0, 0x3c2b: 0x00c0, 0x3c2c: 0x00c0, 0x3c2d: 0x00c0, 0x3c2e: 0x00c0, 0x3c2f: 0x00c0,
+ 0x3c30: 0x00c0, 0x3c31: 0x00c0, 0x3c32: 0x00c0, 0x3c33: 0x00c3, 0x3c34: 0x00c3, 0x3c35: 0x00c3,
+ 0x3c36: 0x00c3, 0x3c37: 0x00c3, 0x3c38: 0x00c3, 0x3c39: 0x00c0, 0x3c3a: 0x00c3, 0x3c3b: 0x00c0,
+ 0x3c3c: 0x00c0, 0x3c3d: 0x00c0, 0x3c3e: 0x00c0, 0x3c3f: 0x00c3,
// Block 0xf1, offset 0x3c40
- 0x3c40: 0x00c0, 0x3c41: 0x00c0, 0x3c42: 0x00c0, 0x3c43: 0x00c0, 0x3c44: 0x00c0, 0x3c45: 0x00c0,
- 0x3c46: 0x00c0, 0x3c47: 0x00c0, 0x3c48: 0x00c0, 0x3c49: 0x00c0, 0x3c4a: 0x00c0, 0x3c4b: 0x00c0,
- 0x3c4c: 0x00c0, 0x3c4d: 0x00c0, 0x3c4e: 0x00c0, 0x3c4f: 0x00c0, 0x3c50: 0x00c0, 0x3c51: 0x00c0,
+ 0x3c40: 0x00c3, 0x3c41: 0x00c0, 0x3c42: 0x00c6, 0x3c43: 0x00c3, 0x3c44: 0x00c0, 0x3c45: 0x00c0,
+ 0x3c46: 0x0080, 0x3c47: 0x00c0,
+ 0x3c50: 0x00c0, 0x3c51: 0x00c0,
0x3c52: 0x00c0, 0x3c53: 0x00c0, 0x3c54: 0x00c0, 0x3c55: 0x00c0, 0x3c56: 0x00c0, 0x3c57: 0x00c0,
- 0x3c58: 0x00c0, 0x3c59: 0x00c0, 0x3c5a: 0x00c0, 0x3c5b: 0x00c0, 0x3c5c: 0x00c0, 0x3c5d: 0x00c0,
- 0x3c5e: 0x00c0, 0x3c5f: 0x00c0, 0x3c60: 0x00c0, 0x3c61: 0x00c0, 0x3c62: 0x00c0, 0x3c63: 0x00c0,
- 0x3c64: 0x00c0, 0x3c65: 0x00c0, 0x3c66: 0x00c0, 0x3c67: 0x00c0, 0x3c68: 0x00c0, 0x3c69: 0x00c0,
- 0x3c6a: 0x00c0, 0x3c6b: 0x00c0, 0x3c6c: 0x00c0, 0x3c6d: 0x00c0, 0x3c6e: 0x00c0, 0x3c6f: 0x00c0,
- 0x3c70: 0x00c0, 0x3c71: 0x00c0, 0x3c72: 0x00c0, 0x3c73: 0x00c3, 0x3c74: 0x00c3, 0x3c75: 0x00c3,
- 0x3c76: 0x00c3, 0x3c77: 0x00c3, 0x3c78: 0x00c3, 0x3c79: 0x00c0, 0x3c7a: 0x00c3, 0x3c7b: 0x00c0,
- 0x3c7c: 0x00c0, 0x3c7d: 0x00c0, 0x3c7e: 0x00c0, 0x3c7f: 0x00c3,
+ 0x3c58: 0x00c0, 0x3c59: 0x00c0,
// Block 0xf2, offset 0x3c80
- 0x3c80: 0x00c3, 0x3c81: 0x00c0, 0x3c82: 0x00c6, 0x3c83: 0x00c3, 0x3c84: 0x00c0, 0x3c85: 0x00c0,
- 0x3c86: 0x0080, 0x3c87: 0x00c0,
- 0x3c90: 0x00c0, 0x3c91: 0x00c0,
+ 0x3c80: 0x00c0, 0x3c81: 0x00c0, 0x3c82: 0x00c0, 0x3c83: 0x00c0, 0x3c84: 0x00c0, 0x3c85: 0x00c0,
+ 0x3c86: 0x00c0, 0x3c87: 0x00c0, 0x3c88: 0x00c0, 0x3c89: 0x00c0, 0x3c8a: 0x00c0, 0x3c8b: 0x00c0,
+ 0x3c8c: 0x00c0, 0x3c8d: 0x00c0, 0x3c8e: 0x00c0, 0x3c8f: 0x00c0, 0x3c90: 0x00c0, 0x3c91: 0x00c0,
0x3c92: 0x00c0, 0x3c93: 0x00c0, 0x3c94: 0x00c0, 0x3c95: 0x00c0, 0x3c96: 0x00c0, 0x3c97: 0x00c0,
- 0x3c98: 0x00c0, 0x3c99: 0x00c0,
+ 0x3c98: 0x00c0, 0x3c99: 0x00c0, 0x3c9a: 0x00c0, 0x3c9b: 0x00c0, 0x3c9c: 0x00c0, 0x3c9d: 0x00c0,
+ 0x3c9e: 0x00c0, 0x3c9f: 0x00c0, 0x3ca0: 0x00c0, 0x3ca1: 0x00c0, 0x3ca2: 0x00c0, 0x3ca3: 0x00c0,
+ 0x3ca4: 0x00c0, 0x3ca5: 0x00c0, 0x3ca6: 0x00c0, 0x3ca7: 0x00c0, 0x3ca8: 0x00c0, 0x3ca9: 0x00c0,
+ 0x3caa: 0x00c0, 0x3cab: 0x00c0, 0x3cac: 0x00c0, 0x3cad: 0x00c0, 0x3cae: 0x00c0, 0x3caf: 0x00c0,
+ 0x3cb0: 0x00c0, 0x3cb1: 0x00c0, 0x3cb2: 0x00c3, 0x3cb3: 0x00c3, 0x3cb4: 0x00c3, 0x3cb5: 0x00c3,
+ 0x3cb8: 0x00c0, 0x3cb9: 0x00c0, 0x3cba: 0x00c0, 0x3cbb: 0x00c0,
+ 0x3cbc: 0x00c3, 0x3cbd: 0x00c3, 0x3cbe: 0x00c0, 0x3cbf: 0x00c6,
// Block 0xf3, offset 0x3cc0
- 0x3cc0: 0x00c0, 0x3cc1: 0x00c0, 0x3cc2: 0x00c0, 0x3cc3: 0x00c0, 0x3cc4: 0x00c0, 0x3cc5: 0x00c0,
- 0x3cc6: 0x00c0, 0x3cc7: 0x00c0, 0x3cc8: 0x00c0, 0x3cc9: 0x00c0, 0x3cca: 0x00c0, 0x3ccb: 0x00c0,
- 0x3ccc: 0x00c0, 0x3ccd: 0x00c0, 0x3cce: 0x00c0, 0x3ccf: 0x00c0, 0x3cd0: 0x00c0, 0x3cd1: 0x00c0,
- 0x3cd2: 0x00c0, 0x3cd3: 0x00c0, 0x3cd4: 0x00c0, 0x3cd5: 0x00c0, 0x3cd6: 0x00c0, 0x3cd7: 0x00c0,
- 0x3cd8: 0x00c0, 0x3cd9: 0x00c0, 0x3cda: 0x00c0, 0x3cdb: 0x00c0, 0x3cdc: 0x00c0, 0x3cdd: 0x00c0,
- 0x3cde: 0x00c0, 0x3cdf: 0x00c0, 0x3ce0: 0x00c0, 0x3ce1: 0x00c0, 0x3ce2: 0x00c0, 0x3ce3: 0x00c0,
- 0x3ce4: 0x00c0, 0x3ce5: 0x00c0, 0x3ce6: 0x00c0, 0x3ce7: 0x00c0, 0x3ce8: 0x00c0, 0x3ce9: 0x00c0,
- 0x3cea: 0x00c0, 0x3ceb: 0x00c0, 0x3cec: 0x00c0, 0x3ced: 0x00c0, 0x3cee: 0x00c0, 0x3cef: 0x00c0,
- 0x3cf0: 0x00c0, 0x3cf1: 0x00c0, 0x3cf2: 0x00c3, 0x3cf3: 0x00c3, 0x3cf4: 0x00c3, 0x3cf5: 0x00c3,
- 0x3cf8: 0x00c0, 0x3cf9: 0x00c0, 0x3cfa: 0x00c0, 0x3cfb: 0x00c0,
- 0x3cfc: 0x00c3, 0x3cfd: 0x00c3, 0x3cfe: 0x00c0, 0x3cff: 0x00c6,
+ 0x3cc0: 0x00c3, 0x3cc1: 0x0080, 0x3cc2: 0x0080, 0x3cc3: 0x0080, 0x3cc4: 0x0080, 0x3cc5: 0x0080,
+ 0x3cc6: 0x0080, 0x3cc7: 0x0080, 0x3cc8: 0x0080, 0x3cc9: 0x0080, 0x3cca: 0x0080, 0x3ccb: 0x0080,
+ 0x3ccc: 0x0080, 0x3ccd: 0x0080, 0x3cce: 0x0080, 0x3ccf: 0x0080, 0x3cd0: 0x0080, 0x3cd1: 0x0080,
+ 0x3cd2: 0x0080, 0x3cd3: 0x0080, 0x3cd4: 0x0080, 0x3cd5: 0x0080, 0x3cd6: 0x0080, 0x3cd7: 0x0080,
+ 0x3cd8: 0x00c0, 0x3cd9: 0x00c0, 0x3cda: 0x00c0, 0x3cdb: 0x00c0, 0x3cdc: 0x00c3, 0x3cdd: 0x00c3,
// Block 0xf4, offset 0x3d00
- 0x3d00: 0x00c3, 0x3d01: 0x0080, 0x3d02: 0x0080, 0x3d03: 0x0080, 0x3d04: 0x0080, 0x3d05: 0x0080,
- 0x3d06: 0x0080, 0x3d07: 0x0080, 0x3d08: 0x0080, 0x3d09: 0x0080, 0x3d0a: 0x0080, 0x3d0b: 0x0080,
- 0x3d0c: 0x0080, 0x3d0d: 0x0080, 0x3d0e: 0x0080, 0x3d0f: 0x0080, 0x3d10: 0x0080, 0x3d11: 0x0080,
- 0x3d12: 0x0080, 0x3d13: 0x0080, 0x3d14: 0x0080, 0x3d15: 0x0080, 0x3d16: 0x0080, 0x3d17: 0x0080,
- 0x3d18: 0x00c0, 0x3d19: 0x00c0, 0x3d1a: 0x00c0, 0x3d1b: 0x00c0, 0x3d1c: 0x00c3, 0x3d1d: 0x00c3,
+ 0x3d00: 0x00c0, 0x3d01: 0x00c0, 0x3d02: 0x00c0, 0x3d03: 0x00c0, 0x3d04: 0x00c0, 0x3d05: 0x00c0,
+ 0x3d06: 0x00c0, 0x3d07: 0x00c0, 0x3d08: 0x00c0, 0x3d09: 0x00c0, 0x3d0a: 0x00c0, 0x3d0b: 0x00c0,
+ 0x3d0c: 0x00c0, 0x3d0d: 0x00c0, 0x3d0e: 0x00c0, 0x3d0f: 0x00c0, 0x3d10: 0x00c0, 0x3d11: 0x00c0,
+ 0x3d12: 0x00c0, 0x3d13: 0x00c0, 0x3d14: 0x00c0, 0x3d15: 0x00c0, 0x3d16: 0x00c0, 0x3d17: 0x00c0,
+ 0x3d18: 0x00c0, 0x3d19: 0x00c0, 0x3d1a: 0x00c0, 0x3d1b: 0x00c0, 0x3d1c: 0x00c0, 0x3d1d: 0x00c0,
+ 0x3d1e: 0x00c0, 0x3d1f: 0x00c0, 0x3d20: 0x00c0, 0x3d21: 0x00c0, 0x3d22: 0x00c0, 0x3d23: 0x00c0,
+ 0x3d24: 0x00c0, 0x3d25: 0x00c0, 0x3d26: 0x00c0, 0x3d27: 0x00c0, 0x3d28: 0x00c0, 0x3d29: 0x00c0,
+ 0x3d2a: 0x00c0, 0x3d2b: 0x00c0, 0x3d2c: 0x00c0, 0x3d2d: 0x00c0, 0x3d2e: 0x00c0, 0x3d2f: 0x00c0,
+ 0x3d30: 0x00c0, 0x3d31: 0x00c0, 0x3d32: 0x00c0, 0x3d33: 0x00c3, 0x3d34: 0x00c3, 0x3d35: 0x00c3,
+ 0x3d36: 0x00c3, 0x3d37: 0x00c3, 0x3d38: 0x00c3, 0x3d39: 0x00c3, 0x3d3a: 0x00c3, 0x3d3b: 0x00c0,
+ 0x3d3c: 0x00c0, 0x3d3d: 0x00c3, 0x3d3e: 0x00c0, 0x3d3f: 0x00c6,
// Block 0xf5, offset 0x3d40
- 0x3d40: 0x00c0, 0x3d41: 0x00c0, 0x3d42: 0x00c0, 0x3d43: 0x00c0, 0x3d44: 0x00c0, 0x3d45: 0x00c0,
- 0x3d46: 0x00c0, 0x3d47: 0x00c0, 0x3d48: 0x00c0, 0x3d49: 0x00c0, 0x3d4a: 0x00c0, 0x3d4b: 0x00c0,
- 0x3d4c: 0x00c0, 0x3d4d: 0x00c0, 0x3d4e: 0x00c0, 0x3d4f: 0x00c0, 0x3d50: 0x00c0, 0x3d51: 0x00c0,
+ 0x3d40: 0x00c3, 0x3d41: 0x0080, 0x3d42: 0x0080, 0x3d43: 0x0080, 0x3d44: 0x00c0,
+ 0x3d50: 0x00c0, 0x3d51: 0x00c0,
0x3d52: 0x00c0, 0x3d53: 0x00c0, 0x3d54: 0x00c0, 0x3d55: 0x00c0, 0x3d56: 0x00c0, 0x3d57: 0x00c0,
- 0x3d58: 0x00c0, 0x3d59: 0x00c0, 0x3d5a: 0x00c0, 0x3d5b: 0x00c0, 0x3d5c: 0x00c0, 0x3d5d: 0x00c0,
- 0x3d5e: 0x00c0, 0x3d5f: 0x00c0, 0x3d60: 0x00c0, 0x3d61: 0x00c0, 0x3d62: 0x00c0, 0x3d63: 0x00c0,
- 0x3d64: 0x00c0, 0x3d65: 0x00c0, 0x3d66: 0x00c0, 0x3d67: 0x00c0, 0x3d68: 0x00c0, 0x3d69: 0x00c0,
- 0x3d6a: 0x00c0, 0x3d6b: 0x00c0, 0x3d6c: 0x00c0, 0x3d6d: 0x00c0, 0x3d6e: 0x00c0, 0x3d6f: 0x00c0,
- 0x3d70: 0x00c0, 0x3d71: 0x00c0, 0x3d72: 0x00c0, 0x3d73: 0x00c3, 0x3d74: 0x00c3, 0x3d75: 0x00c3,
- 0x3d76: 0x00c3, 0x3d77: 0x00c3, 0x3d78: 0x00c3, 0x3d79: 0x00c3, 0x3d7a: 0x00c3, 0x3d7b: 0x00c0,
- 0x3d7c: 0x00c0, 0x3d7d: 0x00c3, 0x3d7e: 0x00c0, 0x3d7f: 0x00c6,
+ 0x3d58: 0x00c0, 0x3d59: 0x00c0,
+ 0x3d60: 0x0080, 0x3d61: 0x0080, 0x3d62: 0x0080, 0x3d63: 0x0080,
+ 0x3d64: 0x0080, 0x3d65: 0x0080, 0x3d66: 0x0080, 0x3d67: 0x0080, 0x3d68: 0x0080, 0x3d69: 0x0080,
+ 0x3d6a: 0x0080, 0x3d6b: 0x0080, 0x3d6c: 0x0080,
// Block 0xf6, offset 0x3d80
- 0x3d80: 0x00c3, 0x3d81: 0x0080, 0x3d82: 0x0080, 0x3d83: 0x0080, 0x3d84: 0x00c0,
- 0x3d90: 0x00c0, 0x3d91: 0x00c0,
+ 0x3d80: 0x00c0, 0x3d81: 0x00c0, 0x3d82: 0x00c0, 0x3d83: 0x00c0, 0x3d84: 0x00c0, 0x3d85: 0x00c0,
+ 0x3d86: 0x00c0, 0x3d87: 0x00c0, 0x3d88: 0x00c0, 0x3d89: 0x00c0, 0x3d8a: 0x00c0, 0x3d8b: 0x00c0,
+ 0x3d8c: 0x00c0, 0x3d8d: 0x00c0, 0x3d8e: 0x00c0, 0x3d8f: 0x00c0, 0x3d90: 0x00c0, 0x3d91: 0x00c0,
0x3d92: 0x00c0, 0x3d93: 0x00c0, 0x3d94: 0x00c0, 0x3d95: 0x00c0, 0x3d96: 0x00c0, 0x3d97: 0x00c0,
- 0x3d98: 0x00c0, 0x3d99: 0x00c0,
- 0x3da0: 0x0080, 0x3da1: 0x0080, 0x3da2: 0x0080, 0x3da3: 0x0080,
- 0x3da4: 0x0080, 0x3da5: 0x0080, 0x3da6: 0x0080, 0x3da7: 0x0080, 0x3da8: 0x0080, 0x3da9: 0x0080,
- 0x3daa: 0x0080, 0x3dab: 0x0080, 0x3dac: 0x0080,
+ 0x3d98: 0x00c0, 0x3d99: 0x00c0, 0x3d9a: 0x00c0, 0x3d9b: 0x00c0, 0x3d9c: 0x00c0, 0x3d9d: 0x00c0,
+ 0x3d9e: 0x00c0, 0x3d9f: 0x00c0, 0x3da0: 0x00c0, 0x3da1: 0x00c0, 0x3da2: 0x00c0, 0x3da3: 0x00c0,
+ 0x3da4: 0x00c0, 0x3da5: 0x00c0, 0x3da6: 0x00c0, 0x3da7: 0x00c0, 0x3da8: 0x00c0, 0x3da9: 0x00c0,
+ 0x3daa: 0x00c0, 0x3dab: 0x00c3, 0x3dac: 0x00c0, 0x3dad: 0x00c3, 0x3dae: 0x00c0, 0x3daf: 0x00c0,
+ 0x3db0: 0x00c3, 0x3db1: 0x00c3, 0x3db2: 0x00c3, 0x3db3: 0x00c3, 0x3db4: 0x00c3, 0x3db5: 0x00c3,
+ 0x3db6: 0x00c5, 0x3db7: 0x00c3,
// Block 0xf7, offset 0x3dc0
0x3dc0: 0x00c0, 0x3dc1: 0x00c0, 0x3dc2: 0x00c0, 0x3dc3: 0x00c0, 0x3dc4: 0x00c0, 0x3dc5: 0x00c0,
- 0x3dc6: 0x00c0, 0x3dc7: 0x00c0, 0x3dc8: 0x00c0, 0x3dc9: 0x00c0, 0x3dca: 0x00c0, 0x3dcb: 0x00c0,
- 0x3dcc: 0x00c0, 0x3dcd: 0x00c0, 0x3dce: 0x00c0, 0x3dcf: 0x00c0, 0x3dd0: 0x00c0, 0x3dd1: 0x00c0,
- 0x3dd2: 0x00c0, 0x3dd3: 0x00c0, 0x3dd4: 0x00c0, 0x3dd5: 0x00c0, 0x3dd6: 0x00c0, 0x3dd7: 0x00c0,
- 0x3dd8: 0x00c0, 0x3dd9: 0x00c0, 0x3dda: 0x00c0, 0x3ddb: 0x00c0, 0x3ddc: 0x00c0, 0x3ddd: 0x00c0,
- 0x3dde: 0x00c0, 0x3ddf: 0x00c0, 0x3de0: 0x00c0, 0x3de1: 0x00c0, 0x3de2: 0x00c0, 0x3de3: 0x00c0,
- 0x3de4: 0x00c0, 0x3de5: 0x00c0, 0x3de6: 0x00c0, 0x3de7: 0x00c0, 0x3de8: 0x00c0, 0x3de9: 0x00c0,
- 0x3dea: 0x00c0, 0x3deb: 0x00c3, 0x3dec: 0x00c0, 0x3ded: 0x00c3, 0x3dee: 0x00c0, 0x3def: 0x00c0,
- 0x3df0: 0x00c3, 0x3df1: 0x00c3, 0x3df2: 0x00c3, 0x3df3: 0x00c3, 0x3df4: 0x00c3, 0x3df5: 0x00c3,
- 0x3df6: 0x00c5, 0x3df7: 0x00c3,
+ 0x3dc6: 0x00c0, 0x3dc7: 0x00c0, 0x3dc8: 0x00c0, 0x3dc9: 0x00c0,
// Block 0xf8, offset 0x3e00
0x3e00: 0x00c0, 0x3e01: 0x00c0, 0x3e02: 0x00c0, 0x3e03: 0x00c0, 0x3e04: 0x00c0, 0x3e05: 0x00c0,
- 0x3e06: 0x00c0, 0x3e07: 0x00c0, 0x3e08: 0x00c0, 0x3e09: 0x00c0,
+ 0x3e06: 0x00c0, 0x3e07: 0x00c0, 0x3e08: 0x00c0, 0x3e09: 0x00c0, 0x3e0a: 0x00c0, 0x3e0b: 0x00c0,
+ 0x3e0c: 0x00c0, 0x3e0d: 0x00c0, 0x3e0e: 0x00c0, 0x3e0f: 0x00c0, 0x3e10: 0x00c0, 0x3e11: 0x00c0,
+ 0x3e12: 0x00c0, 0x3e13: 0x00c0, 0x3e14: 0x00c0, 0x3e15: 0x00c0, 0x3e16: 0x00c0, 0x3e17: 0x00c0,
+ 0x3e18: 0x00c0, 0x3e19: 0x00c0, 0x3e1d: 0x00c3,
+ 0x3e1e: 0x00c3, 0x3e1f: 0x00c3, 0x3e20: 0x00c0, 0x3e21: 0x00c0, 0x3e22: 0x00c3, 0x3e23: 0x00c3,
+ 0x3e24: 0x00c3, 0x3e25: 0x00c3, 0x3e26: 0x00c0, 0x3e27: 0x00c3, 0x3e28: 0x00c3, 0x3e29: 0x00c3,
+ 0x3e2a: 0x00c3, 0x3e2b: 0x00c6,
+ 0x3e30: 0x00c0, 0x3e31: 0x00c0, 0x3e32: 0x00c0, 0x3e33: 0x00c0, 0x3e34: 0x00c0, 0x3e35: 0x00c0,
+ 0x3e36: 0x00c0, 0x3e37: 0x00c0, 0x3e38: 0x00c0, 0x3e39: 0x00c0, 0x3e3a: 0x0080, 0x3e3b: 0x0080,
+ 0x3e3c: 0x0080, 0x3e3d: 0x0080, 0x3e3e: 0x0080, 0x3e3f: 0x0080,
// Block 0xf9, offset 0x3e40
- 0x3e40: 0x00c0, 0x3e41: 0x00c0, 0x3e42: 0x00c0, 0x3e43: 0x00c0, 0x3e44: 0x00c0, 0x3e45: 0x00c0,
- 0x3e46: 0x00c0, 0x3e47: 0x00c0, 0x3e48: 0x00c0, 0x3e49: 0x00c0, 0x3e4a: 0x00c0, 0x3e4b: 0x00c0,
- 0x3e4c: 0x00c0, 0x3e4d: 0x00c0, 0x3e4e: 0x00c0, 0x3e4f: 0x00c0, 0x3e50: 0x00c0, 0x3e51: 0x00c0,
- 0x3e52: 0x00c0, 0x3e53: 0x00c0, 0x3e54: 0x00c0, 0x3e55: 0x00c0, 0x3e56: 0x00c0, 0x3e57: 0x00c0,
- 0x3e58: 0x00c0, 0x3e59: 0x00c0, 0x3e5d: 0x00c3,
- 0x3e5e: 0x00c3, 0x3e5f: 0x00c3, 0x3e60: 0x00c0, 0x3e61: 0x00c0, 0x3e62: 0x00c3, 0x3e63: 0x00c3,
- 0x3e64: 0x00c3, 0x3e65: 0x00c3, 0x3e66: 0x00c0, 0x3e67: 0x00c3, 0x3e68: 0x00c3, 0x3e69: 0x00c3,
- 0x3e6a: 0x00c3, 0x3e6b: 0x00c6,
+ 0x3e60: 0x00c0, 0x3e61: 0x00c0, 0x3e62: 0x00c0, 0x3e63: 0x00c0,
+ 0x3e64: 0x00c0, 0x3e65: 0x00c0, 0x3e66: 0x00c0, 0x3e67: 0x00c0, 0x3e68: 0x00c0, 0x3e69: 0x00c0,
+ 0x3e6a: 0x00c0, 0x3e6b: 0x00c0, 0x3e6c: 0x00c0, 0x3e6d: 0x00c0, 0x3e6e: 0x00c0, 0x3e6f: 0x00c0,
0x3e70: 0x00c0, 0x3e71: 0x00c0, 0x3e72: 0x00c0, 0x3e73: 0x00c0, 0x3e74: 0x00c0, 0x3e75: 0x00c0,
- 0x3e76: 0x00c0, 0x3e77: 0x00c0, 0x3e78: 0x00c0, 0x3e79: 0x00c0, 0x3e7a: 0x0080, 0x3e7b: 0x0080,
- 0x3e7c: 0x0080, 0x3e7d: 0x0080, 0x3e7e: 0x0080, 0x3e7f: 0x0080,
+ 0x3e76: 0x00c0, 0x3e77: 0x00c0, 0x3e78: 0x00c0, 0x3e79: 0x00c0, 0x3e7a: 0x00c0, 0x3e7b: 0x00c0,
+ 0x3e7c: 0x00c0, 0x3e7d: 0x00c0, 0x3e7e: 0x00c0, 0x3e7f: 0x00c0,
// Block 0xfa, offset 0x3e80
- 0x3ea0: 0x00c0, 0x3ea1: 0x00c0, 0x3ea2: 0x00c0, 0x3ea3: 0x00c0,
+ 0x3e80: 0x00c0, 0x3e81: 0x00c0, 0x3e82: 0x00c0, 0x3e83: 0x00c0, 0x3e84: 0x00c0, 0x3e85: 0x00c0,
+ 0x3e86: 0x00c0, 0x3e87: 0x00c0, 0x3e88: 0x00c0, 0x3e89: 0x00c0, 0x3e8a: 0x00c0, 0x3e8b: 0x00c0,
+ 0x3e8c: 0x00c0, 0x3e8d: 0x00c0, 0x3e8e: 0x00c0, 0x3e8f: 0x00c0, 0x3e90: 0x00c0, 0x3e91: 0x00c0,
+ 0x3e92: 0x00c0, 0x3e93: 0x00c0, 0x3e94: 0x00c0, 0x3e95: 0x00c0, 0x3e96: 0x00c0, 0x3e97: 0x00c0,
+ 0x3e98: 0x00c0, 0x3e99: 0x00c0, 0x3e9a: 0x00c0, 0x3e9b: 0x00c0, 0x3e9c: 0x00c0, 0x3e9d: 0x00c0,
+ 0x3e9e: 0x00c0, 0x3e9f: 0x00c0, 0x3ea0: 0x00c0, 0x3ea1: 0x00c0, 0x3ea2: 0x00c0, 0x3ea3: 0x00c0,
0x3ea4: 0x00c0, 0x3ea5: 0x00c0, 0x3ea6: 0x00c0, 0x3ea7: 0x00c0, 0x3ea8: 0x00c0, 0x3ea9: 0x00c0,
- 0x3eaa: 0x00c0, 0x3eab: 0x00c0, 0x3eac: 0x00c0, 0x3ead: 0x00c0, 0x3eae: 0x00c0, 0x3eaf: 0x00c0,
- 0x3eb0: 0x00c0, 0x3eb1: 0x00c0, 0x3eb2: 0x00c0, 0x3eb3: 0x00c0, 0x3eb4: 0x00c0, 0x3eb5: 0x00c0,
- 0x3eb6: 0x00c0, 0x3eb7: 0x00c0, 0x3eb8: 0x00c0, 0x3eb9: 0x00c0, 0x3eba: 0x00c0, 0x3ebb: 0x00c0,
- 0x3ebc: 0x00c0, 0x3ebd: 0x00c0, 0x3ebe: 0x00c0, 0x3ebf: 0x00c0,
+ 0x3eaa: 0x0080, 0x3eab: 0x0080, 0x3eac: 0x0080, 0x3ead: 0x0080, 0x3eae: 0x0080, 0x3eaf: 0x0080,
+ 0x3eb0: 0x0080, 0x3eb1: 0x0080, 0x3eb2: 0x0080,
+ 0x3ebf: 0x00c0,
// Block 0xfb, offset 0x3ec0
- 0x3ec0: 0x00c0, 0x3ec1: 0x00c0, 0x3ec2: 0x00c0, 0x3ec3: 0x00c0, 0x3ec4: 0x00c0, 0x3ec5: 0x00c0,
- 0x3ec6: 0x00c0, 0x3ec7: 0x00c0, 0x3ec8: 0x00c0, 0x3ec9: 0x00c0, 0x3eca: 0x00c0, 0x3ecb: 0x00c0,
+ 0x3ec0: 0x00c0, 0x3ec1: 0x00c3, 0x3ec2: 0x00c3, 0x3ec3: 0x00c3, 0x3ec4: 0x00c3, 0x3ec5: 0x00c3,
+ 0x3ec6: 0x00c3, 0x3ec7: 0x00c0, 0x3ec8: 0x00c0, 0x3ec9: 0x00c3, 0x3eca: 0x00c3, 0x3ecb: 0x00c0,
0x3ecc: 0x00c0, 0x3ecd: 0x00c0, 0x3ece: 0x00c0, 0x3ecf: 0x00c0, 0x3ed0: 0x00c0, 0x3ed1: 0x00c0,
0x3ed2: 0x00c0, 0x3ed3: 0x00c0, 0x3ed4: 0x00c0, 0x3ed5: 0x00c0, 0x3ed6: 0x00c0, 0x3ed7: 0x00c0,
0x3ed8: 0x00c0, 0x3ed9: 0x00c0, 0x3eda: 0x00c0, 0x3edb: 0x00c0, 0x3edc: 0x00c0, 0x3edd: 0x00c0,
0x3ede: 0x00c0, 0x3edf: 0x00c0, 0x3ee0: 0x00c0, 0x3ee1: 0x00c0, 0x3ee2: 0x00c0, 0x3ee3: 0x00c0,
0x3ee4: 0x00c0, 0x3ee5: 0x00c0, 0x3ee6: 0x00c0, 0x3ee7: 0x00c0, 0x3ee8: 0x00c0, 0x3ee9: 0x00c0,
- 0x3eea: 0x0080, 0x3eeb: 0x0080, 0x3eec: 0x0080, 0x3eed: 0x0080, 0x3eee: 0x0080, 0x3eef: 0x0080,
- 0x3ef0: 0x0080, 0x3ef1: 0x0080, 0x3ef2: 0x0080,
- 0x3eff: 0x00c0,
+ 0x3eea: 0x00c0, 0x3eeb: 0x00c0, 0x3eec: 0x00c0, 0x3eed: 0x00c0, 0x3eee: 0x00c0, 0x3eef: 0x00c0,
+ 0x3ef0: 0x00c0, 0x3ef1: 0x00c0, 0x3ef2: 0x00c0, 0x3ef3: 0x00c3, 0x3ef4: 0x00c6, 0x3ef5: 0x00c3,
+ 0x3ef6: 0x00c3, 0x3ef7: 0x00c3, 0x3ef8: 0x00c3, 0x3ef9: 0x00c0, 0x3efa: 0x00c0, 0x3efb: 0x00c3,
+ 0x3efc: 0x00c3, 0x3efd: 0x00c3, 0x3efe: 0x00c3, 0x3eff: 0x0080,
// Block 0xfc, offset 0x3f00
- 0x3f00: 0x00c0, 0x3f01: 0x00c0, 0x3f02: 0x00c0, 0x3f03: 0x00c0, 0x3f04: 0x00c0, 0x3f05: 0x00c0,
- 0x3f06: 0x00c0, 0x3f07: 0x00c0, 0x3f08: 0x00c0, 0x3f09: 0x00c0, 0x3f0a: 0x00c0, 0x3f0b: 0x00c0,
- 0x3f0c: 0x00c0, 0x3f0d: 0x00c0, 0x3f0e: 0x00c0, 0x3f0f: 0x00c0, 0x3f10: 0x00c0, 0x3f11: 0x00c0,
- 0x3f12: 0x00c0, 0x3f13: 0x00c0, 0x3f14: 0x00c0, 0x3f15: 0x00c0, 0x3f16: 0x00c0, 0x3f17: 0x00c0,
- 0x3f18: 0x00c0, 0x3f19: 0x00c0, 0x3f1a: 0x00c0, 0x3f1b: 0x00c0, 0x3f1c: 0x00c0, 0x3f1d: 0x00c0,
+ 0x3f00: 0x0080, 0x3f01: 0x0080, 0x3f02: 0x0080, 0x3f03: 0x0080, 0x3f04: 0x0080, 0x3f05: 0x0080,
+ 0x3f06: 0x0080, 0x3f07: 0x00c6,
+ 0x3f10: 0x00c0, 0x3f11: 0x00c3,
+ 0x3f12: 0x00c3, 0x3f13: 0x00c3, 0x3f14: 0x00c3, 0x3f15: 0x00c3, 0x3f16: 0x00c3, 0x3f17: 0x00c0,
+ 0x3f18: 0x00c0, 0x3f19: 0x00c3, 0x3f1a: 0x00c3, 0x3f1b: 0x00c3, 0x3f1c: 0x00c0, 0x3f1d: 0x00c0,
0x3f1e: 0x00c0, 0x3f1f: 0x00c0, 0x3f20: 0x00c0, 0x3f21: 0x00c0, 0x3f22: 0x00c0, 0x3f23: 0x00c0,
0x3f24: 0x00c0, 0x3f25: 0x00c0, 0x3f26: 0x00c0, 0x3f27: 0x00c0, 0x3f28: 0x00c0, 0x3f29: 0x00c0,
0x3f2a: 0x00c0, 0x3f2b: 0x00c0, 0x3f2c: 0x00c0, 0x3f2d: 0x00c0, 0x3f2e: 0x00c0, 0x3f2f: 0x00c0,
0x3f30: 0x00c0, 0x3f31: 0x00c0, 0x3f32: 0x00c0, 0x3f33: 0x00c0, 0x3f34: 0x00c0, 0x3f35: 0x00c0,
- 0x3f36: 0x00c0, 0x3f37: 0x00c0, 0x3f38: 0x00c0,
+ 0x3f36: 0x00c0, 0x3f37: 0x00c0, 0x3f38: 0x00c0, 0x3f39: 0x00c0, 0x3f3a: 0x00c0, 0x3f3b: 0x00c0,
+ 0x3f3c: 0x00c0, 0x3f3d: 0x00c0, 0x3f3e: 0x00c0, 0x3f3f: 0x00c0,
// Block 0xfd, offset 0x3f40
- 0x3f40: 0x00c0, 0x3f41: 0x00c0, 0x3f42: 0x00c0, 0x3f43: 0x00c0, 0x3f44: 0x00c0, 0x3f45: 0x00c0,
- 0x3f46: 0x00c0, 0x3f47: 0x00c0, 0x3f48: 0x00c0, 0x3f4a: 0x00c0, 0x3f4b: 0x00c0,
- 0x3f4c: 0x00c0, 0x3f4d: 0x00c0, 0x3f4e: 0x00c0, 0x3f4f: 0x00c0, 0x3f50: 0x00c0, 0x3f51: 0x00c0,
- 0x3f52: 0x00c0, 0x3f53: 0x00c0, 0x3f54: 0x00c0, 0x3f55: 0x00c0, 0x3f56: 0x00c0, 0x3f57: 0x00c0,
- 0x3f58: 0x00c0, 0x3f59: 0x00c0, 0x3f5a: 0x00c0, 0x3f5b: 0x00c0, 0x3f5c: 0x00c0, 0x3f5d: 0x00c0,
- 0x3f5e: 0x00c0, 0x3f5f: 0x00c0, 0x3f60: 0x00c0, 0x3f61: 0x00c0, 0x3f62: 0x00c0, 0x3f63: 0x00c0,
- 0x3f64: 0x00c0, 0x3f65: 0x00c0, 0x3f66: 0x00c0, 0x3f67: 0x00c0, 0x3f68: 0x00c0, 0x3f69: 0x00c0,
- 0x3f6a: 0x00c0, 0x3f6b: 0x00c0, 0x3f6c: 0x00c0, 0x3f6d: 0x00c0, 0x3f6e: 0x00c0, 0x3f6f: 0x00c0,
- 0x3f70: 0x00c3, 0x3f71: 0x00c3, 0x3f72: 0x00c3, 0x3f73: 0x00c3, 0x3f74: 0x00c3, 0x3f75: 0x00c3,
- 0x3f76: 0x00c3, 0x3f78: 0x00c3, 0x3f79: 0x00c3, 0x3f7a: 0x00c3, 0x3f7b: 0x00c3,
- 0x3f7c: 0x00c3, 0x3f7d: 0x00c3, 0x3f7e: 0x00c0, 0x3f7f: 0x00c6,
+ 0x3f40: 0x00c0, 0x3f41: 0x00c0, 0x3f42: 0x00c0, 0x3f43: 0x00c0,
+ 0x3f46: 0x00c0, 0x3f47: 0x00c0, 0x3f48: 0x00c0, 0x3f49: 0x00c0, 0x3f4a: 0x00c3, 0x3f4b: 0x00c3,
+ 0x3f4c: 0x00c3, 0x3f4d: 0x00c3, 0x3f4e: 0x00c3, 0x3f4f: 0x00c3, 0x3f50: 0x00c3, 0x3f51: 0x00c3,
+ 0x3f52: 0x00c3, 0x3f53: 0x00c3, 0x3f54: 0x00c3, 0x3f55: 0x00c3, 0x3f56: 0x00c3, 0x3f57: 0x00c0,
+ 0x3f58: 0x00c3, 0x3f59: 0x00c6, 0x3f5a: 0x0080, 0x3f5b: 0x0080, 0x3f5c: 0x0080,
+ 0x3f5e: 0x0080, 0x3f5f: 0x0080, 0x3f60: 0x0080, 0x3f61: 0x0080, 0x3f62: 0x0080,
// Block 0xfe, offset 0x3f80
- 0x3f80: 0x00c0, 0x3f81: 0x0080, 0x3f82: 0x0080, 0x3f83: 0x0080, 0x3f84: 0x0080, 0x3f85: 0x0080,
- 0x3f90: 0x00c0, 0x3f91: 0x00c0,
+ 0x3f80: 0x00c0, 0x3f81: 0x00c0, 0x3f82: 0x00c0, 0x3f83: 0x00c0, 0x3f84: 0x00c0, 0x3f85: 0x00c0,
+ 0x3f86: 0x00c0, 0x3f87: 0x00c0, 0x3f88: 0x00c0, 0x3f89: 0x00c0, 0x3f8a: 0x00c0, 0x3f8b: 0x00c0,
+ 0x3f8c: 0x00c0, 0x3f8d: 0x00c0, 0x3f8e: 0x00c0, 0x3f8f: 0x00c0, 0x3f90: 0x00c0, 0x3f91: 0x00c0,
0x3f92: 0x00c0, 0x3f93: 0x00c0, 0x3f94: 0x00c0, 0x3f95: 0x00c0, 0x3f96: 0x00c0, 0x3f97: 0x00c0,
- 0x3f98: 0x00c0, 0x3f99: 0x00c0, 0x3f9a: 0x0080, 0x3f9b: 0x0080, 0x3f9c: 0x0080, 0x3f9d: 0x0080,
- 0x3f9e: 0x0080, 0x3f9f: 0x0080, 0x3fa0: 0x0080, 0x3fa1: 0x0080, 0x3fa2: 0x0080, 0x3fa3: 0x0080,
- 0x3fa4: 0x0080, 0x3fa5: 0x0080, 0x3fa6: 0x0080, 0x3fa7: 0x0080, 0x3fa8: 0x0080, 0x3fa9: 0x0080,
- 0x3faa: 0x0080, 0x3fab: 0x0080, 0x3fac: 0x0080,
- 0x3fb0: 0x0080, 0x3fb1: 0x0080, 0x3fb2: 0x00c0, 0x3fb3: 0x00c0, 0x3fb4: 0x00c0, 0x3fb5: 0x00c0,
- 0x3fb6: 0x00c0, 0x3fb7: 0x00c0, 0x3fb8: 0x00c0, 0x3fb9: 0x00c0, 0x3fba: 0x00c0, 0x3fbb: 0x00c0,
- 0x3fbc: 0x00c0, 0x3fbd: 0x00c0, 0x3fbe: 0x00c0, 0x3fbf: 0x00c0,
+ 0x3f98: 0x00c0, 0x3f99: 0x00c0, 0x3f9a: 0x00c0, 0x3f9b: 0x00c0, 0x3f9c: 0x00c0, 0x3f9d: 0x00c0,
+ 0x3f9e: 0x00c0, 0x3f9f: 0x00c0, 0x3fa0: 0x00c0, 0x3fa1: 0x00c0, 0x3fa2: 0x00c0, 0x3fa3: 0x00c0,
+ 0x3fa4: 0x00c0, 0x3fa5: 0x00c0, 0x3fa6: 0x00c0, 0x3fa7: 0x00c0, 0x3fa8: 0x00c0, 0x3fa9: 0x00c0,
+ 0x3faa: 0x00c0, 0x3fab: 0x00c0, 0x3fac: 0x00c0, 0x3fad: 0x00c0, 0x3fae: 0x00c0, 0x3faf: 0x00c0,
+ 0x3fb0: 0x00c0, 0x3fb1: 0x00c0, 0x3fb2: 0x00c0, 0x3fb3: 0x00c0, 0x3fb4: 0x00c0, 0x3fb5: 0x00c0,
+ 0x3fb6: 0x00c0, 0x3fb7: 0x00c0, 0x3fb8: 0x00c0,
// Block 0xff, offset 0x3fc0
0x3fc0: 0x00c0, 0x3fc1: 0x00c0, 0x3fc2: 0x00c0, 0x3fc3: 0x00c0, 0x3fc4: 0x00c0, 0x3fc5: 0x00c0,
- 0x3fc6: 0x00c0, 0x3fc7: 0x00c0, 0x3fc8: 0x00c0, 0x3fc9: 0x00c0, 0x3fca: 0x00c0, 0x3fcb: 0x00c0,
- 0x3fcc: 0x00c0, 0x3fcd: 0x00c0, 0x3fce: 0x00c0, 0x3fcf: 0x00c0,
- 0x3fd2: 0x00c3, 0x3fd3: 0x00c3, 0x3fd4: 0x00c3, 0x3fd5: 0x00c3, 0x3fd6: 0x00c3, 0x3fd7: 0x00c3,
- 0x3fd8: 0x00c3, 0x3fd9: 0x00c3, 0x3fda: 0x00c3, 0x3fdb: 0x00c3, 0x3fdc: 0x00c3, 0x3fdd: 0x00c3,
- 0x3fde: 0x00c3, 0x3fdf: 0x00c3, 0x3fe0: 0x00c3, 0x3fe1: 0x00c3, 0x3fe2: 0x00c3, 0x3fe3: 0x00c3,
- 0x3fe4: 0x00c3, 0x3fe5: 0x00c3, 0x3fe6: 0x00c3, 0x3fe7: 0x00c3, 0x3fe9: 0x00c0,
- 0x3fea: 0x00c3, 0x3feb: 0x00c3, 0x3fec: 0x00c3, 0x3fed: 0x00c3, 0x3fee: 0x00c3, 0x3fef: 0x00c3,
- 0x3ff0: 0x00c3, 0x3ff1: 0x00c0, 0x3ff2: 0x00c3, 0x3ff3: 0x00c3, 0x3ff4: 0x00c0, 0x3ff5: 0x00c3,
- 0x3ff6: 0x00c3,
+ 0x3fc6: 0x00c0, 0x3fc7: 0x00c0, 0x3fc8: 0x00c0, 0x3fca: 0x00c0, 0x3fcb: 0x00c0,
+ 0x3fcc: 0x00c0, 0x3fcd: 0x00c0, 0x3fce: 0x00c0, 0x3fcf: 0x00c0, 0x3fd0: 0x00c0, 0x3fd1: 0x00c0,
+ 0x3fd2: 0x00c0, 0x3fd3: 0x00c0, 0x3fd4: 0x00c0, 0x3fd5: 0x00c0, 0x3fd6: 0x00c0, 0x3fd7: 0x00c0,
+ 0x3fd8: 0x00c0, 0x3fd9: 0x00c0, 0x3fda: 0x00c0, 0x3fdb: 0x00c0, 0x3fdc: 0x00c0, 0x3fdd: 0x00c0,
+ 0x3fde: 0x00c0, 0x3fdf: 0x00c0, 0x3fe0: 0x00c0, 0x3fe1: 0x00c0, 0x3fe2: 0x00c0, 0x3fe3: 0x00c0,
+ 0x3fe4: 0x00c0, 0x3fe5: 0x00c0, 0x3fe6: 0x00c0, 0x3fe7: 0x00c0, 0x3fe8: 0x00c0, 0x3fe9: 0x00c0,
+ 0x3fea: 0x00c0, 0x3feb: 0x00c0, 0x3fec: 0x00c0, 0x3fed: 0x00c0, 0x3fee: 0x00c0, 0x3fef: 0x00c0,
+ 0x3ff0: 0x00c3, 0x3ff1: 0x00c3, 0x3ff2: 0x00c3, 0x3ff3: 0x00c3, 0x3ff4: 0x00c3, 0x3ff5: 0x00c3,
+ 0x3ff6: 0x00c3, 0x3ff8: 0x00c3, 0x3ff9: 0x00c3, 0x3ffa: 0x00c3, 0x3ffb: 0x00c3,
+ 0x3ffc: 0x00c3, 0x3ffd: 0x00c3, 0x3ffe: 0x00c0, 0x3fff: 0x00c6,
// Block 0x100, offset 0x4000
- 0x4000: 0x00c0, 0x4001: 0x00c0, 0x4002: 0x00c0, 0x4003: 0x00c0, 0x4004: 0x00c0, 0x4005: 0x00c0,
- 0x4006: 0x00c0, 0x4007: 0x00c0, 0x4008: 0x00c0, 0x4009: 0x00c0, 0x400a: 0x00c0, 0x400b: 0x00c0,
- 0x400c: 0x00c0, 0x400d: 0x00c0, 0x400e: 0x00c0, 0x400f: 0x00c0, 0x4010: 0x00c0, 0x4011: 0x00c0,
+ 0x4000: 0x00c0, 0x4001: 0x0080, 0x4002: 0x0080, 0x4003: 0x0080, 0x4004: 0x0080, 0x4005: 0x0080,
+ 0x4010: 0x00c0, 0x4011: 0x00c0,
0x4012: 0x00c0, 0x4013: 0x00c0, 0x4014: 0x00c0, 0x4015: 0x00c0, 0x4016: 0x00c0, 0x4017: 0x00c0,
- 0x4018: 0x00c0, 0x4019: 0x00c0,
+ 0x4018: 0x00c0, 0x4019: 0x00c0, 0x401a: 0x0080, 0x401b: 0x0080, 0x401c: 0x0080, 0x401d: 0x0080,
+ 0x401e: 0x0080, 0x401f: 0x0080, 0x4020: 0x0080, 0x4021: 0x0080, 0x4022: 0x0080, 0x4023: 0x0080,
+ 0x4024: 0x0080, 0x4025: 0x0080, 0x4026: 0x0080, 0x4027: 0x0080, 0x4028: 0x0080, 0x4029: 0x0080,
+ 0x402a: 0x0080, 0x402b: 0x0080, 0x402c: 0x0080,
+ 0x4030: 0x0080, 0x4031: 0x0080, 0x4032: 0x00c0, 0x4033: 0x00c0, 0x4034: 0x00c0, 0x4035: 0x00c0,
+ 0x4036: 0x00c0, 0x4037: 0x00c0, 0x4038: 0x00c0, 0x4039: 0x00c0, 0x403a: 0x00c0, 0x403b: 0x00c0,
+ 0x403c: 0x00c0, 0x403d: 0x00c0, 0x403e: 0x00c0, 0x403f: 0x00c0,
// Block 0x101, offset 0x4040
- 0x4040: 0x0080, 0x4041: 0x0080, 0x4042: 0x0080, 0x4043: 0x0080, 0x4044: 0x0080, 0x4045: 0x0080,
- 0x4046: 0x0080, 0x4047: 0x0080, 0x4048: 0x0080, 0x4049: 0x0080, 0x404a: 0x0080, 0x404b: 0x0080,
- 0x404c: 0x0080, 0x404d: 0x0080, 0x404e: 0x0080, 0x404f: 0x0080, 0x4050: 0x0080, 0x4051: 0x0080,
- 0x4052: 0x0080, 0x4053: 0x0080, 0x4054: 0x0080, 0x4055: 0x0080, 0x4056: 0x0080, 0x4057: 0x0080,
- 0x4058: 0x0080, 0x4059: 0x0080, 0x405a: 0x0080, 0x405b: 0x0080, 0x405c: 0x0080, 0x405d: 0x0080,
- 0x405e: 0x0080, 0x405f: 0x0080, 0x4060: 0x0080, 0x4061: 0x0080, 0x4062: 0x0080, 0x4063: 0x0080,
- 0x4064: 0x0080, 0x4065: 0x0080, 0x4066: 0x0080, 0x4067: 0x0080, 0x4068: 0x0080, 0x4069: 0x0080,
- 0x406a: 0x0080, 0x406b: 0x0080, 0x406c: 0x0080, 0x406d: 0x0080, 0x406e: 0x0080,
- 0x4070: 0x0080, 0x4071: 0x0080, 0x4072: 0x0080, 0x4073: 0x0080, 0x4074: 0x0080,
+ 0x4040: 0x00c0, 0x4041: 0x00c0, 0x4042: 0x00c0, 0x4043: 0x00c0, 0x4044: 0x00c0, 0x4045: 0x00c0,
+ 0x4046: 0x00c0, 0x4047: 0x00c0, 0x4048: 0x00c0, 0x4049: 0x00c0, 0x404a: 0x00c0, 0x404b: 0x00c0,
+ 0x404c: 0x00c0, 0x404d: 0x00c0, 0x404e: 0x00c0, 0x404f: 0x00c0,
+ 0x4052: 0x00c3, 0x4053: 0x00c3, 0x4054: 0x00c3, 0x4055: 0x00c3, 0x4056: 0x00c3, 0x4057: 0x00c3,
+ 0x4058: 0x00c3, 0x4059: 0x00c3, 0x405a: 0x00c3, 0x405b: 0x00c3, 0x405c: 0x00c3, 0x405d: 0x00c3,
+ 0x405e: 0x00c3, 0x405f: 0x00c3, 0x4060: 0x00c3, 0x4061: 0x00c3, 0x4062: 0x00c3, 0x4063: 0x00c3,
+ 0x4064: 0x00c3, 0x4065: 0x00c3, 0x4066: 0x00c3, 0x4067: 0x00c3, 0x4069: 0x00c0,
+ 0x406a: 0x00c3, 0x406b: 0x00c3, 0x406c: 0x00c3, 0x406d: 0x00c3, 0x406e: 0x00c3, 0x406f: 0x00c3,
+ 0x4070: 0x00c3, 0x4071: 0x00c0, 0x4072: 0x00c3, 0x4073: 0x00c3, 0x4074: 0x00c0, 0x4075: 0x00c3,
+ 0x4076: 0x00c3,
// Block 0x102, offset 0x4080
- 0x4080: 0x00c0, 0x4081: 0x00c0, 0x4082: 0x00c0, 0x4083: 0x00c0,
+ 0x4080: 0x00c0, 0x4081: 0x00c0, 0x4082: 0x00c0, 0x4083: 0x00c0, 0x4084: 0x00c0, 0x4085: 0x00c0,
+ 0x4086: 0x00c0, 0x4088: 0x00c0, 0x4089: 0x00c0, 0x408b: 0x00c0,
+ 0x408c: 0x00c0, 0x408d: 0x00c0, 0x408e: 0x00c0, 0x408f: 0x00c0, 0x4090: 0x00c0, 0x4091: 0x00c0,
+ 0x4092: 0x00c0, 0x4093: 0x00c0, 0x4094: 0x00c0, 0x4095: 0x00c0, 0x4096: 0x00c0, 0x4097: 0x00c0,
+ 0x4098: 0x00c0, 0x4099: 0x00c0, 0x409a: 0x00c0, 0x409b: 0x00c0, 0x409c: 0x00c0, 0x409d: 0x00c0,
+ 0x409e: 0x00c0, 0x409f: 0x00c0, 0x40a0: 0x00c0, 0x40a1: 0x00c0, 0x40a2: 0x00c0, 0x40a3: 0x00c0,
+ 0x40a4: 0x00c0, 0x40a5: 0x00c0, 0x40a6: 0x00c0, 0x40a7: 0x00c0, 0x40a8: 0x00c0, 0x40a9: 0x00c0,
+ 0x40aa: 0x00c0, 0x40ab: 0x00c0, 0x40ac: 0x00c0, 0x40ad: 0x00c0, 0x40ae: 0x00c0, 0x40af: 0x00c0,
+ 0x40b0: 0x00c0, 0x40b1: 0x00c3, 0x40b2: 0x00c3, 0x40b3: 0x00c3, 0x40b4: 0x00c3, 0x40b5: 0x00c3,
+ 0x40b6: 0x00c3, 0x40ba: 0x00c3,
+ 0x40bc: 0x00c3, 0x40bd: 0x00c3, 0x40bf: 0x00c3,
// Block 0x103, offset 0x40c0
- 0x40c0: 0x00c0, 0x40c1: 0x00c0, 0x40c2: 0x00c0, 0x40c3: 0x00c0, 0x40c4: 0x00c0, 0x40c5: 0x00c0,
- 0x40c6: 0x00c0, 0x40c7: 0x00c0, 0x40c8: 0x00c0, 0x40c9: 0x00c0, 0x40ca: 0x00c0, 0x40cb: 0x00c0,
- 0x40cc: 0x00c0, 0x40cd: 0x00c0, 0x40ce: 0x00c0, 0x40cf: 0x00c0, 0x40d0: 0x00c0, 0x40d1: 0x00c0,
+ 0x40c0: 0x00c3, 0x40c1: 0x00c3, 0x40c2: 0x00c3, 0x40c3: 0x00c3, 0x40c4: 0x00c6, 0x40c5: 0x00c6,
+ 0x40c6: 0x00c0, 0x40c7: 0x00c3,
+ 0x40d0: 0x00c0, 0x40d1: 0x00c0,
0x40d2: 0x00c0, 0x40d3: 0x00c0, 0x40d4: 0x00c0, 0x40d5: 0x00c0, 0x40d6: 0x00c0, 0x40d7: 0x00c0,
- 0x40d8: 0x00c0, 0x40d9: 0x00c0, 0x40da: 0x00c0, 0x40db: 0x00c0, 0x40dc: 0x00c0, 0x40dd: 0x00c0,
- 0x40de: 0x00c0, 0x40df: 0x00c0, 0x40e0: 0x00c0, 0x40e1: 0x00c0, 0x40e2: 0x00c0, 0x40e3: 0x00c0,
- 0x40e4: 0x00c0, 0x40e5: 0x00c0, 0x40e6: 0x00c0, 0x40e7: 0x00c0, 0x40e8: 0x00c0, 0x40e9: 0x00c0,
- 0x40ea: 0x00c0, 0x40eb: 0x00c0, 0x40ec: 0x00c0, 0x40ed: 0x00c0, 0x40ee: 0x00c0,
+ 0x40d8: 0x00c0, 0x40d9: 0x00c0,
// Block 0x104, offset 0x4100
0x4100: 0x00c0, 0x4101: 0x00c0, 0x4102: 0x00c0, 0x4103: 0x00c0, 0x4104: 0x00c0, 0x4105: 0x00c0,
- 0x4106: 0x00c0,
+ 0x4106: 0x00c0, 0x4107: 0x00c0, 0x4108: 0x00c0, 0x4109: 0x00c0, 0x410a: 0x00c0, 0x410b: 0x00c0,
+ 0x410c: 0x00c0, 0x410d: 0x00c0, 0x410e: 0x00c0, 0x410f: 0x00c0, 0x4110: 0x00c0, 0x4111: 0x00c0,
+ 0x4112: 0x00c0, 0x4113: 0x00c0, 0x4114: 0x00c0, 0x4115: 0x00c0, 0x4116: 0x00c0, 0x4117: 0x00c0,
+ 0x4118: 0x00c0, 0x4119: 0x00c0,
// Block 0x105, offset 0x4140
- 0x4140: 0x00c0, 0x4141: 0x00c0, 0x4142: 0x00c0, 0x4143: 0x00c0, 0x4144: 0x00c0, 0x4145: 0x00c0,
- 0x4146: 0x00c0, 0x4147: 0x00c0, 0x4148: 0x00c0, 0x4149: 0x00c0, 0x414a: 0x00c0, 0x414b: 0x00c0,
- 0x414c: 0x00c0, 0x414d: 0x00c0, 0x414e: 0x00c0, 0x414f: 0x00c0, 0x4150: 0x00c0, 0x4151: 0x00c0,
- 0x4152: 0x00c0, 0x4153: 0x00c0, 0x4154: 0x00c0, 0x4155: 0x00c0, 0x4156: 0x00c0, 0x4157: 0x00c0,
- 0x4158: 0x00c0, 0x4159: 0x00c0, 0x415a: 0x00c0, 0x415b: 0x00c0, 0x415c: 0x00c0, 0x415d: 0x00c0,
- 0x415e: 0x00c0, 0x4160: 0x00c0, 0x4161: 0x00c0, 0x4162: 0x00c0, 0x4163: 0x00c0,
- 0x4164: 0x00c0, 0x4165: 0x00c0, 0x4166: 0x00c0, 0x4167: 0x00c0, 0x4168: 0x00c0, 0x4169: 0x00c0,
- 0x416e: 0x0080, 0x416f: 0x0080,
+ 0x4140: 0x0080, 0x4141: 0x0080, 0x4142: 0x0080, 0x4143: 0x0080, 0x4144: 0x0080, 0x4145: 0x0080,
+ 0x4146: 0x0080, 0x4147: 0x0080, 0x4148: 0x0080, 0x4149: 0x0080, 0x414a: 0x0080, 0x414b: 0x0080,
+ 0x414c: 0x0080, 0x414d: 0x0080, 0x414e: 0x0080, 0x414f: 0x0080, 0x4150: 0x0080, 0x4151: 0x0080,
+ 0x4152: 0x0080, 0x4153: 0x0080, 0x4154: 0x0080, 0x4155: 0x0080, 0x4156: 0x0080, 0x4157: 0x0080,
+ 0x4158: 0x0080, 0x4159: 0x0080, 0x415a: 0x0080, 0x415b: 0x0080, 0x415c: 0x0080, 0x415d: 0x0080,
+ 0x415e: 0x0080, 0x415f: 0x0080, 0x4160: 0x0080, 0x4161: 0x0080, 0x4162: 0x0080, 0x4163: 0x0080,
+ 0x4164: 0x0080, 0x4165: 0x0080, 0x4166: 0x0080, 0x4167: 0x0080, 0x4168: 0x0080, 0x4169: 0x0080,
+ 0x416a: 0x0080, 0x416b: 0x0080, 0x416c: 0x0080, 0x416d: 0x0080, 0x416e: 0x0080,
+ 0x4170: 0x0080, 0x4171: 0x0080, 0x4172: 0x0080, 0x4173: 0x0080, 0x4174: 0x0080,
// Block 0x106, offset 0x4180
- 0x4190: 0x00c0, 0x4191: 0x00c0,
- 0x4192: 0x00c0, 0x4193: 0x00c0, 0x4194: 0x00c0, 0x4195: 0x00c0, 0x4196: 0x00c0, 0x4197: 0x00c0,
- 0x4198: 0x00c0, 0x4199: 0x00c0, 0x419a: 0x00c0, 0x419b: 0x00c0, 0x419c: 0x00c0, 0x419d: 0x00c0,
- 0x419e: 0x00c0, 0x419f: 0x00c0, 0x41a0: 0x00c0, 0x41a1: 0x00c0, 0x41a2: 0x00c0, 0x41a3: 0x00c0,
- 0x41a4: 0x00c0, 0x41a5: 0x00c0, 0x41a6: 0x00c0, 0x41a7: 0x00c0, 0x41a8: 0x00c0, 0x41a9: 0x00c0,
- 0x41aa: 0x00c0, 0x41ab: 0x00c0, 0x41ac: 0x00c0, 0x41ad: 0x00c0,
- 0x41b0: 0x00c3, 0x41b1: 0x00c3, 0x41b2: 0x00c3, 0x41b3: 0x00c3, 0x41b4: 0x00c3, 0x41b5: 0x0080,
+ 0x4180: 0x00c0, 0x4181: 0x00c0, 0x4182: 0x00c0, 0x4183: 0x00c0,
// Block 0x107, offset 0x41c0
0x41c0: 0x00c0, 0x41c1: 0x00c0, 0x41c2: 0x00c0, 0x41c3: 0x00c0, 0x41c4: 0x00c0, 0x41c5: 0x00c0,
0x41c6: 0x00c0, 0x41c7: 0x00c0, 0x41c8: 0x00c0, 0x41c9: 0x00c0, 0x41ca: 0x00c0, 0x41cb: 0x00c0,
@@ -3016,146 +3035,140 @@ var derivedPropertiesValues = [20736]uint8{
0x41d8: 0x00c0, 0x41d9: 0x00c0, 0x41da: 0x00c0, 0x41db: 0x00c0, 0x41dc: 0x00c0, 0x41dd: 0x00c0,
0x41de: 0x00c0, 0x41df: 0x00c0, 0x41e0: 0x00c0, 0x41e1: 0x00c0, 0x41e2: 0x00c0, 0x41e3: 0x00c0,
0x41e4: 0x00c0, 0x41e5: 0x00c0, 0x41e6: 0x00c0, 0x41e7: 0x00c0, 0x41e8: 0x00c0, 0x41e9: 0x00c0,
- 0x41ea: 0x00c0, 0x41eb: 0x00c0, 0x41ec: 0x00c0, 0x41ed: 0x00c0, 0x41ee: 0x00c0, 0x41ef: 0x00c0,
- 0x41f0: 0x00c3, 0x41f1: 0x00c3, 0x41f2: 0x00c3, 0x41f3: 0x00c3, 0x41f4: 0x00c3, 0x41f5: 0x00c3,
- 0x41f6: 0x00c3, 0x41f7: 0x0080, 0x41f8: 0x0080, 0x41f9: 0x0080, 0x41fa: 0x0080, 0x41fb: 0x0080,
- 0x41fc: 0x0080, 0x41fd: 0x0080, 0x41fe: 0x0080, 0x41ff: 0x0080,
+ 0x41ea: 0x00c0, 0x41eb: 0x00c0, 0x41ec: 0x00c0, 0x41ed: 0x00c0, 0x41ee: 0x00c0,
// Block 0x108, offset 0x4200
- 0x4200: 0x00c0, 0x4201: 0x00c0, 0x4202: 0x00c0, 0x4203: 0x00c0, 0x4204: 0x0080, 0x4205: 0x0080,
- 0x4210: 0x00c0, 0x4211: 0x00c0,
- 0x4212: 0x00c0, 0x4213: 0x00c0, 0x4214: 0x00c0, 0x4215: 0x00c0, 0x4216: 0x00c0, 0x4217: 0x00c0,
- 0x4218: 0x00c0, 0x4219: 0x00c0, 0x421b: 0x0080, 0x421c: 0x0080, 0x421d: 0x0080,
- 0x421e: 0x0080, 0x421f: 0x0080, 0x4220: 0x0080, 0x4221: 0x0080, 0x4223: 0x00c0,
- 0x4224: 0x00c0, 0x4225: 0x00c0, 0x4226: 0x00c0, 0x4227: 0x00c0, 0x4228: 0x00c0, 0x4229: 0x00c0,
- 0x422a: 0x00c0, 0x422b: 0x00c0, 0x422c: 0x00c0, 0x422d: 0x00c0, 0x422e: 0x00c0, 0x422f: 0x00c0,
- 0x4230: 0x00c0, 0x4231: 0x00c0, 0x4232: 0x00c0, 0x4233: 0x00c0, 0x4234: 0x00c0, 0x4235: 0x00c0,
- 0x4236: 0x00c0, 0x4237: 0x00c0,
- 0x423d: 0x00c0, 0x423e: 0x00c0, 0x423f: 0x00c0,
+ 0x4200: 0x00c0, 0x4201: 0x00c0, 0x4202: 0x00c0, 0x4203: 0x00c0, 0x4204: 0x00c0, 0x4205: 0x00c0,
+ 0x4206: 0x00c0,
// Block 0x109, offset 0x4240
0x4240: 0x00c0, 0x4241: 0x00c0, 0x4242: 0x00c0, 0x4243: 0x00c0, 0x4244: 0x00c0, 0x4245: 0x00c0,
0x4246: 0x00c0, 0x4247: 0x00c0, 0x4248: 0x00c0, 0x4249: 0x00c0, 0x424a: 0x00c0, 0x424b: 0x00c0,
- 0x424c: 0x00c0, 0x424d: 0x00c0, 0x424e: 0x00c0, 0x424f: 0x00c0,
+ 0x424c: 0x00c0, 0x424d: 0x00c0, 0x424e: 0x00c0, 0x424f: 0x00c0, 0x4250: 0x00c0, 0x4251: 0x00c0,
+ 0x4252: 0x00c0, 0x4253: 0x00c0, 0x4254: 0x00c0, 0x4255: 0x00c0, 0x4256: 0x00c0, 0x4257: 0x00c0,
+ 0x4258: 0x00c0, 0x4259: 0x00c0, 0x425a: 0x00c0, 0x425b: 0x00c0, 0x425c: 0x00c0, 0x425d: 0x00c0,
+ 0x425e: 0x00c0, 0x4260: 0x00c0, 0x4261: 0x00c0, 0x4262: 0x00c0, 0x4263: 0x00c0,
+ 0x4264: 0x00c0, 0x4265: 0x00c0, 0x4266: 0x00c0, 0x4267: 0x00c0, 0x4268: 0x00c0, 0x4269: 0x00c0,
+ 0x426e: 0x0080, 0x426f: 0x0080,
// Block 0x10a, offset 0x4280
- 0x4280: 0x00c0, 0x4281: 0x00c0, 0x4282: 0x00c0, 0x4283: 0x00c0, 0x4284: 0x00c0,
0x4290: 0x00c0, 0x4291: 0x00c0,
0x4292: 0x00c0, 0x4293: 0x00c0, 0x4294: 0x00c0, 0x4295: 0x00c0, 0x4296: 0x00c0, 0x4297: 0x00c0,
0x4298: 0x00c0, 0x4299: 0x00c0, 0x429a: 0x00c0, 0x429b: 0x00c0, 0x429c: 0x00c0, 0x429d: 0x00c0,
0x429e: 0x00c0, 0x429f: 0x00c0, 0x42a0: 0x00c0, 0x42a1: 0x00c0, 0x42a2: 0x00c0, 0x42a3: 0x00c0,
0x42a4: 0x00c0, 0x42a5: 0x00c0, 0x42a6: 0x00c0, 0x42a7: 0x00c0, 0x42a8: 0x00c0, 0x42a9: 0x00c0,
- 0x42aa: 0x00c0, 0x42ab: 0x00c0, 0x42ac: 0x00c0, 0x42ad: 0x00c0, 0x42ae: 0x00c0, 0x42af: 0x00c0,
- 0x42b0: 0x00c0, 0x42b1: 0x00c0, 0x42b2: 0x00c0, 0x42b3: 0x00c0, 0x42b4: 0x00c0, 0x42b5: 0x00c0,
- 0x42b6: 0x00c0, 0x42b7: 0x00c0, 0x42b8: 0x00c0, 0x42b9: 0x00c0, 0x42ba: 0x00c0, 0x42bb: 0x00c0,
- 0x42bc: 0x00c0, 0x42bd: 0x00c0, 0x42be: 0x00c0,
+ 0x42aa: 0x00c0, 0x42ab: 0x00c0, 0x42ac: 0x00c0, 0x42ad: 0x00c0,
+ 0x42b0: 0x00c3, 0x42b1: 0x00c3, 0x42b2: 0x00c3, 0x42b3: 0x00c3, 0x42b4: 0x00c3, 0x42b5: 0x0080,
// Block 0x10b, offset 0x42c0
- 0x42cf: 0x00c3, 0x42d0: 0x00c3, 0x42d1: 0x00c3,
- 0x42d2: 0x00c3, 0x42d3: 0x00c0, 0x42d4: 0x00c0, 0x42d5: 0x00c0, 0x42d6: 0x00c0, 0x42d7: 0x00c0,
+ 0x42c0: 0x00c0, 0x42c1: 0x00c0, 0x42c2: 0x00c0, 0x42c3: 0x00c0, 0x42c4: 0x00c0, 0x42c5: 0x00c0,
+ 0x42c6: 0x00c0, 0x42c7: 0x00c0, 0x42c8: 0x00c0, 0x42c9: 0x00c0, 0x42ca: 0x00c0, 0x42cb: 0x00c0,
+ 0x42cc: 0x00c0, 0x42cd: 0x00c0, 0x42ce: 0x00c0, 0x42cf: 0x00c0, 0x42d0: 0x00c0, 0x42d1: 0x00c0,
+ 0x42d2: 0x00c0, 0x42d3: 0x00c0, 0x42d4: 0x00c0, 0x42d5: 0x00c0, 0x42d6: 0x00c0, 0x42d7: 0x00c0,
0x42d8: 0x00c0, 0x42d9: 0x00c0, 0x42da: 0x00c0, 0x42db: 0x00c0, 0x42dc: 0x00c0, 0x42dd: 0x00c0,
- 0x42de: 0x00c0, 0x42df: 0x00c0,
+ 0x42de: 0x00c0, 0x42df: 0x00c0, 0x42e0: 0x00c0, 0x42e1: 0x00c0, 0x42e2: 0x00c0, 0x42e3: 0x00c0,
+ 0x42e4: 0x00c0, 0x42e5: 0x00c0, 0x42e6: 0x00c0, 0x42e7: 0x00c0, 0x42e8: 0x00c0, 0x42e9: 0x00c0,
+ 0x42ea: 0x00c0, 0x42eb: 0x00c0, 0x42ec: 0x00c0, 0x42ed: 0x00c0, 0x42ee: 0x00c0, 0x42ef: 0x00c0,
+ 0x42f0: 0x00c3, 0x42f1: 0x00c3, 0x42f2: 0x00c3, 0x42f3: 0x00c3, 0x42f4: 0x00c3, 0x42f5: 0x00c3,
+ 0x42f6: 0x00c3, 0x42f7: 0x0080, 0x42f8: 0x0080, 0x42f9: 0x0080, 0x42fa: 0x0080, 0x42fb: 0x0080,
+ 0x42fc: 0x0080, 0x42fd: 0x0080, 0x42fe: 0x0080, 0x42ff: 0x0080,
// Block 0x10c, offset 0x4300
- 0x4320: 0x00c0,
+ 0x4300: 0x00c0, 0x4301: 0x00c0, 0x4302: 0x00c0, 0x4303: 0x00c0, 0x4304: 0x0080, 0x4305: 0x0080,
+ 0x4310: 0x00c0, 0x4311: 0x00c0,
+ 0x4312: 0x00c0, 0x4313: 0x00c0, 0x4314: 0x00c0, 0x4315: 0x00c0, 0x4316: 0x00c0, 0x4317: 0x00c0,
+ 0x4318: 0x00c0, 0x4319: 0x00c0, 0x431b: 0x0080, 0x431c: 0x0080, 0x431d: 0x0080,
+ 0x431e: 0x0080, 0x431f: 0x0080, 0x4320: 0x0080, 0x4321: 0x0080, 0x4323: 0x00c0,
+ 0x4324: 0x00c0, 0x4325: 0x00c0, 0x4326: 0x00c0, 0x4327: 0x00c0, 0x4328: 0x00c0, 0x4329: 0x00c0,
+ 0x432a: 0x00c0, 0x432b: 0x00c0, 0x432c: 0x00c0, 0x432d: 0x00c0, 0x432e: 0x00c0, 0x432f: 0x00c0,
+ 0x4330: 0x00c0, 0x4331: 0x00c0, 0x4332: 0x00c0, 0x4333: 0x00c0, 0x4334: 0x00c0, 0x4335: 0x00c0,
+ 0x4336: 0x00c0, 0x4337: 0x00c0,
+ 0x433d: 0x00c0, 0x433e: 0x00c0, 0x433f: 0x00c0,
// Block 0x10d, offset 0x4340
0x4340: 0x00c0, 0x4341: 0x00c0, 0x4342: 0x00c0, 0x4343: 0x00c0, 0x4344: 0x00c0, 0x4345: 0x00c0,
0x4346: 0x00c0, 0x4347: 0x00c0, 0x4348: 0x00c0, 0x4349: 0x00c0, 0x434a: 0x00c0, 0x434b: 0x00c0,
- 0x434c: 0x00c0, 0x434d: 0x00c0, 0x434e: 0x00c0, 0x434f: 0x00c0, 0x4350: 0x00c0, 0x4351: 0x00c0,
- 0x4352: 0x00c0, 0x4353: 0x00c0, 0x4354: 0x00c0, 0x4355: 0x00c0, 0x4356: 0x00c0, 0x4357: 0x00c0,
- 0x4358: 0x00c0, 0x4359: 0x00c0, 0x435a: 0x00c0, 0x435b: 0x00c0, 0x435c: 0x00c0, 0x435d: 0x00c0,
- 0x435e: 0x00c0, 0x435f: 0x00c0, 0x4360: 0x00c0, 0x4361: 0x00c0, 0x4362: 0x00c0, 0x4363: 0x00c0,
- 0x4364: 0x00c0, 0x4365: 0x00c0, 0x4366: 0x00c0, 0x4367: 0x00c0, 0x4368: 0x00c0, 0x4369: 0x00c0,
- 0x436a: 0x00c0, 0x436b: 0x00c0, 0x436c: 0x00c0,
+ 0x434c: 0x00c0, 0x434d: 0x00c0, 0x434e: 0x00c0, 0x434f: 0x00c0,
// Block 0x10e, offset 0x4380
- 0x4380: 0x00cc, 0x4381: 0x00cc,
+ 0x4380: 0x00c0, 0x4381: 0x00c0, 0x4382: 0x00c0, 0x4383: 0x00c0, 0x4384: 0x00c0,
+ 0x4390: 0x00c0, 0x4391: 0x00c0,
+ 0x4392: 0x00c0, 0x4393: 0x00c0, 0x4394: 0x00c0, 0x4395: 0x00c0, 0x4396: 0x00c0, 0x4397: 0x00c0,
+ 0x4398: 0x00c0, 0x4399: 0x00c0, 0x439a: 0x00c0, 0x439b: 0x00c0, 0x439c: 0x00c0, 0x439d: 0x00c0,
+ 0x439e: 0x00c0, 0x439f: 0x00c0, 0x43a0: 0x00c0, 0x43a1: 0x00c0, 0x43a2: 0x00c0, 0x43a3: 0x00c0,
+ 0x43a4: 0x00c0, 0x43a5: 0x00c0, 0x43a6: 0x00c0, 0x43a7: 0x00c0, 0x43a8: 0x00c0, 0x43a9: 0x00c0,
+ 0x43aa: 0x00c0, 0x43ab: 0x00c0, 0x43ac: 0x00c0, 0x43ad: 0x00c0, 0x43ae: 0x00c0, 0x43af: 0x00c0,
+ 0x43b0: 0x00c0, 0x43b1: 0x00c0, 0x43b2: 0x00c0, 0x43b3: 0x00c0, 0x43b4: 0x00c0, 0x43b5: 0x00c0,
+ 0x43b6: 0x00c0, 0x43b7: 0x00c0, 0x43b8: 0x00c0, 0x43b9: 0x00c0, 0x43ba: 0x00c0, 0x43bb: 0x00c0,
+ 0x43bc: 0x00c0, 0x43bd: 0x00c0, 0x43be: 0x00c0,
// Block 0x10f, offset 0x43c0
- 0x43c0: 0x00c0, 0x43c1: 0x00c0, 0x43c2: 0x00c0, 0x43c3: 0x00c0, 0x43c4: 0x00c0, 0x43c5: 0x00c0,
- 0x43c6: 0x00c0, 0x43c7: 0x00c0, 0x43c8: 0x00c0, 0x43c9: 0x00c0, 0x43ca: 0x00c0, 0x43cb: 0x00c0,
- 0x43cc: 0x00c0, 0x43cd: 0x00c0, 0x43ce: 0x00c0, 0x43cf: 0x00c0, 0x43d0: 0x00c0, 0x43d1: 0x00c0,
- 0x43d2: 0x00c0, 0x43d3: 0x00c0, 0x43d4: 0x00c0, 0x43d5: 0x00c0, 0x43d6: 0x00c0, 0x43d7: 0x00c0,
+ 0x43cf: 0x00c3, 0x43d0: 0x00c3, 0x43d1: 0x00c3,
+ 0x43d2: 0x00c3, 0x43d3: 0x00c0, 0x43d4: 0x00c0, 0x43d5: 0x00c0, 0x43d6: 0x00c0, 0x43d7: 0x00c0,
0x43d8: 0x00c0, 0x43d9: 0x00c0, 0x43da: 0x00c0, 0x43db: 0x00c0, 0x43dc: 0x00c0, 0x43dd: 0x00c0,
- 0x43de: 0x00c0, 0x43df: 0x00c0, 0x43e0: 0x00c0, 0x43e1: 0x00c0, 0x43e2: 0x00c0, 0x43e3: 0x00c0,
- 0x43e4: 0x00c0, 0x43e5: 0x00c0, 0x43e6: 0x00c0, 0x43e7: 0x00c0, 0x43e8: 0x00c0, 0x43e9: 0x00c0,
- 0x43ea: 0x00c0,
- 0x43f0: 0x00c0, 0x43f1: 0x00c0, 0x43f2: 0x00c0, 0x43f3: 0x00c0, 0x43f4: 0x00c0, 0x43f5: 0x00c0,
- 0x43f6: 0x00c0, 0x43f7: 0x00c0, 0x43f8: 0x00c0, 0x43f9: 0x00c0, 0x43fa: 0x00c0, 0x43fb: 0x00c0,
- 0x43fc: 0x00c0,
+ 0x43de: 0x00c0, 0x43df: 0x00c0,
// Block 0x110, offset 0x4400
- 0x4400: 0x00c0, 0x4401: 0x00c0, 0x4402: 0x00c0, 0x4403: 0x00c0, 0x4404: 0x00c0, 0x4405: 0x00c0,
- 0x4406: 0x00c0, 0x4407: 0x00c0, 0x4408: 0x00c0,
- 0x4410: 0x00c0, 0x4411: 0x00c0,
- 0x4412: 0x00c0, 0x4413: 0x00c0, 0x4414: 0x00c0, 0x4415: 0x00c0, 0x4416: 0x00c0, 0x4417: 0x00c0,
- 0x4418: 0x00c0, 0x4419: 0x00c0, 0x441c: 0x0080, 0x441d: 0x00c3,
- 0x441e: 0x00c3, 0x441f: 0x0080, 0x4420: 0x0040, 0x4421: 0x0040, 0x4422: 0x0040, 0x4423: 0x0040,
+ 0x4420: 0x00c0, 0x4421: 0x00c0,
// Block 0x111, offset 0x4440
- 0x4440: 0x0080, 0x4441: 0x0080, 0x4442: 0x0080, 0x4443: 0x0080, 0x4444: 0x0080, 0x4445: 0x0080,
- 0x4446: 0x0080, 0x4447: 0x0080, 0x4448: 0x0080, 0x4449: 0x0080, 0x444a: 0x0080, 0x444b: 0x0080,
- 0x444c: 0x0080, 0x444d: 0x0080, 0x444e: 0x0080, 0x444f: 0x0080, 0x4450: 0x0080, 0x4451: 0x0080,
- 0x4452: 0x0080, 0x4453: 0x0080, 0x4454: 0x0080, 0x4455: 0x0080, 0x4456: 0x0080, 0x4457: 0x0080,
- 0x4458: 0x0080, 0x4459: 0x0080, 0x445a: 0x0080, 0x445b: 0x0080, 0x445c: 0x0080, 0x445d: 0x0080,
- 0x445e: 0x0080, 0x445f: 0x0080, 0x4460: 0x0080, 0x4461: 0x0080, 0x4462: 0x0080, 0x4463: 0x0080,
- 0x4464: 0x0080, 0x4465: 0x0080, 0x4466: 0x0080, 0x4467: 0x0080, 0x4468: 0x0080, 0x4469: 0x0080,
- 0x446a: 0x0080, 0x446b: 0x0080, 0x446c: 0x0080, 0x446d: 0x0080, 0x446e: 0x0080, 0x446f: 0x0080,
- 0x4470: 0x0080, 0x4471: 0x0080, 0x4472: 0x0080, 0x4473: 0x0080, 0x4474: 0x0080, 0x4475: 0x0080,
+ 0x4440: 0x00c0, 0x4441: 0x00c0, 0x4442: 0x00c0, 0x4443: 0x00c0, 0x4444: 0x00c0, 0x4445: 0x00c0,
+ 0x4446: 0x00c0, 0x4447: 0x00c0, 0x4448: 0x00c0, 0x4449: 0x00c0, 0x444a: 0x00c0, 0x444b: 0x00c0,
+ 0x444c: 0x00c0, 0x444d: 0x00c0, 0x444e: 0x00c0, 0x444f: 0x00c0, 0x4450: 0x00c0, 0x4451: 0x00c0,
+ 0x4452: 0x00c0, 0x4453: 0x00c0, 0x4454: 0x00c0, 0x4455: 0x00c0, 0x4456: 0x00c0, 0x4457: 0x00c0,
+ 0x4458: 0x00c0, 0x4459: 0x00c0, 0x445a: 0x00c0, 0x445b: 0x00c0, 0x445c: 0x00c0, 0x445d: 0x00c0,
+ 0x445e: 0x00c0, 0x445f: 0x00c0, 0x4460: 0x00c0, 0x4461: 0x00c0, 0x4462: 0x00c0, 0x4463: 0x00c0,
+ 0x4464: 0x00c0, 0x4465: 0x00c0, 0x4466: 0x00c0, 0x4467: 0x00c0, 0x4468: 0x00c0, 0x4469: 0x00c0,
+ 0x446a: 0x00c0, 0x446b: 0x00c0, 0x446c: 0x00c0,
// Block 0x112, offset 0x4480
- 0x4480: 0x0080, 0x4481: 0x0080, 0x4482: 0x0080, 0x4483: 0x0080, 0x4484: 0x0080, 0x4485: 0x0080,
- 0x4486: 0x0080, 0x4487: 0x0080, 0x4488: 0x0080, 0x4489: 0x0080, 0x448a: 0x0080, 0x448b: 0x0080,
- 0x448c: 0x0080, 0x448d: 0x0080, 0x448e: 0x0080, 0x448f: 0x0080, 0x4490: 0x0080, 0x4491: 0x0080,
- 0x4492: 0x0080, 0x4493: 0x0080, 0x4494: 0x0080, 0x4495: 0x0080, 0x4496: 0x0080, 0x4497: 0x0080,
- 0x4498: 0x0080, 0x4499: 0x0080, 0x449a: 0x0080, 0x449b: 0x0080, 0x449c: 0x0080, 0x449d: 0x0080,
- 0x449e: 0x0080, 0x449f: 0x0080, 0x44a0: 0x0080, 0x44a1: 0x0080, 0x44a2: 0x0080, 0x44a3: 0x0080,
- 0x44a4: 0x0080, 0x44a5: 0x0080, 0x44a6: 0x0080, 0x44a9: 0x0080,
- 0x44aa: 0x0080, 0x44ab: 0x0080, 0x44ac: 0x0080, 0x44ad: 0x0080, 0x44ae: 0x0080, 0x44af: 0x0080,
- 0x44b0: 0x0080, 0x44b1: 0x0080, 0x44b2: 0x0080, 0x44b3: 0x0080, 0x44b4: 0x0080, 0x44b5: 0x0080,
- 0x44b6: 0x0080, 0x44b7: 0x0080, 0x44b8: 0x0080, 0x44b9: 0x0080, 0x44ba: 0x0080, 0x44bb: 0x0080,
- 0x44bc: 0x0080, 0x44bd: 0x0080, 0x44be: 0x0080, 0x44bf: 0x0080,
+ 0x4480: 0x00cc, 0x4481: 0x00cc, 0x4482: 0x00cc, 0x4483: 0x00cc, 0x4484: 0x00cc, 0x4485: 0x00cc,
+ 0x4486: 0x00cc, 0x4487: 0x00cc, 0x4488: 0x00cc, 0x4489: 0x00cc, 0x448a: 0x00cc, 0x448b: 0x00cc,
+ 0x448c: 0x00cc, 0x448d: 0x00cc, 0x448e: 0x00cc, 0x448f: 0x00cc, 0x4490: 0x00cc, 0x4491: 0x00cc,
+ 0x4492: 0x00cc, 0x4493: 0x00cc, 0x4494: 0x00cc, 0x4495: 0x00cc, 0x4496: 0x00cc, 0x4497: 0x00cc,
+ 0x4498: 0x00cc, 0x4499: 0x00cc, 0x449a: 0x00cc, 0x449b: 0x00cc, 0x449c: 0x00cc, 0x449d: 0x00cc,
+ 0x449e: 0x00cc,
// Block 0x113, offset 0x44c0
- 0x44c0: 0x0080, 0x44c1: 0x0080, 0x44c2: 0x0080, 0x44c3: 0x0080, 0x44c4: 0x0080, 0x44c5: 0x0080,
- 0x44c6: 0x0080, 0x44c7: 0x0080, 0x44c8: 0x0080, 0x44c9: 0x0080, 0x44ca: 0x0080, 0x44cb: 0x0080,
- 0x44cc: 0x0080, 0x44cd: 0x0080, 0x44ce: 0x0080, 0x44cf: 0x0080, 0x44d0: 0x0080, 0x44d1: 0x0080,
- 0x44d2: 0x0080, 0x44d3: 0x0080, 0x44d4: 0x0080, 0x44d5: 0x0080, 0x44d6: 0x0080, 0x44d7: 0x0080,
- 0x44d8: 0x0080, 0x44d9: 0x0080, 0x44da: 0x0080, 0x44db: 0x0080, 0x44dc: 0x0080, 0x44dd: 0x0080,
- 0x44de: 0x0080, 0x44df: 0x0080, 0x44e0: 0x0080, 0x44e1: 0x0080, 0x44e2: 0x0080, 0x44e3: 0x0080,
- 0x44e4: 0x0080, 0x44e5: 0x00c0, 0x44e6: 0x00c0, 0x44e7: 0x00c3, 0x44e8: 0x00c3, 0x44e9: 0x00c3,
- 0x44ea: 0x0080, 0x44eb: 0x0080, 0x44ec: 0x0080, 0x44ed: 0x00c0, 0x44ee: 0x00c0, 0x44ef: 0x00c0,
- 0x44f0: 0x00c0, 0x44f1: 0x00c0, 0x44f2: 0x00c0, 0x44f3: 0x0040, 0x44f4: 0x0040, 0x44f5: 0x0040,
- 0x44f6: 0x0040, 0x44f7: 0x0040, 0x44f8: 0x0040, 0x44f9: 0x0040, 0x44fa: 0x0040, 0x44fb: 0x00c3,
- 0x44fc: 0x00c3, 0x44fd: 0x00c3, 0x44fe: 0x00c3, 0x44ff: 0x00c3,
+ 0x44f0: 0x00c0, 0x44f1: 0x00c0, 0x44f2: 0x00c0, 0x44f3: 0x00c0, 0x44f4: 0x00c0, 0x44f5: 0x00c0,
+ 0x44f6: 0x00c0, 0x44f7: 0x00c0, 0x44f8: 0x00c0, 0x44f9: 0x00c0, 0x44fa: 0x00c0, 0x44fb: 0x00c0,
+ 0x44fc: 0x00c0, 0x44fd: 0x00c0, 0x44fe: 0x00c0, 0x44ff: 0x00c0,
// Block 0x114, offset 0x4500
- 0x4500: 0x00c3, 0x4501: 0x00c3, 0x4502: 0x00c3, 0x4503: 0x0080, 0x4504: 0x0080, 0x4505: 0x00c3,
- 0x4506: 0x00c3, 0x4507: 0x00c3, 0x4508: 0x00c3, 0x4509: 0x00c3, 0x450a: 0x00c3, 0x450b: 0x00c3,
- 0x450c: 0x0080, 0x450d: 0x0080, 0x450e: 0x0080, 0x450f: 0x0080, 0x4510: 0x0080, 0x4511: 0x0080,
- 0x4512: 0x0080, 0x4513: 0x0080, 0x4514: 0x0080, 0x4515: 0x0080, 0x4516: 0x0080, 0x4517: 0x0080,
- 0x4518: 0x0080, 0x4519: 0x0080, 0x451a: 0x0080, 0x451b: 0x0080, 0x451c: 0x0080, 0x451d: 0x0080,
- 0x451e: 0x0080, 0x451f: 0x0080, 0x4520: 0x0080, 0x4521: 0x0080, 0x4522: 0x0080, 0x4523: 0x0080,
- 0x4524: 0x0080, 0x4525: 0x0080, 0x4526: 0x0080, 0x4527: 0x0080, 0x4528: 0x0080, 0x4529: 0x0080,
- 0x452a: 0x00c3, 0x452b: 0x00c3, 0x452c: 0x00c3, 0x452d: 0x00c3, 0x452e: 0x0080, 0x452f: 0x0080,
- 0x4530: 0x0080, 0x4531: 0x0080, 0x4532: 0x0080, 0x4533: 0x0080, 0x4534: 0x0080, 0x4535: 0x0080,
- 0x4536: 0x0080, 0x4537: 0x0080, 0x4538: 0x0080, 0x4539: 0x0080, 0x453a: 0x0080, 0x453b: 0x0080,
- 0x453c: 0x0080, 0x453d: 0x0080, 0x453e: 0x0080, 0x453f: 0x0080,
+ 0x4500: 0x00c0, 0x4501: 0x00c0, 0x4502: 0x00c0, 0x4503: 0x00c0, 0x4504: 0x00c0, 0x4505: 0x00c0,
+ 0x4506: 0x00c0, 0x4507: 0x00c0, 0x4508: 0x00c0, 0x4509: 0x00c0, 0x450a: 0x00c0, 0x450b: 0x00c0,
+ 0x450c: 0x00c0, 0x450d: 0x00c0, 0x450e: 0x00c0, 0x450f: 0x00c0, 0x4510: 0x00c0, 0x4511: 0x00c0,
+ 0x4512: 0x00c0, 0x4513: 0x00c0, 0x4514: 0x00c0, 0x4515: 0x00c0, 0x4516: 0x00c0, 0x4517: 0x00c0,
+ 0x4518: 0x00c0, 0x4519: 0x00c0, 0x451a: 0x00c0, 0x451b: 0x00c0, 0x451c: 0x00c0, 0x451d: 0x00c0,
+ 0x451e: 0x00c0, 0x451f: 0x00c0, 0x4520: 0x00c0, 0x4521: 0x00c0, 0x4522: 0x00c0, 0x4523: 0x00c0,
+ 0x4524: 0x00c0, 0x4525: 0x00c0, 0x4526: 0x00c0, 0x4527: 0x00c0, 0x4528: 0x00c0, 0x4529: 0x00c0,
+ 0x452a: 0x00c0, 0x452b: 0x00c0, 0x452c: 0x00c0, 0x452d: 0x00c0, 0x452e: 0x00c0, 0x452f: 0x00c0,
+ 0x4530: 0x00c0, 0x4531: 0x00c0, 0x4532: 0x00c0, 0x4533: 0x00c0, 0x4534: 0x00c0, 0x4535: 0x00c0,
+ 0x4536: 0x00c0, 0x4537: 0x00c0, 0x4538: 0x00c0, 0x4539: 0x00c0, 0x453a: 0x00c0, 0x453b: 0x00c0,
// Block 0x115, offset 0x4540
- 0x4540: 0x0080, 0x4541: 0x0080, 0x4542: 0x0080, 0x4543: 0x0080, 0x4544: 0x0080, 0x4545: 0x0080,
- 0x4546: 0x0080, 0x4547: 0x0080, 0x4548: 0x0080, 0x4549: 0x0080, 0x454a: 0x0080, 0x454b: 0x0080,
- 0x454c: 0x0080, 0x454d: 0x0080, 0x454e: 0x0080, 0x454f: 0x0080, 0x4550: 0x0080, 0x4551: 0x0080,
- 0x4552: 0x0080, 0x4553: 0x0080, 0x4554: 0x0080, 0x4555: 0x0080, 0x4556: 0x0080, 0x4557: 0x0080,
- 0x4558: 0x0080, 0x4559: 0x0080, 0x455a: 0x0080, 0x455b: 0x0080, 0x455c: 0x0080, 0x455d: 0x0080,
- 0x455e: 0x0080, 0x455f: 0x0080, 0x4560: 0x0080, 0x4561: 0x0080, 0x4562: 0x0080, 0x4563: 0x0080,
- 0x4564: 0x0080, 0x4565: 0x0080, 0x4566: 0x0080, 0x4567: 0x0080, 0x4568: 0x0080,
+ 0x4540: 0x00c0, 0x4541: 0x00c0, 0x4542: 0x00c0, 0x4543: 0x00c0, 0x4544: 0x00c0, 0x4545: 0x00c0,
+ 0x4546: 0x00c0, 0x4547: 0x00c0, 0x4548: 0x00c0, 0x4549: 0x00c0, 0x454a: 0x00c0, 0x454b: 0x00c0,
+ 0x454c: 0x00c0, 0x454d: 0x00c0, 0x454e: 0x00c0, 0x454f: 0x00c0, 0x4550: 0x00c0, 0x4551: 0x00c0,
+ 0x4552: 0x00c0, 0x4553: 0x00c0, 0x4554: 0x00c0, 0x4555: 0x00c0, 0x4556: 0x00c0, 0x4557: 0x00c0,
+ 0x4558: 0x00c0, 0x4559: 0x00c0, 0x455a: 0x00c0, 0x455b: 0x00c0, 0x455c: 0x00c0, 0x455d: 0x00c0,
+ 0x455e: 0x00c0, 0x455f: 0x00c0, 0x4560: 0x00c0, 0x4561: 0x00c0, 0x4562: 0x00c0, 0x4563: 0x00c0,
+ 0x4564: 0x00c0, 0x4565: 0x00c0, 0x4566: 0x00c0, 0x4567: 0x00c0, 0x4568: 0x00c0, 0x4569: 0x00c0,
+ 0x456a: 0x00c0,
+ 0x4570: 0x00c0, 0x4571: 0x00c0, 0x4572: 0x00c0, 0x4573: 0x00c0, 0x4574: 0x00c0, 0x4575: 0x00c0,
+ 0x4576: 0x00c0, 0x4577: 0x00c0, 0x4578: 0x00c0, 0x4579: 0x00c0, 0x457a: 0x00c0, 0x457b: 0x00c0,
+ 0x457c: 0x00c0,
// Block 0x116, offset 0x4580
- 0x4580: 0x0088, 0x4581: 0x0088, 0x4582: 0x00c9, 0x4583: 0x00c9, 0x4584: 0x00c9, 0x4585: 0x0088,
+ 0x4580: 0x00c0, 0x4581: 0x00c0, 0x4582: 0x00c0, 0x4583: 0x00c0, 0x4584: 0x00c0, 0x4585: 0x00c0,
+ 0x4586: 0x00c0, 0x4587: 0x00c0, 0x4588: 0x00c0,
+ 0x4590: 0x00c0, 0x4591: 0x00c0,
+ 0x4592: 0x00c0, 0x4593: 0x00c0, 0x4594: 0x00c0, 0x4595: 0x00c0, 0x4596: 0x00c0, 0x4597: 0x00c0,
+ 0x4598: 0x00c0, 0x4599: 0x00c0, 0x459c: 0x0080, 0x459d: 0x00c3,
+ 0x459e: 0x00c3, 0x459f: 0x0080, 0x45a0: 0x0040, 0x45a1: 0x0040, 0x45a2: 0x0040, 0x45a3: 0x0040,
// Block 0x117, offset 0x45c0
0x45c0: 0x0080, 0x45c1: 0x0080, 0x45c2: 0x0080, 0x45c3: 0x0080, 0x45c4: 0x0080, 0x45c5: 0x0080,
0x45c6: 0x0080, 0x45c7: 0x0080, 0x45c8: 0x0080, 0x45c9: 0x0080, 0x45ca: 0x0080, 0x45cb: 0x0080,
0x45cc: 0x0080, 0x45cd: 0x0080, 0x45ce: 0x0080, 0x45cf: 0x0080, 0x45d0: 0x0080, 0x45d1: 0x0080,
- 0x45d2: 0x0080, 0x45d3: 0x0080, 0x45d4: 0x0080, 0x45d5: 0x0080, 0x45d6: 0x0080,
- 0x45e0: 0x0080, 0x45e1: 0x0080, 0x45e2: 0x0080, 0x45e3: 0x0080,
+ 0x45d2: 0x0080, 0x45d3: 0x0080, 0x45d4: 0x0080, 0x45d5: 0x0080, 0x45d6: 0x0080, 0x45d7: 0x0080,
+ 0x45d8: 0x0080, 0x45d9: 0x0080, 0x45da: 0x0080, 0x45db: 0x0080, 0x45dc: 0x0080, 0x45dd: 0x0080,
+ 0x45de: 0x0080, 0x45df: 0x0080, 0x45e0: 0x0080, 0x45e1: 0x0080, 0x45e2: 0x0080, 0x45e3: 0x0080,
0x45e4: 0x0080, 0x45e5: 0x0080, 0x45e6: 0x0080, 0x45e7: 0x0080, 0x45e8: 0x0080, 0x45e9: 0x0080,
0x45ea: 0x0080, 0x45eb: 0x0080, 0x45ec: 0x0080, 0x45ed: 0x0080, 0x45ee: 0x0080, 0x45ef: 0x0080,
- 0x45f0: 0x0080, 0x45f1: 0x0080,
+ 0x45f0: 0x0080, 0x45f1: 0x0080, 0x45f2: 0x0080, 0x45f3: 0x0080, 0x45f4: 0x0080, 0x45f5: 0x0080,
// Block 0x118, offset 0x4600
0x4600: 0x0080, 0x4601: 0x0080, 0x4602: 0x0080, 0x4603: 0x0080, 0x4604: 0x0080, 0x4605: 0x0080,
0x4606: 0x0080, 0x4607: 0x0080, 0x4608: 0x0080, 0x4609: 0x0080, 0x460a: 0x0080, 0x460b: 0x0080,
0x460c: 0x0080, 0x460d: 0x0080, 0x460e: 0x0080, 0x460f: 0x0080, 0x4610: 0x0080, 0x4611: 0x0080,
- 0x4612: 0x0080, 0x4613: 0x0080, 0x4614: 0x0080, 0x4616: 0x0080, 0x4617: 0x0080,
+ 0x4612: 0x0080, 0x4613: 0x0080, 0x4614: 0x0080, 0x4615: 0x0080, 0x4616: 0x0080, 0x4617: 0x0080,
0x4618: 0x0080, 0x4619: 0x0080, 0x461a: 0x0080, 0x461b: 0x0080, 0x461c: 0x0080, 0x461d: 0x0080,
0x461e: 0x0080, 0x461f: 0x0080, 0x4620: 0x0080, 0x4621: 0x0080, 0x4622: 0x0080, 0x4623: 0x0080,
- 0x4624: 0x0080, 0x4625: 0x0080, 0x4626: 0x0080, 0x4627: 0x0080, 0x4628: 0x0080, 0x4629: 0x0080,
+ 0x4624: 0x0080, 0x4625: 0x0080, 0x4626: 0x0080, 0x4629: 0x0080,
0x462a: 0x0080, 0x462b: 0x0080, 0x462c: 0x0080, 0x462d: 0x0080, 0x462e: 0x0080, 0x462f: 0x0080,
0x4630: 0x0080, 0x4631: 0x0080, 0x4632: 0x0080, 0x4633: 0x0080, 0x4634: 0x0080, 0x4635: 0x0080,
0x4636: 0x0080, 0x4637: 0x0080, 0x4638: 0x0080, 0x4639: 0x0080, 0x463a: 0x0080, 0x463b: 0x0080,
@@ -3165,66 +3178,49 @@ var derivedPropertiesValues = [20736]uint8{
0x4646: 0x0080, 0x4647: 0x0080, 0x4648: 0x0080, 0x4649: 0x0080, 0x464a: 0x0080, 0x464b: 0x0080,
0x464c: 0x0080, 0x464d: 0x0080, 0x464e: 0x0080, 0x464f: 0x0080, 0x4650: 0x0080, 0x4651: 0x0080,
0x4652: 0x0080, 0x4653: 0x0080, 0x4654: 0x0080, 0x4655: 0x0080, 0x4656: 0x0080, 0x4657: 0x0080,
- 0x4658: 0x0080, 0x4659: 0x0080, 0x465a: 0x0080, 0x465b: 0x0080, 0x465c: 0x0080,
- 0x465e: 0x0080, 0x465f: 0x0080, 0x4662: 0x0080,
- 0x4665: 0x0080, 0x4666: 0x0080, 0x4669: 0x0080,
- 0x466a: 0x0080, 0x466b: 0x0080, 0x466c: 0x0080, 0x466e: 0x0080, 0x466f: 0x0080,
- 0x4670: 0x0080, 0x4671: 0x0080, 0x4672: 0x0080, 0x4673: 0x0080, 0x4674: 0x0080, 0x4675: 0x0080,
- 0x4676: 0x0080, 0x4677: 0x0080, 0x4678: 0x0080, 0x4679: 0x0080, 0x467b: 0x0080,
- 0x467d: 0x0080, 0x467e: 0x0080, 0x467f: 0x0080,
+ 0x4658: 0x0080, 0x4659: 0x0080, 0x465a: 0x0080, 0x465b: 0x0080, 0x465c: 0x0080, 0x465d: 0x0080,
+ 0x465e: 0x0080, 0x465f: 0x0080, 0x4660: 0x0080, 0x4661: 0x0080, 0x4662: 0x0080, 0x4663: 0x0080,
+ 0x4664: 0x0080, 0x4665: 0x00c0, 0x4666: 0x00c0, 0x4667: 0x00c3, 0x4668: 0x00c3, 0x4669: 0x00c3,
+ 0x466a: 0x0080, 0x466b: 0x0080, 0x466c: 0x0080, 0x466d: 0x00c0, 0x466e: 0x00c0, 0x466f: 0x00c0,
+ 0x4670: 0x00c0, 0x4671: 0x00c0, 0x4672: 0x00c0, 0x4673: 0x0040, 0x4674: 0x0040, 0x4675: 0x0040,
+ 0x4676: 0x0040, 0x4677: 0x0040, 0x4678: 0x0040, 0x4679: 0x0040, 0x467a: 0x0040, 0x467b: 0x00c3,
+ 0x467c: 0x00c3, 0x467d: 0x00c3, 0x467e: 0x00c3, 0x467f: 0x00c3,
// Block 0x11a, offset 0x4680
- 0x4680: 0x0080, 0x4681: 0x0080, 0x4682: 0x0080, 0x4683: 0x0080, 0x4685: 0x0080,
- 0x4686: 0x0080, 0x4687: 0x0080, 0x4688: 0x0080, 0x4689: 0x0080, 0x468a: 0x0080, 0x468b: 0x0080,
+ 0x4680: 0x00c3, 0x4681: 0x00c3, 0x4682: 0x00c3, 0x4683: 0x0080, 0x4684: 0x0080, 0x4685: 0x00c3,
+ 0x4686: 0x00c3, 0x4687: 0x00c3, 0x4688: 0x00c3, 0x4689: 0x00c3, 0x468a: 0x00c3, 0x468b: 0x00c3,
0x468c: 0x0080, 0x468d: 0x0080, 0x468e: 0x0080, 0x468f: 0x0080, 0x4690: 0x0080, 0x4691: 0x0080,
0x4692: 0x0080, 0x4693: 0x0080, 0x4694: 0x0080, 0x4695: 0x0080, 0x4696: 0x0080, 0x4697: 0x0080,
0x4698: 0x0080, 0x4699: 0x0080, 0x469a: 0x0080, 0x469b: 0x0080, 0x469c: 0x0080, 0x469d: 0x0080,
0x469e: 0x0080, 0x469f: 0x0080, 0x46a0: 0x0080, 0x46a1: 0x0080, 0x46a2: 0x0080, 0x46a3: 0x0080,
0x46a4: 0x0080, 0x46a5: 0x0080, 0x46a6: 0x0080, 0x46a7: 0x0080, 0x46a8: 0x0080, 0x46a9: 0x0080,
- 0x46aa: 0x0080, 0x46ab: 0x0080, 0x46ac: 0x0080, 0x46ad: 0x0080, 0x46ae: 0x0080, 0x46af: 0x0080,
+ 0x46aa: 0x00c3, 0x46ab: 0x00c3, 0x46ac: 0x00c3, 0x46ad: 0x00c3, 0x46ae: 0x0080, 0x46af: 0x0080,
0x46b0: 0x0080, 0x46b1: 0x0080, 0x46b2: 0x0080, 0x46b3: 0x0080, 0x46b4: 0x0080, 0x46b5: 0x0080,
0x46b6: 0x0080, 0x46b7: 0x0080, 0x46b8: 0x0080, 0x46b9: 0x0080, 0x46ba: 0x0080, 0x46bb: 0x0080,
0x46bc: 0x0080, 0x46bd: 0x0080, 0x46be: 0x0080, 0x46bf: 0x0080,
// Block 0x11b, offset 0x46c0
0x46c0: 0x0080, 0x46c1: 0x0080, 0x46c2: 0x0080, 0x46c3: 0x0080, 0x46c4: 0x0080, 0x46c5: 0x0080,
- 0x46c7: 0x0080, 0x46c8: 0x0080, 0x46c9: 0x0080, 0x46ca: 0x0080,
- 0x46cd: 0x0080, 0x46ce: 0x0080, 0x46cf: 0x0080, 0x46d0: 0x0080, 0x46d1: 0x0080,
- 0x46d2: 0x0080, 0x46d3: 0x0080, 0x46d4: 0x0080, 0x46d6: 0x0080, 0x46d7: 0x0080,
- 0x46d8: 0x0080, 0x46d9: 0x0080, 0x46da: 0x0080, 0x46db: 0x0080, 0x46dc: 0x0080,
+ 0x46c6: 0x0080, 0x46c7: 0x0080, 0x46c8: 0x0080, 0x46c9: 0x0080, 0x46ca: 0x0080, 0x46cb: 0x0080,
+ 0x46cc: 0x0080, 0x46cd: 0x0080, 0x46ce: 0x0080, 0x46cf: 0x0080, 0x46d0: 0x0080, 0x46d1: 0x0080,
+ 0x46d2: 0x0080, 0x46d3: 0x0080, 0x46d4: 0x0080, 0x46d5: 0x0080, 0x46d6: 0x0080, 0x46d7: 0x0080,
+ 0x46d8: 0x0080, 0x46d9: 0x0080, 0x46da: 0x0080, 0x46db: 0x0080, 0x46dc: 0x0080, 0x46dd: 0x0080,
0x46de: 0x0080, 0x46df: 0x0080, 0x46e0: 0x0080, 0x46e1: 0x0080, 0x46e2: 0x0080, 0x46e3: 0x0080,
- 0x46e4: 0x0080, 0x46e5: 0x0080, 0x46e6: 0x0080, 0x46e7: 0x0080, 0x46e8: 0x0080, 0x46e9: 0x0080,
- 0x46ea: 0x0080, 0x46eb: 0x0080, 0x46ec: 0x0080, 0x46ed: 0x0080, 0x46ee: 0x0080, 0x46ef: 0x0080,
- 0x46f0: 0x0080, 0x46f1: 0x0080, 0x46f2: 0x0080, 0x46f3: 0x0080, 0x46f4: 0x0080, 0x46f5: 0x0080,
- 0x46f6: 0x0080, 0x46f7: 0x0080, 0x46f8: 0x0080, 0x46f9: 0x0080, 0x46fb: 0x0080,
- 0x46fc: 0x0080, 0x46fd: 0x0080, 0x46fe: 0x0080,
+ 0x46e4: 0x0080, 0x46e5: 0x0080, 0x46e6: 0x0080, 0x46e7: 0x0080, 0x46e8: 0x0080,
// Block 0x11c, offset 0x4700
- 0x4700: 0x0080, 0x4701: 0x0080, 0x4702: 0x0080, 0x4703: 0x0080, 0x4704: 0x0080,
- 0x4706: 0x0080, 0x470a: 0x0080, 0x470b: 0x0080,
- 0x470c: 0x0080, 0x470d: 0x0080, 0x470e: 0x0080, 0x470f: 0x0080, 0x4710: 0x0080,
- 0x4712: 0x0080, 0x4713: 0x0080, 0x4714: 0x0080, 0x4715: 0x0080, 0x4716: 0x0080, 0x4717: 0x0080,
- 0x4718: 0x0080, 0x4719: 0x0080, 0x471a: 0x0080, 0x471b: 0x0080, 0x471c: 0x0080, 0x471d: 0x0080,
- 0x471e: 0x0080, 0x471f: 0x0080, 0x4720: 0x0080, 0x4721: 0x0080, 0x4722: 0x0080, 0x4723: 0x0080,
- 0x4724: 0x0080, 0x4725: 0x0080, 0x4726: 0x0080, 0x4727: 0x0080, 0x4728: 0x0080, 0x4729: 0x0080,
- 0x472a: 0x0080, 0x472b: 0x0080, 0x472c: 0x0080, 0x472d: 0x0080, 0x472e: 0x0080, 0x472f: 0x0080,
- 0x4730: 0x0080, 0x4731: 0x0080, 0x4732: 0x0080, 0x4733: 0x0080, 0x4734: 0x0080, 0x4735: 0x0080,
- 0x4736: 0x0080, 0x4737: 0x0080, 0x4738: 0x0080, 0x4739: 0x0080, 0x473a: 0x0080, 0x473b: 0x0080,
- 0x473c: 0x0080, 0x473d: 0x0080, 0x473e: 0x0080, 0x473f: 0x0080,
+ 0x4700: 0x0088, 0x4701: 0x0088, 0x4702: 0x00c9, 0x4703: 0x00c9, 0x4704: 0x00c9, 0x4705: 0x0088,
// Block 0x11d, offset 0x4740
0x4740: 0x0080, 0x4741: 0x0080, 0x4742: 0x0080, 0x4743: 0x0080, 0x4744: 0x0080, 0x4745: 0x0080,
0x4746: 0x0080, 0x4747: 0x0080, 0x4748: 0x0080, 0x4749: 0x0080, 0x474a: 0x0080, 0x474b: 0x0080,
0x474c: 0x0080, 0x474d: 0x0080, 0x474e: 0x0080, 0x474f: 0x0080, 0x4750: 0x0080, 0x4751: 0x0080,
- 0x4752: 0x0080, 0x4753: 0x0080, 0x4754: 0x0080, 0x4755: 0x0080, 0x4756: 0x0080, 0x4757: 0x0080,
- 0x4758: 0x0080, 0x4759: 0x0080, 0x475a: 0x0080, 0x475b: 0x0080, 0x475c: 0x0080, 0x475d: 0x0080,
- 0x475e: 0x0080, 0x475f: 0x0080, 0x4760: 0x0080, 0x4761: 0x0080, 0x4762: 0x0080, 0x4763: 0x0080,
- 0x4764: 0x0080, 0x4765: 0x0080, 0x4768: 0x0080, 0x4769: 0x0080,
+ 0x4752: 0x0080, 0x4753: 0x0080, 0x4754: 0x0080, 0x4755: 0x0080, 0x4756: 0x0080,
+ 0x4760: 0x0080, 0x4761: 0x0080, 0x4762: 0x0080, 0x4763: 0x0080,
+ 0x4764: 0x0080, 0x4765: 0x0080, 0x4766: 0x0080, 0x4767: 0x0080, 0x4768: 0x0080, 0x4769: 0x0080,
0x476a: 0x0080, 0x476b: 0x0080, 0x476c: 0x0080, 0x476d: 0x0080, 0x476e: 0x0080, 0x476f: 0x0080,
- 0x4770: 0x0080, 0x4771: 0x0080, 0x4772: 0x0080, 0x4773: 0x0080, 0x4774: 0x0080, 0x4775: 0x0080,
- 0x4776: 0x0080, 0x4777: 0x0080, 0x4778: 0x0080, 0x4779: 0x0080, 0x477a: 0x0080, 0x477b: 0x0080,
- 0x477c: 0x0080, 0x477d: 0x0080, 0x477e: 0x0080, 0x477f: 0x0080,
+ 0x4770: 0x0080, 0x4771: 0x0080,
// Block 0x11e, offset 0x4780
0x4780: 0x0080, 0x4781: 0x0080, 0x4782: 0x0080, 0x4783: 0x0080, 0x4784: 0x0080, 0x4785: 0x0080,
0x4786: 0x0080, 0x4787: 0x0080, 0x4788: 0x0080, 0x4789: 0x0080, 0x478a: 0x0080, 0x478b: 0x0080,
- 0x478e: 0x0080, 0x478f: 0x0080, 0x4790: 0x0080, 0x4791: 0x0080,
- 0x4792: 0x0080, 0x4793: 0x0080, 0x4794: 0x0080, 0x4795: 0x0080, 0x4796: 0x0080, 0x4797: 0x0080,
+ 0x478c: 0x0080, 0x478d: 0x0080, 0x478e: 0x0080, 0x478f: 0x0080, 0x4790: 0x0080, 0x4791: 0x0080,
+ 0x4792: 0x0080, 0x4793: 0x0080, 0x4794: 0x0080, 0x4796: 0x0080, 0x4797: 0x0080,
0x4798: 0x0080, 0x4799: 0x0080, 0x479a: 0x0080, 0x479b: 0x0080, 0x479c: 0x0080, 0x479d: 0x0080,
0x479e: 0x0080, 0x479f: 0x0080, 0x47a0: 0x0080, 0x47a1: 0x0080, 0x47a2: 0x0080, 0x47a3: 0x0080,
0x47a4: 0x0080, 0x47a5: 0x0080, 0x47a6: 0x0080, 0x47a7: 0x0080, 0x47a8: 0x0080, 0x47a9: 0x0080,
@@ -3233,333 +3229,428 @@ var derivedPropertiesValues = [20736]uint8{
0x47b6: 0x0080, 0x47b7: 0x0080, 0x47b8: 0x0080, 0x47b9: 0x0080, 0x47ba: 0x0080, 0x47bb: 0x0080,
0x47bc: 0x0080, 0x47bd: 0x0080, 0x47be: 0x0080, 0x47bf: 0x0080,
// Block 0x11f, offset 0x47c0
- 0x47c0: 0x00c3, 0x47c1: 0x00c3, 0x47c2: 0x00c3, 0x47c3: 0x00c3, 0x47c4: 0x00c3, 0x47c5: 0x00c3,
- 0x47c6: 0x00c3, 0x47c7: 0x00c3, 0x47c8: 0x00c3, 0x47c9: 0x00c3, 0x47ca: 0x00c3, 0x47cb: 0x00c3,
- 0x47cc: 0x00c3, 0x47cd: 0x00c3, 0x47ce: 0x00c3, 0x47cf: 0x00c3, 0x47d0: 0x00c3, 0x47d1: 0x00c3,
- 0x47d2: 0x00c3, 0x47d3: 0x00c3, 0x47d4: 0x00c3, 0x47d5: 0x00c3, 0x47d6: 0x00c3, 0x47d7: 0x00c3,
- 0x47d8: 0x00c3, 0x47d9: 0x00c3, 0x47da: 0x00c3, 0x47db: 0x00c3, 0x47dc: 0x00c3, 0x47dd: 0x00c3,
- 0x47de: 0x00c3, 0x47df: 0x00c3, 0x47e0: 0x00c3, 0x47e1: 0x00c3, 0x47e2: 0x00c3, 0x47e3: 0x00c3,
- 0x47e4: 0x00c3, 0x47e5: 0x00c3, 0x47e6: 0x00c3, 0x47e7: 0x00c3, 0x47e8: 0x00c3, 0x47e9: 0x00c3,
- 0x47ea: 0x00c3, 0x47eb: 0x00c3, 0x47ec: 0x00c3, 0x47ed: 0x00c3, 0x47ee: 0x00c3, 0x47ef: 0x00c3,
- 0x47f0: 0x00c3, 0x47f1: 0x00c3, 0x47f2: 0x00c3, 0x47f3: 0x00c3, 0x47f4: 0x00c3, 0x47f5: 0x00c3,
- 0x47f6: 0x00c3, 0x47f7: 0x0080, 0x47f8: 0x0080, 0x47f9: 0x0080, 0x47fa: 0x0080, 0x47fb: 0x00c3,
- 0x47fc: 0x00c3, 0x47fd: 0x00c3, 0x47fe: 0x00c3, 0x47ff: 0x00c3,
+ 0x47c0: 0x0080, 0x47c1: 0x0080, 0x47c2: 0x0080, 0x47c3: 0x0080, 0x47c4: 0x0080, 0x47c5: 0x0080,
+ 0x47c6: 0x0080, 0x47c7: 0x0080, 0x47c8: 0x0080, 0x47c9: 0x0080, 0x47ca: 0x0080, 0x47cb: 0x0080,
+ 0x47cc: 0x0080, 0x47cd: 0x0080, 0x47ce: 0x0080, 0x47cf: 0x0080, 0x47d0: 0x0080, 0x47d1: 0x0080,
+ 0x47d2: 0x0080, 0x47d3: 0x0080, 0x47d4: 0x0080, 0x47d5: 0x0080, 0x47d6: 0x0080, 0x47d7: 0x0080,
+ 0x47d8: 0x0080, 0x47d9: 0x0080, 0x47da: 0x0080, 0x47db: 0x0080, 0x47dc: 0x0080,
+ 0x47de: 0x0080, 0x47df: 0x0080, 0x47e2: 0x0080,
+ 0x47e5: 0x0080, 0x47e6: 0x0080, 0x47e9: 0x0080,
+ 0x47ea: 0x0080, 0x47eb: 0x0080, 0x47ec: 0x0080, 0x47ee: 0x0080, 0x47ef: 0x0080,
+ 0x47f0: 0x0080, 0x47f1: 0x0080, 0x47f2: 0x0080, 0x47f3: 0x0080, 0x47f4: 0x0080, 0x47f5: 0x0080,
+ 0x47f6: 0x0080, 0x47f7: 0x0080, 0x47f8: 0x0080, 0x47f9: 0x0080, 0x47fb: 0x0080,
+ 0x47fd: 0x0080, 0x47fe: 0x0080, 0x47ff: 0x0080,
// Block 0x120, offset 0x4800
- 0x4800: 0x00c3, 0x4801: 0x00c3, 0x4802: 0x00c3, 0x4803: 0x00c3, 0x4804: 0x00c3, 0x4805: 0x00c3,
- 0x4806: 0x00c3, 0x4807: 0x00c3, 0x4808: 0x00c3, 0x4809: 0x00c3, 0x480a: 0x00c3, 0x480b: 0x00c3,
- 0x480c: 0x00c3, 0x480d: 0x00c3, 0x480e: 0x00c3, 0x480f: 0x00c3, 0x4810: 0x00c3, 0x4811: 0x00c3,
- 0x4812: 0x00c3, 0x4813: 0x00c3, 0x4814: 0x00c3, 0x4815: 0x00c3, 0x4816: 0x00c3, 0x4817: 0x00c3,
- 0x4818: 0x00c3, 0x4819: 0x00c3, 0x481a: 0x00c3, 0x481b: 0x00c3, 0x481c: 0x00c3, 0x481d: 0x00c3,
- 0x481e: 0x00c3, 0x481f: 0x00c3, 0x4820: 0x00c3, 0x4821: 0x00c3, 0x4822: 0x00c3, 0x4823: 0x00c3,
- 0x4824: 0x00c3, 0x4825: 0x00c3, 0x4826: 0x00c3, 0x4827: 0x00c3, 0x4828: 0x00c3, 0x4829: 0x00c3,
- 0x482a: 0x00c3, 0x482b: 0x00c3, 0x482c: 0x00c3, 0x482d: 0x0080, 0x482e: 0x0080, 0x482f: 0x0080,
- 0x4830: 0x0080, 0x4831: 0x0080, 0x4832: 0x0080, 0x4833: 0x0080, 0x4834: 0x0080, 0x4835: 0x00c3,
+ 0x4800: 0x0080, 0x4801: 0x0080, 0x4802: 0x0080, 0x4803: 0x0080, 0x4805: 0x0080,
+ 0x4806: 0x0080, 0x4807: 0x0080, 0x4808: 0x0080, 0x4809: 0x0080, 0x480a: 0x0080, 0x480b: 0x0080,
+ 0x480c: 0x0080, 0x480d: 0x0080, 0x480e: 0x0080, 0x480f: 0x0080, 0x4810: 0x0080, 0x4811: 0x0080,
+ 0x4812: 0x0080, 0x4813: 0x0080, 0x4814: 0x0080, 0x4815: 0x0080, 0x4816: 0x0080, 0x4817: 0x0080,
+ 0x4818: 0x0080, 0x4819: 0x0080, 0x481a: 0x0080, 0x481b: 0x0080, 0x481c: 0x0080, 0x481d: 0x0080,
+ 0x481e: 0x0080, 0x481f: 0x0080, 0x4820: 0x0080, 0x4821: 0x0080, 0x4822: 0x0080, 0x4823: 0x0080,
+ 0x4824: 0x0080, 0x4825: 0x0080, 0x4826: 0x0080, 0x4827: 0x0080, 0x4828: 0x0080, 0x4829: 0x0080,
+ 0x482a: 0x0080, 0x482b: 0x0080, 0x482c: 0x0080, 0x482d: 0x0080, 0x482e: 0x0080, 0x482f: 0x0080,
+ 0x4830: 0x0080, 0x4831: 0x0080, 0x4832: 0x0080, 0x4833: 0x0080, 0x4834: 0x0080, 0x4835: 0x0080,
0x4836: 0x0080, 0x4837: 0x0080, 0x4838: 0x0080, 0x4839: 0x0080, 0x483a: 0x0080, 0x483b: 0x0080,
0x483c: 0x0080, 0x483d: 0x0080, 0x483e: 0x0080, 0x483f: 0x0080,
// Block 0x121, offset 0x4840
- 0x4840: 0x0080, 0x4841: 0x0080, 0x4842: 0x0080, 0x4843: 0x0080, 0x4844: 0x00c3, 0x4845: 0x0080,
- 0x4846: 0x0080, 0x4847: 0x0080, 0x4848: 0x0080, 0x4849: 0x0080, 0x484a: 0x0080, 0x484b: 0x0080,
- 0x485b: 0x00c3, 0x485c: 0x00c3, 0x485d: 0x00c3,
- 0x485e: 0x00c3, 0x485f: 0x00c3, 0x4861: 0x00c3, 0x4862: 0x00c3, 0x4863: 0x00c3,
- 0x4864: 0x00c3, 0x4865: 0x00c3, 0x4866: 0x00c3, 0x4867: 0x00c3, 0x4868: 0x00c3, 0x4869: 0x00c3,
- 0x486a: 0x00c3, 0x486b: 0x00c3, 0x486c: 0x00c3, 0x486d: 0x00c3, 0x486e: 0x00c3, 0x486f: 0x00c3,
+ 0x4840: 0x0080, 0x4841: 0x0080, 0x4842: 0x0080, 0x4843: 0x0080, 0x4844: 0x0080, 0x4845: 0x0080,
+ 0x4847: 0x0080, 0x4848: 0x0080, 0x4849: 0x0080, 0x484a: 0x0080,
+ 0x484d: 0x0080, 0x484e: 0x0080, 0x484f: 0x0080, 0x4850: 0x0080, 0x4851: 0x0080,
+ 0x4852: 0x0080, 0x4853: 0x0080, 0x4854: 0x0080, 0x4856: 0x0080, 0x4857: 0x0080,
+ 0x4858: 0x0080, 0x4859: 0x0080, 0x485a: 0x0080, 0x485b: 0x0080, 0x485c: 0x0080,
+ 0x485e: 0x0080, 0x485f: 0x0080, 0x4860: 0x0080, 0x4861: 0x0080, 0x4862: 0x0080, 0x4863: 0x0080,
+ 0x4864: 0x0080, 0x4865: 0x0080, 0x4866: 0x0080, 0x4867: 0x0080, 0x4868: 0x0080, 0x4869: 0x0080,
+ 0x486a: 0x0080, 0x486b: 0x0080, 0x486c: 0x0080, 0x486d: 0x0080, 0x486e: 0x0080, 0x486f: 0x0080,
+ 0x4870: 0x0080, 0x4871: 0x0080, 0x4872: 0x0080, 0x4873: 0x0080, 0x4874: 0x0080, 0x4875: 0x0080,
+ 0x4876: 0x0080, 0x4877: 0x0080, 0x4878: 0x0080, 0x4879: 0x0080, 0x487b: 0x0080,
+ 0x487c: 0x0080, 0x487d: 0x0080, 0x487e: 0x0080,
// Block 0x122, offset 0x4880
- 0x4880: 0x00c3, 0x4881: 0x00c3, 0x4882: 0x00c3, 0x4883: 0x00c3, 0x4884: 0x00c3, 0x4885: 0x00c3,
- 0x4886: 0x00c3, 0x4888: 0x00c3, 0x4889: 0x00c3, 0x488a: 0x00c3, 0x488b: 0x00c3,
- 0x488c: 0x00c3, 0x488d: 0x00c3, 0x488e: 0x00c3, 0x488f: 0x00c3, 0x4890: 0x00c3, 0x4891: 0x00c3,
- 0x4892: 0x00c3, 0x4893: 0x00c3, 0x4894: 0x00c3, 0x4895: 0x00c3, 0x4896: 0x00c3, 0x4897: 0x00c3,
- 0x4898: 0x00c3, 0x489b: 0x00c3, 0x489c: 0x00c3, 0x489d: 0x00c3,
- 0x489e: 0x00c3, 0x489f: 0x00c3, 0x48a0: 0x00c3, 0x48a1: 0x00c3, 0x48a3: 0x00c3,
- 0x48a4: 0x00c3, 0x48a6: 0x00c3, 0x48a7: 0x00c3, 0x48a8: 0x00c3, 0x48a9: 0x00c3,
- 0x48aa: 0x00c3,
+ 0x4880: 0x0080, 0x4881: 0x0080, 0x4882: 0x0080, 0x4883: 0x0080, 0x4884: 0x0080,
+ 0x4886: 0x0080, 0x488a: 0x0080, 0x488b: 0x0080,
+ 0x488c: 0x0080, 0x488d: 0x0080, 0x488e: 0x0080, 0x488f: 0x0080, 0x4890: 0x0080,
+ 0x4892: 0x0080, 0x4893: 0x0080, 0x4894: 0x0080, 0x4895: 0x0080, 0x4896: 0x0080, 0x4897: 0x0080,
+ 0x4898: 0x0080, 0x4899: 0x0080, 0x489a: 0x0080, 0x489b: 0x0080, 0x489c: 0x0080, 0x489d: 0x0080,
+ 0x489e: 0x0080, 0x489f: 0x0080, 0x48a0: 0x0080, 0x48a1: 0x0080, 0x48a2: 0x0080, 0x48a3: 0x0080,
+ 0x48a4: 0x0080, 0x48a5: 0x0080, 0x48a6: 0x0080, 0x48a7: 0x0080, 0x48a8: 0x0080, 0x48a9: 0x0080,
+ 0x48aa: 0x0080, 0x48ab: 0x0080, 0x48ac: 0x0080, 0x48ad: 0x0080, 0x48ae: 0x0080, 0x48af: 0x0080,
+ 0x48b0: 0x0080, 0x48b1: 0x0080, 0x48b2: 0x0080, 0x48b3: 0x0080, 0x48b4: 0x0080, 0x48b5: 0x0080,
+ 0x48b6: 0x0080, 0x48b7: 0x0080, 0x48b8: 0x0080, 0x48b9: 0x0080, 0x48ba: 0x0080, 0x48bb: 0x0080,
+ 0x48bc: 0x0080, 0x48bd: 0x0080, 0x48be: 0x0080, 0x48bf: 0x0080,
// Block 0x123, offset 0x48c0
- 0x48c0: 0x00c0, 0x48c1: 0x00c0, 0x48c2: 0x00c0, 0x48c3: 0x00c0, 0x48c4: 0x00c0,
- 0x48c7: 0x0080, 0x48c8: 0x0080, 0x48c9: 0x0080, 0x48ca: 0x0080, 0x48cb: 0x0080,
- 0x48cc: 0x0080, 0x48cd: 0x0080, 0x48ce: 0x0080, 0x48cf: 0x0080, 0x48d0: 0x00c3, 0x48d1: 0x00c3,
- 0x48d2: 0x00c3, 0x48d3: 0x00c3, 0x48d4: 0x00c3, 0x48d5: 0x00c3, 0x48d6: 0x00c3,
+ 0x48c0: 0x0080, 0x48c1: 0x0080, 0x48c2: 0x0080, 0x48c3: 0x0080, 0x48c4: 0x0080, 0x48c5: 0x0080,
+ 0x48c6: 0x0080, 0x48c7: 0x0080, 0x48c8: 0x0080, 0x48c9: 0x0080, 0x48ca: 0x0080, 0x48cb: 0x0080,
+ 0x48cc: 0x0080, 0x48cd: 0x0080, 0x48ce: 0x0080, 0x48cf: 0x0080, 0x48d0: 0x0080, 0x48d1: 0x0080,
+ 0x48d2: 0x0080, 0x48d3: 0x0080, 0x48d4: 0x0080, 0x48d5: 0x0080, 0x48d6: 0x0080, 0x48d7: 0x0080,
+ 0x48d8: 0x0080, 0x48d9: 0x0080, 0x48da: 0x0080, 0x48db: 0x0080, 0x48dc: 0x0080, 0x48dd: 0x0080,
+ 0x48de: 0x0080, 0x48df: 0x0080, 0x48e0: 0x0080, 0x48e1: 0x0080, 0x48e2: 0x0080, 0x48e3: 0x0080,
+ 0x48e4: 0x0080, 0x48e5: 0x0080, 0x48e8: 0x0080, 0x48e9: 0x0080,
+ 0x48ea: 0x0080, 0x48eb: 0x0080, 0x48ec: 0x0080, 0x48ed: 0x0080, 0x48ee: 0x0080, 0x48ef: 0x0080,
+ 0x48f0: 0x0080, 0x48f1: 0x0080, 0x48f2: 0x0080, 0x48f3: 0x0080, 0x48f4: 0x0080, 0x48f5: 0x0080,
+ 0x48f6: 0x0080, 0x48f7: 0x0080, 0x48f8: 0x0080, 0x48f9: 0x0080, 0x48fa: 0x0080, 0x48fb: 0x0080,
+ 0x48fc: 0x0080, 0x48fd: 0x0080, 0x48fe: 0x0080, 0x48ff: 0x0080,
// Block 0x124, offset 0x4900
- 0x4900: 0x00c2, 0x4901: 0x00c2, 0x4902: 0x00c2, 0x4903: 0x00c2, 0x4904: 0x00c2, 0x4905: 0x00c2,
- 0x4906: 0x00c2, 0x4907: 0x00c2, 0x4908: 0x00c2, 0x4909: 0x00c2, 0x490a: 0x00c2, 0x490b: 0x00c2,
- 0x490c: 0x00c2, 0x490d: 0x00c2, 0x490e: 0x00c2, 0x490f: 0x00c2, 0x4910: 0x00c2, 0x4911: 0x00c2,
- 0x4912: 0x00c2, 0x4913: 0x00c2, 0x4914: 0x00c2, 0x4915: 0x00c2, 0x4916: 0x00c2, 0x4917: 0x00c2,
- 0x4918: 0x00c2, 0x4919: 0x00c2, 0x491a: 0x00c2, 0x491b: 0x00c2, 0x491c: 0x00c2, 0x491d: 0x00c2,
- 0x491e: 0x00c2, 0x491f: 0x00c2, 0x4920: 0x00c2, 0x4921: 0x00c2, 0x4922: 0x00c2, 0x4923: 0x00c2,
- 0x4924: 0x00c2, 0x4925: 0x00c2, 0x4926: 0x00c2, 0x4927: 0x00c2, 0x4928: 0x00c2, 0x4929: 0x00c2,
- 0x492a: 0x00c2, 0x492b: 0x00c2, 0x492c: 0x00c2, 0x492d: 0x00c2, 0x492e: 0x00c2, 0x492f: 0x00c2,
- 0x4930: 0x00c2, 0x4931: 0x00c2, 0x4932: 0x00c2, 0x4933: 0x00c2, 0x4934: 0x00c2, 0x4935: 0x00c2,
- 0x4936: 0x00c2, 0x4937: 0x00c2, 0x4938: 0x00c2, 0x4939: 0x00c2, 0x493a: 0x00c2, 0x493b: 0x00c2,
- 0x493c: 0x00c2, 0x493d: 0x00c2, 0x493e: 0x00c2, 0x493f: 0x00c2,
+ 0x4900: 0x0080, 0x4901: 0x0080, 0x4902: 0x0080, 0x4903: 0x0080, 0x4904: 0x0080, 0x4905: 0x0080,
+ 0x4906: 0x0080, 0x4907: 0x0080, 0x4908: 0x0080, 0x4909: 0x0080, 0x490a: 0x0080, 0x490b: 0x0080,
+ 0x490e: 0x0080, 0x490f: 0x0080, 0x4910: 0x0080, 0x4911: 0x0080,
+ 0x4912: 0x0080, 0x4913: 0x0080, 0x4914: 0x0080, 0x4915: 0x0080, 0x4916: 0x0080, 0x4917: 0x0080,
+ 0x4918: 0x0080, 0x4919: 0x0080, 0x491a: 0x0080, 0x491b: 0x0080, 0x491c: 0x0080, 0x491d: 0x0080,
+ 0x491e: 0x0080, 0x491f: 0x0080, 0x4920: 0x0080, 0x4921: 0x0080, 0x4922: 0x0080, 0x4923: 0x0080,
+ 0x4924: 0x0080, 0x4925: 0x0080, 0x4926: 0x0080, 0x4927: 0x0080, 0x4928: 0x0080, 0x4929: 0x0080,
+ 0x492a: 0x0080, 0x492b: 0x0080, 0x492c: 0x0080, 0x492d: 0x0080, 0x492e: 0x0080, 0x492f: 0x0080,
+ 0x4930: 0x0080, 0x4931: 0x0080, 0x4932: 0x0080, 0x4933: 0x0080, 0x4934: 0x0080, 0x4935: 0x0080,
+ 0x4936: 0x0080, 0x4937: 0x0080, 0x4938: 0x0080, 0x4939: 0x0080, 0x493a: 0x0080, 0x493b: 0x0080,
+ 0x493c: 0x0080, 0x493d: 0x0080, 0x493e: 0x0080, 0x493f: 0x0080,
// Block 0x125, offset 0x4940
- 0x4940: 0x00c2, 0x4941: 0x00c2, 0x4942: 0x00c2, 0x4943: 0x00c2, 0x4944: 0x00c3, 0x4945: 0x00c3,
- 0x4946: 0x00c3, 0x4947: 0x00c3, 0x4948: 0x00c3, 0x4949: 0x00c3, 0x494a: 0x00c3,
- 0x4950: 0x00c0, 0x4951: 0x00c0,
- 0x4952: 0x00c0, 0x4953: 0x00c0, 0x4954: 0x00c0, 0x4955: 0x00c0, 0x4956: 0x00c0, 0x4957: 0x00c0,
- 0x4958: 0x00c0, 0x4959: 0x00c0,
- 0x495e: 0x0080, 0x495f: 0x0080,
+ 0x4940: 0x00c3, 0x4941: 0x00c3, 0x4942: 0x00c3, 0x4943: 0x00c3, 0x4944: 0x00c3, 0x4945: 0x00c3,
+ 0x4946: 0x00c3, 0x4947: 0x00c3, 0x4948: 0x00c3, 0x4949: 0x00c3, 0x494a: 0x00c3, 0x494b: 0x00c3,
+ 0x494c: 0x00c3, 0x494d: 0x00c3, 0x494e: 0x00c3, 0x494f: 0x00c3, 0x4950: 0x00c3, 0x4951: 0x00c3,
+ 0x4952: 0x00c3, 0x4953: 0x00c3, 0x4954: 0x00c3, 0x4955: 0x00c3, 0x4956: 0x00c3, 0x4957: 0x00c3,
+ 0x4958: 0x00c3, 0x4959: 0x00c3, 0x495a: 0x00c3, 0x495b: 0x00c3, 0x495c: 0x00c3, 0x495d: 0x00c3,
+ 0x495e: 0x00c3, 0x495f: 0x00c3, 0x4960: 0x00c3, 0x4961: 0x00c3, 0x4962: 0x00c3, 0x4963: 0x00c3,
+ 0x4964: 0x00c3, 0x4965: 0x00c3, 0x4966: 0x00c3, 0x4967: 0x00c3, 0x4968: 0x00c3, 0x4969: 0x00c3,
+ 0x496a: 0x00c3, 0x496b: 0x00c3, 0x496c: 0x00c3, 0x496d: 0x00c3, 0x496e: 0x00c3, 0x496f: 0x00c3,
+ 0x4970: 0x00c3, 0x4971: 0x00c3, 0x4972: 0x00c3, 0x4973: 0x00c3, 0x4974: 0x00c3, 0x4975: 0x00c3,
+ 0x4976: 0x00c3, 0x4977: 0x0080, 0x4978: 0x0080, 0x4979: 0x0080, 0x497a: 0x0080, 0x497b: 0x00c3,
+ 0x497c: 0x00c3, 0x497d: 0x00c3, 0x497e: 0x00c3, 0x497f: 0x00c3,
// Block 0x126, offset 0x4980
- 0x4980: 0x0080, 0x4981: 0x0080, 0x4982: 0x0080, 0x4983: 0x0080, 0x4985: 0x0080,
- 0x4986: 0x0080, 0x4987: 0x0080, 0x4988: 0x0080, 0x4989: 0x0080, 0x498a: 0x0080, 0x498b: 0x0080,
- 0x498c: 0x0080, 0x498d: 0x0080, 0x498e: 0x0080, 0x498f: 0x0080, 0x4990: 0x0080, 0x4991: 0x0080,
- 0x4992: 0x0080, 0x4993: 0x0080, 0x4994: 0x0080, 0x4995: 0x0080, 0x4996: 0x0080, 0x4997: 0x0080,
- 0x4998: 0x0080, 0x4999: 0x0080, 0x499a: 0x0080, 0x499b: 0x0080, 0x499c: 0x0080, 0x499d: 0x0080,
- 0x499e: 0x0080, 0x499f: 0x0080, 0x49a1: 0x0080, 0x49a2: 0x0080,
- 0x49a4: 0x0080, 0x49a7: 0x0080, 0x49a9: 0x0080,
- 0x49aa: 0x0080, 0x49ab: 0x0080, 0x49ac: 0x0080, 0x49ad: 0x0080, 0x49ae: 0x0080, 0x49af: 0x0080,
- 0x49b0: 0x0080, 0x49b1: 0x0080, 0x49b2: 0x0080, 0x49b4: 0x0080, 0x49b5: 0x0080,
- 0x49b6: 0x0080, 0x49b7: 0x0080, 0x49b9: 0x0080, 0x49bb: 0x0080,
+ 0x4980: 0x00c3, 0x4981: 0x00c3, 0x4982: 0x00c3, 0x4983: 0x00c3, 0x4984: 0x00c3, 0x4985: 0x00c3,
+ 0x4986: 0x00c3, 0x4987: 0x00c3, 0x4988: 0x00c3, 0x4989: 0x00c3, 0x498a: 0x00c3, 0x498b: 0x00c3,
+ 0x498c: 0x00c3, 0x498d: 0x00c3, 0x498e: 0x00c3, 0x498f: 0x00c3, 0x4990: 0x00c3, 0x4991: 0x00c3,
+ 0x4992: 0x00c3, 0x4993: 0x00c3, 0x4994: 0x00c3, 0x4995: 0x00c3, 0x4996: 0x00c3, 0x4997: 0x00c3,
+ 0x4998: 0x00c3, 0x4999: 0x00c3, 0x499a: 0x00c3, 0x499b: 0x00c3, 0x499c: 0x00c3, 0x499d: 0x00c3,
+ 0x499e: 0x00c3, 0x499f: 0x00c3, 0x49a0: 0x00c3, 0x49a1: 0x00c3, 0x49a2: 0x00c3, 0x49a3: 0x00c3,
+ 0x49a4: 0x00c3, 0x49a5: 0x00c3, 0x49a6: 0x00c3, 0x49a7: 0x00c3, 0x49a8: 0x00c3, 0x49a9: 0x00c3,
+ 0x49aa: 0x00c3, 0x49ab: 0x00c3, 0x49ac: 0x00c3, 0x49ad: 0x0080, 0x49ae: 0x0080, 0x49af: 0x0080,
+ 0x49b0: 0x0080, 0x49b1: 0x0080, 0x49b2: 0x0080, 0x49b3: 0x0080, 0x49b4: 0x0080, 0x49b5: 0x00c3,
+ 0x49b6: 0x0080, 0x49b7: 0x0080, 0x49b8: 0x0080, 0x49b9: 0x0080, 0x49ba: 0x0080, 0x49bb: 0x0080,
+ 0x49bc: 0x0080, 0x49bd: 0x0080, 0x49be: 0x0080, 0x49bf: 0x0080,
// Block 0x127, offset 0x49c0
- 0x49c2: 0x0080,
- 0x49c7: 0x0080, 0x49c9: 0x0080, 0x49cb: 0x0080,
- 0x49cd: 0x0080, 0x49ce: 0x0080, 0x49cf: 0x0080, 0x49d1: 0x0080,
- 0x49d2: 0x0080, 0x49d4: 0x0080, 0x49d7: 0x0080,
- 0x49d9: 0x0080, 0x49db: 0x0080, 0x49dd: 0x0080,
- 0x49df: 0x0080, 0x49e1: 0x0080, 0x49e2: 0x0080,
- 0x49e4: 0x0080, 0x49e7: 0x0080, 0x49e8: 0x0080, 0x49e9: 0x0080,
- 0x49ea: 0x0080, 0x49ec: 0x0080, 0x49ed: 0x0080, 0x49ee: 0x0080, 0x49ef: 0x0080,
- 0x49f0: 0x0080, 0x49f1: 0x0080, 0x49f2: 0x0080, 0x49f4: 0x0080, 0x49f5: 0x0080,
- 0x49f6: 0x0080, 0x49f7: 0x0080, 0x49f9: 0x0080, 0x49fa: 0x0080, 0x49fb: 0x0080,
- 0x49fc: 0x0080, 0x49fe: 0x0080,
+ 0x49c0: 0x0080, 0x49c1: 0x0080, 0x49c2: 0x0080, 0x49c3: 0x0080, 0x49c4: 0x00c3, 0x49c5: 0x0080,
+ 0x49c6: 0x0080, 0x49c7: 0x0080, 0x49c8: 0x0080, 0x49c9: 0x0080, 0x49ca: 0x0080, 0x49cb: 0x0080,
+ 0x49db: 0x00c3, 0x49dc: 0x00c3, 0x49dd: 0x00c3,
+ 0x49de: 0x00c3, 0x49df: 0x00c3, 0x49e1: 0x00c3, 0x49e2: 0x00c3, 0x49e3: 0x00c3,
+ 0x49e4: 0x00c3, 0x49e5: 0x00c3, 0x49e6: 0x00c3, 0x49e7: 0x00c3, 0x49e8: 0x00c3, 0x49e9: 0x00c3,
+ 0x49ea: 0x00c3, 0x49eb: 0x00c3, 0x49ec: 0x00c3, 0x49ed: 0x00c3, 0x49ee: 0x00c3, 0x49ef: 0x00c3,
// Block 0x128, offset 0x4a00
- 0x4a00: 0x0080, 0x4a01: 0x0080, 0x4a02: 0x0080, 0x4a03: 0x0080, 0x4a04: 0x0080, 0x4a05: 0x0080,
- 0x4a06: 0x0080, 0x4a07: 0x0080, 0x4a08: 0x0080, 0x4a09: 0x0080, 0x4a0b: 0x0080,
- 0x4a0c: 0x0080, 0x4a0d: 0x0080, 0x4a0e: 0x0080, 0x4a0f: 0x0080, 0x4a10: 0x0080, 0x4a11: 0x0080,
- 0x4a12: 0x0080, 0x4a13: 0x0080, 0x4a14: 0x0080, 0x4a15: 0x0080, 0x4a16: 0x0080, 0x4a17: 0x0080,
- 0x4a18: 0x0080, 0x4a19: 0x0080, 0x4a1a: 0x0080, 0x4a1b: 0x0080,
- 0x4a21: 0x0080, 0x4a22: 0x0080, 0x4a23: 0x0080,
- 0x4a25: 0x0080, 0x4a26: 0x0080, 0x4a27: 0x0080, 0x4a28: 0x0080, 0x4a29: 0x0080,
- 0x4a2b: 0x0080, 0x4a2c: 0x0080, 0x4a2d: 0x0080, 0x4a2e: 0x0080, 0x4a2f: 0x0080,
- 0x4a30: 0x0080, 0x4a31: 0x0080, 0x4a32: 0x0080, 0x4a33: 0x0080, 0x4a34: 0x0080, 0x4a35: 0x0080,
- 0x4a36: 0x0080, 0x4a37: 0x0080, 0x4a38: 0x0080, 0x4a39: 0x0080, 0x4a3a: 0x0080, 0x4a3b: 0x0080,
+ 0x4a00: 0x00c3, 0x4a01: 0x00c3, 0x4a02: 0x00c3, 0x4a03: 0x00c3, 0x4a04: 0x00c3, 0x4a05: 0x00c3,
+ 0x4a06: 0x00c3, 0x4a08: 0x00c3, 0x4a09: 0x00c3, 0x4a0a: 0x00c3, 0x4a0b: 0x00c3,
+ 0x4a0c: 0x00c3, 0x4a0d: 0x00c3, 0x4a0e: 0x00c3, 0x4a0f: 0x00c3, 0x4a10: 0x00c3, 0x4a11: 0x00c3,
+ 0x4a12: 0x00c3, 0x4a13: 0x00c3, 0x4a14: 0x00c3, 0x4a15: 0x00c3, 0x4a16: 0x00c3, 0x4a17: 0x00c3,
+ 0x4a18: 0x00c3, 0x4a1b: 0x00c3, 0x4a1c: 0x00c3, 0x4a1d: 0x00c3,
+ 0x4a1e: 0x00c3, 0x4a1f: 0x00c3, 0x4a20: 0x00c3, 0x4a21: 0x00c3, 0x4a23: 0x00c3,
+ 0x4a24: 0x00c3, 0x4a26: 0x00c3, 0x4a27: 0x00c3, 0x4a28: 0x00c3, 0x4a29: 0x00c3,
+ 0x4a2a: 0x00c3,
// Block 0x129, offset 0x4a40
- 0x4a70: 0x0080, 0x4a71: 0x0080,
+ 0x4a40: 0x00c0, 0x4a41: 0x00c0, 0x4a42: 0x00c0, 0x4a43: 0x00c0, 0x4a44: 0x00c0,
+ 0x4a47: 0x0080, 0x4a48: 0x0080, 0x4a49: 0x0080, 0x4a4a: 0x0080, 0x4a4b: 0x0080,
+ 0x4a4c: 0x0080, 0x4a4d: 0x0080, 0x4a4e: 0x0080, 0x4a4f: 0x0080, 0x4a50: 0x00c3, 0x4a51: 0x00c3,
+ 0x4a52: 0x00c3, 0x4a53: 0x00c3, 0x4a54: 0x00c3, 0x4a55: 0x00c3, 0x4a56: 0x00c3,
// Block 0x12a, offset 0x4a80
- 0x4a80: 0x0080, 0x4a81: 0x0080, 0x4a82: 0x0080, 0x4a83: 0x0080, 0x4a84: 0x0080, 0x4a85: 0x0080,
- 0x4a86: 0x0080, 0x4a87: 0x0080, 0x4a88: 0x0080, 0x4a89: 0x0080, 0x4a8a: 0x0080, 0x4a8b: 0x0080,
- 0x4a8c: 0x0080, 0x4a8d: 0x0080, 0x4a8e: 0x0080, 0x4a8f: 0x0080, 0x4a90: 0x0080, 0x4a91: 0x0080,
- 0x4a92: 0x0080, 0x4a93: 0x0080, 0x4a94: 0x0080, 0x4a95: 0x0080, 0x4a96: 0x0080, 0x4a97: 0x0080,
- 0x4a98: 0x0080, 0x4a99: 0x0080, 0x4a9a: 0x0080, 0x4a9b: 0x0080, 0x4a9c: 0x0080, 0x4a9d: 0x0080,
- 0x4a9e: 0x0080, 0x4a9f: 0x0080, 0x4aa0: 0x0080, 0x4aa1: 0x0080, 0x4aa2: 0x0080, 0x4aa3: 0x0080,
- 0x4aa4: 0x0080, 0x4aa5: 0x0080, 0x4aa6: 0x0080, 0x4aa7: 0x0080, 0x4aa8: 0x0080, 0x4aa9: 0x0080,
- 0x4aaa: 0x0080, 0x4aab: 0x0080,
- 0x4ab0: 0x0080, 0x4ab1: 0x0080, 0x4ab2: 0x0080, 0x4ab3: 0x0080, 0x4ab4: 0x0080, 0x4ab5: 0x0080,
- 0x4ab6: 0x0080, 0x4ab7: 0x0080, 0x4ab8: 0x0080, 0x4ab9: 0x0080, 0x4aba: 0x0080, 0x4abb: 0x0080,
- 0x4abc: 0x0080, 0x4abd: 0x0080, 0x4abe: 0x0080, 0x4abf: 0x0080,
+ 0x4a80: 0x00c2, 0x4a81: 0x00c2, 0x4a82: 0x00c2, 0x4a83: 0x00c2, 0x4a84: 0x00c2, 0x4a85: 0x00c2,
+ 0x4a86: 0x00c2, 0x4a87: 0x00c2, 0x4a88: 0x00c2, 0x4a89: 0x00c2, 0x4a8a: 0x00c2, 0x4a8b: 0x00c2,
+ 0x4a8c: 0x00c2, 0x4a8d: 0x00c2, 0x4a8e: 0x00c2, 0x4a8f: 0x00c2, 0x4a90: 0x00c2, 0x4a91: 0x00c2,
+ 0x4a92: 0x00c2, 0x4a93: 0x00c2, 0x4a94: 0x00c2, 0x4a95: 0x00c2, 0x4a96: 0x00c2, 0x4a97: 0x00c2,
+ 0x4a98: 0x00c2, 0x4a99: 0x00c2, 0x4a9a: 0x00c2, 0x4a9b: 0x00c2, 0x4a9c: 0x00c2, 0x4a9d: 0x00c2,
+ 0x4a9e: 0x00c2, 0x4a9f: 0x00c2, 0x4aa0: 0x00c2, 0x4aa1: 0x00c2, 0x4aa2: 0x00c2, 0x4aa3: 0x00c2,
+ 0x4aa4: 0x00c2, 0x4aa5: 0x00c2, 0x4aa6: 0x00c2, 0x4aa7: 0x00c2, 0x4aa8: 0x00c2, 0x4aa9: 0x00c2,
+ 0x4aaa: 0x00c2, 0x4aab: 0x00c2, 0x4aac: 0x00c2, 0x4aad: 0x00c2, 0x4aae: 0x00c2, 0x4aaf: 0x00c2,
+ 0x4ab0: 0x00c2, 0x4ab1: 0x00c2, 0x4ab2: 0x00c2, 0x4ab3: 0x00c2, 0x4ab4: 0x00c2, 0x4ab5: 0x00c2,
+ 0x4ab6: 0x00c2, 0x4ab7: 0x00c2, 0x4ab8: 0x00c2, 0x4ab9: 0x00c2, 0x4aba: 0x00c2, 0x4abb: 0x00c2,
+ 0x4abc: 0x00c2, 0x4abd: 0x00c2, 0x4abe: 0x00c2, 0x4abf: 0x00c2,
// Block 0x12b, offset 0x4ac0
- 0x4ac0: 0x0080, 0x4ac1: 0x0080, 0x4ac2: 0x0080, 0x4ac3: 0x0080, 0x4ac4: 0x0080, 0x4ac5: 0x0080,
- 0x4ac6: 0x0080, 0x4ac7: 0x0080, 0x4ac8: 0x0080, 0x4ac9: 0x0080, 0x4aca: 0x0080, 0x4acb: 0x0080,
- 0x4acc: 0x0080, 0x4acd: 0x0080, 0x4ace: 0x0080, 0x4acf: 0x0080, 0x4ad0: 0x0080, 0x4ad1: 0x0080,
- 0x4ad2: 0x0080, 0x4ad3: 0x0080,
- 0x4ae0: 0x0080, 0x4ae1: 0x0080, 0x4ae2: 0x0080, 0x4ae3: 0x0080,
- 0x4ae4: 0x0080, 0x4ae5: 0x0080, 0x4ae6: 0x0080, 0x4ae7: 0x0080, 0x4ae8: 0x0080, 0x4ae9: 0x0080,
- 0x4aea: 0x0080, 0x4aeb: 0x0080, 0x4aec: 0x0080, 0x4aed: 0x0080, 0x4aee: 0x0080,
- 0x4af1: 0x0080, 0x4af2: 0x0080, 0x4af3: 0x0080, 0x4af4: 0x0080, 0x4af5: 0x0080,
- 0x4af6: 0x0080, 0x4af7: 0x0080, 0x4af8: 0x0080, 0x4af9: 0x0080, 0x4afa: 0x0080, 0x4afb: 0x0080,
- 0x4afc: 0x0080, 0x4afd: 0x0080, 0x4afe: 0x0080, 0x4aff: 0x0080,
+ 0x4ac0: 0x00c2, 0x4ac1: 0x00c2, 0x4ac2: 0x00c2, 0x4ac3: 0x00c2, 0x4ac4: 0x00c3, 0x4ac5: 0x00c3,
+ 0x4ac6: 0x00c3, 0x4ac7: 0x00c3, 0x4ac8: 0x00c3, 0x4ac9: 0x00c3, 0x4aca: 0x00c3,
+ 0x4ad0: 0x00c0, 0x4ad1: 0x00c0,
+ 0x4ad2: 0x00c0, 0x4ad3: 0x00c0, 0x4ad4: 0x00c0, 0x4ad5: 0x00c0, 0x4ad6: 0x00c0, 0x4ad7: 0x00c0,
+ 0x4ad8: 0x00c0, 0x4ad9: 0x00c0,
+ 0x4ade: 0x0080, 0x4adf: 0x0080,
// Block 0x12c, offset 0x4b00
- 0x4b01: 0x0080, 0x4b02: 0x0080, 0x4b03: 0x0080, 0x4b04: 0x0080, 0x4b05: 0x0080,
+ 0x4b00: 0x0080, 0x4b01: 0x0080, 0x4b02: 0x0080, 0x4b03: 0x0080, 0x4b05: 0x0080,
0x4b06: 0x0080, 0x4b07: 0x0080, 0x4b08: 0x0080, 0x4b09: 0x0080, 0x4b0a: 0x0080, 0x4b0b: 0x0080,
- 0x4b0c: 0x0080, 0x4b0d: 0x0080, 0x4b0e: 0x0080, 0x4b0f: 0x0080, 0x4b11: 0x0080,
+ 0x4b0c: 0x0080, 0x4b0d: 0x0080, 0x4b0e: 0x0080, 0x4b0f: 0x0080, 0x4b10: 0x0080, 0x4b11: 0x0080,
0x4b12: 0x0080, 0x4b13: 0x0080, 0x4b14: 0x0080, 0x4b15: 0x0080, 0x4b16: 0x0080, 0x4b17: 0x0080,
0x4b18: 0x0080, 0x4b19: 0x0080, 0x4b1a: 0x0080, 0x4b1b: 0x0080, 0x4b1c: 0x0080, 0x4b1d: 0x0080,
- 0x4b1e: 0x0080, 0x4b1f: 0x0080, 0x4b20: 0x0080, 0x4b21: 0x0080, 0x4b22: 0x0080, 0x4b23: 0x0080,
- 0x4b24: 0x0080, 0x4b25: 0x0080, 0x4b26: 0x0080, 0x4b27: 0x0080, 0x4b28: 0x0080, 0x4b29: 0x0080,
+ 0x4b1e: 0x0080, 0x4b1f: 0x0080, 0x4b21: 0x0080, 0x4b22: 0x0080,
+ 0x4b24: 0x0080, 0x4b27: 0x0080, 0x4b29: 0x0080,
0x4b2a: 0x0080, 0x4b2b: 0x0080, 0x4b2c: 0x0080, 0x4b2d: 0x0080, 0x4b2e: 0x0080, 0x4b2f: 0x0080,
- 0x4b30: 0x0080, 0x4b31: 0x0080, 0x4b32: 0x0080, 0x4b33: 0x0080, 0x4b34: 0x0080, 0x4b35: 0x0080,
+ 0x4b30: 0x0080, 0x4b31: 0x0080, 0x4b32: 0x0080, 0x4b34: 0x0080, 0x4b35: 0x0080,
+ 0x4b36: 0x0080, 0x4b37: 0x0080, 0x4b39: 0x0080, 0x4b3b: 0x0080,
// Block 0x12d, offset 0x4b40
- 0x4b40: 0x0080, 0x4b41: 0x0080, 0x4b42: 0x0080, 0x4b43: 0x0080, 0x4b44: 0x0080, 0x4b45: 0x0080,
- 0x4b46: 0x0080, 0x4b47: 0x0080, 0x4b48: 0x0080, 0x4b49: 0x0080, 0x4b4a: 0x0080, 0x4b4b: 0x0080,
- 0x4b4c: 0x0080, 0x4b50: 0x0080, 0x4b51: 0x0080,
- 0x4b52: 0x0080, 0x4b53: 0x0080, 0x4b54: 0x0080, 0x4b55: 0x0080, 0x4b56: 0x0080, 0x4b57: 0x0080,
- 0x4b58: 0x0080, 0x4b59: 0x0080, 0x4b5a: 0x0080, 0x4b5b: 0x0080, 0x4b5c: 0x0080, 0x4b5d: 0x0080,
- 0x4b5e: 0x0080, 0x4b5f: 0x0080, 0x4b60: 0x0080, 0x4b61: 0x0080, 0x4b62: 0x0080, 0x4b63: 0x0080,
- 0x4b64: 0x0080, 0x4b65: 0x0080, 0x4b66: 0x0080, 0x4b67: 0x0080, 0x4b68: 0x0080, 0x4b69: 0x0080,
- 0x4b6a: 0x0080, 0x4b6b: 0x0080, 0x4b6c: 0x0080, 0x4b6d: 0x0080, 0x4b6e: 0x0080,
- 0x4b70: 0x0080, 0x4b71: 0x0080, 0x4b72: 0x0080, 0x4b73: 0x0080, 0x4b74: 0x0080, 0x4b75: 0x0080,
- 0x4b76: 0x0080, 0x4b77: 0x0080, 0x4b78: 0x0080, 0x4b79: 0x0080, 0x4b7a: 0x0080, 0x4b7b: 0x0080,
- 0x4b7c: 0x0080, 0x4b7d: 0x0080, 0x4b7e: 0x0080, 0x4b7f: 0x0080,
+ 0x4b42: 0x0080,
+ 0x4b47: 0x0080, 0x4b49: 0x0080, 0x4b4b: 0x0080,
+ 0x4b4d: 0x0080, 0x4b4e: 0x0080, 0x4b4f: 0x0080, 0x4b51: 0x0080,
+ 0x4b52: 0x0080, 0x4b54: 0x0080, 0x4b57: 0x0080,
+ 0x4b59: 0x0080, 0x4b5b: 0x0080, 0x4b5d: 0x0080,
+ 0x4b5f: 0x0080, 0x4b61: 0x0080, 0x4b62: 0x0080,
+ 0x4b64: 0x0080, 0x4b67: 0x0080, 0x4b68: 0x0080, 0x4b69: 0x0080,
+ 0x4b6a: 0x0080, 0x4b6c: 0x0080, 0x4b6d: 0x0080, 0x4b6e: 0x0080, 0x4b6f: 0x0080,
+ 0x4b70: 0x0080, 0x4b71: 0x0080, 0x4b72: 0x0080, 0x4b74: 0x0080, 0x4b75: 0x0080,
+ 0x4b76: 0x0080, 0x4b77: 0x0080, 0x4b79: 0x0080, 0x4b7a: 0x0080, 0x4b7b: 0x0080,
+ 0x4b7c: 0x0080, 0x4b7e: 0x0080,
// Block 0x12e, offset 0x4b80
0x4b80: 0x0080, 0x4b81: 0x0080, 0x4b82: 0x0080, 0x4b83: 0x0080, 0x4b84: 0x0080, 0x4b85: 0x0080,
- 0x4b86: 0x0080, 0x4b87: 0x0080, 0x4b88: 0x0080, 0x4b89: 0x0080, 0x4b8a: 0x0080, 0x4b8b: 0x0080,
+ 0x4b86: 0x0080, 0x4b87: 0x0080, 0x4b88: 0x0080, 0x4b89: 0x0080, 0x4b8b: 0x0080,
0x4b8c: 0x0080, 0x4b8d: 0x0080, 0x4b8e: 0x0080, 0x4b8f: 0x0080, 0x4b90: 0x0080, 0x4b91: 0x0080,
0x4b92: 0x0080, 0x4b93: 0x0080, 0x4b94: 0x0080, 0x4b95: 0x0080, 0x4b96: 0x0080, 0x4b97: 0x0080,
- 0x4b98: 0x0080, 0x4b99: 0x0080, 0x4b9a: 0x0080, 0x4b9b: 0x0080, 0x4b9c: 0x0080, 0x4b9d: 0x0080,
- 0x4b9e: 0x0080, 0x4b9f: 0x0080, 0x4ba0: 0x0080, 0x4ba1: 0x0080, 0x4ba2: 0x0080, 0x4ba3: 0x0080,
- 0x4ba4: 0x0080, 0x4ba5: 0x0080, 0x4ba6: 0x0080, 0x4ba7: 0x0080, 0x4ba8: 0x0080, 0x4ba9: 0x0080,
- 0x4baa: 0x0080, 0x4bab: 0x0080, 0x4bac: 0x0080,
+ 0x4b98: 0x0080, 0x4b99: 0x0080, 0x4b9a: 0x0080, 0x4b9b: 0x0080,
+ 0x4ba1: 0x0080, 0x4ba2: 0x0080, 0x4ba3: 0x0080,
+ 0x4ba5: 0x0080, 0x4ba6: 0x0080, 0x4ba7: 0x0080, 0x4ba8: 0x0080, 0x4ba9: 0x0080,
+ 0x4bab: 0x0080, 0x4bac: 0x0080, 0x4bad: 0x0080, 0x4bae: 0x0080, 0x4baf: 0x0080,
+ 0x4bb0: 0x0080, 0x4bb1: 0x0080, 0x4bb2: 0x0080, 0x4bb3: 0x0080, 0x4bb4: 0x0080, 0x4bb5: 0x0080,
+ 0x4bb6: 0x0080, 0x4bb7: 0x0080, 0x4bb8: 0x0080, 0x4bb9: 0x0080, 0x4bba: 0x0080, 0x4bbb: 0x0080,
// Block 0x12f, offset 0x4bc0
- 0x4be6: 0x0080, 0x4be7: 0x0080, 0x4be8: 0x0080, 0x4be9: 0x0080,
- 0x4bea: 0x0080, 0x4beb: 0x0080, 0x4bec: 0x0080, 0x4bed: 0x0080, 0x4bee: 0x0080, 0x4bef: 0x0080,
- 0x4bf0: 0x0080, 0x4bf1: 0x0080, 0x4bf2: 0x0080, 0x4bf3: 0x0080, 0x4bf4: 0x0080, 0x4bf5: 0x0080,
- 0x4bf6: 0x0080, 0x4bf7: 0x0080, 0x4bf8: 0x0080, 0x4bf9: 0x0080, 0x4bfa: 0x0080, 0x4bfb: 0x0080,
- 0x4bfc: 0x0080, 0x4bfd: 0x0080, 0x4bfe: 0x0080, 0x4bff: 0x0080,
+ 0x4bf0: 0x0080, 0x4bf1: 0x0080,
// Block 0x130, offset 0x4c00
- 0x4c00: 0x008c, 0x4c01: 0x0080, 0x4c02: 0x0080,
- 0x4c10: 0x0080, 0x4c11: 0x0080,
+ 0x4c00: 0x0080, 0x4c01: 0x0080, 0x4c02: 0x0080, 0x4c03: 0x0080, 0x4c04: 0x0080, 0x4c05: 0x0080,
+ 0x4c06: 0x0080, 0x4c07: 0x0080, 0x4c08: 0x0080, 0x4c09: 0x0080, 0x4c0a: 0x0080, 0x4c0b: 0x0080,
+ 0x4c0c: 0x0080, 0x4c0d: 0x0080, 0x4c0e: 0x0080, 0x4c0f: 0x0080, 0x4c10: 0x0080, 0x4c11: 0x0080,
0x4c12: 0x0080, 0x4c13: 0x0080, 0x4c14: 0x0080, 0x4c15: 0x0080, 0x4c16: 0x0080, 0x4c17: 0x0080,
0x4c18: 0x0080, 0x4c19: 0x0080, 0x4c1a: 0x0080, 0x4c1b: 0x0080, 0x4c1c: 0x0080, 0x4c1d: 0x0080,
0x4c1e: 0x0080, 0x4c1f: 0x0080, 0x4c20: 0x0080, 0x4c21: 0x0080, 0x4c22: 0x0080, 0x4c23: 0x0080,
0x4c24: 0x0080, 0x4c25: 0x0080, 0x4c26: 0x0080, 0x4c27: 0x0080, 0x4c28: 0x0080, 0x4c29: 0x0080,
- 0x4c2a: 0x0080, 0x4c2b: 0x0080, 0x4c2c: 0x0080, 0x4c2d: 0x0080, 0x4c2e: 0x0080, 0x4c2f: 0x0080,
+ 0x4c2a: 0x0080, 0x4c2b: 0x0080,
0x4c30: 0x0080, 0x4c31: 0x0080, 0x4c32: 0x0080, 0x4c33: 0x0080, 0x4c34: 0x0080, 0x4c35: 0x0080,
0x4c36: 0x0080, 0x4c37: 0x0080, 0x4c38: 0x0080, 0x4c39: 0x0080, 0x4c3a: 0x0080, 0x4c3b: 0x0080,
+ 0x4c3c: 0x0080, 0x4c3d: 0x0080, 0x4c3e: 0x0080, 0x4c3f: 0x0080,
// Block 0x131, offset 0x4c40
0x4c40: 0x0080, 0x4c41: 0x0080, 0x4c42: 0x0080, 0x4c43: 0x0080, 0x4c44: 0x0080, 0x4c45: 0x0080,
- 0x4c46: 0x0080, 0x4c47: 0x0080, 0x4c48: 0x0080,
- 0x4c50: 0x0080, 0x4c51: 0x0080,
+ 0x4c46: 0x0080, 0x4c47: 0x0080, 0x4c48: 0x0080, 0x4c49: 0x0080, 0x4c4a: 0x0080, 0x4c4b: 0x0080,
+ 0x4c4c: 0x0080, 0x4c4d: 0x0080, 0x4c4e: 0x0080, 0x4c4f: 0x0080, 0x4c50: 0x0080, 0x4c51: 0x0080,
+ 0x4c52: 0x0080, 0x4c53: 0x0080,
+ 0x4c60: 0x0080, 0x4c61: 0x0080, 0x4c62: 0x0080, 0x4c63: 0x0080,
+ 0x4c64: 0x0080, 0x4c65: 0x0080, 0x4c66: 0x0080, 0x4c67: 0x0080, 0x4c68: 0x0080, 0x4c69: 0x0080,
+ 0x4c6a: 0x0080, 0x4c6b: 0x0080, 0x4c6c: 0x0080, 0x4c6d: 0x0080, 0x4c6e: 0x0080,
+ 0x4c71: 0x0080, 0x4c72: 0x0080, 0x4c73: 0x0080, 0x4c74: 0x0080, 0x4c75: 0x0080,
+ 0x4c76: 0x0080, 0x4c77: 0x0080, 0x4c78: 0x0080, 0x4c79: 0x0080, 0x4c7a: 0x0080, 0x4c7b: 0x0080,
+ 0x4c7c: 0x0080, 0x4c7d: 0x0080, 0x4c7e: 0x0080, 0x4c7f: 0x0080,
// Block 0x132, offset 0x4c80
- 0x4c80: 0x0080, 0x4c81: 0x0080, 0x4c82: 0x0080, 0x4c83: 0x0080, 0x4c84: 0x0080, 0x4c85: 0x0080,
+ 0x4c81: 0x0080, 0x4c82: 0x0080, 0x4c83: 0x0080, 0x4c84: 0x0080, 0x4c85: 0x0080,
0x4c86: 0x0080, 0x4c87: 0x0080, 0x4c88: 0x0080, 0x4c89: 0x0080, 0x4c8a: 0x0080, 0x4c8b: 0x0080,
- 0x4c8c: 0x0080, 0x4c8d: 0x0080, 0x4c8e: 0x0080, 0x4c8f: 0x0080, 0x4c90: 0x0080, 0x4c91: 0x0080,
- 0x4c92: 0x0080,
- 0x4ca0: 0x0080, 0x4ca1: 0x0080, 0x4ca2: 0x0080, 0x4ca3: 0x0080,
+ 0x4c8c: 0x0080, 0x4c8d: 0x0080, 0x4c8e: 0x0080, 0x4c8f: 0x0080, 0x4c91: 0x0080,
+ 0x4c92: 0x0080, 0x4c93: 0x0080, 0x4c94: 0x0080, 0x4c95: 0x0080, 0x4c96: 0x0080, 0x4c97: 0x0080,
+ 0x4c98: 0x0080, 0x4c99: 0x0080, 0x4c9a: 0x0080, 0x4c9b: 0x0080, 0x4c9c: 0x0080, 0x4c9d: 0x0080,
+ 0x4c9e: 0x0080, 0x4c9f: 0x0080, 0x4ca0: 0x0080, 0x4ca1: 0x0080, 0x4ca2: 0x0080, 0x4ca3: 0x0080,
0x4ca4: 0x0080, 0x4ca5: 0x0080, 0x4ca6: 0x0080, 0x4ca7: 0x0080, 0x4ca8: 0x0080, 0x4ca9: 0x0080,
- 0x4caa: 0x0080, 0x4cab: 0x0080, 0x4cac: 0x0080,
+ 0x4caa: 0x0080, 0x4cab: 0x0080, 0x4cac: 0x0080, 0x4cad: 0x0080, 0x4cae: 0x0080, 0x4caf: 0x0080,
0x4cb0: 0x0080, 0x4cb1: 0x0080, 0x4cb2: 0x0080, 0x4cb3: 0x0080, 0x4cb4: 0x0080, 0x4cb5: 0x0080,
- 0x4cb6: 0x0080,
// Block 0x133, offset 0x4cc0
0x4cc0: 0x0080, 0x4cc1: 0x0080, 0x4cc2: 0x0080, 0x4cc3: 0x0080, 0x4cc4: 0x0080, 0x4cc5: 0x0080,
0x4cc6: 0x0080, 0x4cc7: 0x0080, 0x4cc8: 0x0080, 0x4cc9: 0x0080, 0x4cca: 0x0080, 0x4ccb: 0x0080,
- 0x4ccc: 0x0080, 0x4ccd: 0x0080, 0x4cce: 0x0080, 0x4ccf: 0x0080, 0x4cd0: 0x0080, 0x4cd1: 0x0080,
+ 0x4ccc: 0x0080, 0x4cd0: 0x0080, 0x4cd1: 0x0080,
0x4cd2: 0x0080, 0x4cd3: 0x0080, 0x4cd4: 0x0080, 0x4cd5: 0x0080, 0x4cd6: 0x0080, 0x4cd7: 0x0080,
0x4cd8: 0x0080, 0x4cd9: 0x0080, 0x4cda: 0x0080, 0x4cdb: 0x0080, 0x4cdc: 0x0080, 0x4cdd: 0x0080,
0x4cde: 0x0080, 0x4cdf: 0x0080, 0x4ce0: 0x0080, 0x4ce1: 0x0080, 0x4ce2: 0x0080, 0x4ce3: 0x0080,
0x4ce4: 0x0080, 0x4ce5: 0x0080, 0x4ce6: 0x0080, 0x4ce7: 0x0080, 0x4ce8: 0x0080, 0x4ce9: 0x0080,
- 0x4cea: 0x0080, 0x4ceb: 0x0080, 0x4cec: 0x0080, 0x4ced: 0x0080, 0x4cee: 0x0080, 0x4cef: 0x0080,
- 0x4cf0: 0x0080, 0x4cf1: 0x0080, 0x4cf2: 0x0080, 0x4cf3: 0x0080,
+ 0x4cea: 0x0080, 0x4ceb: 0x0080, 0x4cec: 0x0080, 0x4ced: 0x0080, 0x4cee: 0x0080,
+ 0x4cf0: 0x0080, 0x4cf1: 0x0080, 0x4cf2: 0x0080, 0x4cf3: 0x0080, 0x4cf4: 0x0080, 0x4cf5: 0x0080,
+ 0x4cf6: 0x0080, 0x4cf7: 0x0080, 0x4cf8: 0x0080, 0x4cf9: 0x0080, 0x4cfa: 0x0080, 0x4cfb: 0x0080,
+ 0x4cfc: 0x0080, 0x4cfd: 0x0080, 0x4cfe: 0x0080, 0x4cff: 0x0080,
// Block 0x134, offset 0x4d00
0x4d00: 0x0080, 0x4d01: 0x0080, 0x4d02: 0x0080, 0x4d03: 0x0080, 0x4d04: 0x0080, 0x4d05: 0x0080,
0x4d06: 0x0080, 0x4d07: 0x0080, 0x4d08: 0x0080, 0x4d09: 0x0080, 0x4d0a: 0x0080, 0x4d0b: 0x0080,
0x4d0c: 0x0080, 0x4d0d: 0x0080, 0x4d0e: 0x0080, 0x4d0f: 0x0080, 0x4d10: 0x0080, 0x4d11: 0x0080,
- 0x4d12: 0x0080, 0x4d13: 0x0080, 0x4d14: 0x0080,
+ 0x4d12: 0x0080, 0x4d13: 0x0080, 0x4d14: 0x0080, 0x4d15: 0x0080, 0x4d16: 0x0080, 0x4d17: 0x0080,
+ 0x4d18: 0x0080, 0x4d19: 0x0080, 0x4d1a: 0x0080, 0x4d1b: 0x0080, 0x4d1c: 0x0080, 0x4d1d: 0x0080,
+ 0x4d1e: 0x0080, 0x4d1f: 0x0080, 0x4d20: 0x0080, 0x4d21: 0x0080, 0x4d22: 0x0080, 0x4d23: 0x0080,
+ 0x4d24: 0x0080, 0x4d25: 0x0080, 0x4d26: 0x0080, 0x4d27: 0x0080, 0x4d28: 0x0080, 0x4d29: 0x0080,
+ 0x4d2a: 0x0080, 0x4d2b: 0x0080, 0x4d2c: 0x0080,
// Block 0x135, offset 0x4d40
- 0x4d40: 0x0080, 0x4d41: 0x0080, 0x4d42: 0x0080, 0x4d43: 0x0080, 0x4d44: 0x0080, 0x4d45: 0x0080,
- 0x4d46: 0x0080, 0x4d47: 0x0080, 0x4d48: 0x0080, 0x4d49: 0x0080, 0x4d4a: 0x0080, 0x4d4b: 0x0080,
- 0x4d50: 0x0080, 0x4d51: 0x0080,
- 0x4d52: 0x0080, 0x4d53: 0x0080, 0x4d54: 0x0080, 0x4d55: 0x0080, 0x4d56: 0x0080, 0x4d57: 0x0080,
- 0x4d58: 0x0080, 0x4d59: 0x0080, 0x4d5a: 0x0080, 0x4d5b: 0x0080, 0x4d5c: 0x0080, 0x4d5d: 0x0080,
- 0x4d5e: 0x0080, 0x4d5f: 0x0080, 0x4d60: 0x0080, 0x4d61: 0x0080, 0x4d62: 0x0080, 0x4d63: 0x0080,
- 0x4d64: 0x0080, 0x4d65: 0x0080, 0x4d66: 0x0080, 0x4d67: 0x0080, 0x4d68: 0x0080, 0x4d69: 0x0080,
+ 0x4d66: 0x0080, 0x4d67: 0x0080, 0x4d68: 0x0080, 0x4d69: 0x0080,
0x4d6a: 0x0080, 0x4d6b: 0x0080, 0x4d6c: 0x0080, 0x4d6d: 0x0080, 0x4d6e: 0x0080, 0x4d6f: 0x0080,
0x4d70: 0x0080, 0x4d71: 0x0080, 0x4d72: 0x0080, 0x4d73: 0x0080, 0x4d74: 0x0080, 0x4d75: 0x0080,
0x4d76: 0x0080, 0x4d77: 0x0080, 0x4d78: 0x0080, 0x4d79: 0x0080, 0x4d7a: 0x0080, 0x4d7b: 0x0080,
0x4d7c: 0x0080, 0x4d7d: 0x0080, 0x4d7e: 0x0080, 0x4d7f: 0x0080,
// Block 0x136, offset 0x4d80
- 0x4d80: 0x0080, 0x4d81: 0x0080, 0x4d82: 0x0080, 0x4d83: 0x0080, 0x4d84: 0x0080, 0x4d85: 0x0080,
- 0x4d86: 0x0080, 0x4d87: 0x0080,
+ 0x4d80: 0x008c, 0x4d81: 0x0080, 0x4d82: 0x0080,
0x4d90: 0x0080, 0x4d91: 0x0080,
0x4d92: 0x0080, 0x4d93: 0x0080, 0x4d94: 0x0080, 0x4d95: 0x0080, 0x4d96: 0x0080, 0x4d97: 0x0080,
- 0x4d98: 0x0080, 0x4d99: 0x0080,
- 0x4da0: 0x0080, 0x4da1: 0x0080, 0x4da2: 0x0080, 0x4da3: 0x0080,
+ 0x4d98: 0x0080, 0x4d99: 0x0080, 0x4d9a: 0x0080, 0x4d9b: 0x0080, 0x4d9c: 0x0080, 0x4d9d: 0x0080,
+ 0x4d9e: 0x0080, 0x4d9f: 0x0080, 0x4da0: 0x0080, 0x4da1: 0x0080, 0x4da2: 0x0080, 0x4da3: 0x0080,
0x4da4: 0x0080, 0x4da5: 0x0080, 0x4da6: 0x0080, 0x4da7: 0x0080, 0x4da8: 0x0080, 0x4da9: 0x0080,
0x4daa: 0x0080, 0x4dab: 0x0080, 0x4dac: 0x0080, 0x4dad: 0x0080, 0x4dae: 0x0080, 0x4daf: 0x0080,
0x4db0: 0x0080, 0x4db1: 0x0080, 0x4db2: 0x0080, 0x4db3: 0x0080, 0x4db4: 0x0080, 0x4db5: 0x0080,
0x4db6: 0x0080, 0x4db7: 0x0080, 0x4db8: 0x0080, 0x4db9: 0x0080, 0x4dba: 0x0080, 0x4dbb: 0x0080,
- 0x4dbc: 0x0080, 0x4dbd: 0x0080, 0x4dbe: 0x0080, 0x4dbf: 0x0080,
// Block 0x137, offset 0x4dc0
0x4dc0: 0x0080, 0x4dc1: 0x0080, 0x4dc2: 0x0080, 0x4dc3: 0x0080, 0x4dc4: 0x0080, 0x4dc5: 0x0080,
- 0x4dc6: 0x0080, 0x4dc7: 0x0080,
+ 0x4dc6: 0x0080, 0x4dc7: 0x0080, 0x4dc8: 0x0080,
0x4dd0: 0x0080, 0x4dd1: 0x0080,
- 0x4dd2: 0x0080, 0x4dd3: 0x0080, 0x4dd4: 0x0080, 0x4dd5: 0x0080, 0x4dd6: 0x0080, 0x4dd7: 0x0080,
- 0x4dd8: 0x0080, 0x4dd9: 0x0080, 0x4dda: 0x0080, 0x4ddb: 0x0080, 0x4ddc: 0x0080, 0x4ddd: 0x0080,
- 0x4dde: 0x0080, 0x4ddf: 0x0080, 0x4de0: 0x0080, 0x4de1: 0x0080, 0x4de2: 0x0080, 0x4de3: 0x0080,
- 0x4de4: 0x0080, 0x4de5: 0x0080, 0x4de6: 0x0080, 0x4de7: 0x0080, 0x4de8: 0x0080, 0x4de9: 0x0080,
- 0x4dea: 0x0080, 0x4deb: 0x0080, 0x4dec: 0x0080, 0x4ded: 0x0080,
+ 0x4de0: 0x0080, 0x4de1: 0x0080, 0x4de2: 0x0080, 0x4de3: 0x0080,
+ 0x4de4: 0x0080, 0x4de5: 0x0080,
// Block 0x138, offset 0x4e00
- 0x4e10: 0x0080, 0x4e11: 0x0080,
- 0x4e12: 0x0080, 0x4e13: 0x0080, 0x4e14: 0x0080, 0x4e15: 0x0080, 0x4e16: 0x0080, 0x4e17: 0x0080,
- 0x4e18: 0x0080, 0x4e19: 0x0080, 0x4e1a: 0x0080, 0x4e1b: 0x0080, 0x4e1c: 0x0080, 0x4e1d: 0x0080,
- 0x4e1e: 0x0080, 0x4e20: 0x0080, 0x4e21: 0x0080, 0x4e22: 0x0080, 0x4e23: 0x0080,
- 0x4e24: 0x0080, 0x4e25: 0x0080, 0x4e26: 0x0080, 0x4e27: 0x0080,
- 0x4e30: 0x0080, 0x4e33: 0x0080, 0x4e34: 0x0080, 0x4e35: 0x0080,
- 0x4e36: 0x0080, 0x4e37: 0x0080, 0x4e38: 0x0080, 0x4e39: 0x0080, 0x4e3a: 0x0080, 0x4e3b: 0x0080,
- 0x4e3c: 0x0080, 0x4e3d: 0x0080, 0x4e3e: 0x0080,
+ 0x4e00: 0x0080, 0x4e01: 0x0080, 0x4e02: 0x0080, 0x4e03: 0x0080, 0x4e04: 0x0080, 0x4e05: 0x0080,
+ 0x4e06: 0x0080, 0x4e07: 0x0080, 0x4e08: 0x0080, 0x4e09: 0x0080, 0x4e0a: 0x0080, 0x4e0b: 0x0080,
+ 0x4e0c: 0x0080, 0x4e0d: 0x0080, 0x4e0e: 0x0080, 0x4e0f: 0x0080, 0x4e10: 0x0080, 0x4e11: 0x0080,
+ 0x4e12: 0x0080, 0x4e13: 0x0080, 0x4e14: 0x0080,
+ 0x4e20: 0x0080, 0x4e21: 0x0080, 0x4e22: 0x0080, 0x4e23: 0x0080,
+ 0x4e24: 0x0080, 0x4e25: 0x0080, 0x4e26: 0x0080, 0x4e27: 0x0080, 0x4e28: 0x0080, 0x4e29: 0x0080,
+ 0x4e2a: 0x0080, 0x4e2b: 0x0080, 0x4e2c: 0x0080,
+ 0x4e30: 0x0080, 0x4e31: 0x0080, 0x4e32: 0x0080, 0x4e33: 0x0080, 0x4e34: 0x0080, 0x4e35: 0x0080,
+ 0x4e36: 0x0080, 0x4e37: 0x0080, 0x4e38: 0x0080,
// Block 0x139, offset 0x4e40
0x4e40: 0x0080, 0x4e41: 0x0080, 0x4e42: 0x0080, 0x4e43: 0x0080, 0x4e44: 0x0080, 0x4e45: 0x0080,
0x4e46: 0x0080, 0x4e47: 0x0080, 0x4e48: 0x0080, 0x4e49: 0x0080, 0x4e4a: 0x0080, 0x4e4b: 0x0080,
- 0x4e50: 0x0080, 0x4e51: 0x0080,
+ 0x4e4c: 0x0080, 0x4e4d: 0x0080, 0x4e4e: 0x0080, 0x4e4f: 0x0080, 0x4e50: 0x0080, 0x4e51: 0x0080,
0x4e52: 0x0080, 0x4e53: 0x0080, 0x4e54: 0x0080, 0x4e55: 0x0080, 0x4e56: 0x0080, 0x4e57: 0x0080,
0x4e58: 0x0080, 0x4e59: 0x0080, 0x4e5a: 0x0080, 0x4e5b: 0x0080, 0x4e5c: 0x0080, 0x4e5d: 0x0080,
- 0x4e5e: 0x0080,
+ 0x4e5e: 0x0080, 0x4e5f: 0x0080, 0x4e60: 0x0080, 0x4e61: 0x0080, 0x4e62: 0x0080, 0x4e63: 0x0080,
+ 0x4e64: 0x0080, 0x4e65: 0x0080, 0x4e66: 0x0080, 0x4e67: 0x0080, 0x4e68: 0x0080, 0x4e69: 0x0080,
+ 0x4e6a: 0x0080, 0x4e6b: 0x0080, 0x4e6c: 0x0080, 0x4e6d: 0x0080, 0x4e6e: 0x0080, 0x4e6f: 0x0080,
+ 0x4e70: 0x0080, 0x4e71: 0x0080, 0x4e72: 0x0080, 0x4e73: 0x0080,
// Block 0x13a, offset 0x4e80
0x4e80: 0x0080, 0x4e81: 0x0080, 0x4e82: 0x0080, 0x4e83: 0x0080, 0x4e84: 0x0080, 0x4e85: 0x0080,
0x4e86: 0x0080, 0x4e87: 0x0080, 0x4e88: 0x0080, 0x4e89: 0x0080, 0x4e8a: 0x0080, 0x4e8b: 0x0080,
0x4e8c: 0x0080, 0x4e8d: 0x0080, 0x4e8e: 0x0080, 0x4e8f: 0x0080, 0x4e90: 0x0080, 0x4e91: 0x0080,
+ 0x4e92: 0x0080, 0x4e93: 0x0080, 0x4e94: 0x0080,
// Block 0x13b, offset 0x4ec0
- 0x4ec0: 0x0080,
+ 0x4ec0: 0x0080, 0x4ec1: 0x0080, 0x4ec2: 0x0080, 0x4ec3: 0x0080, 0x4ec4: 0x0080, 0x4ec5: 0x0080,
+ 0x4ec6: 0x0080, 0x4ec7: 0x0080, 0x4ec8: 0x0080, 0x4ec9: 0x0080, 0x4eca: 0x0080, 0x4ecb: 0x0080,
+ 0x4ed0: 0x0080, 0x4ed1: 0x0080,
+ 0x4ed2: 0x0080, 0x4ed3: 0x0080, 0x4ed4: 0x0080, 0x4ed5: 0x0080, 0x4ed6: 0x0080, 0x4ed7: 0x0080,
+ 0x4ed8: 0x0080, 0x4ed9: 0x0080, 0x4eda: 0x0080, 0x4edb: 0x0080, 0x4edc: 0x0080, 0x4edd: 0x0080,
+ 0x4ede: 0x0080, 0x4edf: 0x0080, 0x4ee0: 0x0080, 0x4ee1: 0x0080, 0x4ee2: 0x0080, 0x4ee3: 0x0080,
+ 0x4ee4: 0x0080, 0x4ee5: 0x0080, 0x4ee6: 0x0080, 0x4ee7: 0x0080, 0x4ee8: 0x0080, 0x4ee9: 0x0080,
+ 0x4eea: 0x0080, 0x4eeb: 0x0080, 0x4eec: 0x0080, 0x4eed: 0x0080, 0x4eee: 0x0080, 0x4eef: 0x0080,
+ 0x4ef0: 0x0080, 0x4ef1: 0x0080, 0x4ef2: 0x0080, 0x4ef3: 0x0080, 0x4ef4: 0x0080, 0x4ef5: 0x0080,
+ 0x4ef6: 0x0080, 0x4ef7: 0x0080, 0x4ef8: 0x0080, 0x4ef9: 0x0080, 0x4efa: 0x0080, 0x4efb: 0x0080,
+ 0x4efc: 0x0080, 0x4efd: 0x0080, 0x4efe: 0x0080, 0x4eff: 0x0080,
// Block 0x13c, offset 0x4f00
- 0x4f00: 0x00cc, 0x4f01: 0x00cc, 0x4f02: 0x00cc, 0x4f03: 0x00cc, 0x4f04: 0x00cc, 0x4f05: 0x00cc,
- 0x4f06: 0x00cc, 0x4f07: 0x00cc, 0x4f08: 0x00cc, 0x4f09: 0x00cc, 0x4f0a: 0x00cc, 0x4f0b: 0x00cc,
- 0x4f0c: 0x00cc, 0x4f0d: 0x00cc, 0x4f0e: 0x00cc, 0x4f0f: 0x00cc, 0x4f10: 0x00cc, 0x4f11: 0x00cc,
- 0x4f12: 0x00cc, 0x4f13: 0x00cc, 0x4f14: 0x00cc, 0x4f15: 0x00cc, 0x4f16: 0x00cc,
+ 0x4f00: 0x0080, 0x4f01: 0x0080, 0x4f02: 0x0080, 0x4f03: 0x0080, 0x4f04: 0x0080, 0x4f05: 0x0080,
+ 0x4f06: 0x0080, 0x4f07: 0x0080,
+ 0x4f10: 0x0080, 0x4f11: 0x0080,
+ 0x4f12: 0x0080, 0x4f13: 0x0080, 0x4f14: 0x0080, 0x4f15: 0x0080, 0x4f16: 0x0080, 0x4f17: 0x0080,
+ 0x4f18: 0x0080, 0x4f19: 0x0080,
+ 0x4f20: 0x0080, 0x4f21: 0x0080, 0x4f22: 0x0080, 0x4f23: 0x0080,
+ 0x4f24: 0x0080, 0x4f25: 0x0080, 0x4f26: 0x0080, 0x4f27: 0x0080, 0x4f28: 0x0080, 0x4f29: 0x0080,
+ 0x4f2a: 0x0080, 0x4f2b: 0x0080, 0x4f2c: 0x0080, 0x4f2d: 0x0080, 0x4f2e: 0x0080, 0x4f2f: 0x0080,
+ 0x4f30: 0x0080, 0x4f31: 0x0080, 0x4f32: 0x0080, 0x4f33: 0x0080, 0x4f34: 0x0080, 0x4f35: 0x0080,
+ 0x4f36: 0x0080, 0x4f37: 0x0080, 0x4f38: 0x0080, 0x4f39: 0x0080, 0x4f3a: 0x0080, 0x4f3b: 0x0080,
+ 0x4f3c: 0x0080, 0x4f3d: 0x0080, 0x4f3e: 0x0080, 0x4f3f: 0x0080,
// Block 0x13d, offset 0x4f40
- 0x4f40: 0x00cc, 0x4f41: 0x00cc, 0x4f42: 0x00cc, 0x4f43: 0x00cc, 0x4f44: 0x00cc, 0x4f45: 0x00cc,
- 0x4f46: 0x00cc, 0x4f47: 0x00cc, 0x4f48: 0x00cc, 0x4f49: 0x00cc, 0x4f4a: 0x00cc, 0x4f4b: 0x00cc,
- 0x4f4c: 0x00cc, 0x4f4d: 0x00cc, 0x4f4e: 0x00cc, 0x4f4f: 0x00cc, 0x4f50: 0x00cc, 0x4f51: 0x00cc,
- 0x4f52: 0x00cc, 0x4f53: 0x00cc, 0x4f54: 0x00cc, 0x4f55: 0x00cc, 0x4f56: 0x00cc, 0x4f57: 0x00cc,
- 0x4f58: 0x00cc, 0x4f59: 0x00cc, 0x4f5a: 0x00cc, 0x4f5b: 0x00cc, 0x4f5c: 0x00cc, 0x4f5d: 0x00cc,
- 0x4f5e: 0x00cc, 0x4f5f: 0x00cc, 0x4f60: 0x00cc, 0x4f61: 0x00cc, 0x4f62: 0x00cc, 0x4f63: 0x00cc,
- 0x4f64: 0x00cc, 0x4f65: 0x00cc, 0x4f66: 0x00cc, 0x4f67: 0x00cc, 0x4f68: 0x00cc, 0x4f69: 0x00cc,
- 0x4f6a: 0x00cc, 0x4f6b: 0x00cc, 0x4f6c: 0x00cc, 0x4f6d: 0x00cc, 0x4f6e: 0x00cc, 0x4f6f: 0x00cc,
- 0x4f70: 0x00cc, 0x4f71: 0x00cc, 0x4f72: 0x00cc, 0x4f73: 0x00cc, 0x4f74: 0x00cc,
+ 0x4f40: 0x0080, 0x4f41: 0x0080, 0x4f42: 0x0080, 0x4f43: 0x0080, 0x4f44: 0x0080, 0x4f45: 0x0080,
+ 0x4f46: 0x0080, 0x4f47: 0x0080,
+ 0x4f50: 0x0080, 0x4f51: 0x0080,
+ 0x4f52: 0x0080, 0x4f53: 0x0080, 0x4f54: 0x0080, 0x4f55: 0x0080, 0x4f56: 0x0080, 0x4f57: 0x0080,
+ 0x4f58: 0x0080, 0x4f59: 0x0080, 0x4f5a: 0x0080, 0x4f5b: 0x0080, 0x4f5c: 0x0080, 0x4f5d: 0x0080,
+ 0x4f5e: 0x0080, 0x4f5f: 0x0080, 0x4f60: 0x0080, 0x4f61: 0x0080, 0x4f62: 0x0080, 0x4f63: 0x0080,
+ 0x4f64: 0x0080, 0x4f65: 0x0080, 0x4f66: 0x0080, 0x4f67: 0x0080, 0x4f68: 0x0080, 0x4f69: 0x0080,
+ 0x4f6a: 0x0080, 0x4f6b: 0x0080, 0x4f6c: 0x0080, 0x4f6d: 0x0080,
// Block 0x13e, offset 0x4f80
- 0x4f80: 0x00cc, 0x4f81: 0x00cc, 0x4f82: 0x00cc, 0x4f83: 0x00cc, 0x4f84: 0x00cc, 0x4f85: 0x00cc,
- 0x4f86: 0x00cc, 0x4f87: 0x00cc, 0x4f88: 0x00cc, 0x4f89: 0x00cc, 0x4f8a: 0x00cc, 0x4f8b: 0x00cc,
- 0x4f8c: 0x00cc, 0x4f8d: 0x00cc, 0x4f8e: 0x00cc, 0x4f8f: 0x00cc, 0x4f90: 0x00cc, 0x4f91: 0x00cc,
- 0x4f92: 0x00cc, 0x4f93: 0x00cc, 0x4f94: 0x00cc, 0x4f95: 0x00cc, 0x4f96: 0x00cc, 0x4f97: 0x00cc,
- 0x4f98: 0x00cc, 0x4f99: 0x00cc, 0x4f9a: 0x00cc, 0x4f9b: 0x00cc, 0x4f9c: 0x00cc, 0x4f9d: 0x00cc,
- 0x4fa0: 0x00cc, 0x4fa1: 0x00cc, 0x4fa2: 0x00cc, 0x4fa3: 0x00cc,
- 0x4fa4: 0x00cc, 0x4fa5: 0x00cc, 0x4fa6: 0x00cc, 0x4fa7: 0x00cc, 0x4fa8: 0x00cc, 0x4fa9: 0x00cc,
- 0x4faa: 0x00cc, 0x4fab: 0x00cc, 0x4fac: 0x00cc, 0x4fad: 0x00cc, 0x4fae: 0x00cc, 0x4faf: 0x00cc,
- 0x4fb0: 0x00cc, 0x4fb1: 0x00cc, 0x4fb2: 0x00cc, 0x4fb3: 0x00cc, 0x4fb4: 0x00cc, 0x4fb5: 0x00cc,
- 0x4fb6: 0x00cc, 0x4fb7: 0x00cc, 0x4fb8: 0x00cc, 0x4fb9: 0x00cc, 0x4fba: 0x00cc, 0x4fbb: 0x00cc,
- 0x4fbc: 0x00cc, 0x4fbd: 0x00cc, 0x4fbe: 0x00cc, 0x4fbf: 0x00cc,
+ 0x4f80: 0x0080, 0x4f81: 0x0080, 0x4f82: 0x0080, 0x4f83: 0x0080, 0x4f84: 0x0080, 0x4f85: 0x0080,
+ 0x4f86: 0x0080, 0x4f87: 0x0080, 0x4f88: 0x0080, 0x4f89: 0x0080, 0x4f8a: 0x0080, 0x4f8b: 0x0080,
+ 0x4f90: 0x0080, 0x4f91: 0x0080,
+ 0x4f92: 0x0080, 0x4f93: 0x0080, 0x4f94: 0x0080, 0x4f95: 0x0080, 0x4f96: 0x0080, 0x4f97: 0x0080,
+ 0x4f98: 0x0080, 0x4f99: 0x0080, 0x4f9a: 0x0080, 0x4f9b: 0x0080, 0x4f9c: 0x0080, 0x4f9d: 0x0080,
+ 0x4f9e: 0x0080, 0x4f9f: 0x0080, 0x4fa0: 0x0080, 0x4fa1: 0x0080, 0x4fa2: 0x0080, 0x4fa3: 0x0080,
+ 0x4fa4: 0x0080, 0x4fa5: 0x0080, 0x4fa6: 0x0080, 0x4fa7: 0x0080, 0x4fa8: 0x0080, 0x4fa9: 0x0080,
+ 0x4faa: 0x0080, 0x4fab: 0x0080, 0x4fac: 0x0080, 0x4fad: 0x0080, 0x4fae: 0x0080, 0x4faf: 0x0080,
+ 0x4fb0: 0x0080, 0x4fb1: 0x0080, 0x4fb2: 0x0080, 0x4fb3: 0x0080, 0x4fb4: 0x0080, 0x4fb5: 0x0080,
+ 0x4fb6: 0x0080, 0x4fb7: 0x0080, 0x4fb8: 0x0080, 0x4fb9: 0x0080, 0x4fba: 0x0080, 0x4fbb: 0x0080,
+ 0x4fbc: 0x0080, 0x4fbd: 0x0080, 0x4fbe: 0x0080,
// Block 0x13f, offset 0x4fc0
- 0x4fc0: 0x00cc, 0x4fc1: 0x00cc, 0x4fc2: 0x00cc, 0x4fc3: 0x00cc, 0x4fc4: 0x00cc, 0x4fc5: 0x00cc,
- 0x4fc6: 0x00cc, 0x4fc7: 0x00cc, 0x4fc8: 0x00cc, 0x4fc9: 0x00cc, 0x4fca: 0x00cc, 0x4fcb: 0x00cc,
- 0x4fcc: 0x00cc, 0x4fcd: 0x00cc, 0x4fce: 0x00cc, 0x4fcf: 0x00cc, 0x4fd0: 0x00cc, 0x4fd1: 0x00cc,
- 0x4fd2: 0x00cc, 0x4fd3: 0x00cc, 0x4fd4: 0x00cc, 0x4fd5: 0x00cc, 0x4fd6: 0x00cc, 0x4fd7: 0x00cc,
- 0x4fd8: 0x00cc, 0x4fd9: 0x00cc, 0x4fda: 0x00cc, 0x4fdb: 0x00cc, 0x4fdc: 0x00cc, 0x4fdd: 0x00cc,
- 0x4fde: 0x00cc, 0x4fdf: 0x00cc, 0x4fe0: 0x00cc, 0x4fe1: 0x00cc,
+ 0x4fc0: 0x0080, 0x4fc1: 0x0080, 0x4fc2: 0x0080, 0x4fc3: 0x0080, 0x4fc4: 0x0080, 0x4fc5: 0x0080,
+ 0x4fc6: 0x0080, 0x4fc7: 0x0080, 0x4fc8: 0x0080, 0x4fc9: 0x0080, 0x4fca: 0x0080, 0x4fcb: 0x0080,
+ 0x4fcc: 0x0080, 0x4fd0: 0x0080, 0x4fd1: 0x0080,
+ 0x4fd2: 0x0080, 0x4fd3: 0x0080, 0x4fd4: 0x0080, 0x4fd5: 0x0080, 0x4fd6: 0x0080, 0x4fd7: 0x0080,
+ 0x4fd8: 0x0080, 0x4fd9: 0x0080, 0x4fda: 0x0080, 0x4fdb: 0x0080, 0x4fdc: 0x0080, 0x4fdd: 0x0080,
+ 0x4fde: 0x0080, 0x4fdf: 0x0080, 0x4fe0: 0x0080, 0x4fe1: 0x0080, 0x4fe2: 0x0080, 0x4fe3: 0x0080,
+ 0x4fe4: 0x0080, 0x4fe5: 0x0080, 0x4fe6: 0x0080, 0x4fe7: 0x0080, 0x4fe8: 0x0080, 0x4fe9: 0x0080,
+ 0x4fea: 0x0080, 0x4feb: 0x0080,
// Block 0x140, offset 0x5000
- 0x5000: 0x008c, 0x5001: 0x008c, 0x5002: 0x008c, 0x5003: 0x008c, 0x5004: 0x008c, 0x5005: 0x008c,
- 0x5006: 0x008c, 0x5007: 0x008c, 0x5008: 0x008c, 0x5009: 0x008c, 0x500a: 0x008c, 0x500b: 0x008c,
- 0x500c: 0x008c, 0x500d: 0x008c, 0x500e: 0x008c, 0x500f: 0x008c, 0x5010: 0x008c, 0x5011: 0x008c,
- 0x5012: 0x008c, 0x5013: 0x008c, 0x5014: 0x008c, 0x5015: 0x008c, 0x5016: 0x008c, 0x5017: 0x008c,
- 0x5018: 0x008c, 0x5019: 0x008c, 0x501a: 0x008c, 0x501b: 0x008c, 0x501c: 0x008c, 0x501d: 0x008c,
+ 0x5000: 0x0080, 0x5001: 0x0080, 0x5002: 0x0080, 0x5003: 0x0080, 0x5004: 0x0080, 0x5005: 0x0080,
+ 0x5006: 0x0080, 0x5007: 0x0080, 0x5008: 0x0080, 0x5009: 0x0080, 0x500a: 0x0080, 0x500b: 0x0080,
+ 0x500c: 0x0080, 0x500d: 0x0080, 0x500e: 0x0080, 0x500f: 0x0080, 0x5010: 0x0080, 0x5011: 0x0080,
+ 0x5012: 0x0080, 0x5013: 0x0080, 0x5014: 0x0080, 0x5015: 0x0080, 0x5016: 0x0080, 0x5017: 0x0080,
// Block 0x141, offset 0x5040
- 0x5041: 0x0040,
- 0x5060: 0x0040, 0x5061: 0x0040, 0x5062: 0x0040, 0x5063: 0x0040,
- 0x5064: 0x0040, 0x5065: 0x0040, 0x5066: 0x0040, 0x5067: 0x0040, 0x5068: 0x0040, 0x5069: 0x0040,
- 0x506a: 0x0040, 0x506b: 0x0040, 0x506c: 0x0040, 0x506d: 0x0040, 0x506e: 0x0040, 0x506f: 0x0040,
- 0x5070: 0x0040, 0x5071: 0x0040, 0x5072: 0x0040, 0x5073: 0x0040, 0x5074: 0x0040, 0x5075: 0x0040,
- 0x5076: 0x0040, 0x5077: 0x0040, 0x5078: 0x0040, 0x5079: 0x0040, 0x507a: 0x0040, 0x507b: 0x0040,
- 0x507c: 0x0040, 0x507d: 0x0040, 0x507e: 0x0040, 0x507f: 0x0040,
+ 0x5040: 0x0080,
+ 0x5050: 0x0080, 0x5051: 0x0080,
+ 0x5052: 0x0080, 0x5053: 0x0080, 0x5054: 0x0080, 0x5055: 0x0080, 0x5056: 0x0080, 0x5057: 0x0080,
+ 0x5058: 0x0080, 0x5059: 0x0080, 0x505a: 0x0080, 0x505b: 0x0080, 0x505c: 0x0080, 0x505d: 0x0080,
+ 0x505e: 0x0080, 0x505f: 0x0080, 0x5060: 0x0080, 0x5061: 0x0080, 0x5062: 0x0080, 0x5063: 0x0080,
+ 0x5064: 0x0080, 0x5065: 0x0080, 0x5066: 0x0080,
// Block 0x142, offset 0x5080
- 0x5080: 0x0040, 0x5081: 0x0040, 0x5082: 0x0040, 0x5083: 0x0040, 0x5084: 0x0040, 0x5085: 0x0040,
- 0x5086: 0x0040, 0x5087: 0x0040, 0x5088: 0x0040, 0x5089: 0x0040, 0x508a: 0x0040, 0x508b: 0x0040,
- 0x508c: 0x0040, 0x508d: 0x0040, 0x508e: 0x0040, 0x508f: 0x0040, 0x5090: 0x0040, 0x5091: 0x0040,
- 0x5092: 0x0040, 0x5093: 0x0040, 0x5094: 0x0040, 0x5095: 0x0040, 0x5096: 0x0040, 0x5097: 0x0040,
- 0x5098: 0x0040, 0x5099: 0x0040, 0x509a: 0x0040, 0x509b: 0x0040, 0x509c: 0x0040, 0x509d: 0x0040,
- 0x509e: 0x0040, 0x509f: 0x0040, 0x50a0: 0x0040, 0x50a1: 0x0040, 0x50a2: 0x0040, 0x50a3: 0x0040,
- 0x50a4: 0x0040, 0x50a5: 0x0040, 0x50a6: 0x0040, 0x50a7: 0x0040, 0x50a8: 0x0040, 0x50a9: 0x0040,
- 0x50aa: 0x0040, 0x50ab: 0x0040, 0x50ac: 0x0040, 0x50ad: 0x0040, 0x50ae: 0x0040, 0x50af: 0x0040,
+ 0x5080: 0x00cc, 0x5081: 0x00cc, 0x5082: 0x00cc, 0x5083: 0x00cc, 0x5084: 0x00cc, 0x5085: 0x00cc,
+ 0x5086: 0x00cc, 0x5087: 0x00cc, 0x5088: 0x00cc, 0x5089: 0x00cc, 0x508a: 0x00cc, 0x508b: 0x00cc,
+ 0x508c: 0x00cc, 0x508d: 0x00cc, 0x508e: 0x00cc, 0x508f: 0x00cc, 0x5090: 0x00cc, 0x5091: 0x00cc,
+ 0x5092: 0x00cc, 0x5093: 0x00cc, 0x5094: 0x00cc, 0x5095: 0x00cc, 0x5096: 0x00cc,
// Block 0x143, offset 0x50c0
- 0x50c0: 0x0040, 0x50c1: 0x0040, 0x50c2: 0x0040, 0x50c3: 0x0040, 0x50c4: 0x0040, 0x50c5: 0x0040,
- 0x50c6: 0x0040, 0x50c7: 0x0040, 0x50c8: 0x0040, 0x50c9: 0x0040, 0x50ca: 0x0040, 0x50cb: 0x0040,
- 0x50cc: 0x0040, 0x50cd: 0x0040, 0x50ce: 0x0040, 0x50cf: 0x0040, 0x50d0: 0x0040, 0x50d1: 0x0040,
- 0x50d2: 0x0040, 0x50d3: 0x0040, 0x50d4: 0x0040, 0x50d5: 0x0040, 0x50d6: 0x0040, 0x50d7: 0x0040,
- 0x50d8: 0x0040, 0x50d9: 0x0040, 0x50da: 0x0040, 0x50db: 0x0040, 0x50dc: 0x0040, 0x50dd: 0x0040,
- 0x50de: 0x0040, 0x50df: 0x0040, 0x50e0: 0x0040, 0x50e1: 0x0040, 0x50e2: 0x0040, 0x50e3: 0x0040,
- 0x50e4: 0x0040, 0x50e5: 0x0040, 0x50e6: 0x0040, 0x50e7: 0x0040, 0x50e8: 0x0040, 0x50e9: 0x0040,
- 0x50ea: 0x0040, 0x50eb: 0x0040, 0x50ec: 0x0040, 0x50ed: 0x0040, 0x50ee: 0x0040, 0x50ef: 0x0040,
- 0x50f0: 0x0040, 0x50f1: 0x0040, 0x50f2: 0x0040, 0x50f3: 0x0040, 0x50f4: 0x0040, 0x50f5: 0x0040,
- 0x50f6: 0x0040, 0x50f7: 0x0040, 0x50f8: 0x0040, 0x50f9: 0x0040, 0x50fa: 0x0040, 0x50fb: 0x0040,
- 0x50fc: 0x0040, 0x50fd: 0x0040,
+ 0x50c0: 0x00cc, 0x50c1: 0x00cc, 0x50c2: 0x00cc, 0x50c3: 0x00cc, 0x50c4: 0x00cc, 0x50c5: 0x00cc,
+ 0x50c6: 0x00cc, 0x50c7: 0x00cc, 0x50c8: 0x00cc, 0x50c9: 0x00cc, 0x50ca: 0x00cc, 0x50cb: 0x00cc,
+ 0x50cc: 0x00cc, 0x50cd: 0x00cc, 0x50ce: 0x00cc, 0x50cf: 0x00cc, 0x50d0: 0x00cc, 0x50d1: 0x00cc,
+ 0x50d2: 0x00cc, 0x50d3: 0x00cc, 0x50d4: 0x00cc, 0x50d5: 0x00cc, 0x50d6: 0x00cc, 0x50d7: 0x00cc,
+ 0x50d8: 0x00cc, 0x50d9: 0x00cc, 0x50da: 0x00cc, 0x50db: 0x00cc, 0x50dc: 0x00cc, 0x50dd: 0x00cc,
+ 0x50de: 0x00cc, 0x50df: 0x00cc, 0x50e0: 0x00cc, 0x50e1: 0x00cc, 0x50e2: 0x00cc, 0x50e3: 0x00cc,
+ 0x50e4: 0x00cc, 0x50e5: 0x00cc, 0x50e6: 0x00cc, 0x50e7: 0x00cc, 0x50e8: 0x00cc, 0x50e9: 0x00cc,
+ 0x50ea: 0x00cc, 0x50eb: 0x00cc, 0x50ec: 0x00cc, 0x50ed: 0x00cc, 0x50ee: 0x00cc, 0x50ef: 0x00cc,
+ 0x50f0: 0x00cc, 0x50f1: 0x00cc, 0x50f2: 0x00cc, 0x50f3: 0x00cc, 0x50f4: 0x00cc,
+ // Block 0x144, offset 0x5100
+ 0x5100: 0x00cc, 0x5101: 0x00cc, 0x5102: 0x00cc, 0x5103: 0x00cc, 0x5104: 0x00cc, 0x5105: 0x00cc,
+ 0x5106: 0x00cc, 0x5107: 0x00cc, 0x5108: 0x00cc, 0x5109: 0x00cc, 0x510a: 0x00cc, 0x510b: 0x00cc,
+ 0x510c: 0x00cc, 0x510d: 0x00cc, 0x510e: 0x00cc, 0x510f: 0x00cc, 0x5110: 0x00cc, 0x5111: 0x00cc,
+ 0x5112: 0x00cc, 0x5113: 0x00cc, 0x5114: 0x00cc, 0x5115: 0x00cc, 0x5116: 0x00cc, 0x5117: 0x00cc,
+ 0x5118: 0x00cc, 0x5119: 0x00cc, 0x511a: 0x00cc, 0x511b: 0x00cc, 0x511c: 0x00cc, 0x511d: 0x00cc,
+ 0x5120: 0x00cc, 0x5121: 0x00cc, 0x5122: 0x00cc, 0x5123: 0x00cc,
+ 0x5124: 0x00cc, 0x5125: 0x00cc, 0x5126: 0x00cc, 0x5127: 0x00cc, 0x5128: 0x00cc, 0x5129: 0x00cc,
+ 0x512a: 0x00cc, 0x512b: 0x00cc, 0x512c: 0x00cc, 0x512d: 0x00cc, 0x512e: 0x00cc, 0x512f: 0x00cc,
+ 0x5130: 0x00cc, 0x5131: 0x00cc, 0x5132: 0x00cc, 0x5133: 0x00cc, 0x5134: 0x00cc, 0x5135: 0x00cc,
+ 0x5136: 0x00cc, 0x5137: 0x00cc, 0x5138: 0x00cc, 0x5139: 0x00cc, 0x513a: 0x00cc, 0x513b: 0x00cc,
+ 0x513c: 0x00cc, 0x513d: 0x00cc, 0x513e: 0x00cc, 0x513f: 0x00cc,
+ // Block 0x145, offset 0x5140
+ 0x5140: 0x00cc, 0x5141: 0x00cc, 0x5142: 0x00cc, 0x5143: 0x00cc, 0x5144: 0x00cc, 0x5145: 0x00cc,
+ 0x5146: 0x00cc, 0x5147: 0x00cc, 0x5148: 0x00cc, 0x5149: 0x00cc, 0x514a: 0x00cc, 0x514b: 0x00cc,
+ 0x514c: 0x00cc, 0x514d: 0x00cc, 0x514e: 0x00cc, 0x514f: 0x00cc, 0x5150: 0x00cc, 0x5151: 0x00cc,
+ 0x5152: 0x00cc, 0x5153: 0x00cc, 0x5154: 0x00cc, 0x5155: 0x00cc, 0x5156: 0x00cc, 0x5157: 0x00cc,
+ 0x5158: 0x00cc, 0x5159: 0x00cc, 0x515a: 0x00cc, 0x515b: 0x00cc, 0x515c: 0x00cc, 0x515d: 0x00cc,
+ 0x515e: 0x00cc, 0x515f: 0x00cc, 0x5160: 0x00cc, 0x5161: 0x00cc,
+ 0x5170: 0x00cc, 0x5171: 0x00cc, 0x5172: 0x00cc, 0x5173: 0x00cc, 0x5174: 0x00cc, 0x5175: 0x00cc,
+ 0x5176: 0x00cc, 0x5177: 0x00cc, 0x5178: 0x00cc, 0x5179: 0x00cc, 0x517a: 0x00cc, 0x517b: 0x00cc,
+ 0x517c: 0x00cc, 0x517d: 0x00cc, 0x517e: 0x00cc, 0x517f: 0x00cc,
+ // Block 0x146, offset 0x5180
+ 0x5180: 0x00cc, 0x5181: 0x00cc, 0x5182: 0x00cc, 0x5183: 0x00cc, 0x5184: 0x00cc, 0x5185: 0x00cc,
+ 0x5186: 0x00cc, 0x5187: 0x00cc, 0x5188: 0x00cc, 0x5189: 0x00cc, 0x518a: 0x00cc, 0x518b: 0x00cc,
+ 0x518c: 0x00cc, 0x518d: 0x00cc, 0x518e: 0x00cc, 0x518f: 0x00cc, 0x5190: 0x00cc, 0x5191: 0x00cc,
+ 0x5192: 0x00cc, 0x5193: 0x00cc, 0x5194: 0x00cc, 0x5195: 0x00cc, 0x5196: 0x00cc, 0x5197: 0x00cc,
+ 0x5198: 0x00cc, 0x5199: 0x00cc, 0x519a: 0x00cc, 0x519b: 0x00cc, 0x519c: 0x00cc, 0x519d: 0x00cc,
+ 0x519e: 0x00cc, 0x519f: 0x00cc, 0x51a0: 0x00cc,
+ // Block 0x147, offset 0x51c0
+ 0x51c0: 0x008c, 0x51c1: 0x008c, 0x51c2: 0x008c, 0x51c3: 0x008c, 0x51c4: 0x008c, 0x51c5: 0x008c,
+ 0x51c6: 0x008c, 0x51c7: 0x008c, 0x51c8: 0x008c, 0x51c9: 0x008c, 0x51ca: 0x008c, 0x51cb: 0x008c,
+ 0x51cc: 0x008c, 0x51cd: 0x008c, 0x51ce: 0x008c, 0x51cf: 0x008c, 0x51d0: 0x008c, 0x51d1: 0x008c,
+ 0x51d2: 0x008c, 0x51d3: 0x008c, 0x51d4: 0x008c, 0x51d5: 0x008c, 0x51d6: 0x008c, 0x51d7: 0x008c,
+ 0x51d8: 0x008c, 0x51d9: 0x008c, 0x51da: 0x008c, 0x51db: 0x008c, 0x51dc: 0x008c, 0x51dd: 0x008c,
+ // Block 0x148, offset 0x5200
+ 0x5201: 0x0040,
+ 0x5220: 0x0040, 0x5221: 0x0040, 0x5222: 0x0040, 0x5223: 0x0040,
+ 0x5224: 0x0040, 0x5225: 0x0040, 0x5226: 0x0040, 0x5227: 0x0040, 0x5228: 0x0040, 0x5229: 0x0040,
+ 0x522a: 0x0040, 0x522b: 0x0040, 0x522c: 0x0040, 0x522d: 0x0040, 0x522e: 0x0040, 0x522f: 0x0040,
+ 0x5230: 0x0040, 0x5231: 0x0040, 0x5232: 0x0040, 0x5233: 0x0040, 0x5234: 0x0040, 0x5235: 0x0040,
+ 0x5236: 0x0040, 0x5237: 0x0040, 0x5238: 0x0040, 0x5239: 0x0040, 0x523a: 0x0040, 0x523b: 0x0040,
+ 0x523c: 0x0040, 0x523d: 0x0040, 0x523e: 0x0040, 0x523f: 0x0040,
+ // Block 0x149, offset 0x5240
+ 0x5240: 0x0040, 0x5241: 0x0040, 0x5242: 0x0040, 0x5243: 0x0040, 0x5244: 0x0040, 0x5245: 0x0040,
+ 0x5246: 0x0040, 0x5247: 0x0040, 0x5248: 0x0040, 0x5249: 0x0040, 0x524a: 0x0040, 0x524b: 0x0040,
+ 0x524c: 0x0040, 0x524d: 0x0040, 0x524e: 0x0040, 0x524f: 0x0040, 0x5250: 0x0040, 0x5251: 0x0040,
+ 0x5252: 0x0040, 0x5253: 0x0040, 0x5254: 0x0040, 0x5255: 0x0040, 0x5256: 0x0040, 0x5257: 0x0040,
+ 0x5258: 0x0040, 0x5259: 0x0040, 0x525a: 0x0040, 0x525b: 0x0040, 0x525c: 0x0040, 0x525d: 0x0040,
+ 0x525e: 0x0040, 0x525f: 0x0040, 0x5260: 0x0040, 0x5261: 0x0040, 0x5262: 0x0040, 0x5263: 0x0040,
+ 0x5264: 0x0040, 0x5265: 0x0040, 0x5266: 0x0040, 0x5267: 0x0040, 0x5268: 0x0040, 0x5269: 0x0040,
+ 0x526a: 0x0040, 0x526b: 0x0040, 0x526c: 0x0040, 0x526d: 0x0040, 0x526e: 0x0040, 0x526f: 0x0040,
+ // Block 0x14a, offset 0x5280
+ 0x5280: 0x0040, 0x5281: 0x0040, 0x5282: 0x0040, 0x5283: 0x0040, 0x5284: 0x0040, 0x5285: 0x0040,
+ 0x5286: 0x0040, 0x5287: 0x0040, 0x5288: 0x0040, 0x5289: 0x0040, 0x528a: 0x0040, 0x528b: 0x0040,
+ 0x528c: 0x0040, 0x528d: 0x0040, 0x528e: 0x0040, 0x528f: 0x0040, 0x5290: 0x0040, 0x5291: 0x0040,
+ 0x5292: 0x0040, 0x5293: 0x0040, 0x5294: 0x0040, 0x5295: 0x0040, 0x5296: 0x0040, 0x5297: 0x0040,
+ 0x5298: 0x0040, 0x5299: 0x0040, 0x529a: 0x0040, 0x529b: 0x0040, 0x529c: 0x0040, 0x529d: 0x0040,
+ 0x529e: 0x0040, 0x529f: 0x0040, 0x52a0: 0x0040, 0x52a1: 0x0040, 0x52a2: 0x0040, 0x52a3: 0x0040,
+ 0x52a4: 0x0040, 0x52a5: 0x0040, 0x52a6: 0x0040, 0x52a7: 0x0040, 0x52a8: 0x0040, 0x52a9: 0x0040,
+ 0x52aa: 0x0040, 0x52ab: 0x0040, 0x52ac: 0x0040, 0x52ad: 0x0040, 0x52ae: 0x0040, 0x52af: 0x0040,
+ 0x52b0: 0x0040, 0x52b1: 0x0040, 0x52b2: 0x0040, 0x52b3: 0x0040, 0x52b4: 0x0040, 0x52b5: 0x0040,
+ 0x52b6: 0x0040, 0x52b7: 0x0040, 0x52b8: 0x0040, 0x52b9: 0x0040, 0x52ba: 0x0040, 0x52bb: 0x0040,
+ 0x52bc: 0x0040, 0x52bd: 0x0040,
}
-// derivedPropertiesIndex: 36 blocks, 2304 entries, 4608 bytes
+// derivedPropertiesIndex: 37 blocks, 2368 entries, 4736 bytes
// Block 0 is the zero block.
-var derivedPropertiesIndex = [2304]uint16{
+var derivedPropertiesIndex = [2368]uint16{
// Block 0x0, offset 0x0
// Block 0x1, offset 0x40
// Block 0x2, offset 0x80
@@ -3570,7 +3661,7 @@ var derivedPropertiesIndex = [2304]uint16{
0xd8: 0x12, 0xd9: 0x13, 0xda: 0x14, 0xdb: 0x15, 0xdc: 0x16, 0xdd: 0x17, 0xde: 0x18, 0xdf: 0x19,
0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07,
0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x0a, 0xec: 0x0a, 0xed: 0x0b, 0xee: 0x0c, 0xef: 0x0d,
- 0xf0: 0x1d, 0xf3: 0x20, 0xf4: 0x21,
+ 0xf0: 0x1e, 0xf3: 0x21, 0xf4: 0x22,
// Block 0x4, offset 0x100
0x120: 0x1a, 0x121: 0x1b, 0x122: 0x1c, 0x123: 0x1d, 0x124: 0x1e, 0x125: 0x1f, 0x126: 0x20, 0x127: 0x21,
0x128: 0x22, 0x129: 0x23, 0x12a: 0x24, 0x12b: 0x25, 0x12c: 0x26, 0x12d: 0x27, 0x12e: 0x28, 0x12f: 0x29,
@@ -3587,56 +3678,56 @@ var derivedPropertiesIndex = [2304]uint16{
0x178: 0x05, 0x179: 0x05, 0x17a: 0x65, 0x17b: 0x05, 0x17c: 0x66, 0x17d: 0x67, 0x17e: 0x68, 0x17f: 0x69,
// Block 0x6, offset 0x180
0x180: 0x6a, 0x181: 0x6b, 0x182: 0x6c, 0x183: 0x6d, 0x184: 0x6e, 0x185: 0x6f, 0x186: 0x70, 0x187: 0x71,
- 0x188: 0x71, 0x189: 0x71, 0x18a: 0x71, 0x18b: 0x71, 0x18c: 0x71, 0x18d: 0x71, 0x18e: 0x71, 0x18f: 0x72,
- 0x190: 0x73, 0x191: 0x74, 0x192: 0x71, 0x193: 0x71, 0x194: 0x71, 0x195: 0x71, 0x196: 0x71, 0x197: 0x71,
+ 0x188: 0x71, 0x189: 0x71, 0x18a: 0x71, 0x18b: 0x71, 0x18c: 0x71, 0x18d: 0x71, 0x18e: 0x71, 0x18f: 0x71,
+ 0x190: 0x72, 0x191: 0x73, 0x192: 0x71, 0x193: 0x71, 0x194: 0x71, 0x195: 0x71, 0x196: 0x71, 0x197: 0x71,
0x198: 0x71, 0x199: 0x71, 0x19a: 0x71, 0x19b: 0x71, 0x19c: 0x71, 0x19d: 0x71, 0x19e: 0x71, 0x19f: 0x71,
0x1a0: 0x71, 0x1a1: 0x71, 0x1a2: 0x71, 0x1a3: 0x71, 0x1a4: 0x71, 0x1a5: 0x71, 0x1a6: 0x71, 0x1a7: 0x71,
- 0x1a8: 0x71, 0x1a9: 0x71, 0x1aa: 0x71, 0x1ab: 0x71, 0x1ac: 0x71, 0x1ad: 0x75, 0x1ae: 0x76, 0x1af: 0x77,
- 0x1b0: 0x78, 0x1b1: 0x79, 0x1b2: 0x05, 0x1b3: 0x7a, 0x1b4: 0x7b, 0x1b5: 0x7c, 0x1b6: 0x7d, 0x1b7: 0x7e,
- 0x1b8: 0x7f, 0x1b9: 0x80, 0x1ba: 0x81, 0x1bb: 0x82, 0x1bc: 0x83, 0x1bd: 0x83, 0x1be: 0x83, 0x1bf: 0x84,
+ 0x1a8: 0x71, 0x1a9: 0x71, 0x1aa: 0x71, 0x1ab: 0x71, 0x1ac: 0x71, 0x1ad: 0x74, 0x1ae: 0x75, 0x1af: 0x76,
+ 0x1b0: 0x77, 0x1b1: 0x78, 0x1b2: 0x05, 0x1b3: 0x79, 0x1b4: 0x7a, 0x1b5: 0x7b, 0x1b6: 0x7c, 0x1b7: 0x7d,
+ 0x1b8: 0x7e, 0x1b9: 0x7f, 0x1ba: 0x80, 0x1bb: 0x81, 0x1bc: 0x82, 0x1bd: 0x82, 0x1be: 0x82, 0x1bf: 0x83,
// Block 0x7, offset 0x1c0
- 0x1c0: 0x85, 0x1c1: 0x86, 0x1c2: 0x87, 0x1c3: 0x88, 0x1c4: 0x89, 0x1c5: 0x8a, 0x1c6: 0x8b, 0x1c7: 0x8c,
- 0x1c8: 0x8d, 0x1c9: 0x71, 0x1ca: 0x71, 0x1cb: 0x8e, 0x1cc: 0x83, 0x1cd: 0x8f, 0x1ce: 0x71, 0x1cf: 0x71,
- 0x1d0: 0x90, 0x1d1: 0x90, 0x1d2: 0x90, 0x1d3: 0x90, 0x1d4: 0x90, 0x1d5: 0x90, 0x1d6: 0x90, 0x1d7: 0x90,
- 0x1d8: 0x90, 0x1d9: 0x90, 0x1da: 0x90, 0x1db: 0x90, 0x1dc: 0x90, 0x1dd: 0x90, 0x1de: 0x90, 0x1df: 0x90,
- 0x1e0: 0x90, 0x1e1: 0x90, 0x1e2: 0x90, 0x1e3: 0x90, 0x1e4: 0x90, 0x1e5: 0x90, 0x1e6: 0x90, 0x1e7: 0x90,
- 0x1e8: 0x90, 0x1e9: 0x90, 0x1ea: 0x90, 0x1eb: 0x90, 0x1ec: 0x90, 0x1ed: 0x90, 0x1ee: 0x90, 0x1ef: 0x90,
- 0x1f0: 0x90, 0x1f1: 0x90, 0x1f2: 0x90, 0x1f3: 0x90, 0x1f4: 0x90, 0x1f5: 0x90, 0x1f6: 0x90, 0x1f7: 0x90,
- 0x1f8: 0x90, 0x1f9: 0x90, 0x1fa: 0x90, 0x1fb: 0x90, 0x1fc: 0x90, 0x1fd: 0x90, 0x1fe: 0x90, 0x1ff: 0x90,
+ 0x1c0: 0x84, 0x1c1: 0x85, 0x1c2: 0x86, 0x1c3: 0x87, 0x1c4: 0x88, 0x1c5: 0x89, 0x1c6: 0x8a, 0x1c7: 0x8b,
+ 0x1c8: 0x8c, 0x1c9: 0x71, 0x1ca: 0x71, 0x1cb: 0x8d, 0x1cc: 0x82, 0x1cd: 0x8e, 0x1ce: 0x71, 0x1cf: 0x71,
+ 0x1d0: 0x8f, 0x1d1: 0x8f, 0x1d2: 0x8f, 0x1d3: 0x8f, 0x1d4: 0x8f, 0x1d5: 0x8f, 0x1d6: 0x8f, 0x1d7: 0x8f,
+ 0x1d8: 0x8f, 0x1d9: 0x8f, 0x1da: 0x8f, 0x1db: 0x8f, 0x1dc: 0x8f, 0x1dd: 0x8f, 0x1de: 0x8f, 0x1df: 0x8f,
+ 0x1e0: 0x8f, 0x1e1: 0x8f, 0x1e2: 0x8f, 0x1e3: 0x8f, 0x1e4: 0x8f, 0x1e5: 0x8f, 0x1e6: 0x8f, 0x1e7: 0x8f,
+ 0x1e8: 0x8f, 0x1e9: 0x8f, 0x1ea: 0x8f, 0x1eb: 0x8f, 0x1ec: 0x8f, 0x1ed: 0x8f, 0x1ee: 0x8f, 0x1ef: 0x8f,
+ 0x1f0: 0x8f, 0x1f1: 0x8f, 0x1f2: 0x8f, 0x1f3: 0x8f, 0x1f4: 0x8f, 0x1f5: 0x8f, 0x1f6: 0x8f, 0x1f7: 0x8f,
+ 0x1f8: 0x8f, 0x1f9: 0x8f, 0x1fa: 0x8f, 0x1fb: 0x8f, 0x1fc: 0x8f, 0x1fd: 0x8f, 0x1fe: 0x8f, 0x1ff: 0x8f,
// Block 0x8, offset 0x200
- 0x200: 0x90, 0x201: 0x90, 0x202: 0x90, 0x203: 0x90, 0x204: 0x90, 0x205: 0x90, 0x206: 0x90, 0x207: 0x90,
- 0x208: 0x90, 0x209: 0x90, 0x20a: 0x90, 0x20b: 0x90, 0x20c: 0x90, 0x20d: 0x90, 0x20e: 0x90, 0x20f: 0x90,
- 0x210: 0x90, 0x211: 0x90, 0x212: 0x90, 0x213: 0x90, 0x214: 0x90, 0x215: 0x90, 0x216: 0x90, 0x217: 0x90,
- 0x218: 0x90, 0x219: 0x90, 0x21a: 0x90, 0x21b: 0x90, 0x21c: 0x90, 0x21d: 0x90, 0x21e: 0x90, 0x21f: 0x90,
- 0x220: 0x90, 0x221: 0x90, 0x222: 0x90, 0x223: 0x90, 0x224: 0x90, 0x225: 0x90, 0x226: 0x90, 0x227: 0x90,
- 0x228: 0x90, 0x229: 0x90, 0x22a: 0x90, 0x22b: 0x90, 0x22c: 0x90, 0x22d: 0x90, 0x22e: 0x90, 0x22f: 0x90,
- 0x230: 0x90, 0x231: 0x90, 0x232: 0x90, 0x233: 0x90, 0x234: 0x90, 0x235: 0x90, 0x236: 0x91, 0x237: 0x71,
- 0x238: 0x90, 0x239: 0x90, 0x23a: 0x90, 0x23b: 0x90, 0x23c: 0x90, 0x23d: 0x90, 0x23e: 0x90, 0x23f: 0x90,
+ 0x200: 0x8f, 0x201: 0x8f, 0x202: 0x8f, 0x203: 0x8f, 0x204: 0x8f, 0x205: 0x8f, 0x206: 0x8f, 0x207: 0x8f,
+ 0x208: 0x8f, 0x209: 0x8f, 0x20a: 0x8f, 0x20b: 0x8f, 0x20c: 0x8f, 0x20d: 0x8f, 0x20e: 0x8f, 0x20f: 0x8f,
+ 0x210: 0x8f, 0x211: 0x8f, 0x212: 0x8f, 0x213: 0x8f, 0x214: 0x8f, 0x215: 0x8f, 0x216: 0x8f, 0x217: 0x8f,
+ 0x218: 0x8f, 0x219: 0x8f, 0x21a: 0x8f, 0x21b: 0x8f, 0x21c: 0x8f, 0x21d: 0x8f, 0x21e: 0x8f, 0x21f: 0x8f,
+ 0x220: 0x8f, 0x221: 0x8f, 0x222: 0x8f, 0x223: 0x8f, 0x224: 0x8f, 0x225: 0x8f, 0x226: 0x8f, 0x227: 0x8f,
+ 0x228: 0x8f, 0x229: 0x8f, 0x22a: 0x8f, 0x22b: 0x8f, 0x22c: 0x8f, 0x22d: 0x8f, 0x22e: 0x8f, 0x22f: 0x8f,
+ 0x230: 0x8f, 0x231: 0x8f, 0x232: 0x8f, 0x233: 0x8f, 0x234: 0x8f, 0x235: 0x8f, 0x236: 0x90, 0x237: 0x71,
+ 0x238: 0x8f, 0x239: 0x8f, 0x23a: 0x8f, 0x23b: 0x8f, 0x23c: 0x8f, 0x23d: 0x8f, 0x23e: 0x8f, 0x23f: 0x8f,
// Block 0x9, offset 0x240
- 0x240: 0x90, 0x241: 0x90, 0x242: 0x90, 0x243: 0x90, 0x244: 0x90, 0x245: 0x90, 0x246: 0x90, 0x247: 0x90,
- 0x248: 0x90, 0x249: 0x90, 0x24a: 0x90, 0x24b: 0x90, 0x24c: 0x90, 0x24d: 0x90, 0x24e: 0x90, 0x24f: 0x90,
- 0x250: 0x90, 0x251: 0x90, 0x252: 0x90, 0x253: 0x90, 0x254: 0x90, 0x255: 0x90, 0x256: 0x90, 0x257: 0x90,
- 0x258: 0x90, 0x259: 0x90, 0x25a: 0x90, 0x25b: 0x90, 0x25c: 0x90, 0x25d: 0x90, 0x25e: 0x90, 0x25f: 0x90,
- 0x260: 0x90, 0x261: 0x90, 0x262: 0x90, 0x263: 0x90, 0x264: 0x90, 0x265: 0x90, 0x266: 0x90, 0x267: 0x90,
- 0x268: 0x90, 0x269: 0x90, 0x26a: 0x90, 0x26b: 0x90, 0x26c: 0x90, 0x26d: 0x90, 0x26e: 0x90, 0x26f: 0x90,
- 0x270: 0x90, 0x271: 0x90, 0x272: 0x90, 0x273: 0x90, 0x274: 0x90, 0x275: 0x90, 0x276: 0x90, 0x277: 0x90,
- 0x278: 0x90, 0x279: 0x90, 0x27a: 0x90, 0x27b: 0x90, 0x27c: 0x90, 0x27d: 0x90, 0x27e: 0x90, 0x27f: 0x90,
+ 0x240: 0x8f, 0x241: 0x8f, 0x242: 0x8f, 0x243: 0x8f, 0x244: 0x8f, 0x245: 0x8f, 0x246: 0x8f, 0x247: 0x8f,
+ 0x248: 0x8f, 0x249: 0x8f, 0x24a: 0x8f, 0x24b: 0x8f, 0x24c: 0x8f, 0x24d: 0x8f, 0x24e: 0x8f, 0x24f: 0x8f,
+ 0x250: 0x8f, 0x251: 0x8f, 0x252: 0x8f, 0x253: 0x8f, 0x254: 0x8f, 0x255: 0x8f, 0x256: 0x8f, 0x257: 0x8f,
+ 0x258: 0x8f, 0x259: 0x8f, 0x25a: 0x8f, 0x25b: 0x8f, 0x25c: 0x8f, 0x25d: 0x8f, 0x25e: 0x8f, 0x25f: 0x8f,
+ 0x260: 0x8f, 0x261: 0x8f, 0x262: 0x8f, 0x263: 0x8f, 0x264: 0x8f, 0x265: 0x8f, 0x266: 0x8f, 0x267: 0x8f,
+ 0x268: 0x8f, 0x269: 0x8f, 0x26a: 0x8f, 0x26b: 0x8f, 0x26c: 0x8f, 0x26d: 0x8f, 0x26e: 0x8f, 0x26f: 0x8f,
+ 0x270: 0x8f, 0x271: 0x8f, 0x272: 0x8f, 0x273: 0x8f, 0x274: 0x8f, 0x275: 0x8f, 0x276: 0x8f, 0x277: 0x8f,
+ 0x278: 0x8f, 0x279: 0x8f, 0x27a: 0x8f, 0x27b: 0x8f, 0x27c: 0x8f, 0x27d: 0x8f, 0x27e: 0x8f, 0x27f: 0x8f,
// Block 0xa, offset 0x280
- 0x280: 0x90, 0x281: 0x90, 0x282: 0x90, 0x283: 0x90, 0x284: 0x90, 0x285: 0x90, 0x286: 0x90, 0x287: 0x90,
- 0x288: 0x90, 0x289: 0x90, 0x28a: 0x90, 0x28b: 0x90, 0x28c: 0x90, 0x28d: 0x90, 0x28e: 0x90, 0x28f: 0x90,
- 0x290: 0x90, 0x291: 0x90, 0x292: 0x90, 0x293: 0x90, 0x294: 0x90, 0x295: 0x90, 0x296: 0x90, 0x297: 0x90,
- 0x298: 0x90, 0x299: 0x90, 0x29a: 0x90, 0x29b: 0x90, 0x29c: 0x90, 0x29d: 0x90, 0x29e: 0x90, 0x29f: 0x90,
- 0x2a0: 0x90, 0x2a1: 0x90, 0x2a2: 0x90, 0x2a3: 0x90, 0x2a4: 0x90, 0x2a5: 0x90, 0x2a6: 0x90, 0x2a7: 0x90,
- 0x2a8: 0x90, 0x2a9: 0x90, 0x2aa: 0x90, 0x2ab: 0x90, 0x2ac: 0x90, 0x2ad: 0x90, 0x2ae: 0x90, 0x2af: 0x90,
- 0x2b0: 0x90, 0x2b1: 0x90, 0x2b2: 0x90, 0x2b3: 0x90, 0x2b4: 0x90, 0x2b5: 0x90, 0x2b6: 0x90, 0x2b7: 0x90,
- 0x2b8: 0x90, 0x2b9: 0x90, 0x2ba: 0x90, 0x2bb: 0x90, 0x2bc: 0x90, 0x2bd: 0x90, 0x2be: 0x90, 0x2bf: 0x92,
+ 0x280: 0x8f, 0x281: 0x8f, 0x282: 0x8f, 0x283: 0x8f, 0x284: 0x8f, 0x285: 0x8f, 0x286: 0x8f, 0x287: 0x8f,
+ 0x288: 0x8f, 0x289: 0x8f, 0x28a: 0x8f, 0x28b: 0x8f, 0x28c: 0x8f, 0x28d: 0x8f, 0x28e: 0x8f, 0x28f: 0x8f,
+ 0x290: 0x8f, 0x291: 0x8f, 0x292: 0x8f, 0x293: 0x8f, 0x294: 0x8f, 0x295: 0x8f, 0x296: 0x8f, 0x297: 0x8f,
+ 0x298: 0x8f, 0x299: 0x8f, 0x29a: 0x8f, 0x29b: 0x8f, 0x29c: 0x8f, 0x29d: 0x8f, 0x29e: 0x8f, 0x29f: 0x8f,
+ 0x2a0: 0x8f, 0x2a1: 0x8f, 0x2a2: 0x8f, 0x2a3: 0x8f, 0x2a4: 0x8f, 0x2a5: 0x8f, 0x2a6: 0x8f, 0x2a7: 0x8f,
+ 0x2a8: 0x8f, 0x2a9: 0x8f, 0x2aa: 0x8f, 0x2ab: 0x8f, 0x2ac: 0x8f, 0x2ad: 0x8f, 0x2ae: 0x8f, 0x2af: 0x8f,
+ 0x2b0: 0x8f, 0x2b1: 0x8f, 0x2b2: 0x8f, 0x2b3: 0x8f, 0x2b4: 0x8f, 0x2b5: 0x8f, 0x2b6: 0x8f, 0x2b7: 0x8f,
+ 0x2b8: 0x8f, 0x2b9: 0x8f, 0x2ba: 0x8f, 0x2bb: 0x8f, 0x2bc: 0x8f, 0x2bd: 0x8f, 0x2be: 0x8f, 0x2bf: 0x91,
// Block 0xb, offset 0x2c0
0x2c0: 0x05, 0x2c1: 0x05, 0x2c2: 0x05, 0x2c3: 0x05, 0x2c4: 0x05, 0x2c5: 0x05, 0x2c6: 0x05, 0x2c7: 0x05,
0x2c8: 0x05, 0x2c9: 0x05, 0x2ca: 0x05, 0x2cb: 0x05, 0x2cc: 0x05, 0x2cd: 0x05, 0x2ce: 0x05, 0x2cf: 0x05,
- 0x2d0: 0x05, 0x2d1: 0x05, 0x2d2: 0x93, 0x2d3: 0x94, 0x2d4: 0x05, 0x2d5: 0x05, 0x2d6: 0x05, 0x2d7: 0x05,
- 0x2d8: 0x95, 0x2d9: 0x96, 0x2da: 0x97, 0x2db: 0x98, 0x2dc: 0x99, 0x2dd: 0x9a, 0x2de: 0x9b, 0x2df: 0x9c,
- 0x2e0: 0x9d, 0x2e1: 0x9e, 0x2e2: 0x05, 0x2e3: 0x9f, 0x2e4: 0xa0, 0x2e5: 0xa1, 0x2e6: 0xa2, 0x2e7: 0xa3,
- 0x2e8: 0xa4, 0x2e9: 0xa5, 0x2ea: 0xa6, 0x2eb: 0xa7, 0x2ec: 0xa8, 0x2ed: 0xa9, 0x2ee: 0x05, 0x2ef: 0xaa,
+ 0x2d0: 0x05, 0x2d1: 0x05, 0x2d2: 0x92, 0x2d3: 0x93, 0x2d4: 0x05, 0x2d5: 0x05, 0x2d6: 0x05, 0x2d7: 0x05,
+ 0x2d8: 0x94, 0x2d9: 0x95, 0x2da: 0x96, 0x2db: 0x97, 0x2dc: 0x98, 0x2dd: 0x99, 0x2de: 0x9a, 0x2df: 0x9b,
+ 0x2e0: 0x9c, 0x2e1: 0x9d, 0x2e2: 0x05, 0x2e3: 0x9e, 0x2e4: 0x9f, 0x2e5: 0xa0, 0x2e6: 0xa1, 0x2e7: 0xa2,
+ 0x2e8: 0xa3, 0x2e9: 0xa4, 0x2ea: 0xa5, 0x2eb: 0xa6, 0x2ec: 0xa7, 0x2ed: 0xa8, 0x2ee: 0x05, 0x2ef: 0xa9,
0x2f0: 0x05, 0x2f1: 0x05, 0x2f2: 0x05, 0x2f3: 0x05, 0x2f4: 0x05, 0x2f5: 0x05, 0x2f6: 0x05, 0x2f7: 0x05,
0x2f8: 0x05, 0x2f9: 0x05, 0x2fa: 0x05, 0x2fb: 0x05, 0x2fc: 0x05, 0x2fd: 0x05, 0x2fe: 0x05, 0x2ff: 0x05,
// Block 0xc, offset 0x300
@@ -3652,7 +3743,7 @@ var derivedPropertiesIndex = [2304]uint16{
0x340: 0x05, 0x341: 0x05, 0x342: 0x05, 0x343: 0x05, 0x344: 0x05, 0x345: 0x05, 0x346: 0x05, 0x347: 0x05,
0x348: 0x05, 0x349: 0x05, 0x34a: 0x05, 0x34b: 0x05, 0x34c: 0x05, 0x34d: 0x05, 0x34e: 0x05, 0x34f: 0x05,
0x350: 0x05, 0x351: 0x05, 0x352: 0x05, 0x353: 0x05, 0x354: 0x05, 0x355: 0x05, 0x356: 0x05, 0x357: 0x05,
- 0x358: 0x05, 0x359: 0x05, 0x35a: 0x05, 0x35b: 0x05, 0x35c: 0x05, 0x35d: 0x05, 0x35e: 0xab, 0x35f: 0xac,
+ 0x358: 0x05, 0x359: 0x05, 0x35a: 0x05, 0x35b: 0x05, 0x35c: 0x05, 0x35d: 0x05, 0x35e: 0xaa, 0x35f: 0xab,
// Block 0xe, offset 0x380
0x380: 0x3e, 0x381: 0x3e, 0x382: 0x3e, 0x383: 0x3e, 0x384: 0x3e, 0x385: 0x3e, 0x386: 0x3e, 0x387: 0x3e,
0x388: 0x3e, 0x389: 0x3e, 0x38a: 0x3e, 0x38b: 0x3e, 0x38c: 0x3e, 0x38d: 0x3e, 0x38e: 0x3e, 0x38f: 0x3e,
@@ -3667,122 +3758,130 @@ var derivedPropertiesIndex = [2304]uint16{
0x3c8: 0x3e, 0x3c9: 0x3e, 0x3ca: 0x3e, 0x3cb: 0x3e, 0x3cc: 0x3e, 0x3cd: 0x3e, 0x3ce: 0x3e, 0x3cf: 0x3e,
0x3d0: 0x3e, 0x3d1: 0x3e, 0x3d2: 0x3e, 0x3d3: 0x3e, 0x3d4: 0x3e, 0x3d5: 0x3e, 0x3d6: 0x3e, 0x3d7: 0x3e,
0x3d8: 0x3e, 0x3d9: 0x3e, 0x3da: 0x3e, 0x3db: 0x3e, 0x3dc: 0x3e, 0x3dd: 0x3e, 0x3de: 0x3e, 0x3df: 0x3e,
- 0x3e0: 0x3e, 0x3e1: 0x3e, 0x3e2: 0x3e, 0x3e3: 0x3e, 0x3e4: 0x83, 0x3e5: 0x83, 0x3e6: 0x83, 0x3e7: 0x83,
- 0x3e8: 0xad, 0x3e9: 0xae, 0x3ea: 0x83, 0x3eb: 0xaf, 0x3ec: 0xb0, 0x3ed: 0xb1, 0x3ee: 0x71, 0x3ef: 0xb2,
- 0x3f0: 0x71, 0x3f1: 0x71, 0x3f2: 0x71, 0x3f3: 0x71, 0x3f4: 0x71, 0x3f5: 0xb3, 0x3f6: 0xb4, 0x3f7: 0xb5,
- 0x3f8: 0xb6, 0x3f9: 0xb7, 0x3fa: 0x71, 0x3fb: 0xb8, 0x3fc: 0xb9, 0x3fd: 0xba, 0x3fe: 0xbb, 0x3ff: 0xbc,
+ 0x3e0: 0x3e, 0x3e1: 0x3e, 0x3e2: 0x3e, 0x3e3: 0x3e, 0x3e4: 0x82, 0x3e5: 0x82, 0x3e6: 0x82, 0x3e7: 0x82,
+ 0x3e8: 0xac, 0x3e9: 0xad, 0x3ea: 0x82, 0x3eb: 0xae, 0x3ec: 0xaf, 0x3ed: 0xb0, 0x3ee: 0x71, 0x3ef: 0xb1,
+ 0x3f0: 0x71, 0x3f1: 0x71, 0x3f2: 0x71, 0x3f3: 0x71, 0x3f4: 0x71, 0x3f5: 0xb2, 0x3f6: 0xb3, 0x3f7: 0xb4,
+ 0x3f8: 0xb5, 0x3f9: 0xb6, 0x3fa: 0x71, 0x3fb: 0xb7, 0x3fc: 0xb8, 0x3fd: 0xb9, 0x3fe: 0xba, 0x3ff: 0xbb,
// Block 0x10, offset 0x400
- 0x400: 0xbd, 0x401: 0xbe, 0x402: 0x05, 0x403: 0xbf, 0x404: 0xc0, 0x405: 0xc1, 0x406: 0xc2, 0x407: 0xc3,
- 0x40a: 0xc4, 0x40b: 0xc5, 0x40c: 0xc6, 0x40d: 0xc7, 0x40e: 0xc8, 0x40f: 0xc9,
- 0x410: 0x05, 0x411: 0x05, 0x412: 0xca, 0x413: 0xcb, 0x414: 0xcc, 0x415: 0xcd,
- 0x418: 0x05, 0x419: 0x05, 0x41a: 0x05, 0x41b: 0x05, 0x41c: 0xce, 0x41d: 0xcf,
- 0x420: 0xd0, 0x421: 0xd1, 0x422: 0xd2, 0x423: 0xd3, 0x424: 0xd4, 0x426: 0xd5, 0x427: 0xb4,
- 0x428: 0xd6, 0x429: 0xd7, 0x42a: 0xd8, 0x42b: 0xd9, 0x42c: 0xda, 0x42d: 0xdb, 0x42e: 0xdc,
- 0x430: 0x05, 0x431: 0x5f, 0x432: 0xdd, 0x433: 0xde,
- 0x439: 0xdf,
+ 0x400: 0xbc, 0x401: 0xbd, 0x402: 0x05, 0x403: 0xbe, 0x404: 0xbf, 0x405: 0xc0, 0x406: 0xc1, 0x407: 0xc2,
+ 0x40a: 0xc3, 0x40b: 0xc4, 0x40c: 0xc5, 0x40d: 0xc6, 0x40e: 0xc7, 0x40f: 0xc8,
+ 0x410: 0x05, 0x411: 0x05, 0x412: 0xc9, 0x413: 0xca, 0x414: 0xcb, 0x415: 0xcc,
+ 0x418: 0x05, 0x419: 0x05, 0x41a: 0x05, 0x41b: 0x05, 0x41c: 0xcd, 0x41d: 0xce,
+ 0x420: 0xcf, 0x421: 0xd0, 0x422: 0xd1, 0x423: 0xd2, 0x424: 0xd3, 0x426: 0xd4, 0x427: 0xb3,
+ 0x428: 0xd5, 0x429: 0xd6, 0x42a: 0xd7, 0x42b: 0xd8, 0x42c: 0xd9, 0x42d: 0xda, 0x42e: 0xdb,
+ 0x430: 0x05, 0x431: 0x5f, 0x432: 0xdc, 0x433: 0xdd,
+ 0x439: 0xde,
// Block 0x11, offset 0x440
- 0x440: 0xe0, 0x441: 0xe1, 0x442: 0xe2, 0x443: 0xe3, 0x444: 0xe4, 0x445: 0xe5, 0x446: 0xe6, 0x447: 0xe7,
- 0x448: 0xe8, 0x44a: 0xe9, 0x44b: 0xea, 0x44c: 0xeb, 0x44d: 0xec,
- 0x450: 0xed, 0x451: 0xee, 0x452: 0xef, 0x453: 0xf0, 0x456: 0xf1, 0x457: 0xf2,
- 0x458: 0xf3, 0x459: 0xf4, 0x45a: 0xf5, 0x45b: 0xf6, 0x45c: 0xf7,
- 0x462: 0xf8, 0x463: 0xf9,
- 0x46b: 0xfa,
- 0x470: 0xfb, 0x471: 0xfc, 0x472: 0xfd,
+ 0x440: 0xdf, 0x441: 0xe0, 0x442: 0xe1, 0x443: 0xe2, 0x444: 0xe3, 0x445: 0xe4, 0x446: 0xe5, 0x447: 0xe6,
+ 0x448: 0xe7, 0x44a: 0xe8, 0x44b: 0xe9, 0x44c: 0xea, 0x44d: 0xeb,
+ 0x450: 0xec, 0x451: 0xed, 0x452: 0xee, 0x453: 0xef, 0x456: 0xf0, 0x457: 0xf1,
+ 0x458: 0xf2, 0x459: 0xf3, 0x45a: 0xf4, 0x45b: 0xf5, 0x45c: 0xf6,
+ 0x462: 0xf7, 0x463: 0xf8,
+ 0x468: 0xf9, 0x469: 0xfa, 0x46a: 0xfb, 0x46b: 0xfc,
+ 0x470: 0xfd, 0x471: 0xfe, 0x472: 0xff, 0x474: 0x100, 0x475: 0x101,
// Block 0x12, offset 0x480
0x480: 0x05, 0x481: 0x05, 0x482: 0x05, 0x483: 0x05, 0x484: 0x05, 0x485: 0x05, 0x486: 0x05, 0x487: 0x05,
- 0x488: 0x05, 0x489: 0x05, 0x48a: 0x05, 0x48b: 0x05, 0x48c: 0x05, 0x48d: 0x05, 0x48e: 0xfe,
- 0x490: 0x71, 0x491: 0xff, 0x492: 0x05, 0x493: 0x05, 0x494: 0x05, 0x495: 0x100,
+ 0x488: 0x05, 0x489: 0x05, 0x48a: 0x05, 0x48b: 0x05, 0x48c: 0x05, 0x48d: 0x05, 0x48e: 0x102,
+ 0x490: 0x71, 0x491: 0x103, 0x492: 0x05, 0x493: 0x05, 0x494: 0x05, 0x495: 0x104,
// Block 0x13, offset 0x4c0
0x4c0: 0x05, 0x4c1: 0x05, 0x4c2: 0x05, 0x4c3: 0x05, 0x4c4: 0x05, 0x4c5: 0x05, 0x4c6: 0x05, 0x4c7: 0x05,
0x4c8: 0x05, 0x4c9: 0x05, 0x4ca: 0x05, 0x4cb: 0x05, 0x4cc: 0x05, 0x4cd: 0x05, 0x4ce: 0x05, 0x4cf: 0x05,
- 0x4d0: 0x101,
+ 0x4d0: 0x105,
// Block 0x14, offset 0x500
0x510: 0x05, 0x511: 0x05, 0x512: 0x05, 0x513: 0x05, 0x514: 0x05, 0x515: 0x05, 0x516: 0x05, 0x517: 0x05,
- 0x518: 0x05, 0x519: 0x102,
+ 0x518: 0x05, 0x519: 0x106,
// Block 0x15, offset 0x540
0x560: 0x05, 0x561: 0x05, 0x562: 0x05, 0x563: 0x05, 0x564: 0x05, 0x565: 0x05, 0x566: 0x05, 0x567: 0x05,
- 0x568: 0xfa, 0x569: 0x103, 0x56b: 0x104, 0x56c: 0x105, 0x56d: 0x106, 0x56e: 0x107,
- 0x57c: 0x05, 0x57d: 0x108, 0x57e: 0x109, 0x57f: 0x10a,
+ 0x568: 0xfc, 0x569: 0x107, 0x56b: 0x108, 0x56c: 0x109, 0x56d: 0x10a, 0x56e: 0x10b,
+ 0x57c: 0x05, 0x57d: 0x10c, 0x57e: 0x10d, 0x57f: 0x10e,
// Block 0x16, offset 0x580
0x580: 0x05, 0x581: 0x05, 0x582: 0x05, 0x583: 0x05, 0x584: 0x05, 0x585: 0x05, 0x586: 0x05, 0x587: 0x05,
0x588: 0x05, 0x589: 0x05, 0x58a: 0x05, 0x58b: 0x05, 0x58c: 0x05, 0x58d: 0x05, 0x58e: 0x05, 0x58f: 0x05,
0x590: 0x05, 0x591: 0x05, 0x592: 0x05, 0x593: 0x05, 0x594: 0x05, 0x595: 0x05, 0x596: 0x05, 0x597: 0x05,
- 0x598: 0x05, 0x599: 0x05, 0x59a: 0x05, 0x59b: 0x05, 0x59c: 0x05, 0x59d: 0x05, 0x59e: 0x05, 0x59f: 0x10b,
+ 0x598: 0x05, 0x599: 0x05, 0x59a: 0x05, 0x59b: 0x05, 0x59c: 0x05, 0x59d: 0x05, 0x59e: 0x05, 0x59f: 0x10f,
0x5a0: 0x05, 0x5a1: 0x05, 0x5a2: 0x05, 0x5a3: 0x05, 0x5a4: 0x05, 0x5a5: 0x05, 0x5a6: 0x05, 0x5a7: 0x05,
- 0x5a8: 0x05, 0x5a9: 0x05, 0x5aa: 0x05, 0x5ab: 0xdd,
+ 0x5a8: 0x05, 0x5a9: 0x05, 0x5aa: 0x05, 0x5ab: 0xdc,
// Block 0x17, offset 0x5c0
- 0x5c0: 0x10c,
- 0x5f0: 0x05, 0x5f1: 0x10d, 0x5f2: 0x10e,
+ 0x5c0: 0x8f, 0x5c1: 0x8f, 0x5c2: 0x8f, 0x5c3: 0x8f, 0x5c4: 0x110, 0x5c5: 0x111, 0x5c6: 0x05, 0x5c7: 0x05,
+ 0x5c8: 0x05, 0x5c9: 0x05, 0x5ca: 0x05, 0x5cb: 0x112,
+ 0x5f0: 0x05, 0x5f1: 0x113, 0x5f2: 0x114,
// Block 0x18, offset 0x600
- 0x600: 0x71, 0x601: 0x71, 0x602: 0x71, 0x603: 0x10f, 0x604: 0x110, 0x605: 0x111, 0x606: 0x112, 0x607: 0x113,
- 0x608: 0xc1, 0x609: 0x114, 0x60c: 0x71, 0x60d: 0x115,
- 0x610: 0x71, 0x611: 0x116, 0x612: 0x117, 0x613: 0x118, 0x614: 0x119, 0x615: 0x11a, 0x616: 0x71, 0x617: 0x71,
- 0x618: 0x71, 0x619: 0x71, 0x61a: 0x11b, 0x61b: 0x71, 0x61c: 0x71, 0x61d: 0x71, 0x61e: 0x71, 0x61f: 0x11c,
+ 0x600: 0x71, 0x601: 0x71, 0x602: 0x71, 0x603: 0x115, 0x604: 0x116, 0x605: 0x117, 0x606: 0x118, 0x607: 0x119,
+ 0x608: 0xc0, 0x609: 0x11a, 0x60c: 0x71, 0x60d: 0x11b,
+ 0x610: 0x71, 0x611: 0x11c, 0x612: 0x11d, 0x613: 0x11e, 0x614: 0x11f, 0x615: 0x120, 0x616: 0x71, 0x617: 0x71,
+ 0x618: 0x71, 0x619: 0x71, 0x61a: 0x121, 0x61b: 0x71, 0x61c: 0x71, 0x61d: 0x71, 0x61e: 0x71, 0x61f: 0x122,
0x620: 0x71, 0x621: 0x71, 0x622: 0x71, 0x623: 0x71, 0x624: 0x71, 0x625: 0x71, 0x626: 0x71, 0x627: 0x71,
- 0x628: 0x11d, 0x629: 0x11e, 0x62a: 0x11f,
+ 0x628: 0x123, 0x629: 0x124, 0x62a: 0x125,
// Block 0x19, offset 0x640
- 0x640: 0x120,
- 0x660: 0x05, 0x661: 0x05, 0x662: 0x05, 0x663: 0x121, 0x664: 0x122, 0x665: 0x123,
- 0x678: 0x124, 0x679: 0x125, 0x67a: 0x126, 0x67b: 0x127,
+ 0x640: 0x126,
+ 0x660: 0x05, 0x661: 0x05, 0x662: 0x05, 0x663: 0x127, 0x664: 0x128, 0x665: 0x129,
+ 0x678: 0x12a, 0x679: 0x12b, 0x67a: 0x12c, 0x67b: 0x12d,
// Block 0x1a, offset 0x680
- 0x680: 0x128, 0x681: 0x71, 0x682: 0x129, 0x683: 0x12a, 0x684: 0x12b, 0x685: 0x128, 0x686: 0x12c, 0x687: 0x12d,
- 0x688: 0x12e, 0x689: 0x12f, 0x68c: 0x71, 0x68d: 0x71, 0x68e: 0x71, 0x68f: 0x71,
+ 0x680: 0x12e, 0x681: 0x71, 0x682: 0x12f, 0x683: 0x130, 0x684: 0x131, 0x685: 0x12e, 0x686: 0x132, 0x687: 0x133,
+ 0x688: 0x134, 0x689: 0x135, 0x68c: 0x71, 0x68d: 0x71, 0x68e: 0x71, 0x68f: 0x71,
0x690: 0x71, 0x691: 0x71, 0x692: 0x71, 0x693: 0x71, 0x694: 0x71, 0x695: 0x71, 0x696: 0x71, 0x697: 0x71,
- 0x698: 0x71, 0x699: 0x71, 0x69a: 0x71, 0x69b: 0x130, 0x69c: 0x71, 0x69d: 0x131, 0x69e: 0x71, 0x69f: 0x132,
- 0x6a0: 0x133, 0x6a1: 0x134, 0x6a2: 0x135, 0x6a4: 0x136, 0x6a5: 0x137, 0x6a6: 0x138, 0x6a7: 0x139,
+ 0x698: 0x71, 0x699: 0x71, 0x69a: 0x71, 0x69b: 0x136, 0x69c: 0x71, 0x69d: 0x137, 0x69e: 0x71, 0x69f: 0x138,
+ 0x6a0: 0x139, 0x6a1: 0x13a, 0x6a2: 0x13b, 0x6a4: 0x13c, 0x6a5: 0x13d, 0x6a6: 0x13e, 0x6a7: 0x13f,
// Block 0x1b, offset 0x6c0
- 0x6c0: 0x90, 0x6c1: 0x90, 0x6c2: 0x90, 0x6c3: 0x90, 0x6c4: 0x90, 0x6c5: 0x90, 0x6c6: 0x90, 0x6c7: 0x90,
- 0x6c8: 0x90, 0x6c9: 0x90, 0x6ca: 0x90, 0x6cb: 0x90, 0x6cc: 0x90, 0x6cd: 0x90, 0x6ce: 0x90, 0x6cf: 0x90,
- 0x6d0: 0x90, 0x6d1: 0x90, 0x6d2: 0x90, 0x6d3: 0x90, 0x6d4: 0x90, 0x6d5: 0x90, 0x6d6: 0x90, 0x6d7: 0x90,
- 0x6d8: 0x90, 0x6d9: 0x90, 0x6da: 0x90, 0x6db: 0x13a, 0x6dc: 0x90, 0x6dd: 0x90, 0x6de: 0x90, 0x6df: 0x90,
- 0x6e0: 0x90, 0x6e1: 0x90, 0x6e2: 0x90, 0x6e3: 0x90, 0x6e4: 0x90, 0x6e5: 0x90, 0x6e6: 0x90, 0x6e7: 0x90,
- 0x6e8: 0x90, 0x6e9: 0x90, 0x6ea: 0x90, 0x6eb: 0x90, 0x6ec: 0x90, 0x6ed: 0x90, 0x6ee: 0x90, 0x6ef: 0x90,
- 0x6f0: 0x90, 0x6f1: 0x90, 0x6f2: 0x90, 0x6f3: 0x90, 0x6f4: 0x90, 0x6f5: 0x90, 0x6f6: 0x90, 0x6f7: 0x90,
- 0x6f8: 0x90, 0x6f9: 0x90, 0x6fa: 0x90, 0x6fb: 0x90, 0x6fc: 0x90, 0x6fd: 0x90, 0x6fe: 0x90, 0x6ff: 0x90,
+ 0x6c0: 0x8f, 0x6c1: 0x8f, 0x6c2: 0x8f, 0x6c3: 0x8f, 0x6c4: 0x8f, 0x6c5: 0x8f, 0x6c6: 0x8f, 0x6c7: 0x8f,
+ 0x6c8: 0x8f, 0x6c9: 0x8f, 0x6ca: 0x8f, 0x6cb: 0x8f, 0x6cc: 0x8f, 0x6cd: 0x8f, 0x6ce: 0x8f, 0x6cf: 0x8f,
+ 0x6d0: 0x8f, 0x6d1: 0x8f, 0x6d2: 0x8f, 0x6d3: 0x8f, 0x6d4: 0x8f, 0x6d5: 0x8f, 0x6d6: 0x8f, 0x6d7: 0x8f,
+ 0x6d8: 0x8f, 0x6d9: 0x8f, 0x6da: 0x8f, 0x6db: 0x140, 0x6dc: 0x8f, 0x6dd: 0x8f, 0x6de: 0x8f, 0x6df: 0x8f,
+ 0x6e0: 0x8f, 0x6e1: 0x8f, 0x6e2: 0x8f, 0x6e3: 0x8f, 0x6e4: 0x8f, 0x6e5: 0x8f, 0x6e6: 0x8f, 0x6e7: 0x8f,
+ 0x6e8: 0x8f, 0x6e9: 0x8f, 0x6ea: 0x8f, 0x6eb: 0x8f, 0x6ec: 0x8f, 0x6ed: 0x8f, 0x6ee: 0x8f, 0x6ef: 0x8f,
+ 0x6f0: 0x8f, 0x6f1: 0x8f, 0x6f2: 0x8f, 0x6f3: 0x8f, 0x6f4: 0x8f, 0x6f5: 0x8f, 0x6f6: 0x8f, 0x6f7: 0x8f,
+ 0x6f8: 0x8f, 0x6f9: 0x8f, 0x6fa: 0x8f, 0x6fb: 0x8f, 0x6fc: 0x8f, 0x6fd: 0x8f, 0x6fe: 0x8f, 0x6ff: 0x8f,
// Block 0x1c, offset 0x700
- 0x700: 0x90, 0x701: 0x90, 0x702: 0x90, 0x703: 0x90, 0x704: 0x90, 0x705: 0x90, 0x706: 0x90, 0x707: 0x90,
- 0x708: 0x90, 0x709: 0x90, 0x70a: 0x90, 0x70b: 0x90, 0x70c: 0x90, 0x70d: 0x90, 0x70e: 0x90, 0x70f: 0x90,
- 0x710: 0x90, 0x711: 0x90, 0x712: 0x90, 0x713: 0x90, 0x714: 0x90, 0x715: 0x90, 0x716: 0x90, 0x717: 0x90,
- 0x718: 0x90, 0x719: 0x90, 0x71a: 0x90, 0x71b: 0x90, 0x71c: 0x13b, 0x71d: 0x90, 0x71e: 0x90, 0x71f: 0x90,
- 0x720: 0x13c, 0x721: 0x90, 0x722: 0x90, 0x723: 0x90, 0x724: 0x90, 0x725: 0x90, 0x726: 0x90, 0x727: 0x90,
- 0x728: 0x90, 0x729: 0x90, 0x72a: 0x90, 0x72b: 0x90, 0x72c: 0x90, 0x72d: 0x90, 0x72e: 0x90, 0x72f: 0x90,
- 0x730: 0x90, 0x731: 0x90, 0x732: 0x90, 0x733: 0x90, 0x734: 0x90, 0x735: 0x90, 0x736: 0x90, 0x737: 0x90,
- 0x738: 0x90, 0x739: 0x90, 0x73a: 0x90, 0x73b: 0x90, 0x73c: 0x90, 0x73d: 0x90, 0x73e: 0x90, 0x73f: 0x90,
+ 0x700: 0x8f, 0x701: 0x8f, 0x702: 0x8f, 0x703: 0x8f, 0x704: 0x8f, 0x705: 0x8f, 0x706: 0x8f, 0x707: 0x8f,
+ 0x708: 0x8f, 0x709: 0x8f, 0x70a: 0x8f, 0x70b: 0x8f, 0x70c: 0x8f, 0x70d: 0x8f, 0x70e: 0x8f, 0x70f: 0x8f,
+ 0x710: 0x8f, 0x711: 0x8f, 0x712: 0x8f, 0x713: 0x8f, 0x714: 0x8f, 0x715: 0x8f, 0x716: 0x8f, 0x717: 0x8f,
+ 0x718: 0x8f, 0x719: 0x8f, 0x71a: 0x8f, 0x71b: 0x8f, 0x71c: 0x141, 0x71d: 0x8f, 0x71e: 0x8f, 0x71f: 0x8f,
+ 0x720: 0x142, 0x721: 0x8f, 0x722: 0x8f, 0x723: 0x8f, 0x724: 0x8f, 0x725: 0x8f, 0x726: 0x8f, 0x727: 0x8f,
+ 0x728: 0x8f, 0x729: 0x8f, 0x72a: 0x8f, 0x72b: 0x8f, 0x72c: 0x8f, 0x72d: 0x8f, 0x72e: 0x8f, 0x72f: 0x8f,
+ 0x730: 0x8f, 0x731: 0x8f, 0x732: 0x8f, 0x733: 0x8f, 0x734: 0x8f, 0x735: 0x8f, 0x736: 0x8f, 0x737: 0x8f,
+ 0x738: 0x8f, 0x739: 0x8f, 0x73a: 0x8f, 0x73b: 0x8f, 0x73c: 0x8f, 0x73d: 0x8f, 0x73e: 0x8f, 0x73f: 0x8f,
// Block 0x1d, offset 0x740
- 0x740: 0x90, 0x741: 0x90, 0x742: 0x90, 0x743: 0x90, 0x744: 0x90, 0x745: 0x90, 0x746: 0x90, 0x747: 0x90,
- 0x748: 0x90, 0x749: 0x90, 0x74a: 0x90, 0x74b: 0x90, 0x74c: 0x90, 0x74d: 0x90, 0x74e: 0x90, 0x74f: 0x90,
- 0x750: 0x90, 0x751: 0x90, 0x752: 0x90, 0x753: 0x90, 0x754: 0x90, 0x755: 0x90, 0x756: 0x90, 0x757: 0x90,
- 0x758: 0x90, 0x759: 0x90, 0x75a: 0x90, 0x75b: 0x90, 0x75c: 0x90, 0x75d: 0x90, 0x75e: 0x90, 0x75f: 0x90,
- 0x760: 0x90, 0x761: 0x90, 0x762: 0x90, 0x763: 0x90, 0x764: 0x90, 0x765: 0x90, 0x766: 0x90, 0x767: 0x90,
- 0x768: 0x90, 0x769: 0x90, 0x76a: 0x90, 0x76b: 0x90, 0x76c: 0x90, 0x76d: 0x90, 0x76e: 0x90, 0x76f: 0x90,
- 0x770: 0x90, 0x771: 0x90, 0x772: 0x90, 0x773: 0x90, 0x774: 0x90, 0x775: 0x90, 0x776: 0x90, 0x777: 0x90,
- 0x778: 0x90, 0x779: 0x90, 0x77a: 0x13d,
+ 0x740: 0x8f, 0x741: 0x8f, 0x742: 0x8f, 0x743: 0x8f, 0x744: 0x8f, 0x745: 0x8f, 0x746: 0x8f, 0x747: 0x8f,
+ 0x748: 0x8f, 0x749: 0x8f, 0x74a: 0x8f, 0x74b: 0x8f, 0x74c: 0x8f, 0x74d: 0x8f, 0x74e: 0x8f, 0x74f: 0x8f,
+ 0x750: 0x8f, 0x751: 0x8f, 0x752: 0x8f, 0x753: 0x8f, 0x754: 0x8f, 0x755: 0x8f, 0x756: 0x8f, 0x757: 0x8f,
+ 0x758: 0x8f, 0x759: 0x8f, 0x75a: 0x8f, 0x75b: 0x8f, 0x75c: 0x8f, 0x75d: 0x8f, 0x75e: 0x8f, 0x75f: 0x8f,
+ 0x760: 0x8f, 0x761: 0x8f, 0x762: 0x8f, 0x763: 0x8f, 0x764: 0x8f, 0x765: 0x8f, 0x766: 0x8f, 0x767: 0x8f,
+ 0x768: 0x8f, 0x769: 0x8f, 0x76a: 0x8f, 0x76b: 0x8f, 0x76c: 0x8f, 0x76d: 0x8f, 0x76e: 0x8f, 0x76f: 0x8f,
+ 0x770: 0x8f, 0x771: 0x8f, 0x772: 0x8f, 0x773: 0x8f, 0x774: 0x8f, 0x775: 0x8f, 0x776: 0x8f, 0x777: 0x8f,
+ 0x778: 0x8f, 0x779: 0x8f, 0x77a: 0x143, 0x77b: 0x8f, 0x77c: 0x8f, 0x77d: 0x8f, 0x77e: 0x8f, 0x77f: 0x8f,
// Block 0x1e, offset 0x780
- 0x7a0: 0x83, 0x7a1: 0x83, 0x7a2: 0x83, 0x7a3: 0x83, 0x7a4: 0x83, 0x7a5: 0x83, 0x7a6: 0x83, 0x7a7: 0x83,
- 0x7a8: 0x13e,
+ 0x780: 0x8f, 0x781: 0x8f, 0x782: 0x8f, 0x783: 0x8f, 0x784: 0x8f, 0x785: 0x8f, 0x786: 0x8f, 0x787: 0x8f,
+ 0x788: 0x8f, 0x789: 0x8f, 0x78a: 0x8f, 0x78b: 0x8f, 0x78c: 0x8f, 0x78d: 0x8f, 0x78e: 0x8f, 0x78f: 0x8f,
+ 0x790: 0x8f, 0x791: 0x8f, 0x792: 0x8f, 0x793: 0x8f, 0x794: 0x8f, 0x795: 0x8f, 0x796: 0x8f, 0x797: 0x8f,
+ 0x798: 0x8f, 0x799: 0x8f, 0x79a: 0x8f, 0x79b: 0x8f, 0x79c: 0x8f, 0x79d: 0x8f, 0x79e: 0x8f, 0x79f: 0x8f,
+ 0x7a0: 0x8f, 0x7a1: 0x8f, 0x7a2: 0x8f, 0x7a3: 0x8f, 0x7a4: 0x8f, 0x7a5: 0x8f, 0x7a6: 0x8f, 0x7a7: 0x8f,
+ 0x7a8: 0x8f, 0x7a9: 0x8f, 0x7aa: 0x8f, 0x7ab: 0x8f, 0x7ac: 0x8f, 0x7ad: 0x8f, 0x7ae: 0x8f, 0x7af: 0x144,
// Block 0x1f, offset 0x7c0
- 0x7d0: 0x0e, 0x7d1: 0x0f, 0x7d2: 0x10, 0x7d3: 0x11, 0x7d4: 0x12, 0x7d6: 0x13, 0x7d7: 0x0a,
- 0x7d8: 0x14, 0x7db: 0x15, 0x7dd: 0x16, 0x7de: 0x17, 0x7df: 0x18,
- 0x7e0: 0x07, 0x7e1: 0x07, 0x7e2: 0x07, 0x7e3: 0x07, 0x7e4: 0x07, 0x7e5: 0x07, 0x7e6: 0x07, 0x7e7: 0x07,
- 0x7e8: 0x07, 0x7e9: 0x07, 0x7ea: 0x19, 0x7eb: 0x1a, 0x7ec: 0x1b, 0x7ef: 0x1c,
+ 0x7e0: 0x82, 0x7e1: 0x82, 0x7e2: 0x82, 0x7e3: 0x82, 0x7e4: 0x82, 0x7e5: 0x82, 0x7e6: 0x82, 0x7e7: 0x82,
+ 0x7e8: 0x145,
// Block 0x20, offset 0x800
- 0x800: 0x13f, 0x801: 0x3e, 0x804: 0x3e, 0x805: 0x3e, 0x806: 0x3e, 0x807: 0x140,
+ 0x810: 0x0e, 0x811: 0x0f, 0x812: 0x10, 0x813: 0x11, 0x814: 0x12, 0x816: 0x13, 0x817: 0x0a,
+ 0x818: 0x14, 0x81b: 0x15, 0x81d: 0x16, 0x81e: 0x17, 0x81f: 0x18,
+ 0x820: 0x07, 0x821: 0x07, 0x822: 0x07, 0x823: 0x07, 0x824: 0x07, 0x825: 0x07, 0x826: 0x07, 0x827: 0x07,
+ 0x828: 0x07, 0x829: 0x07, 0x82a: 0x19, 0x82b: 0x1a, 0x82c: 0x1b, 0x82d: 0x07, 0x82e: 0x1c, 0x82f: 0x1d,
// Block 0x21, offset 0x840
- 0x840: 0x3e, 0x841: 0x3e, 0x842: 0x3e, 0x843: 0x3e, 0x844: 0x3e, 0x845: 0x3e, 0x846: 0x3e, 0x847: 0x3e,
- 0x848: 0x3e, 0x849: 0x3e, 0x84a: 0x3e, 0x84b: 0x3e, 0x84c: 0x3e, 0x84d: 0x3e, 0x84e: 0x3e, 0x84f: 0x3e,
- 0x850: 0x3e, 0x851: 0x3e, 0x852: 0x3e, 0x853: 0x3e, 0x854: 0x3e, 0x855: 0x3e, 0x856: 0x3e, 0x857: 0x3e,
- 0x858: 0x3e, 0x859: 0x3e, 0x85a: 0x3e, 0x85b: 0x3e, 0x85c: 0x3e, 0x85d: 0x3e, 0x85e: 0x3e, 0x85f: 0x3e,
- 0x860: 0x3e, 0x861: 0x3e, 0x862: 0x3e, 0x863: 0x3e, 0x864: 0x3e, 0x865: 0x3e, 0x866: 0x3e, 0x867: 0x3e,
- 0x868: 0x3e, 0x869: 0x3e, 0x86a: 0x3e, 0x86b: 0x3e, 0x86c: 0x3e, 0x86d: 0x3e, 0x86e: 0x3e, 0x86f: 0x3e,
- 0x870: 0x3e, 0x871: 0x3e, 0x872: 0x3e, 0x873: 0x3e, 0x874: 0x3e, 0x875: 0x3e, 0x876: 0x3e, 0x877: 0x3e,
- 0x878: 0x3e, 0x879: 0x3e, 0x87a: 0x3e, 0x87b: 0x3e, 0x87c: 0x3e, 0x87d: 0x3e, 0x87e: 0x3e, 0x87f: 0x141,
+ 0x840: 0x146, 0x841: 0x3e, 0x844: 0x3e, 0x845: 0x3e, 0x846: 0x3e, 0x847: 0x147,
// Block 0x22, offset 0x880
- 0x8a0: 0x1e,
- 0x8b0: 0x0c, 0x8b1: 0x0c, 0x8b2: 0x0c, 0x8b3: 0x0c, 0x8b4: 0x0c, 0x8b5: 0x0c, 0x8b6: 0x0c, 0x8b7: 0x0c,
- 0x8b8: 0x0c, 0x8b9: 0x0c, 0x8ba: 0x0c, 0x8bb: 0x0c, 0x8bc: 0x0c, 0x8bd: 0x0c, 0x8be: 0x0c, 0x8bf: 0x1f,
+ 0x880: 0x3e, 0x881: 0x3e, 0x882: 0x3e, 0x883: 0x3e, 0x884: 0x3e, 0x885: 0x3e, 0x886: 0x3e, 0x887: 0x3e,
+ 0x888: 0x3e, 0x889: 0x3e, 0x88a: 0x3e, 0x88b: 0x3e, 0x88c: 0x3e, 0x88d: 0x3e, 0x88e: 0x3e, 0x88f: 0x3e,
+ 0x890: 0x3e, 0x891: 0x3e, 0x892: 0x3e, 0x893: 0x3e, 0x894: 0x3e, 0x895: 0x3e, 0x896: 0x3e, 0x897: 0x3e,
+ 0x898: 0x3e, 0x899: 0x3e, 0x89a: 0x3e, 0x89b: 0x3e, 0x89c: 0x3e, 0x89d: 0x3e, 0x89e: 0x3e, 0x89f: 0x3e,
+ 0x8a0: 0x3e, 0x8a1: 0x3e, 0x8a2: 0x3e, 0x8a3: 0x3e, 0x8a4: 0x3e, 0x8a5: 0x3e, 0x8a6: 0x3e, 0x8a7: 0x3e,
+ 0x8a8: 0x3e, 0x8a9: 0x3e, 0x8aa: 0x3e, 0x8ab: 0x3e, 0x8ac: 0x3e, 0x8ad: 0x3e, 0x8ae: 0x3e, 0x8af: 0x3e,
+ 0x8b0: 0x3e, 0x8b1: 0x3e, 0x8b2: 0x3e, 0x8b3: 0x3e, 0x8b4: 0x3e, 0x8b5: 0x3e, 0x8b6: 0x3e, 0x8b7: 0x3e,
+ 0x8b8: 0x3e, 0x8b9: 0x3e, 0x8ba: 0x3e, 0x8bb: 0x3e, 0x8bc: 0x3e, 0x8bd: 0x3e, 0x8be: 0x3e, 0x8bf: 0x148,
// Block 0x23, offset 0x8c0
- 0x8c0: 0x0c, 0x8c1: 0x0c, 0x8c2: 0x0c, 0x8c3: 0x0c, 0x8c4: 0x0c, 0x8c5: 0x0c, 0x8c6: 0x0c, 0x8c7: 0x0c,
- 0x8c8: 0x0c, 0x8c9: 0x0c, 0x8ca: 0x0c, 0x8cb: 0x0c, 0x8cc: 0x0c, 0x8cd: 0x0c, 0x8ce: 0x0c, 0x8cf: 0x1f,
+ 0x8e0: 0x1f,
+ 0x8f0: 0x0c, 0x8f1: 0x0c, 0x8f2: 0x0c, 0x8f3: 0x0c, 0x8f4: 0x0c, 0x8f5: 0x0c, 0x8f6: 0x0c, 0x8f7: 0x0c,
+ 0x8f8: 0x0c, 0x8f9: 0x0c, 0x8fa: 0x0c, 0x8fb: 0x0c, 0x8fc: 0x0c, 0x8fd: 0x0c, 0x8fe: 0x0c, 0x8ff: 0x20,
+ // Block 0x24, offset 0x900
+ 0x900: 0x0c, 0x901: 0x0c, 0x902: 0x0c, 0x903: 0x0c, 0x904: 0x0c, 0x905: 0x0c, 0x906: 0x0c, 0x907: 0x0c,
+ 0x908: 0x0c, 0x909: 0x0c, 0x90a: 0x0c, 0x90b: 0x0c, 0x90c: 0x0c, 0x90d: 0x0c, 0x90e: 0x0c, 0x90f: 0x20,
}
-// Total table size 25344 bytes (24KiB); checksum: 811C9DC5
+// Total table size 25920 bytes (25KiB); checksum: 811C9DC5
diff --git a/vendor/golang.org/x/text/unicode/bidi/tables.go b/vendor/golang.org/x/text/unicode/bidi/tables.go
index 7212d5add..a0b2b17a1 100644
--- a/vendor/golang.org/x/text/unicode/bidi/tables.go
+++ b/vendor/golang.org/x/text/unicode/bidi/tables.go
@@ -3,7 +3,7 @@
package bidi
// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "9.0.0"
+const UnicodeVersion = "10.0.0"
// xorMasks contains masks to be xor-ed with brackets to get the reverse
// version.
@@ -181,7 +181,7 @@ func (t *bidiTrie) lookupStringUnsafe(s string) uint8 {
return 0
}
-// bidiTrie. Total size: 15744 bytes (15.38 KiB). Checksum: b4c3b70954803b86.
+// bidiTrie. Total size: 16128 bytes (15.75 KiB). Checksum: 8122d83e461996f.
type bidiTrie struct{}
func newBidiTrie(i int) *bidiTrie {
@@ -196,9 +196,9 @@ func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 {
}
}
-// bidiValues: 222 blocks, 14208 entries, 14208 bytes
+// bidiValues: 228 blocks, 14592 entries, 14592 bytes
// The third block is the zero block.
-var bidiValues = [14208]uint8{
+var bidiValues = [14592]uint8{
// Block 0x0, offset 0x0
0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b,
0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008,
@@ -415,9 +415,9 @@ var bidiValues = [14208]uint8{
0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001,
0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001,
0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001,
- 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x0001, 0x5e1: 0x0001, 0x5e2: 0x0001, 0x5e3: 0x0001,
- 0x5e4: 0x0001, 0x5e5: 0x0001, 0x5e6: 0x0001, 0x5e7: 0x0001, 0x5e8: 0x0001, 0x5e9: 0x0001,
- 0x5ea: 0x0001, 0x5eb: 0x0001, 0x5ec: 0x0001, 0x5ed: 0x0001, 0x5ee: 0x0001, 0x5ef: 0x0001,
+ 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d,
+ 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d,
+ 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d,
0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001,
0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001,
0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001,
@@ -478,6 +478,8 @@ var bidiValues = [14208]uint8{
0x80d: 0x000c,
0x822: 0x000c, 0x823: 0x000c,
0x831: 0x0004,
+ 0x83a: 0x000c, 0x83b: 0x000c,
+ 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c,
// Block 0x21, offset 0x840
0x841: 0x000c,
0x87c: 0x000c, 0x87f: 0x000c,
@@ -508,7 +510,9 @@ var bidiValues = [14208]uint8{
0x9cc: 0x000c, 0x9cd: 0x000c,
0x9e2: 0x000c, 0x9e3: 0x000c,
// Block 0x28, offset 0xa00
- 0xa01: 0x000c,
+ 0xa00: 0x000c, 0xa01: 0x000c,
+ 0xa3b: 0x000c,
+ 0xa3c: 0x000c,
// Block 0x29, offset 0xa40
0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c,
0xa4d: 0x000c,
@@ -675,7 +679,7 @@ var bidiValues = [14208]uint8{
0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c,
0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c,
0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c,
- 0x133b: 0x000c,
+ 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c,
0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c,
// Block 0x4d, offset 0x1340
0x137d: 0x000a, 0x137f: 0x000a,
@@ -813,36 +817,36 @@ var bidiValues = [14208]uint8{
0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a,
0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a,
0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a,
- 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, 0x16e7: 0x000a, 0x16e8: 0x000a, 0x16e9: 0x000a,
- 0x16ea: 0x000a, 0x16eb: 0x000a, 0x16ec: 0x000a, 0x16ed: 0x000a, 0x16ee: 0x000a, 0x16ef: 0x000a,
- 0x16f0: 0x000a, 0x16f1: 0x000a, 0x16f2: 0x000a, 0x16f3: 0x000a, 0x16f4: 0x000a, 0x16f5: 0x000a,
- 0x16f6: 0x000a, 0x16f7: 0x000a, 0x16f8: 0x000a, 0x16f9: 0x000a, 0x16fa: 0x000a, 0x16fb: 0x000a,
- 0x16fc: 0x000a, 0x16fd: 0x000a, 0x16fe: 0x000a,
+ 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a,
// Block 0x5c, offset 0x1700
0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a,
- 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, 0x170b: 0x000a,
- 0x170c: 0x000a, 0x170d: 0x000a, 0x170e: 0x000a, 0x170f: 0x000a, 0x1710: 0x000a, 0x1711: 0x000a,
- 0x1712: 0x000a, 0x1713: 0x000a, 0x1714: 0x000a, 0x1715: 0x000a, 0x1716: 0x000a, 0x1717: 0x000a,
- 0x1718: 0x000a, 0x1719: 0x000a, 0x171a: 0x000a, 0x171b: 0x000a, 0x171c: 0x000a, 0x171d: 0x000a,
- 0x171e: 0x000a, 0x171f: 0x000a, 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a,
- 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a,
+ 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a,
+ 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a,
+ 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a,
+ 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a,
+ 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a,
+ 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a,
+ 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a,
// Block 0x5d, offset 0x1740
0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a,
- 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x000a, 0x1749: 0x000a, 0x174a: 0x000a,
- 0x1760: 0x000a, 0x1761: 0x000a, 0x1762: 0x000a, 0x1763: 0x000a,
- 0x1764: 0x000a, 0x1765: 0x000a, 0x1766: 0x000a, 0x1767: 0x000a, 0x1768: 0x000a, 0x1769: 0x000a,
- 0x176a: 0x000a, 0x176b: 0x000a, 0x176c: 0x000a, 0x176d: 0x000a, 0x176e: 0x000a, 0x176f: 0x000a,
- 0x1770: 0x000a, 0x1771: 0x000a, 0x1772: 0x000a, 0x1773: 0x000a, 0x1774: 0x000a, 0x1775: 0x000a,
- 0x1776: 0x000a, 0x1777: 0x000a, 0x1778: 0x000a, 0x1779: 0x000a, 0x177a: 0x000a, 0x177b: 0x000a,
- 0x177c: 0x000a, 0x177d: 0x000a, 0x177e: 0x000a, 0x177f: 0x000a,
+ 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002,
+ 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002,
+ 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002,
+ 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002,
// Block 0x5e, offset 0x1780
- 0x1780: 0x000a, 0x1781: 0x000a, 0x1782: 0x000a, 0x1783: 0x000a, 0x1784: 0x000a, 0x1785: 0x000a,
- 0x1786: 0x000a, 0x1787: 0x000a, 0x1788: 0x0002, 0x1789: 0x0002, 0x178a: 0x0002, 0x178b: 0x0002,
- 0x178c: 0x0002, 0x178d: 0x0002, 0x178e: 0x0002, 0x178f: 0x0002, 0x1790: 0x0002, 0x1791: 0x0002,
- 0x1792: 0x0002, 0x1793: 0x0002, 0x1794: 0x0002, 0x1795: 0x0002, 0x1796: 0x0002, 0x1797: 0x0002,
- 0x1798: 0x0002, 0x1799: 0x0002, 0x179a: 0x0002, 0x179b: 0x0002,
+ 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a,
+ 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a,
+ 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a,
+ 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a,
// Block 0x5f, offset 0x17c0
- 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ec: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a,
+ 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a,
+ 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a,
+ 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a,
+ 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a,
+ 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a,
+ 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a,
+ 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a,
+ 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a,
0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a,
0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a,
0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a,
@@ -853,282 +857,284 @@ var bidiValues = [14208]uint8{
0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a,
0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a,
0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a,
- 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x000a, 0x1829: 0x000a,
- 0x182a: 0x000a, 0x182b: 0x000a, 0x182d: 0x000a, 0x182e: 0x000a, 0x182f: 0x000a,
- 0x1830: 0x000a, 0x1831: 0x000a, 0x1832: 0x000a, 0x1833: 0x000a, 0x1834: 0x000a, 0x1835: 0x000a,
+ 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a,
+ 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a,
+ 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a,
0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a,
0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a,
// Block 0x61, offset 0x1840
- 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x000a,
- 0x1846: 0x000a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a,
+ 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a,
+ 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a,
0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a,
0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a,
0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a,
0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a,
- 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x000a, 0x1867: 0x000a, 0x1868: 0x003a, 0x1869: 0x002a,
+ 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a,
0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a,
- 0x1870: 0x003a, 0x1871: 0x002a, 0x1872: 0x003a, 0x1873: 0x002a, 0x1874: 0x003a, 0x1875: 0x002a,
+ 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a,
0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a,
0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a,
// Block 0x62, offset 0x1880
- 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x000a, 0x1884: 0x000a, 0x1885: 0x009a,
- 0x1886: 0x008a, 0x1887: 0x000a, 0x1888: 0x000a, 0x1889: 0x000a, 0x188a: 0x000a, 0x188b: 0x000a,
- 0x188c: 0x000a, 0x188d: 0x000a, 0x188e: 0x000a, 0x188f: 0x000a, 0x1890: 0x000a, 0x1891: 0x000a,
- 0x1892: 0x000a, 0x1893: 0x000a, 0x1894: 0x000a, 0x1895: 0x000a, 0x1896: 0x000a, 0x1897: 0x000a,
- 0x1898: 0x000a, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a,
+ 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a,
+ 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a,
+ 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a,
+ 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba,
+ 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a,
0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a,
- 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x003a, 0x18a7: 0x002a, 0x18a8: 0x003a, 0x18a9: 0x002a,
- 0x18aa: 0x003a, 0x18ab: 0x002a, 0x18ac: 0x003a, 0x18ad: 0x002a, 0x18ae: 0x003a, 0x18af: 0x002a,
+ 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a,
+ 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a,
0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a,
0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a,
0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a,
// Block 0x63, offset 0x18c0
- 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x007a, 0x18c4: 0x006a, 0x18c5: 0x009a,
- 0x18c6: 0x008a, 0x18c7: 0x00ba, 0x18c8: 0x00aa, 0x18c9: 0x009a, 0x18ca: 0x008a, 0x18cb: 0x007a,
- 0x18cc: 0x006a, 0x18cd: 0x00da, 0x18ce: 0x002a, 0x18cf: 0x003a, 0x18d0: 0x00ca, 0x18d1: 0x009a,
- 0x18d2: 0x008a, 0x18d3: 0x007a, 0x18d4: 0x006a, 0x18d5: 0x009a, 0x18d6: 0x008a, 0x18d7: 0x00ba,
- 0x18d8: 0x00aa, 0x18d9: 0x000a, 0x18da: 0x000a, 0x18db: 0x000a, 0x18dc: 0x000a, 0x18dd: 0x000a,
+ 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a,
+ 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a,
+ 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a,
+ 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a,
+ 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a,
0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a,
0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a,
0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a,
0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a,
0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a,
- 0x18fc: 0x000a, 0x18fd: 0x000a, 0x18fe: 0x000a, 0x18ff: 0x000a,
+ 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a,
// Block 0x64, offset 0x1900
0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a,
0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a,
0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a,
0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a,
- 0x1918: 0x003a, 0x1919: 0x002a, 0x191a: 0x003a, 0x191b: 0x002a, 0x191c: 0x000a, 0x191d: 0x000a,
+ 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a,
0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a,
0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a,
0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a,
- 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, 0x1934: 0x000a, 0x1935: 0x000a,
+ 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a,
0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a,
- 0x193c: 0x003a, 0x193d: 0x002a, 0x193e: 0x000a, 0x193f: 0x000a,
+ 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a,
// Block 0x65, offset 0x1940
0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a,
0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a,
0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a,
- 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, 0x1956: 0x000a, 0x1957: 0x000a,
+ 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a,
0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a,
0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a,
0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a,
0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a,
- 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a,
- 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a,
- 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a,
+ 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a,
+ 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a,
+ 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a,
// Block 0x66, offset 0x1980
0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a,
- 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x1989: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a,
+ 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a,
0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a,
- 0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a,
- 0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a,
- 0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a,
- 0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a,
- 0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a,
- 0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, 0x19b4: 0x000a, 0x19b5: 0x000a,
- 0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a,
- 0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a,
+ 0x1992: 0x000a,
+ 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a,
// Block 0x67, offset 0x19c0
- 0x19c0: 0x000a, 0x19c1: 0x000a, 0x19c2: 0x000a, 0x19c3: 0x000a, 0x19c4: 0x000a, 0x19c5: 0x000a,
- 0x19c6: 0x000a, 0x19c7: 0x000a, 0x19c8: 0x000a, 0x19ca: 0x000a, 0x19cb: 0x000a,
- 0x19cc: 0x000a, 0x19cd: 0x000a, 0x19ce: 0x000a, 0x19cf: 0x000a, 0x19d0: 0x000a, 0x19d1: 0x000a,
- 0x19ec: 0x000a, 0x19ed: 0x000a, 0x19ee: 0x000a, 0x19ef: 0x000a,
+ 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a,
+ 0x19ea: 0x000a, 0x19ef: 0x000c,
+ 0x19f0: 0x000c, 0x19f1: 0x000c,
+ 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a,
+ 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a,
// Block 0x68, offset 0x1a00
- 0x1a25: 0x000a, 0x1a26: 0x000a, 0x1a27: 0x000a, 0x1a28: 0x000a, 0x1a29: 0x000a,
- 0x1a2a: 0x000a, 0x1a2f: 0x000c,
- 0x1a30: 0x000c, 0x1a31: 0x000c,
- 0x1a39: 0x000a, 0x1a3a: 0x000a, 0x1a3b: 0x000a,
- 0x1a3c: 0x000a, 0x1a3d: 0x000a, 0x1a3e: 0x000a, 0x1a3f: 0x000a,
+ 0x1a3f: 0x000c,
// Block 0x69, offset 0x1a40
- 0x1a7f: 0x000c,
+ 0x1a60: 0x000c, 0x1a61: 0x000c, 0x1a62: 0x000c, 0x1a63: 0x000c,
+ 0x1a64: 0x000c, 0x1a65: 0x000c, 0x1a66: 0x000c, 0x1a67: 0x000c, 0x1a68: 0x000c, 0x1a69: 0x000c,
+ 0x1a6a: 0x000c, 0x1a6b: 0x000c, 0x1a6c: 0x000c, 0x1a6d: 0x000c, 0x1a6e: 0x000c, 0x1a6f: 0x000c,
+ 0x1a70: 0x000c, 0x1a71: 0x000c, 0x1a72: 0x000c, 0x1a73: 0x000c, 0x1a74: 0x000c, 0x1a75: 0x000c,
+ 0x1a76: 0x000c, 0x1a77: 0x000c, 0x1a78: 0x000c, 0x1a79: 0x000c, 0x1a7a: 0x000c, 0x1a7b: 0x000c,
+ 0x1a7c: 0x000c, 0x1a7d: 0x000c, 0x1a7e: 0x000c, 0x1a7f: 0x000c,
// Block 0x6a, offset 0x1a80
- 0x1aa0: 0x000c, 0x1aa1: 0x000c, 0x1aa2: 0x000c, 0x1aa3: 0x000c,
- 0x1aa4: 0x000c, 0x1aa5: 0x000c, 0x1aa6: 0x000c, 0x1aa7: 0x000c, 0x1aa8: 0x000c, 0x1aa9: 0x000c,
- 0x1aaa: 0x000c, 0x1aab: 0x000c, 0x1aac: 0x000c, 0x1aad: 0x000c, 0x1aae: 0x000c, 0x1aaf: 0x000c,
- 0x1ab0: 0x000c, 0x1ab1: 0x000c, 0x1ab2: 0x000c, 0x1ab3: 0x000c, 0x1ab4: 0x000c, 0x1ab5: 0x000c,
- 0x1ab6: 0x000c, 0x1ab7: 0x000c, 0x1ab8: 0x000c, 0x1ab9: 0x000c, 0x1aba: 0x000c, 0x1abb: 0x000c,
- 0x1abc: 0x000c, 0x1abd: 0x000c, 0x1abe: 0x000c, 0x1abf: 0x000c,
+ 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a,
+ 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a,
+ 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, 0x1a90: 0x000a, 0x1a91: 0x000a,
+ 0x1a92: 0x000a, 0x1a93: 0x000a, 0x1a94: 0x000a, 0x1a95: 0x000a, 0x1a96: 0x000a, 0x1a97: 0x000a,
+ 0x1a98: 0x000a, 0x1a99: 0x000a, 0x1a9a: 0x000a, 0x1a9b: 0x000a, 0x1a9c: 0x000a, 0x1a9d: 0x000a,
+ 0x1a9e: 0x000a, 0x1a9f: 0x000a, 0x1aa0: 0x000a, 0x1aa1: 0x000a, 0x1aa2: 0x003a, 0x1aa3: 0x002a,
+ 0x1aa4: 0x003a, 0x1aa5: 0x002a, 0x1aa6: 0x003a, 0x1aa7: 0x002a, 0x1aa8: 0x003a, 0x1aa9: 0x002a,
+ 0x1aaa: 0x000a, 0x1aab: 0x000a, 0x1aac: 0x000a, 0x1aad: 0x000a, 0x1aae: 0x000a, 0x1aaf: 0x000a,
+ 0x1ab0: 0x000a, 0x1ab1: 0x000a, 0x1ab2: 0x000a, 0x1ab3: 0x000a, 0x1ab4: 0x000a, 0x1ab5: 0x000a,
+ 0x1ab6: 0x000a, 0x1ab7: 0x000a, 0x1ab8: 0x000a, 0x1ab9: 0x000a, 0x1aba: 0x000a, 0x1abb: 0x000a,
+ 0x1abc: 0x000a, 0x1abd: 0x000a, 0x1abe: 0x000a, 0x1abf: 0x000a,
// Block 0x6b, offset 0x1ac0
0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a,
- 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a,
- 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a,
- 0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a,
- 0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1ada: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a,
- 0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x003a, 0x1ae3: 0x002a,
- 0x1ae4: 0x003a, 0x1ae5: 0x002a, 0x1ae6: 0x003a, 0x1ae7: 0x002a, 0x1ae8: 0x003a, 0x1ae9: 0x002a,
- 0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a,
- 0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a,
- 0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a,
- 0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a,
+ 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a,
// Block 0x6c, offset 0x1b00
- 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a,
+ 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a,
+ 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a,
+ 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a,
+ 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a,
+ 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a,
+ 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a,
+ 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a,
+ 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a,
+ 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, 0x1b34: 0x000a, 0x1b35: 0x000a,
+ 0x1b36: 0x000a, 0x1b37: 0x000a, 0x1b38: 0x000a, 0x1b39: 0x000a, 0x1b3a: 0x000a, 0x1b3b: 0x000a,
+ 0x1b3c: 0x000a, 0x1b3d: 0x000a, 0x1b3e: 0x000a, 0x1b3f: 0x000a,
// Block 0x6d, offset 0x1b40
0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a,
0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a,
0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a,
0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a,
- 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a,
+ 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5a: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a,
0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a,
0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a,
0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a,
- 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a,
- 0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a,
- 0x1b7c: 0x000a, 0x1b7d: 0x000a, 0x1b7e: 0x000a, 0x1b7f: 0x000a,
+ 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a,
// Block 0x6e, offset 0x1b80
0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a,
0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a,
0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a,
- 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, 0x1b96: 0x000a, 0x1b97: 0x000a,
- 0x1b98: 0x000a, 0x1b99: 0x000a, 0x1b9a: 0x000a, 0x1b9b: 0x000a, 0x1b9c: 0x000a, 0x1b9d: 0x000a,
- 0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, 0x1ba1: 0x000a, 0x1ba2: 0x000a, 0x1ba3: 0x000a,
- 0x1ba4: 0x000a, 0x1ba5: 0x000a, 0x1ba6: 0x000a, 0x1ba7: 0x000a, 0x1ba8: 0x000a, 0x1ba9: 0x000a,
- 0x1baa: 0x000a, 0x1bab: 0x000a, 0x1bac: 0x000a, 0x1bad: 0x000a, 0x1bae: 0x000a, 0x1baf: 0x000a,
- 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a,
+ 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a,
+ 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, 0x1bb4: 0x000a, 0x1bb5: 0x000a,
+ 0x1bb6: 0x000a, 0x1bb7: 0x000a, 0x1bb8: 0x000a, 0x1bb9: 0x000a, 0x1bba: 0x000a, 0x1bbb: 0x000a,
// Block 0x6f, offset 0x1bc0
- 0x1bc0: 0x000a, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, 0x1bc5: 0x000a,
- 0x1bc6: 0x000a, 0x1bc7: 0x000a, 0x1bc8: 0x000a, 0x1bc9: 0x000a, 0x1bca: 0x000a, 0x1bcb: 0x000a,
- 0x1bcc: 0x000a, 0x1bcd: 0x000a, 0x1bce: 0x000a, 0x1bcf: 0x000a, 0x1bd0: 0x000a, 0x1bd1: 0x000a,
- 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x000a, 0x1bd5: 0x000a,
- 0x1bf0: 0x000a, 0x1bf1: 0x000a, 0x1bf2: 0x000a, 0x1bf3: 0x000a, 0x1bf4: 0x000a, 0x1bf5: 0x000a,
- 0x1bf6: 0x000a, 0x1bf7: 0x000a, 0x1bf8: 0x000a, 0x1bf9: 0x000a, 0x1bfa: 0x000a, 0x1bfb: 0x000a,
+ 0x1bc0: 0x0009, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a,
+ 0x1bc8: 0x003a, 0x1bc9: 0x002a, 0x1bca: 0x003a, 0x1bcb: 0x002a,
+ 0x1bcc: 0x003a, 0x1bcd: 0x002a, 0x1bce: 0x003a, 0x1bcf: 0x002a, 0x1bd0: 0x003a, 0x1bd1: 0x002a,
+ 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x003a, 0x1bd5: 0x002a, 0x1bd6: 0x003a, 0x1bd7: 0x002a,
+ 0x1bd8: 0x003a, 0x1bd9: 0x002a, 0x1bda: 0x003a, 0x1bdb: 0x002a, 0x1bdc: 0x000a, 0x1bdd: 0x000a,
+ 0x1bde: 0x000a, 0x1bdf: 0x000a, 0x1be0: 0x000a,
+ 0x1bea: 0x000c, 0x1beb: 0x000c, 0x1bec: 0x000c, 0x1bed: 0x000c,
+ 0x1bf0: 0x000a,
+ 0x1bf6: 0x000a, 0x1bf7: 0x000a,
+ 0x1bfd: 0x000a, 0x1bfe: 0x000a, 0x1bff: 0x000a,
// Block 0x70, offset 0x1c00
- 0x1c00: 0x0009, 0x1c01: 0x000a, 0x1c02: 0x000a, 0x1c03: 0x000a, 0x1c04: 0x000a,
- 0x1c08: 0x003a, 0x1c09: 0x002a, 0x1c0a: 0x003a, 0x1c0b: 0x002a,
- 0x1c0c: 0x003a, 0x1c0d: 0x002a, 0x1c0e: 0x003a, 0x1c0f: 0x002a, 0x1c10: 0x003a, 0x1c11: 0x002a,
- 0x1c12: 0x000a, 0x1c13: 0x000a, 0x1c14: 0x003a, 0x1c15: 0x002a, 0x1c16: 0x003a, 0x1c17: 0x002a,
- 0x1c18: 0x003a, 0x1c19: 0x002a, 0x1c1a: 0x003a, 0x1c1b: 0x002a, 0x1c1c: 0x000a, 0x1c1d: 0x000a,
- 0x1c1e: 0x000a, 0x1c1f: 0x000a, 0x1c20: 0x000a,
- 0x1c2a: 0x000c, 0x1c2b: 0x000c, 0x1c2c: 0x000c, 0x1c2d: 0x000c,
- 0x1c30: 0x000a,
- 0x1c36: 0x000a, 0x1c37: 0x000a,
- 0x1c3d: 0x000a, 0x1c3e: 0x000a, 0x1c3f: 0x000a,
+ 0x1c19: 0x000c, 0x1c1a: 0x000c, 0x1c1b: 0x000a, 0x1c1c: 0x000a,
+ 0x1c20: 0x000a,
// Block 0x71, offset 0x1c40
- 0x1c59: 0x000c, 0x1c5a: 0x000c, 0x1c5b: 0x000a, 0x1c5c: 0x000a,
- 0x1c60: 0x000a,
+ 0x1c7b: 0x000a,
// Block 0x72, offset 0x1c80
- 0x1cbb: 0x000a,
+ 0x1c80: 0x000a, 0x1c81: 0x000a, 0x1c82: 0x000a, 0x1c83: 0x000a, 0x1c84: 0x000a, 0x1c85: 0x000a,
+ 0x1c86: 0x000a, 0x1c87: 0x000a, 0x1c88: 0x000a, 0x1c89: 0x000a, 0x1c8a: 0x000a, 0x1c8b: 0x000a,
+ 0x1c8c: 0x000a, 0x1c8d: 0x000a, 0x1c8e: 0x000a, 0x1c8f: 0x000a, 0x1c90: 0x000a, 0x1c91: 0x000a,
+ 0x1c92: 0x000a, 0x1c93: 0x000a, 0x1c94: 0x000a, 0x1c95: 0x000a, 0x1c96: 0x000a, 0x1c97: 0x000a,
+ 0x1c98: 0x000a, 0x1c99: 0x000a, 0x1c9a: 0x000a, 0x1c9b: 0x000a, 0x1c9c: 0x000a, 0x1c9d: 0x000a,
+ 0x1c9e: 0x000a, 0x1c9f: 0x000a, 0x1ca0: 0x000a, 0x1ca1: 0x000a, 0x1ca2: 0x000a, 0x1ca3: 0x000a,
// Block 0x73, offset 0x1cc0
- 0x1cc0: 0x000a, 0x1cc1: 0x000a, 0x1cc2: 0x000a, 0x1cc3: 0x000a, 0x1cc4: 0x000a, 0x1cc5: 0x000a,
- 0x1cc6: 0x000a, 0x1cc7: 0x000a, 0x1cc8: 0x000a, 0x1cc9: 0x000a, 0x1cca: 0x000a, 0x1ccb: 0x000a,
- 0x1ccc: 0x000a, 0x1ccd: 0x000a, 0x1cce: 0x000a, 0x1ccf: 0x000a, 0x1cd0: 0x000a, 0x1cd1: 0x000a,
- 0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a,
- 0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a,
- 0x1cde: 0x000a, 0x1cdf: 0x000a, 0x1ce0: 0x000a, 0x1ce1: 0x000a, 0x1ce2: 0x000a, 0x1ce3: 0x000a,
+ 0x1cdd: 0x000a,
+ 0x1cde: 0x000a,
// Block 0x74, offset 0x1d00
- 0x1d1d: 0x000a,
- 0x1d1e: 0x000a,
+ 0x1d10: 0x000a, 0x1d11: 0x000a,
+ 0x1d12: 0x000a, 0x1d13: 0x000a, 0x1d14: 0x000a, 0x1d15: 0x000a, 0x1d16: 0x000a, 0x1d17: 0x000a,
+ 0x1d18: 0x000a, 0x1d19: 0x000a, 0x1d1a: 0x000a, 0x1d1b: 0x000a, 0x1d1c: 0x000a, 0x1d1d: 0x000a,
+ 0x1d1e: 0x000a, 0x1d1f: 0x000a,
+ 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a,
// Block 0x75, offset 0x1d40
- 0x1d50: 0x000a, 0x1d51: 0x000a,
- 0x1d52: 0x000a, 0x1d53: 0x000a, 0x1d54: 0x000a, 0x1d55: 0x000a, 0x1d56: 0x000a, 0x1d57: 0x000a,
- 0x1d58: 0x000a, 0x1d59: 0x000a, 0x1d5a: 0x000a, 0x1d5b: 0x000a, 0x1d5c: 0x000a, 0x1d5d: 0x000a,
- 0x1d5e: 0x000a, 0x1d5f: 0x000a,
- 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a,
+ 0x1d71: 0x000a, 0x1d72: 0x000a, 0x1d73: 0x000a, 0x1d74: 0x000a, 0x1d75: 0x000a,
+ 0x1d76: 0x000a, 0x1d77: 0x000a, 0x1d78: 0x000a, 0x1d79: 0x000a, 0x1d7a: 0x000a, 0x1d7b: 0x000a,
+ 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, 0x1d7f: 0x000a,
// Block 0x76, offset 0x1d80
- 0x1db1: 0x000a, 0x1db2: 0x000a, 0x1db3: 0x000a, 0x1db4: 0x000a, 0x1db5: 0x000a,
- 0x1db6: 0x000a, 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, 0x1dbb: 0x000a,
- 0x1dbc: 0x000a, 0x1dbd: 0x000a, 0x1dbe: 0x000a, 0x1dbf: 0x000a,
+ 0x1d8c: 0x000a, 0x1d8d: 0x000a, 0x1d8e: 0x000a, 0x1d8f: 0x000a,
// Block 0x77, offset 0x1dc0
- 0x1dcc: 0x000a, 0x1dcd: 0x000a, 0x1dce: 0x000a, 0x1dcf: 0x000a,
+ 0x1df7: 0x000a, 0x1df8: 0x000a, 0x1df9: 0x000a, 0x1dfa: 0x000a,
// Block 0x78, offset 0x1e00
- 0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a,
+ 0x1e1e: 0x000a, 0x1e1f: 0x000a,
+ 0x1e3f: 0x000a,
// Block 0x79, offset 0x1e40
- 0x1e5e: 0x000a, 0x1e5f: 0x000a,
- 0x1e7f: 0x000a,
+ 0x1e50: 0x000a, 0x1e51: 0x000a,
+ 0x1e52: 0x000a, 0x1e53: 0x000a, 0x1e54: 0x000a, 0x1e55: 0x000a, 0x1e56: 0x000a, 0x1e57: 0x000a,
+ 0x1e58: 0x000a, 0x1e59: 0x000a, 0x1e5a: 0x000a, 0x1e5b: 0x000a, 0x1e5c: 0x000a, 0x1e5d: 0x000a,
+ 0x1e5e: 0x000a, 0x1e5f: 0x000a, 0x1e60: 0x000a, 0x1e61: 0x000a, 0x1e62: 0x000a, 0x1e63: 0x000a,
+ 0x1e64: 0x000a, 0x1e65: 0x000a, 0x1e66: 0x000a, 0x1e67: 0x000a, 0x1e68: 0x000a, 0x1e69: 0x000a,
+ 0x1e6a: 0x000a, 0x1e6b: 0x000a, 0x1e6c: 0x000a, 0x1e6d: 0x000a, 0x1e6e: 0x000a, 0x1e6f: 0x000a,
+ 0x1e70: 0x000a, 0x1e71: 0x000a, 0x1e72: 0x000a, 0x1e73: 0x000a, 0x1e74: 0x000a, 0x1e75: 0x000a,
+ 0x1e76: 0x000a, 0x1e77: 0x000a, 0x1e78: 0x000a, 0x1e79: 0x000a, 0x1e7a: 0x000a, 0x1e7b: 0x000a,
+ 0x1e7c: 0x000a, 0x1e7d: 0x000a, 0x1e7e: 0x000a, 0x1e7f: 0x000a,
// Block 0x7a, offset 0x1e80
- 0x1e90: 0x000a, 0x1e91: 0x000a,
- 0x1e92: 0x000a, 0x1e93: 0x000a, 0x1e94: 0x000a, 0x1e95: 0x000a, 0x1e96: 0x000a, 0x1e97: 0x000a,
- 0x1e98: 0x000a, 0x1e99: 0x000a, 0x1e9a: 0x000a, 0x1e9b: 0x000a, 0x1e9c: 0x000a, 0x1e9d: 0x000a,
- 0x1e9e: 0x000a, 0x1e9f: 0x000a, 0x1ea0: 0x000a, 0x1ea1: 0x000a, 0x1ea2: 0x000a, 0x1ea3: 0x000a,
- 0x1ea4: 0x000a, 0x1ea5: 0x000a, 0x1ea6: 0x000a, 0x1ea7: 0x000a, 0x1ea8: 0x000a, 0x1ea9: 0x000a,
- 0x1eaa: 0x000a, 0x1eab: 0x000a, 0x1eac: 0x000a, 0x1ead: 0x000a, 0x1eae: 0x000a, 0x1eaf: 0x000a,
- 0x1eb0: 0x000a, 0x1eb1: 0x000a, 0x1eb2: 0x000a, 0x1eb3: 0x000a, 0x1eb4: 0x000a, 0x1eb5: 0x000a,
- 0x1eb6: 0x000a, 0x1eb7: 0x000a, 0x1eb8: 0x000a, 0x1eb9: 0x000a, 0x1eba: 0x000a, 0x1ebb: 0x000a,
- 0x1ebc: 0x000a, 0x1ebd: 0x000a, 0x1ebe: 0x000a, 0x1ebf: 0x000a,
+ 0x1e80: 0x000a, 0x1e81: 0x000a, 0x1e82: 0x000a, 0x1e83: 0x000a, 0x1e84: 0x000a, 0x1e85: 0x000a,
+ 0x1e86: 0x000a,
// Block 0x7b, offset 0x1ec0
- 0x1ec0: 0x000a, 0x1ec1: 0x000a, 0x1ec2: 0x000a, 0x1ec3: 0x000a, 0x1ec4: 0x000a, 0x1ec5: 0x000a,
- 0x1ec6: 0x000a,
+ 0x1ecd: 0x000a, 0x1ece: 0x000a, 0x1ecf: 0x000a,
// Block 0x7c, offset 0x1f00
- 0x1f0d: 0x000a, 0x1f0e: 0x000a, 0x1f0f: 0x000a,
+ 0x1f2f: 0x000c,
+ 0x1f30: 0x000c, 0x1f31: 0x000c, 0x1f32: 0x000c, 0x1f33: 0x000a, 0x1f34: 0x000c, 0x1f35: 0x000c,
+ 0x1f36: 0x000c, 0x1f37: 0x000c, 0x1f38: 0x000c, 0x1f39: 0x000c, 0x1f3a: 0x000c, 0x1f3b: 0x000c,
+ 0x1f3c: 0x000c, 0x1f3d: 0x000c, 0x1f3e: 0x000a, 0x1f3f: 0x000a,
// Block 0x7d, offset 0x1f40
- 0x1f6f: 0x000c,
- 0x1f70: 0x000c, 0x1f71: 0x000c, 0x1f72: 0x000c, 0x1f73: 0x000a, 0x1f74: 0x000c, 0x1f75: 0x000c,
- 0x1f76: 0x000c, 0x1f77: 0x000c, 0x1f78: 0x000c, 0x1f79: 0x000c, 0x1f7a: 0x000c, 0x1f7b: 0x000c,
- 0x1f7c: 0x000c, 0x1f7d: 0x000c, 0x1f7e: 0x000a, 0x1f7f: 0x000a,
+ 0x1f5e: 0x000c, 0x1f5f: 0x000c,
// Block 0x7e, offset 0x1f80
- 0x1f9e: 0x000c, 0x1f9f: 0x000c,
+ 0x1fb0: 0x000c, 0x1fb1: 0x000c,
// Block 0x7f, offset 0x1fc0
- 0x1ff0: 0x000c, 0x1ff1: 0x000c,
+ 0x1fc0: 0x000a, 0x1fc1: 0x000a, 0x1fc2: 0x000a, 0x1fc3: 0x000a, 0x1fc4: 0x000a, 0x1fc5: 0x000a,
+ 0x1fc6: 0x000a, 0x1fc7: 0x000a, 0x1fc8: 0x000a, 0x1fc9: 0x000a, 0x1fca: 0x000a, 0x1fcb: 0x000a,
+ 0x1fcc: 0x000a, 0x1fcd: 0x000a, 0x1fce: 0x000a, 0x1fcf: 0x000a, 0x1fd0: 0x000a, 0x1fd1: 0x000a,
+ 0x1fd2: 0x000a, 0x1fd3: 0x000a, 0x1fd4: 0x000a, 0x1fd5: 0x000a, 0x1fd6: 0x000a, 0x1fd7: 0x000a,
+ 0x1fd8: 0x000a, 0x1fd9: 0x000a, 0x1fda: 0x000a, 0x1fdb: 0x000a, 0x1fdc: 0x000a, 0x1fdd: 0x000a,
+ 0x1fde: 0x000a, 0x1fdf: 0x000a, 0x1fe0: 0x000a, 0x1fe1: 0x000a,
// Block 0x80, offset 0x2000
- 0x2000: 0x000a, 0x2001: 0x000a, 0x2002: 0x000a, 0x2003: 0x000a, 0x2004: 0x000a, 0x2005: 0x000a,
- 0x2006: 0x000a, 0x2007: 0x000a, 0x2008: 0x000a, 0x2009: 0x000a, 0x200a: 0x000a, 0x200b: 0x000a,
- 0x200c: 0x000a, 0x200d: 0x000a, 0x200e: 0x000a, 0x200f: 0x000a, 0x2010: 0x000a, 0x2011: 0x000a,
- 0x2012: 0x000a, 0x2013: 0x000a, 0x2014: 0x000a, 0x2015: 0x000a, 0x2016: 0x000a, 0x2017: 0x000a,
- 0x2018: 0x000a, 0x2019: 0x000a, 0x201a: 0x000a, 0x201b: 0x000a, 0x201c: 0x000a, 0x201d: 0x000a,
- 0x201e: 0x000a, 0x201f: 0x000a, 0x2020: 0x000a, 0x2021: 0x000a,
+ 0x2008: 0x000a,
// Block 0x81, offset 0x2040
- 0x2048: 0x000a,
+ 0x2042: 0x000c,
+ 0x2046: 0x000c, 0x204b: 0x000c,
+ 0x2065: 0x000c, 0x2066: 0x000c, 0x2068: 0x000a, 0x2069: 0x000a,
+ 0x206a: 0x000a, 0x206b: 0x000a,
+ 0x2078: 0x0004, 0x2079: 0x0004,
// Block 0x82, offset 0x2080
- 0x2082: 0x000c,
- 0x2086: 0x000c, 0x208b: 0x000c,
- 0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a8: 0x000a, 0x20a9: 0x000a,
- 0x20aa: 0x000a, 0x20ab: 0x000a,
- 0x20b8: 0x0004, 0x20b9: 0x0004,
+ 0x20b4: 0x000a, 0x20b5: 0x000a,
+ 0x20b6: 0x000a, 0x20b7: 0x000a,
// Block 0x83, offset 0x20c0
- 0x20f4: 0x000a, 0x20f5: 0x000a,
- 0x20f6: 0x000a, 0x20f7: 0x000a,
+ 0x20c4: 0x000c, 0x20c5: 0x000c,
+ 0x20e0: 0x000c, 0x20e1: 0x000c, 0x20e2: 0x000c, 0x20e3: 0x000c,
+ 0x20e4: 0x000c, 0x20e5: 0x000c, 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c,
+ 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, 0x20ee: 0x000c, 0x20ef: 0x000c,
+ 0x20f0: 0x000c, 0x20f1: 0x000c,
// Block 0x84, offset 0x2100
- 0x2104: 0x000c, 0x2105: 0x000c,
- 0x2120: 0x000c, 0x2121: 0x000c, 0x2122: 0x000c, 0x2123: 0x000c,
- 0x2124: 0x000c, 0x2125: 0x000c, 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c,
- 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, 0x212e: 0x000c, 0x212f: 0x000c,
- 0x2130: 0x000c, 0x2131: 0x000c,
+ 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c,
+ 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c,
// Block 0x85, offset 0x2140
- 0x2166: 0x000c, 0x2167: 0x000c, 0x2168: 0x000c, 0x2169: 0x000c,
- 0x216a: 0x000c, 0x216b: 0x000c, 0x216c: 0x000c, 0x216d: 0x000c,
+ 0x2147: 0x000c, 0x2148: 0x000c, 0x2149: 0x000c, 0x214a: 0x000c, 0x214b: 0x000c,
+ 0x214c: 0x000c, 0x214d: 0x000c, 0x214e: 0x000c, 0x214f: 0x000c, 0x2150: 0x000c, 0x2151: 0x000c,
// Block 0x86, offset 0x2180
- 0x2187: 0x000c, 0x2188: 0x000c, 0x2189: 0x000c, 0x218a: 0x000c, 0x218b: 0x000c,
- 0x218c: 0x000c, 0x218d: 0x000c, 0x218e: 0x000c, 0x218f: 0x000c, 0x2190: 0x000c, 0x2191: 0x000c,
+ 0x2180: 0x000c, 0x2181: 0x000c, 0x2182: 0x000c,
+ 0x21b3: 0x000c,
+ 0x21b6: 0x000c, 0x21b7: 0x000c, 0x21b8: 0x000c, 0x21b9: 0x000c,
+ 0x21bc: 0x000c,
// Block 0x87, offset 0x21c0
- 0x21c0: 0x000c, 0x21c1: 0x000c, 0x21c2: 0x000c,
- 0x21f3: 0x000c,
- 0x21f6: 0x000c, 0x21f7: 0x000c, 0x21f8: 0x000c, 0x21f9: 0x000c,
- 0x21fc: 0x000c,
+ 0x21e5: 0x000c,
// Block 0x88, offset 0x2200
- 0x2225: 0x000c,
+ 0x2229: 0x000c,
+ 0x222a: 0x000c, 0x222b: 0x000c, 0x222c: 0x000c, 0x222d: 0x000c, 0x222e: 0x000c,
+ 0x2231: 0x000c, 0x2232: 0x000c, 0x2235: 0x000c,
+ 0x2236: 0x000c,
// Block 0x89, offset 0x2240
- 0x2269: 0x000c,
- 0x226a: 0x000c, 0x226b: 0x000c, 0x226c: 0x000c, 0x226d: 0x000c, 0x226e: 0x000c,
- 0x2271: 0x000c, 0x2272: 0x000c, 0x2275: 0x000c,
- 0x2276: 0x000c,
+ 0x2243: 0x000c,
+ 0x224c: 0x000c,
+ 0x227c: 0x000c,
// Block 0x8a, offset 0x2280
- 0x2283: 0x000c,
- 0x228c: 0x000c,
- 0x22bc: 0x000c,
+ 0x22b0: 0x000c, 0x22b2: 0x000c, 0x22b3: 0x000c, 0x22b4: 0x000c,
+ 0x22b7: 0x000c, 0x22b8: 0x000c,
+ 0x22be: 0x000c, 0x22bf: 0x000c,
// Block 0x8b, offset 0x22c0
- 0x22f0: 0x000c, 0x22f2: 0x000c, 0x22f3: 0x000c, 0x22f4: 0x000c,
- 0x22f7: 0x000c, 0x22f8: 0x000c,
- 0x22fe: 0x000c, 0x22ff: 0x000c,
+ 0x22c1: 0x000c,
+ 0x22ec: 0x000c, 0x22ed: 0x000c,
+ 0x22f6: 0x000c,
// Block 0x8c, offset 0x2300
- 0x2301: 0x000c,
- 0x232c: 0x000c, 0x232d: 0x000c,
- 0x2336: 0x000c,
+ 0x2325: 0x000c, 0x2328: 0x000c,
+ 0x232d: 0x000c,
// Block 0x8d, offset 0x2340
- 0x2365: 0x000c, 0x2368: 0x000c,
- 0x236d: 0x000c,
+ 0x235d: 0x0001,
+ 0x235e: 0x000c, 0x235f: 0x0001, 0x2360: 0x0001, 0x2361: 0x0001, 0x2362: 0x0001, 0x2363: 0x0001,
+ 0x2364: 0x0001, 0x2365: 0x0001, 0x2366: 0x0001, 0x2367: 0x0001, 0x2368: 0x0001, 0x2369: 0x0003,
+ 0x236a: 0x0001, 0x236b: 0x0001, 0x236c: 0x0001, 0x236d: 0x0001, 0x236e: 0x0001, 0x236f: 0x0001,
+ 0x2370: 0x0001, 0x2371: 0x0001, 0x2372: 0x0001, 0x2373: 0x0001, 0x2374: 0x0001, 0x2375: 0x0001,
+ 0x2376: 0x0001, 0x2377: 0x0001, 0x2378: 0x0001, 0x2379: 0x0001, 0x237a: 0x0001, 0x237b: 0x0001,
+ 0x237c: 0x0001, 0x237d: 0x0001, 0x237e: 0x0001, 0x237f: 0x0001,
// Block 0x8e, offset 0x2380
- 0x239d: 0x0001,
- 0x239e: 0x000c, 0x239f: 0x0001, 0x23a0: 0x0001, 0x23a1: 0x0001, 0x23a2: 0x0001, 0x23a3: 0x0001,
- 0x23a4: 0x0001, 0x23a5: 0x0001, 0x23a6: 0x0001, 0x23a7: 0x0001, 0x23a8: 0x0001, 0x23a9: 0x0003,
- 0x23aa: 0x0001, 0x23ab: 0x0001, 0x23ac: 0x0001, 0x23ad: 0x0001, 0x23ae: 0x0001, 0x23af: 0x0001,
- 0x23b0: 0x0001, 0x23b1: 0x0001, 0x23b2: 0x0001, 0x23b3: 0x0001, 0x23b4: 0x0001, 0x23b5: 0x0001,
- 0x23b6: 0x0001, 0x23b7: 0x0001, 0x23b8: 0x0001, 0x23b9: 0x0001, 0x23ba: 0x0001, 0x23bb: 0x0001,
- 0x23bc: 0x0001, 0x23bd: 0x0001, 0x23be: 0x0001, 0x23bf: 0x0001,
+ 0x2380: 0x0001, 0x2381: 0x0001, 0x2382: 0x0001, 0x2383: 0x0001, 0x2384: 0x0001, 0x2385: 0x0001,
+ 0x2386: 0x0001, 0x2387: 0x0001, 0x2388: 0x0001, 0x2389: 0x0001, 0x238a: 0x0001, 0x238b: 0x0001,
+ 0x238c: 0x0001, 0x238d: 0x0001, 0x238e: 0x0001, 0x238f: 0x0001, 0x2390: 0x000d, 0x2391: 0x000d,
+ 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d,
+ 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d,
+ 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d,
+ 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d,
+ 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d,
+ 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d,
+ 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d,
+ 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000d, 0x23bf: 0x000d,
// Block 0x8f, offset 0x23c0
- 0x23c0: 0x0001, 0x23c1: 0x0001, 0x23c2: 0x0001, 0x23c3: 0x0001, 0x23c4: 0x0001, 0x23c5: 0x0001,
- 0x23c6: 0x0001, 0x23c7: 0x0001, 0x23c8: 0x0001, 0x23c9: 0x0001, 0x23ca: 0x0001, 0x23cb: 0x0001,
- 0x23cc: 0x0001, 0x23cd: 0x0001, 0x23ce: 0x0001, 0x23cf: 0x0001, 0x23d0: 0x000d, 0x23d1: 0x000d,
+ 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d,
+ 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d,
+ 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000d, 0x23d1: 0x000d,
0x23d2: 0x000d, 0x23d3: 0x000d, 0x23d4: 0x000d, 0x23d5: 0x000d, 0x23d6: 0x000d, 0x23d7: 0x000d,
0x23d8: 0x000d, 0x23d9: 0x000d, 0x23da: 0x000d, 0x23db: 0x000d, 0x23dc: 0x000d, 0x23dd: 0x000d,
0x23de: 0x000d, 0x23df: 0x000d, 0x23e0: 0x000d, 0x23e1: 0x000d, 0x23e2: 0x000d, 0x23e3: 0x000d,
@@ -1136,143 +1142,143 @@ var bidiValues = [14208]uint8{
0x23ea: 0x000d, 0x23eb: 0x000d, 0x23ec: 0x000d, 0x23ed: 0x000d, 0x23ee: 0x000d, 0x23ef: 0x000d,
0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d,
0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d,
- 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000d, 0x23ff: 0x000d,
+ 0x23fc: 0x000d, 0x23fd: 0x000d, 0x23fe: 0x000a, 0x23ff: 0x000a,
// Block 0x90, offset 0x2400
0x2400: 0x000d, 0x2401: 0x000d, 0x2402: 0x000d, 0x2403: 0x000d, 0x2404: 0x000d, 0x2405: 0x000d,
0x2406: 0x000d, 0x2407: 0x000d, 0x2408: 0x000d, 0x2409: 0x000d, 0x240a: 0x000d, 0x240b: 0x000d,
- 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000d, 0x2411: 0x000d,
- 0x2412: 0x000d, 0x2413: 0x000d, 0x2414: 0x000d, 0x2415: 0x000d, 0x2416: 0x000d, 0x2417: 0x000d,
- 0x2418: 0x000d, 0x2419: 0x000d, 0x241a: 0x000d, 0x241b: 0x000d, 0x241c: 0x000d, 0x241d: 0x000d,
- 0x241e: 0x000d, 0x241f: 0x000d, 0x2420: 0x000d, 0x2421: 0x000d, 0x2422: 0x000d, 0x2423: 0x000d,
- 0x2424: 0x000d, 0x2425: 0x000d, 0x2426: 0x000d, 0x2427: 0x000d, 0x2428: 0x000d, 0x2429: 0x000d,
- 0x242a: 0x000d, 0x242b: 0x000d, 0x242c: 0x000d, 0x242d: 0x000d, 0x242e: 0x000d, 0x242f: 0x000d,
+ 0x240c: 0x000d, 0x240d: 0x000d, 0x240e: 0x000d, 0x240f: 0x000d, 0x2410: 0x000b, 0x2411: 0x000b,
+ 0x2412: 0x000b, 0x2413: 0x000b, 0x2414: 0x000b, 0x2415: 0x000b, 0x2416: 0x000b, 0x2417: 0x000b,
+ 0x2418: 0x000b, 0x2419: 0x000b, 0x241a: 0x000b, 0x241b: 0x000b, 0x241c: 0x000b, 0x241d: 0x000b,
+ 0x241e: 0x000b, 0x241f: 0x000b, 0x2420: 0x000b, 0x2421: 0x000b, 0x2422: 0x000b, 0x2423: 0x000b,
+ 0x2424: 0x000b, 0x2425: 0x000b, 0x2426: 0x000b, 0x2427: 0x000b, 0x2428: 0x000b, 0x2429: 0x000b,
+ 0x242a: 0x000b, 0x242b: 0x000b, 0x242c: 0x000b, 0x242d: 0x000b, 0x242e: 0x000b, 0x242f: 0x000b,
0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d,
0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d,
- 0x243c: 0x000d, 0x243d: 0x000d, 0x243e: 0x000a, 0x243f: 0x000a,
+ 0x243c: 0x000d, 0x243d: 0x000a, 0x243e: 0x000d, 0x243f: 0x000d,
// Block 0x91, offset 0x2440
- 0x2440: 0x000d, 0x2441: 0x000d, 0x2442: 0x000d, 0x2443: 0x000d, 0x2444: 0x000d, 0x2445: 0x000d,
- 0x2446: 0x000d, 0x2447: 0x000d, 0x2448: 0x000d, 0x2449: 0x000d, 0x244a: 0x000d, 0x244b: 0x000d,
- 0x244c: 0x000d, 0x244d: 0x000d, 0x244e: 0x000d, 0x244f: 0x000d, 0x2450: 0x000b, 0x2451: 0x000b,
- 0x2452: 0x000b, 0x2453: 0x000b, 0x2454: 0x000b, 0x2455: 0x000b, 0x2456: 0x000b, 0x2457: 0x000b,
- 0x2458: 0x000b, 0x2459: 0x000b, 0x245a: 0x000b, 0x245b: 0x000b, 0x245c: 0x000b, 0x245d: 0x000b,
- 0x245e: 0x000b, 0x245f: 0x000b, 0x2460: 0x000b, 0x2461: 0x000b, 0x2462: 0x000b, 0x2463: 0x000b,
- 0x2464: 0x000b, 0x2465: 0x000b, 0x2466: 0x000b, 0x2467: 0x000b, 0x2468: 0x000b, 0x2469: 0x000b,
- 0x246a: 0x000b, 0x246b: 0x000b, 0x246c: 0x000b, 0x246d: 0x000b, 0x246e: 0x000b, 0x246f: 0x000b,
- 0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d,
- 0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d,
- 0x247c: 0x000d, 0x247d: 0x000a, 0x247e: 0x000d, 0x247f: 0x000d,
+ 0x2440: 0x000c, 0x2441: 0x000c, 0x2442: 0x000c, 0x2443: 0x000c, 0x2444: 0x000c, 0x2445: 0x000c,
+ 0x2446: 0x000c, 0x2447: 0x000c, 0x2448: 0x000c, 0x2449: 0x000c, 0x244a: 0x000c, 0x244b: 0x000c,
+ 0x244c: 0x000c, 0x244d: 0x000c, 0x244e: 0x000c, 0x244f: 0x000c, 0x2450: 0x000a, 0x2451: 0x000a,
+ 0x2452: 0x000a, 0x2453: 0x000a, 0x2454: 0x000a, 0x2455: 0x000a, 0x2456: 0x000a, 0x2457: 0x000a,
+ 0x2458: 0x000a, 0x2459: 0x000a,
+ 0x2460: 0x000c, 0x2461: 0x000c, 0x2462: 0x000c, 0x2463: 0x000c,
+ 0x2464: 0x000c, 0x2465: 0x000c, 0x2466: 0x000c, 0x2467: 0x000c, 0x2468: 0x000c, 0x2469: 0x000c,
+ 0x246a: 0x000c, 0x246b: 0x000c, 0x246c: 0x000c, 0x246d: 0x000c, 0x246e: 0x000c, 0x246f: 0x000c,
+ 0x2470: 0x000a, 0x2471: 0x000a, 0x2472: 0x000a, 0x2473: 0x000a, 0x2474: 0x000a, 0x2475: 0x000a,
+ 0x2476: 0x000a, 0x2477: 0x000a, 0x2478: 0x000a, 0x2479: 0x000a, 0x247a: 0x000a, 0x247b: 0x000a,
+ 0x247c: 0x000a, 0x247d: 0x000a, 0x247e: 0x000a, 0x247f: 0x000a,
// Block 0x92, offset 0x2480
- 0x2480: 0x000c, 0x2481: 0x000c, 0x2482: 0x000c, 0x2483: 0x000c, 0x2484: 0x000c, 0x2485: 0x000c,
- 0x2486: 0x000c, 0x2487: 0x000c, 0x2488: 0x000c, 0x2489: 0x000c, 0x248a: 0x000c, 0x248b: 0x000c,
- 0x248c: 0x000c, 0x248d: 0x000c, 0x248e: 0x000c, 0x248f: 0x000c, 0x2490: 0x000a, 0x2491: 0x000a,
- 0x2492: 0x000a, 0x2493: 0x000a, 0x2494: 0x000a, 0x2495: 0x000a, 0x2496: 0x000a, 0x2497: 0x000a,
- 0x2498: 0x000a, 0x2499: 0x000a,
- 0x24a0: 0x000c, 0x24a1: 0x000c, 0x24a2: 0x000c, 0x24a3: 0x000c,
- 0x24a4: 0x000c, 0x24a5: 0x000c, 0x24a6: 0x000c, 0x24a7: 0x000c, 0x24a8: 0x000c, 0x24a9: 0x000c,
- 0x24aa: 0x000c, 0x24ab: 0x000c, 0x24ac: 0x000c, 0x24ad: 0x000c, 0x24ae: 0x000c, 0x24af: 0x000c,
- 0x24b0: 0x000a, 0x24b1: 0x000a, 0x24b2: 0x000a, 0x24b3: 0x000a, 0x24b4: 0x000a, 0x24b5: 0x000a,
- 0x24b6: 0x000a, 0x24b7: 0x000a, 0x24b8: 0x000a, 0x24b9: 0x000a, 0x24ba: 0x000a, 0x24bb: 0x000a,
- 0x24bc: 0x000a, 0x24bd: 0x000a, 0x24be: 0x000a, 0x24bf: 0x000a,
+ 0x2480: 0x000a, 0x2481: 0x000a, 0x2482: 0x000a, 0x2483: 0x000a, 0x2484: 0x000a, 0x2485: 0x000a,
+ 0x2486: 0x000a, 0x2487: 0x000a, 0x2488: 0x000a, 0x2489: 0x000a, 0x248a: 0x000a, 0x248b: 0x000a,
+ 0x248c: 0x000a, 0x248d: 0x000a, 0x248e: 0x000a, 0x248f: 0x000a, 0x2490: 0x0006, 0x2491: 0x000a,
+ 0x2492: 0x0006, 0x2494: 0x000a, 0x2495: 0x0006, 0x2496: 0x000a, 0x2497: 0x000a,
+ 0x2498: 0x000a, 0x2499: 0x009a, 0x249a: 0x008a, 0x249b: 0x007a, 0x249c: 0x006a, 0x249d: 0x009a,
+ 0x249e: 0x008a, 0x249f: 0x0004, 0x24a0: 0x000a, 0x24a1: 0x000a, 0x24a2: 0x0003, 0x24a3: 0x0003,
+ 0x24a4: 0x000a, 0x24a5: 0x000a, 0x24a6: 0x000a, 0x24a8: 0x000a, 0x24a9: 0x0004,
+ 0x24aa: 0x0004, 0x24ab: 0x000a,
+ 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d,
+ 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d,
+ 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000d,
// Block 0x93, offset 0x24c0
- 0x24c0: 0x000a, 0x24c1: 0x000a, 0x24c2: 0x000a, 0x24c3: 0x000a, 0x24c4: 0x000a, 0x24c5: 0x000a,
- 0x24c6: 0x000a, 0x24c7: 0x000a, 0x24c8: 0x000a, 0x24c9: 0x000a, 0x24ca: 0x000a, 0x24cb: 0x000a,
- 0x24cc: 0x000a, 0x24cd: 0x000a, 0x24ce: 0x000a, 0x24cf: 0x000a, 0x24d0: 0x0006, 0x24d1: 0x000a,
- 0x24d2: 0x0006, 0x24d4: 0x000a, 0x24d5: 0x0006, 0x24d6: 0x000a, 0x24d7: 0x000a,
- 0x24d8: 0x000a, 0x24d9: 0x009a, 0x24da: 0x008a, 0x24db: 0x007a, 0x24dc: 0x006a, 0x24dd: 0x009a,
- 0x24de: 0x008a, 0x24df: 0x0004, 0x24e0: 0x000a, 0x24e1: 0x000a, 0x24e2: 0x0003, 0x24e3: 0x0003,
- 0x24e4: 0x000a, 0x24e5: 0x000a, 0x24e6: 0x000a, 0x24e8: 0x000a, 0x24e9: 0x0004,
- 0x24ea: 0x0004, 0x24eb: 0x000a,
+ 0x24c0: 0x000d, 0x24c1: 0x000d, 0x24c2: 0x000d, 0x24c3: 0x000d, 0x24c4: 0x000d, 0x24c5: 0x000d,
+ 0x24c6: 0x000d, 0x24c7: 0x000d, 0x24c8: 0x000d, 0x24c9: 0x000d, 0x24ca: 0x000d, 0x24cb: 0x000d,
+ 0x24cc: 0x000d, 0x24cd: 0x000d, 0x24ce: 0x000d, 0x24cf: 0x000d, 0x24d0: 0x000d, 0x24d1: 0x000d,
+ 0x24d2: 0x000d, 0x24d3: 0x000d, 0x24d4: 0x000d, 0x24d5: 0x000d, 0x24d6: 0x000d, 0x24d7: 0x000d,
+ 0x24d8: 0x000d, 0x24d9: 0x000d, 0x24da: 0x000d, 0x24db: 0x000d, 0x24dc: 0x000d, 0x24dd: 0x000d,
+ 0x24de: 0x000d, 0x24df: 0x000d, 0x24e0: 0x000d, 0x24e1: 0x000d, 0x24e2: 0x000d, 0x24e3: 0x000d,
+ 0x24e4: 0x000d, 0x24e5: 0x000d, 0x24e6: 0x000d, 0x24e7: 0x000d, 0x24e8: 0x000d, 0x24e9: 0x000d,
+ 0x24ea: 0x000d, 0x24eb: 0x000d, 0x24ec: 0x000d, 0x24ed: 0x000d, 0x24ee: 0x000d, 0x24ef: 0x000d,
0x24f0: 0x000d, 0x24f1: 0x000d, 0x24f2: 0x000d, 0x24f3: 0x000d, 0x24f4: 0x000d, 0x24f5: 0x000d,
0x24f6: 0x000d, 0x24f7: 0x000d, 0x24f8: 0x000d, 0x24f9: 0x000d, 0x24fa: 0x000d, 0x24fb: 0x000d,
- 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000d,
+ 0x24fc: 0x000d, 0x24fd: 0x000d, 0x24fe: 0x000d, 0x24ff: 0x000b,
// Block 0x94, offset 0x2500
- 0x2500: 0x000d, 0x2501: 0x000d, 0x2502: 0x000d, 0x2503: 0x000d, 0x2504: 0x000d, 0x2505: 0x000d,
- 0x2506: 0x000d, 0x2507: 0x000d, 0x2508: 0x000d, 0x2509: 0x000d, 0x250a: 0x000d, 0x250b: 0x000d,
- 0x250c: 0x000d, 0x250d: 0x000d, 0x250e: 0x000d, 0x250f: 0x000d, 0x2510: 0x000d, 0x2511: 0x000d,
- 0x2512: 0x000d, 0x2513: 0x000d, 0x2514: 0x000d, 0x2515: 0x000d, 0x2516: 0x000d, 0x2517: 0x000d,
- 0x2518: 0x000d, 0x2519: 0x000d, 0x251a: 0x000d, 0x251b: 0x000d, 0x251c: 0x000d, 0x251d: 0x000d,
- 0x251e: 0x000d, 0x251f: 0x000d, 0x2520: 0x000d, 0x2521: 0x000d, 0x2522: 0x000d, 0x2523: 0x000d,
- 0x2524: 0x000d, 0x2525: 0x000d, 0x2526: 0x000d, 0x2527: 0x000d, 0x2528: 0x000d, 0x2529: 0x000d,
- 0x252a: 0x000d, 0x252b: 0x000d, 0x252c: 0x000d, 0x252d: 0x000d, 0x252e: 0x000d, 0x252f: 0x000d,
- 0x2530: 0x000d, 0x2531: 0x000d, 0x2532: 0x000d, 0x2533: 0x000d, 0x2534: 0x000d, 0x2535: 0x000d,
- 0x2536: 0x000d, 0x2537: 0x000d, 0x2538: 0x000d, 0x2539: 0x000d, 0x253a: 0x000d, 0x253b: 0x000d,
- 0x253c: 0x000d, 0x253d: 0x000d, 0x253e: 0x000d, 0x253f: 0x000b,
+ 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x0004, 0x2504: 0x0004, 0x2505: 0x0004,
+ 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x003a, 0x2509: 0x002a, 0x250a: 0x000a, 0x250b: 0x0003,
+ 0x250c: 0x0006, 0x250d: 0x0003, 0x250e: 0x0006, 0x250f: 0x0006, 0x2510: 0x0002, 0x2511: 0x0002,
+ 0x2512: 0x0002, 0x2513: 0x0002, 0x2514: 0x0002, 0x2515: 0x0002, 0x2516: 0x0002, 0x2517: 0x0002,
+ 0x2518: 0x0002, 0x2519: 0x0002, 0x251a: 0x0006, 0x251b: 0x000a, 0x251c: 0x000a, 0x251d: 0x000a,
+ 0x251e: 0x000a, 0x251f: 0x000a, 0x2520: 0x000a,
+ 0x253b: 0x005a,
+ 0x253c: 0x000a, 0x253d: 0x004a, 0x253e: 0x000a, 0x253f: 0x000a,
// Block 0x95, offset 0x2540
- 0x2541: 0x000a, 0x2542: 0x000a, 0x2543: 0x0004, 0x2544: 0x0004, 0x2545: 0x0004,
- 0x2546: 0x000a, 0x2547: 0x000a, 0x2548: 0x003a, 0x2549: 0x002a, 0x254a: 0x000a, 0x254b: 0x0003,
- 0x254c: 0x0006, 0x254d: 0x0003, 0x254e: 0x0006, 0x254f: 0x0006, 0x2550: 0x0002, 0x2551: 0x0002,
- 0x2552: 0x0002, 0x2553: 0x0002, 0x2554: 0x0002, 0x2555: 0x0002, 0x2556: 0x0002, 0x2557: 0x0002,
- 0x2558: 0x0002, 0x2559: 0x0002, 0x255a: 0x0006, 0x255b: 0x000a, 0x255c: 0x000a, 0x255d: 0x000a,
- 0x255e: 0x000a, 0x255f: 0x000a, 0x2560: 0x000a,
- 0x257b: 0x005a,
- 0x257c: 0x000a, 0x257d: 0x004a, 0x257e: 0x000a, 0x257f: 0x000a,
+ 0x2540: 0x000a,
+ 0x255b: 0x005a, 0x255c: 0x000a, 0x255d: 0x004a,
+ 0x255e: 0x000a, 0x255f: 0x00fa, 0x2560: 0x00ea, 0x2561: 0x000a, 0x2562: 0x003a, 0x2563: 0x002a,
+ 0x2564: 0x000a, 0x2565: 0x000a,
// Block 0x96, offset 0x2580
- 0x2580: 0x000a,
- 0x259b: 0x005a, 0x259c: 0x000a, 0x259d: 0x004a,
- 0x259e: 0x000a, 0x259f: 0x00fa, 0x25a0: 0x00ea, 0x25a1: 0x000a, 0x25a2: 0x003a, 0x25a3: 0x002a,
- 0x25a4: 0x000a, 0x25a5: 0x000a,
+ 0x25a0: 0x0004, 0x25a1: 0x0004, 0x25a2: 0x000a, 0x25a3: 0x000a,
+ 0x25a4: 0x000a, 0x25a5: 0x0004, 0x25a6: 0x0004, 0x25a8: 0x000a, 0x25a9: 0x000a,
+ 0x25aa: 0x000a, 0x25ab: 0x000a, 0x25ac: 0x000a, 0x25ad: 0x000a, 0x25ae: 0x000a,
+ 0x25b0: 0x000b, 0x25b1: 0x000b, 0x25b2: 0x000b, 0x25b3: 0x000b, 0x25b4: 0x000b, 0x25b5: 0x000b,
+ 0x25b6: 0x000b, 0x25b7: 0x000b, 0x25b8: 0x000b, 0x25b9: 0x000a, 0x25ba: 0x000a, 0x25bb: 0x000a,
+ 0x25bc: 0x000a, 0x25bd: 0x000a, 0x25be: 0x000b, 0x25bf: 0x000b,
// Block 0x97, offset 0x25c0
- 0x25e0: 0x0004, 0x25e1: 0x0004, 0x25e2: 0x000a, 0x25e3: 0x000a,
- 0x25e4: 0x000a, 0x25e5: 0x0004, 0x25e6: 0x0004, 0x25e8: 0x000a, 0x25e9: 0x000a,
- 0x25ea: 0x000a, 0x25eb: 0x000a, 0x25ec: 0x000a, 0x25ed: 0x000a, 0x25ee: 0x000a,
- 0x25f0: 0x000b, 0x25f1: 0x000b, 0x25f2: 0x000b, 0x25f3: 0x000b, 0x25f4: 0x000b, 0x25f5: 0x000b,
- 0x25f6: 0x000b, 0x25f7: 0x000b, 0x25f8: 0x000b, 0x25f9: 0x000a, 0x25fa: 0x000a, 0x25fb: 0x000a,
- 0x25fc: 0x000a, 0x25fd: 0x000a, 0x25fe: 0x000b, 0x25ff: 0x000b,
+ 0x25c1: 0x000a,
// Block 0x98, offset 0x2600
- 0x2601: 0x000a,
+ 0x2600: 0x000a, 0x2601: 0x000a, 0x2602: 0x000a, 0x2603: 0x000a, 0x2604: 0x000a, 0x2605: 0x000a,
+ 0x2606: 0x000a, 0x2607: 0x000a, 0x2608: 0x000a, 0x2609: 0x000a, 0x260a: 0x000a, 0x260b: 0x000a,
+ 0x260c: 0x000a, 0x2610: 0x000a, 0x2611: 0x000a,
+ 0x2612: 0x000a, 0x2613: 0x000a, 0x2614: 0x000a, 0x2615: 0x000a, 0x2616: 0x000a, 0x2617: 0x000a,
+ 0x2618: 0x000a, 0x2619: 0x000a, 0x261a: 0x000a, 0x261b: 0x000a,
+ 0x2620: 0x000a,
// Block 0x99, offset 0x2640
- 0x2640: 0x000a, 0x2641: 0x000a, 0x2642: 0x000a, 0x2643: 0x000a, 0x2644: 0x000a, 0x2645: 0x000a,
- 0x2646: 0x000a, 0x2647: 0x000a, 0x2648: 0x000a, 0x2649: 0x000a, 0x264a: 0x000a, 0x264b: 0x000a,
- 0x264c: 0x000a, 0x2650: 0x000a, 0x2651: 0x000a,
- 0x2652: 0x000a, 0x2653: 0x000a, 0x2654: 0x000a, 0x2655: 0x000a, 0x2656: 0x000a, 0x2657: 0x000a,
- 0x2658: 0x000a, 0x2659: 0x000a, 0x265a: 0x000a, 0x265b: 0x000a,
- 0x2660: 0x000a,
+ 0x267d: 0x000c,
// Block 0x9a, offset 0x2680
- 0x26bd: 0x000c,
+ 0x26a0: 0x000c, 0x26a1: 0x0002, 0x26a2: 0x0002, 0x26a3: 0x0002,
+ 0x26a4: 0x0002, 0x26a5: 0x0002, 0x26a6: 0x0002, 0x26a7: 0x0002, 0x26a8: 0x0002, 0x26a9: 0x0002,
+ 0x26aa: 0x0002, 0x26ab: 0x0002, 0x26ac: 0x0002, 0x26ad: 0x0002, 0x26ae: 0x0002, 0x26af: 0x0002,
+ 0x26b0: 0x0002, 0x26b1: 0x0002, 0x26b2: 0x0002, 0x26b3: 0x0002, 0x26b4: 0x0002, 0x26b5: 0x0002,
+ 0x26b6: 0x0002, 0x26b7: 0x0002, 0x26b8: 0x0002, 0x26b9: 0x0002, 0x26ba: 0x0002, 0x26bb: 0x0002,
// Block 0x9b, offset 0x26c0
- 0x26e0: 0x000c, 0x26e1: 0x0002, 0x26e2: 0x0002, 0x26e3: 0x0002,
- 0x26e4: 0x0002, 0x26e5: 0x0002, 0x26e6: 0x0002, 0x26e7: 0x0002, 0x26e8: 0x0002, 0x26e9: 0x0002,
- 0x26ea: 0x0002, 0x26eb: 0x0002, 0x26ec: 0x0002, 0x26ed: 0x0002, 0x26ee: 0x0002, 0x26ef: 0x0002,
- 0x26f0: 0x0002, 0x26f1: 0x0002, 0x26f2: 0x0002, 0x26f3: 0x0002, 0x26f4: 0x0002, 0x26f5: 0x0002,
- 0x26f6: 0x0002, 0x26f7: 0x0002, 0x26f8: 0x0002, 0x26f9: 0x0002, 0x26fa: 0x0002, 0x26fb: 0x0002,
+ 0x26f6: 0x000c, 0x26f7: 0x000c, 0x26f8: 0x000c, 0x26f9: 0x000c, 0x26fa: 0x000c,
// Block 0x9c, offset 0x2700
- 0x2736: 0x000c, 0x2737: 0x000c, 0x2738: 0x000c, 0x2739: 0x000c, 0x273a: 0x000c,
+ 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001,
+ 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001,
+ 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001,
+ 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001,
+ 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001,
+ 0x271e: 0x0001, 0x271f: 0x0001, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001,
+ 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001,
+ 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001,
+ 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001,
+ 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001,
+ 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001,
// Block 0x9d, offset 0x2740
0x2740: 0x0001, 0x2741: 0x0001, 0x2742: 0x0001, 0x2743: 0x0001, 0x2744: 0x0001, 0x2745: 0x0001,
0x2746: 0x0001, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001,
0x274c: 0x0001, 0x274d: 0x0001, 0x274e: 0x0001, 0x274f: 0x0001, 0x2750: 0x0001, 0x2751: 0x0001,
0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001,
0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001,
- 0x275e: 0x0001, 0x275f: 0x0001, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001,
+ 0x275e: 0x0001, 0x275f: 0x000a, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001,
0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001,
0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001,
0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001,
0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x0001, 0x2779: 0x0001, 0x277a: 0x0001, 0x277b: 0x0001,
0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x0001,
// Block 0x9e, offset 0x2780
- 0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001,
- 0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001,
- 0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001,
+ 0x2780: 0x0001, 0x2781: 0x000c, 0x2782: 0x000c, 0x2783: 0x000c, 0x2784: 0x0001, 0x2785: 0x000c,
+ 0x2786: 0x000c, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001,
+ 0x278c: 0x000c, 0x278d: 0x000c, 0x278e: 0x000c, 0x278f: 0x000c, 0x2790: 0x0001, 0x2791: 0x0001,
0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001,
0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001,
- 0x279e: 0x0001, 0x279f: 0x000a, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001,
+ 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001,
0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001,
0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001,
0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001,
- 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001,
- 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001,
+ 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x000c, 0x27b9: 0x000c, 0x27ba: 0x000c, 0x27bb: 0x0001,
+ 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x000c,
// Block 0x9f, offset 0x27c0
- 0x27c0: 0x0001, 0x27c1: 0x000c, 0x27c2: 0x000c, 0x27c3: 0x000c, 0x27c4: 0x0001, 0x27c5: 0x000c,
- 0x27c6: 0x000c, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001,
- 0x27cc: 0x000c, 0x27cd: 0x000c, 0x27ce: 0x000c, 0x27cf: 0x000c, 0x27d0: 0x0001, 0x27d1: 0x0001,
+ 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001,
+ 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001,
+ 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001,
0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001,
0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001,
0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001,
- 0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001,
+ 0x27e4: 0x0001, 0x27e5: 0x000c, 0x27e6: 0x000c, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001,
0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001,
0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001,
- 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x000c, 0x27f9: 0x000c, 0x27fa: 0x000c, 0x27fb: 0x0001,
- 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x000c,
+ 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001,
+ 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001,
// Block 0xa0, offset 0x2800
0x2800: 0x0001, 0x2801: 0x0001, 0x2802: 0x0001, 0x2803: 0x0001, 0x2804: 0x0001, 0x2805: 0x0001,
0x2806: 0x0001, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001,
@@ -1280,382 +1286,409 @@ var bidiValues = [14208]uint8{
0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001,
0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001,
0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001,
- 0x2824: 0x0001, 0x2825: 0x000c, 0x2826: 0x000c, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001,
+ 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001,
0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001,
0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001,
- 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x0001, 0x283a: 0x0001, 0x283b: 0x0001,
- 0x283c: 0x0001, 0x283d: 0x0001, 0x283e: 0x0001, 0x283f: 0x0001,
+ 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x0001, 0x2839: 0x000a, 0x283a: 0x000a, 0x283b: 0x000a,
+ 0x283c: 0x000a, 0x283d: 0x000a, 0x283e: 0x000a, 0x283f: 0x000a,
// Block 0xa1, offset 0x2840
0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001,
0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001,
0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001,
0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001,
0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001,
- 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0001, 0x2861: 0x0001, 0x2862: 0x0001, 0x2863: 0x0001,
- 0x2864: 0x0001, 0x2865: 0x0001, 0x2866: 0x0001, 0x2867: 0x0001, 0x2868: 0x0001, 0x2869: 0x0001,
- 0x286a: 0x0001, 0x286b: 0x0001, 0x286c: 0x0001, 0x286d: 0x0001, 0x286e: 0x0001, 0x286f: 0x0001,
- 0x2870: 0x0001, 0x2871: 0x0001, 0x2872: 0x0001, 0x2873: 0x0001, 0x2874: 0x0001, 0x2875: 0x0001,
- 0x2876: 0x0001, 0x2877: 0x0001, 0x2878: 0x0001, 0x2879: 0x000a, 0x287a: 0x000a, 0x287b: 0x000a,
- 0x287c: 0x000a, 0x287d: 0x000a, 0x287e: 0x000a, 0x287f: 0x000a,
+ 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005,
+ 0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005,
+ 0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005,
+ 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005,
+ 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005,
+ 0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001,
// Block 0xa2, offset 0x2880
- 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001,
- 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001,
- 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001,
- 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001,
- 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001,
- 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0005, 0x28a1: 0x0005, 0x28a2: 0x0005, 0x28a3: 0x0005,
- 0x28a4: 0x0005, 0x28a5: 0x0005, 0x28a6: 0x0005, 0x28a7: 0x0005, 0x28a8: 0x0005, 0x28a9: 0x0005,
- 0x28aa: 0x0005, 0x28ab: 0x0005, 0x28ac: 0x0005, 0x28ad: 0x0005, 0x28ae: 0x0005, 0x28af: 0x0005,
- 0x28b0: 0x0005, 0x28b1: 0x0005, 0x28b2: 0x0005, 0x28b3: 0x0005, 0x28b4: 0x0005, 0x28b5: 0x0005,
- 0x28b6: 0x0005, 0x28b7: 0x0005, 0x28b8: 0x0005, 0x28b9: 0x0005, 0x28ba: 0x0005, 0x28bb: 0x0005,
- 0x28bc: 0x0005, 0x28bd: 0x0005, 0x28be: 0x0005, 0x28bf: 0x0001,
+ 0x2881: 0x000c,
+ 0x28b8: 0x000c, 0x28b9: 0x000c, 0x28ba: 0x000c, 0x28bb: 0x000c,
+ 0x28bc: 0x000c, 0x28bd: 0x000c, 0x28be: 0x000c, 0x28bf: 0x000c,
// Block 0xa3, offset 0x28c0
- 0x28c1: 0x000c,
- 0x28f8: 0x000c, 0x28f9: 0x000c, 0x28fa: 0x000c, 0x28fb: 0x000c,
- 0x28fc: 0x000c, 0x28fd: 0x000c, 0x28fe: 0x000c, 0x28ff: 0x000c,
+ 0x28c0: 0x000c, 0x28c1: 0x000c, 0x28c2: 0x000c, 0x28c3: 0x000c, 0x28c4: 0x000c, 0x28c5: 0x000c,
+ 0x28c6: 0x000c,
+ 0x28d2: 0x000a, 0x28d3: 0x000a, 0x28d4: 0x000a, 0x28d5: 0x000a, 0x28d6: 0x000a, 0x28d7: 0x000a,
+ 0x28d8: 0x000a, 0x28d9: 0x000a, 0x28da: 0x000a, 0x28db: 0x000a, 0x28dc: 0x000a, 0x28dd: 0x000a,
+ 0x28de: 0x000a, 0x28df: 0x000a, 0x28e0: 0x000a, 0x28e1: 0x000a, 0x28e2: 0x000a, 0x28e3: 0x000a,
+ 0x28e4: 0x000a, 0x28e5: 0x000a,
+ 0x28ff: 0x000c,
// Block 0xa4, offset 0x2900
- 0x2900: 0x000c, 0x2901: 0x000c, 0x2902: 0x000c, 0x2903: 0x000c, 0x2904: 0x000c, 0x2905: 0x000c,
- 0x2906: 0x000c,
- 0x2912: 0x000a, 0x2913: 0x000a, 0x2914: 0x000a, 0x2915: 0x000a, 0x2916: 0x000a, 0x2917: 0x000a,
- 0x2918: 0x000a, 0x2919: 0x000a, 0x291a: 0x000a, 0x291b: 0x000a, 0x291c: 0x000a, 0x291d: 0x000a,
- 0x291e: 0x000a, 0x291f: 0x000a, 0x2920: 0x000a, 0x2921: 0x000a, 0x2922: 0x000a, 0x2923: 0x000a,
- 0x2924: 0x000a, 0x2925: 0x000a,
- 0x293f: 0x000c,
+ 0x2900: 0x000c, 0x2901: 0x000c,
+ 0x2933: 0x000c, 0x2934: 0x000c, 0x2935: 0x000c,
+ 0x2936: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c,
// Block 0xa5, offset 0x2940
- 0x2940: 0x000c, 0x2941: 0x000c,
- 0x2973: 0x000c, 0x2974: 0x000c, 0x2975: 0x000c,
- 0x2976: 0x000c, 0x2979: 0x000c, 0x297a: 0x000c,
+ 0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c,
+ 0x2967: 0x000c, 0x2968: 0x000c, 0x2969: 0x000c,
+ 0x296a: 0x000c, 0x296b: 0x000c, 0x296d: 0x000c, 0x296e: 0x000c, 0x296f: 0x000c,
+ 0x2970: 0x000c, 0x2971: 0x000c, 0x2972: 0x000c, 0x2973: 0x000c, 0x2974: 0x000c,
// Block 0xa6, offset 0x2980
- 0x2980: 0x000c, 0x2981: 0x000c, 0x2982: 0x000c,
- 0x29a7: 0x000c, 0x29a8: 0x000c, 0x29a9: 0x000c,
- 0x29aa: 0x000c, 0x29ab: 0x000c, 0x29ad: 0x000c, 0x29ae: 0x000c, 0x29af: 0x000c,
- 0x29b0: 0x000c, 0x29b1: 0x000c, 0x29b2: 0x000c, 0x29b3: 0x000c, 0x29b4: 0x000c,
+ 0x29b3: 0x000c,
// Block 0xa7, offset 0x29c0
- 0x29f3: 0x000c,
+ 0x29c0: 0x000c, 0x29c1: 0x000c,
+ 0x29f6: 0x000c, 0x29f7: 0x000c, 0x29f8: 0x000c, 0x29f9: 0x000c, 0x29fa: 0x000c, 0x29fb: 0x000c,
+ 0x29fc: 0x000c, 0x29fd: 0x000c, 0x29fe: 0x000c,
// Block 0xa8, offset 0x2a00
- 0x2a00: 0x000c, 0x2a01: 0x000c,
- 0x2a36: 0x000c, 0x2a37: 0x000c, 0x2a38: 0x000c, 0x2a39: 0x000c, 0x2a3a: 0x000c, 0x2a3b: 0x000c,
- 0x2a3c: 0x000c, 0x2a3d: 0x000c, 0x2a3e: 0x000c,
+ 0x2a0a: 0x000c, 0x2a0b: 0x000c,
+ 0x2a0c: 0x000c,
// Block 0xa9, offset 0x2a40
- 0x2a4a: 0x000c, 0x2a4b: 0x000c,
- 0x2a4c: 0x000c,
+ 0x2a6f: 0x000c,
+ 0x2a70: 0x000c, 0x2a71: 0x000c, 0x2a74: 0x000c,
+ 0x2a76: 0x000c, 0x2a77: 0x000c,
+ 0x2a7e: 0x000c,
// Block 0xaa, offset 0x2a80
- 0x2aaf: 0x000c,
- 0x2ab0: 0x000c, 0x2ab1: 0x000c, 0x2ab4: 0x000c,
- 0x2ab6: 0x000c, 0x2ab7: 0x000c,
- 0x2abe: 0x000c,
+ 0x2a9f: 0x000c, 0x2aa3: 0x000c,
+ 0x2aa4: 0x000c, 0x2aa5: 0x000c, 0x2aa6: 0x000c, 0x2aa7: 0x000c, 0x2aa8: 0x000c, 0x2aa9: 0x000c,
+ 0x2aaa: 0x000c,
// Block 0xab, offset 0x2ac0
- 0x2adf: 0x000c, 0x2ae3: 0x000c,
- 0x2ae4: 0x000c, 0x2ae5: 0x000c, 0x2ae6: 0x000c, 0x2ae7: 0x000c, 0x2ae8: 0x000c, 0x2ae9: 0x000c,
- 0x2aea: 0x000c,
+ 0x2ac0: 0x000c, 0x2ac1: 0x000c,
+ 0x2afc: 0x000c,
// Block 0xac, offset 0x2b00
- 0x2b00: 0x000c, 0x2b01: 0x000c,
- 0x2b3c: 0x000c,
+ 0x2b00: 0x000c,
+ 0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c,
+ 0x2b2a: 0x000c, 0x2b2b: 0x000c, 0x2b2c: 0x000c,
+ 0x2b30: 0x000c, 0x2b31: 0x000c, 0x2b32: 0x000c, 0x2b33: 0x000c, 0x2b34: 0x000c,
// Block 0xad, offset 0x2b40
- 0x2b40: 0x000c,
- 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c,
- 0x2b6a: 0x000c, 0x2b6b: 0x000c, 0x2b6c: 0x000c,
- 0x2b70: 0x000c, 0x2b71: 0x000c, 0x2b72: 0x000c, 0x2b73: 0x000c, 0x2b74: 0x000c,
+ 0x2b78: 0x000c, 0x2b79: 0x000c, 0x2b7a: 0x000c, 0x2b7b: 0x000c,
+ 0x2b7c: 0x000c, 0x2b7d: 0x000c, 0x2b7e: 0x000c, 0x2b7f: 0x000c,
// Block 0xae, offset 0x2b80
- 0x2bb8: 0x000c, 0x2bb9: 0x000c, 0x2bba: 0x000c, 0x2bbb: 0x000c,
- 0x2bbc: 0x000c, 0x2bbd: 0x000c, 0x2bbe: 0x000c, 0x2bbf: 0x000c,
+ 0x2b82: 0x000c, 0x2b83: 0x000c, 0x2b84: 0x000c,
+ 0x2b86: 0x000c,
// Block 0xaf, offset 0x2bc0
- 0x2bc2: 0x000c, 0x2bc3: 0x000c, 0x2bc4: 0x000c,
- 0x2bc6: 0x000c,
+ 0x2bf3: 0x000c, 0x2bf4: 0x000c, 0x2bf5: 0x000c,
+ 0x2bf6: 0x000c, 0x2bf7: 0x000c, 0x2bf8: 0x000c, 0x2bfa: 0x000c,
+ 0x2bff: 0x000c,
// Block 0xb0, offset 0x2c00
- 0x2c33: 0x000c, 0x2c34: 0x000c, 0x2c35: 0x000c,
- 0x2c36: 0x000c, 0x2c37: 0x000c, 0x2c38: 0x000c, 0x2c3a: 0x000c,
- 0x2c3f: 0x000c,
+ 0x2c00: 0x000c, 0x2c02: 0x000c, 0x2c03: 0x000c,
// Block 0xb1, offset 0x2c40
- 0x2c40: 0x000c, 0x2c42: 0x000c, 0x2c43: 0x000c,
+ 0x2c72: 0x000c, 0x2c73: 0x000c, 0x2c74: 0x000c, 0x2c75: 0x000c,
+ 0x2c7c: 0x000c, 0x2c7d: 0x000c, 0x2c7f: 0x000c,
// Block 0xb2, offset 0x2c80
- 0x2cb2: 0x000c, 0x2cb3: 0x000c, 0x2cb4: 0x000c, 0x2cb5: 0x000c,
- 0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbf: 0x000c,
+ 0x2c80: 0x000c,
+ 0x2c9c: 0x000c, 0x2c9d: 0x000c,
// Block 0xb3, offset 0x2cc0
- 0x2cc0: 0x000c,
- 0x2cdc: 0x000c, 0x2cdd: 0x000c,
+ 0x2cf3: 0x000c, 0x2cf4: 0x000c, 0x2cf5: 0x000c,
+ 0x2cf6: 0x000c, 0x2cf7: 0x000c, 0x2cf8: 0x000c, 0x2cf9: 0x000c, 0x2cfa: 0x000c,
+ 0x2cfd: 0x000c, 0x2cff: 0x000c,
// Block 0xb4, offset 0x2d00
- 0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c,
- 0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d39: 0x000c, 0x2d3a: 0x000c,
- 0x2d3d: 0x000c, 0x2d3f: 0x000c,
+ 0x2d00: 0x000c,
+ 0x2d20: 0x000a, 0x2d21: 0x000a, 0x2d22: 0x000a, 0x2d23: 0x000a,
+ 0x2d24: 0x000a, 0x2d25: 0x000a, 0x2d26: 0x000a, 0x2d27: 0x000a, 0x2d28: 0x000a, 0x2d29: 0x000a,
+ 0x2d2a: 0x000a, 0x2d2b: 0x000a, 0x2d2c: 0x000a,
// Block 0xb5, offset 0x2d40
- 0x2d40: 0x000c,
- 0x2d60: 0x000a, 0x2d61: 0x000a, 0x2d62: 0x000a, 0x2d63: 0x000a,
- 0x2d64: 0x000a, 0x2d65: 0x000a, 0x2d66: 0x000a, 0x2d67: 0x000a, 0x2d68: 0x000a, 0x2d69: 0x000a,
- 0x2d6a: 0x000a, 0x2d6b: 0x000a, 0x2d6c: 0x000a,
+ 0x2d6b: 0x000c, 0x2d6d: 0x000c,
+ 0x2d70: 0x000c, 0x2d71: 0x000c, 0x2d72: 0x000c, 0x2d73: 0x000c, 0x2d74: 0x000c, 0x2d75: 0x000c,
+ 0x2d77: 0x000c,
// Block 0xb6, offset 0x2d80
- 0x2dab: 0x000c, 0x2dad: 0x000c,
- 0x2db0: 0x000c, 0x2db1: 0x000c, 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c,
- 0x2db7: 0x000c,
+ 0x2d9d: 0x000c,
+ 0x2d9e: 0x000c, 0x2d9f: 0x000c, 0x2da2: 0x000c, 0x2da3: 0x000c,
+ 0x2da4: 0x000c, 0x2da5: 0x000c, 0x2da7: 0x000c, 0x2da8: 0x000c, 0x2da9: 0x000c,
+ 0x2daa: 0x000c, 0x2dab: 0x000c,
// Block 0xb7, offset 0x2dc0
- 0x2ddd: 0x000c,
- 0x2dde: 0x000c, 0x2ddf: 0x000c, 0x2de2: 0x000c, 0x2de3: 0x000c,
- 0x2de4: 0x000c, 0x2de5: 0x000c, 0x2de7: 0x000c, 0x2de8: 0x000c, 0x2de9: 0x000c,
- 0x2dea: 0x000c, 0x2deb: 0x000c,
+ 0x2dc1: 0x000c, 0x2dc2: 0x000c, 0x2dc3: 0x000c, 0x2dc4: 0x000c, 0x2dc5: 0x000c,
+ 0x2dc6: 0x000c, 0x2dc9: 0x000c, 0x2dca: 0x000c,
+ 0x2df3: 0x000c, 0x2df4: 0x000c, 0x2df5: 0x000c,
+ 0x2df6: 0x000c, 0x2df7: 0x000c, 0x2df8: 0x000c, 0x2dfb: 0x000c,
+ 0x2dfc: 0x000c, 0x2dfd: 0x000c, 0x2dfe: 0x000c,
// Block 0xb8, offset 0x2e00
- 0x2e30: 0x000c, 0x2e31: 0x000c, 0x2e32: 0x000c, 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c,
- 0x2e36: 0x000c, 0x2e38: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, 0x2e3b: 0x000c,
- 0x2e3c: 0x000c, 0x2e3d: 0x000c,
+ 0x2e07: 0x000c,
+ 0x2e11: 0x000c,
+ 0x2e12: 0x000c, 0x2e13: 0x000c, 0x2e14: 0x000c, 0x2e15: 0x000c, 0x2e16: 0x000c,
+ 0x2e19: 0x000c, 0x2e1a: 0x000c, 0x2e1b: 0x000c,
// Block 0xb9, offset 0x2e40
- 0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, 0x2e57: 0x000c,
- 0x2e58: 0x000c, 0x2e59: 0x000c, 0x2e5a: 0x000c, 0x2e5b: 0x000c, 0x2e5c: 0x000c, 0x2e5d: 0x000c,
- 0x2e5e: 0x000c, 0x2e5f: 0x000c, 0x2e60: 0x000c, 0x2e61: 0x000c, 0x2e62: 0x000c, 0x2e63: 0x000c,
- 0x2e64: 0x000c, 0x2e65: 0x000c, 0x2e66: 0x000c, 0x2e67: 0x000c,
- 0x2e6a: 0x000c, 0x2e6b: 0x000c, 0x2e6c: 0x000c, 0x2e6d: 0x000c, 0x2e6e: 0x000c, 0x2e6f: 0x000c,
- 0x2e70: 0x000c, 0x2e72: 0x000c, 0x2e73: 0x000c, 0x2e75: 0x000c,
- 0x2e76: 0x000c,
+ 0x2e4a: 0x000c, 0x2e4b: 0x000c,
+ 0x2e4c: 0x000c, 0x2e4d: 0x000c, 0x2e4e: 0x000c, 0x2e4f: 0x000c, 0x2e50: 0x000c, 0x2e51: 0x000c,
+ 0x2e52: 0x000c, 0x2e53: 0x000c, 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c,
+ 0x2e58: 0x000c, 0x2e59: 0x000c,
// Block 0xba, offset 0x2e80
- 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c,
+ 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c,
+ 0x2eb6: 0x000c, 0x2eb8: 0x000c, 0x2eb9: 0x000c, 0x2eba: 0x000c, 0x2ebb: 0x000c,
+ 0x2ebc: 0x000c, 0x2ebd: 0x000c,
// Block 0xbb, offset 0x2ec0
- 0x2ef0: 0x000c, 0x2ef1: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef4: 0x000c, 0x2ef5: 0x000c,
+ 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, 0x2ed7: 0x000c,
+ 0x2ed8: 0x000c, 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, 0x2edc: 0x000c, 0x2edd: 0x000c,
+ 0x2ede: 0x000c, 0x2edf: 0x000c, 0x2ee0: 0x000c, 0x2ee1: 0x000c, 0x2ee2: 0x000c, 0x2ee3: 0x000c,
+ 0x2ee4: 0x000c, 0x2ee5: 0x000c, 0x2ee6: 0x000c, 0x2ee7: 0x000c,
+ 0x2eea: 0x000c, 0x2eeb: 0x000c, 0x2eec: 0x000c, 0x2eed: 0x000c, 0x2eee: 0x000c, 0x2eef: 0x000c,
+ 0x2ef0: 0x000c, 0x2ef2: 0x000c, 0x2ef3: 0x000c, 0x2ef5: 0x000c,
0x2ef6: 0x000c,
// Block 0xbc, offset 0x2f00
- 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c,
- 0x2f12: 0x000c,
+ 0x2f31: 0x000c, 0x2f32: 0x000c, 0x2f33: 0x000c, 0x2f34: 0x000c, 0x2f35: 0x000c,
+ 0x2f36: 0x000c, 0x2f3a: 0x000c,
+ 0x2f3c: 0x000c, 0x2f3d: 0x000c, 0x2f3f: 0x000c,
// Block 0xbd, offset 0x2f40
- 0x2f5d: 0x000c,
- 0x2f5e: 0x000c, 0x2f60: 0x000b, 0x2f61: 0x000b, 0x2f62: 0x000b, 0x2f63: 0x000b,
+ 0x2f40: 0x000c, 0x2f41: 0x000c, 0x2f42: 0x000c, 0x2f43: 0x000c, 0x2f44: 0x000c, 0x2f45: 0x000c,
+ 0x2f47: 0x000c,
// Block 0xbe, offset 0x2f80
- 0x2fa7: 0x000c, 0x2fa8: 0x000c, 0x2fa9: 0x000c,
- 0x2fb3: 0x000b, 0x2fb4: 0x000b, 0x2fb5: 0x000b,
- 0x2fb6: 0x000b, 0x2fb7: 0x000b, 0x2fb8: 0x000b, 0x2fb9: 0x000b, 0x2fba: 0x000b, 0x2fbb: 0x000c,
- 0x2fbc: 0x000c, 0x2fbd: 0x000c, 0x2fbe: 0x000c, 0x2fbf: 0x000c,
+ 0x2fb0: 0x000c, 0x2fb1: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb4: 0x000c,
// Block 0xbf, offset 0x2fc0
- 0x2fc0: 0x000c, 0x2fc1: 0x000c, 0x2fc2: 0x000c, 0x2fc5: 0x000c,
- 0x2fc6: 0x000c, 0x2fc7: 0x000c, 0x2fc8: 0x000c, 0x2fc9: 0x000c, 0x2fca: 0x000c, 0x2fcb: 0x000c,
- 0x2fea: 0x000c, 0x2feb: 0x000c, 0x2fec: 0x000c, 0x2fed: 0x000c,
+ 0x2ff0: 0x000c, 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c,
+ 0x2ff6: 0x000c,
// Block 0xc0, offset 0x3000
- 0x3000: 0x000a, 0x3001: 0x000a, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000a,
+ 0x300f: 0x000c, 0x3010: 0x000c, 0x3011: 0x000c,
+ 0x3012: 0x000c,
// Block 0xc1, offset 0x3040
- 0x3040: 0x000a, 0x3041: 0x000a, 0x3042: 0x000a, 0x3043: 0x000a, 0x3044: 0x000a, 0x3045: 0x000a,
- 0x3046: 0x000a, 0x3047: 0x000a, 0x3048: 0x000a, 0x3049: 0x000a, 0x304a: 0x000a, 0x304b: 0x000a,
- 0x304c: 0x000a, 0x304d: 0x000a, 0x304e: 0x000a, 0x304f: 0x000a, 0x3050: 0x000a, 0x3051: 0x000a,
- 0x3052: 0x000a, 0x3053: 0x000a, 0x3054: 0x000a, 0x3055: 0x000a, 0x3056: 0x000a,
+ 0x305d: 0x000c,
+ 0x305e: 0x000c, 0x3060: 0x000b, 0x3061: 0x000b, 0x3062: 0x000b, 0x3063: 0x000b,
// Block 0xc2, offset 0x3080
- 0x309b: 0x000a,
+ 0x30a7: 0x000c, 0x30a8: 0x000c, 0x30a9: 0x000c,
+ 0x30b3: 0x000b, 0x30b4: 0x000b, 0x30b5: 0x000b,
+ 0x30b6: 0x000b, 0x30b7: 0x000b, 0x30b8: 0x000b, 0x30b9: 0x000b, 0x30ba: 0x000b, 0x30bb: 0x000c,
+ 0x30bc: 0x000c, 0x30bd: 0x000c, 0x30be: 0x000c, 0x30bf: 0x000c,
// Block 0xc3, offset 0x30c0
- 0x30d5: 0x000a,
+ 0x30c0: 0x000c, 0x30c1: 0x000c, 0x30c2: 0x000c, 0x30c5: 0x000c,
+ 0x30c6: 0x000c, 0x30c7: 0x000c, 0x30c8: 0x000c, 0x30c9: 0x000c, 0x30ca: 0x000c, 0x30cb: 0x000c,
+ 0x30ea: 0x000c, 0x30eb: 0x000c, 0x30ec: 0x000c, 0x30ed: 0x000c,
// Block 0xc4, offset 0x3100
- 0x310f: 0x000a,
+ 0x3100: 0x000a, 0x3101: 0x000a, 0x3102: 0x000c, 0x3103: 0x000c, 0x3104: 0x000c, 0x3105: 0x000a,
// Block 0xc5, offset 0x3140
- 0x3149: 0x000a,
+ 0x3140: 0x000a, 0x3141: 0x000a, 0x3142: 0x000a, 0x3143: 0x000a, 0x3144: 0x000a, 0x3145: 0x000a,
+ 0x3146: 0x000a, 0x3147: 0x000a, 0x3148: 0x000a, 0x3149: 0x000a, 0x314a: 0x000a, 0x314b: 0x000a,
+ 0x314c: 0x000a, 0x314d: 0x000a, 0x314e: 0x000a, 0x314f: 0x000a, 0x3150: 0x000a, 0x3151: 0x000a,
+ 0x3152: 0x000a, 0x3153: 0x000a, 0x3154: 0x000a, 0x3155: 0x000a, 0x3156: 0x000a,
// Block 0xc6, offset 0x3180
- 0x3183: 0x000a,
- 0x318e: 0x0002, 0x318f: 0x0002, 0x3190: 0x0002, 0x3191: 0x0002,
- 0x3192: 0x0002, 0x3193: 0x0002, 0x3194: 0x0002, 0x3195: 0x0002, 0x3196: 0x0002, 0x3197: 0x0002,
- 0x3198: 0x0002, 0x3199: 0x0002, 0x319a: 0x0002, 0x319b: 0x0002, 0x319c: 0x0002, 0x319d: 0x0002,
- 0x319e: 0x0002, 0x319f: 0x0002, 0x31a0: 0x0002, 0x31a1: 0x0002, 0x31a2: 0x0002, 0x31a3: 0x0002,
- 0x31a4: 0x0002, 0x31a5: 0x0002, 0x31a6: 0x0002, 0x31a7: 0x0002, 0x31a8: 0x0002, 0x31a9: 0x0002,
- 0x31aa: 0x0002, 0x31ab: 0x0002, 0x31ac: 0x0002, 0x31ad: 0x0002, 0x31ae: 0x0002, 0x31af: 0x0002,
- 0x31b0: 0x0002, 0x31b1: 0x0002, 0x31b2: 0x0002, 0x31b3: 0x0002, 0x31b4: 0x0002, 0x31b5: 0x0002,
- 0x31b6: 0x0002, 0x31b7: 0x0002, 0x31b8: 0x0002, 0x31b9: 0x0002, 0x31ba: 0x0002, 0x31bb: 0x0002,
- 0x31bc: 0x0002, 0x31bd: 0x0002, 0x31be: 0x0002, 0x31bf: 0x0002,
+ 0x319b: 0x000a,
// Block 0xc7, offset 0x31c0
- 0x31c0: 0x000c, 0x31c1: 0x000c, 0x31c2: 0x000c, 0x31c3: 0x000c, 0x31c4: 0x000c, 0x31c5: 0x000c,
- 0x31c6: 0x000c, 0x31c7: 0x000c, 0x31c8: 0x000c, 0x31c9: 0x000c, 0x31ca: 0x000c, 0x31cb: 0x000c,
- 0x31cc: 0x000c, 0x31cd: 0x000c, 0x31ce: 0x000c, 0x31cf: 0x000c, 0x31d0: 0x000c, 0x31d1: 0x000c,
- 0x31d2: 0x000c, 0x31d3: 0x000c, 0x31d4: 0x000c, 0x31d5: 0x000c, 0x31d6: 0x000c, 0x31d7: 0x000c,
- 0x31d8: 0x000c, 0x31d9: 0x000c, 0x31da: 0x000c, 0x31db: 0x000c, 0x31dc: 0x000c, 0x31dd: 0x000c,
- 0x31de: 0x000c, 0x31df: 0x000c, 0x31e0: 0x000c, 0x31e1: 0x000c, 0x31e2: 0x000c, 0x31e3: 0x000c,
- 0x31e4: 0x000c, 0x31e5: 0x000c, 0x31e6: 0x000c, 0x31e7: 0x000c, 0x31e8: 0x000c, 0x31e9: 0x000c,
- 0x31ea: 0x000c, 0x31eb: 0x000c, 0x31ec: 0x000c, 0x31ed: 0x000c, 0x31ee: 0x000c, 0x31ef: 0x000c,
- 0x31f0: 0x000c, 0x31f1: 0x000c, 0x31f2: 0x000c, 0x31f3: 0x000c, 0x31f4: 0x000c, 0x31f5: 0x000c,
- 0x31f6: 0x000c, 0x31fb: 0x000c,
- 0x31fc: 0x000c, 0x31fd: 0x000c, 0x31fe: 0x000c, 0x31ff: 0x000c,
+ 0x31d5: 0x000a,
// Block 0xc8, offset 0x3200
- 0x3200: 0x000c, 0x3201: 0x000c, 0x3202: 0x000c, 0x3203: 0x000c, 0x3204: 0x000c, 0x3205: 0x000c,
- 0x3206: 0x000c, 0x3207: 0x000c, 0x3208: 0x000c, 0x3209: 0x000c, 0x320a: 0x000c, 0x320b: 0x000c,
- 0x320c: 0x000c, 0x320d: 0x000c, 0x320e: 0x000c, 0x320f: 0x000c, 0x3210: 0x000c, 0x3211: 0x000c,
- 0x3212: 0x000c, 0x3213: 0x000c, 0x3214: 0x000c, 0x3215: 0x000c, 0x3216: 0x000c, 0x3217: 0x000c,
- 0x3218: 0x000c, 0x3219: 0x000c, 0x321a: 0x000c, 0x321b: 0x000c, 0x321c: 0x000c, 0x321d: 0x000c,
- 0x321e: 0x000c, 0x321f: 0x000c, 0x3220: 0x000c, 0x3221: 0x000c, 0x3222: 0x000c, 0x3223: 0x000c,
- 0x3224: 0x000c, 0x3225: 0x000c, 0x3226: 0x000c, 0x3227: 0x000c, 0x3228: 0x000c, 0x3229: 0x000c,
- 0x322a: 0x000c, 0x322b: 0x000c, 0x322c: 0x000c,
- 0x3235: 0x000c,
+ 0x320f: 0x000a,
// Block 0xc9, offset 0x3240
- 0x3244: 0x000c,
- 0x325b: 0x000c, 0x325c: 0x000c, 0x325d: 0x000c,
- 0x325e: 0x000c, 0x325f: 0x000c, 0x3261: 0x000c, 0x3262: 0x000c, 0x3263: 0x000c,
- 0x3264: 0x000c, 0x3265: 0x000c, 0x3266: 0x000c, 0x3267: 0x000c, 0x3268: 0x000c, 0x3269: 0x000c,
- 0x326a: 0x000c, 0x326b: 0x000c, 0x326c: 0x000c, 0x326d: 0x000c, 0x326e: 0x000c, 0x326f: 0x000c,
+ 0x3249: 0x000a,
// Block 0xca, offset 0x3280
- 0x3280: 0x000c, 0x3281: 0x000c, 0x3282: 0x000c, 0x3283: 0x000c, 0x3284: 0x000c, 0x3285: 0x000c,
- 0x3286: 0x000c, 0x3288: 0x000c, 0x3289: 0x000c, 0x328a: 0x000c, 0x328b: 0x000c,
- 0x328c: 0x000c, 0x328d: 0x000c, 0x328e: 0x000c, 0x328f: 0x000c, 0x3290: 0x000c, 0x3291: 0x000c,
- 0x3292: 0x000c, 0x3293: 0x000c, 0x3294: 0x000c, 0x3295: 0x000c, 0x3296: 0x000c, 0x3297: 0x000c,
- 0x3298: 0x000c, 0x329b: 0x000c, 0x329c: 0x000c, 0x329d: 0x000c,
- 0x329e: 0x000c, 0x329f: 0x000c, 0x32a0: 0x000c, 0x32a1: 0x000c, 0x32a3: 0x000c,
- 0x32a4: 0x000c, 0x32a6: 0x000c, 0x32a7: 0x000c, 0x32a8: 0x000c, 0x32a9: 0x000c,
- 0x32aa: 0x000c,
+ 0x3283: 0x000a,
+ 0x328e: 0x0002, 0x328f: 0x0002, 0x3290: 0x0002, 0x3291: 0x0002,
+ 0x3292: 0x0002, 0x3293: 0x0002, 0x3294: 0x0002, 0x3295: 0x0002, 0x3296: 0x0002, 0x3297: 0x0002,
+ 0x3298: 0x0002, 0x3299: 0x0002, 0x329a: 0x0002, 0x329b: 0x0002, 0x329c: 0x0002, 0x329d: 0x0002,
+ 0x329e: 0x0002, 0x329f: 0x0002, 0x32a0: 0x0002, 0x32a1: 0x0002, 0x32a2: 0x0002, 0x32a3: 0x0002,
+ 0x32a4: 0x0002, 0x32a5: 0x0002, 0x32a6: 0x0002, 0x32a7: 0x0002, 0x32a8: 0x0002, 0x32a9: 0x0002,
+ 0x32aa: 0x0002, 0x32ab: 0x0002, 0x32ac: 0x0002, 0x32ad: 0x0002, 0x32ae: 0x0002, 0x32af: 0x0002,
+ 0x32b0: 0x0002, 0x32b1: 0x0002, 0x32b2: 0x0002, 0x32b3: 0x0002, 0x32b4: 0x0002, 0x32b5: 0x0002,
+ 0x32b6: 0x0002, 0x32b7: 0x0002, 0x32b8: 0x0002, 0x32b9: 0x0002, 0x32ba: 0x0002, 0x32bb: 0x0002,
+ 0x32bc: 0x0002, 0x32bd: 0x0002, 0x32be: 0x0002, 0x32bf: 0x0002,
// Block 0xcb, offset 0x32c0
- 0x32c0: 0x0001, 0x32c1: 0x0001, 0x32c2: 0x0001, 0x32c3: 0x0001, 0x32c4: 0x0001, 0x32c5: 0x0001,
- 0x32c6: 0x0001, 0x32c7: 0x0001, 0x32c8: 0x0001, 0x32c9: 0x0001, 0x32ca: 0x0001, 0x32cb: 0x0001,
- 0x32cc: 0x0001, 0x32cd: 0x0001, 0x32ce: 0x0001, 0x32cf: 0x0001, 0x32d0: 0x000c, 0x32d1: 0x000c,
- 0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x0001,
- 0x32d8: 0x0001, 0x32d9: 0x0001, 0x32da: 0x0001, 0x32db: 0x0001, 0x32dc: 0x0001, 0x32dd: 0x0001,
- 0x32de: 0x0001, 0x32df: 0x0001, 0x32e0: 0x0001, 0x32e1: 0x0001, 0x32e2: 0x0001, 0x32e3: 0x0001,
- 0x32e4: 0x0001, 0x32e5: 0x0001, 0x32e6: 0x0001, 0x32e7: 0x0001, 0x32e8: 0x0001, 0x32e9: 0x0001,
- 0x32ea: 0x0001, 0x32eb: 0x0001, 0x32ec: 0x0001, 0x32ed: 0x0001, 0x32ee: 0x0001, 0x32ef: 0x0001,
- 0x32f0: 0x0001, 0x32f1: 0x0001, 0x32f2: 0x0001, 0x32f3: 0x0001, 0x32f4: 0x0001, 0x32f5: 0x0001,
- 0x32f6: 0x0001, 0x32f7: 0x0001, 0x32f8: 0x0001, 0x32f9: 0x0001, 0x32fa: 0x0001, 0x32fb: 0x0001,
- 0x32fc: 0x0001, 0x32fd: 0x0001, 0x32fe: 0x0001, 0x32ff: 0x0001,
+ 0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c3: 0x000c, 0x32c4: 0x000c, 0x32c5: 0x000c,
+ 0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c,
+ 0x32cc: 0x000c, 0x32cd: 0x000c, 0x32ce: 0x000c, 0x32cf: 0x000c, 0x32d0: 0x000c, 0x32d1: 0x000c,
+ 0x32d2: 0x000c, 0x32d3: 0x000c, 0x32d4: 0x000c, 0x32d5: 0x000c, 0x32d6: 0x000c, 0x32d7: 0x000c,
+ 0x32d8: 0x000c, 0x32d9: 0x000c, 0x32da: 0x000c, 0x32db: 0x000c, 0x32dc: 0x000c, 0x32dd: 0x000c,
+ 0x32de: 0x000c, 0x32df: 0x000c, 0x32e0: 0x000c, 0x32e1: 0x000c, 0x32e2: 0x000c, 0x32e3: 0x000c,
+ 0x32e4: 0x000c, 0x32e5: 0x000c, 0x32e6: 0x000c, 0x32e7: 0x000c, 0x32e8: 0x000c, 0x32e9: 0x000c,
+ 0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, 0x32ee: 0x000c, 0x32ef: 0x000c,
+ 0x32f0: 0x000c, 0x32f1: 0x000c, 0x32f2: 0x000c, 0x32f3: 0x000c, 0x32f4: 0x000c, 0x32f5: 0x000c,
+ 0x32f6: 0x000c, 0x32fb: 0x000c,
+ 0x32fc: 0x000c, 0x32fd: 0x000c, 0x32fe: 0x000c, 0x32ff: 0x000c,
// Block 0xcc, offset 0x3300
- 0x3300: 0x0001, 0x3301: 0x0001, 0x3302: 0x0001, 0x3303: 0x0001, 0x3304: 0x000c, 0x3305: 0x000c,
- 0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x0001,
- 0x330c: 0x0001, 0x330d: 0x0001, 0x330e: 0x0001, 0x330f: 0x0001, 0x3310: 0x0001, 0x3311: 0x0001,
- 0x3312: 0x0001, 0x3313: 0x0001, 0x3314: 0x0001, 0x3315: 0x0001, 0x3316: 0x0001, 0x3317: 0x0001,
- 0x3318: 0x0001, 0x3319: 0x0001, 0x331a: 0x0001, 0x331b: 0x0001, 0x331c: 0x0001, 0x331d: 0x0001,
- 0x331e: 0x0001, 0x331f: 0x0001, 0x3320: 0x0001, 0x3321: 0x0001, 0x3322: 0x0001, 0x3323: 0x0001,
- 0x3324: 0x0001, 0x3325: 0x0001, 0x3326: 0x0001, 0x3327: 0x0001, 0x3328: 0x0001, 0x3329: 0x0001,
- 0x332a: 0x0001, 0x332b: 0x0001, 0x332c: 0x0001, 0x332d: 0x0001, 0x332e: 0x0001, 0x332f: 0x0001,
- 0x3330: 0x0001, 0x3331: 0x0001, 0x3332: 0x0001, 0x3333: 0x0001, 0x3334: 0x0001, 0x3335: 0x0001,
- 0x3336: 0x0001, 0x3337: 0x0001, 0x3338: 0x0001, 0x3339: 0x0001, 0x333a: 0x0001, 0x333b: 0x0001,
- 0x333c: 0x0001, 0x333d: 0x0001, 0x333e: 0x0001, 0x333f: 0x0001,
+ 0x3300: 0x000c, 0x3301: 0x000c, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000c,
+ 0x3306: 0x000c, 0x3307: 0x000c, 0x3308: 0x000c, 0x3309: 0x000c, 0x330a: 0x000c, 0x330b: 0x000c,
+ 0x330c: 0x000c, 0x330d: 0x000c, 0x330e: 0x000c, 0x330f: 0x000c, 0x3310: 0x000c, 0x3311: 0x000c,
+ 0x3312: 0x000c, 0x3313: 0x000c, 0x3314: 0x000c, 0x3315: 0x000c, 0x3316: 0x000c, 0x3317: 0x000c,
+ 0x3318: 0x000c, 0x3319: 0x000c, 0x331a: 0x000c, 0x331b: 0x000c, 0x331c: 0x000c, 0x331d: 0x000c,
+ 0x331e: 0x000c, 0x331f: 0x000c, 0x3320: 0x000c, 0x3321: 0x000c, 0x3322: 0x000c, 0x3323: 0x000c,
+ 0x3324: 0x000c, 0x3325: 0x000c, 0x3326: 0x000c, 0x3327: 0x000c, 0x3328: 0x000c, 0x3329: 0x000c,
+ 0x332a: 0x000c, 0x332b: 0x000c, 0x332c: 0x000c,
+ 0x3335: 0x000c,
// Block 0xcd, offset 0x3340
- 0x3340: 0x000d, 0x3341: 0x000d, 0x3342: 0x000d, 0x3343: 0x000d, 0x3344: 0x000d, 0x3345: 0x000d,
- 0x3346: 0x000d, 0x3347: 0x000d, 0x3348: 0x000d, 0x3349: 0x000d, 0x334a: 0x000d, 0x334b: 0x000d,
- 0x334c: 0x000d, 0x334d: 0x000d, 0x334e: 0x000d, 0x334f: 0x000d, 0x3350: 0x000d, 0x3351: 0x000d,
- 0x3352: 0x000d, 0x3353: 0x000d, 0x3354: 0x000d, 0x3355: 0x000d, 0x3356: 0x000d, 0x3357: 0x000d,
- 0x3358: 0x000d, 0x3359: 0x000d, 0x335a: 0x000d, 0x335b: 0x000d, 0x335c: 0x000d, 0x335d: 0x000d,
- 0x335e: 0x000d, 0x335f: 0x000d, 0x3360: 0x000d, 0x3361: 0x000d, 0x3362: 0x000d, 0x3363: 0x000d,
- 0x3364: 0x000d, 0x3365: 0x000d, 0x3366: 0x000d, 0x3367: 0x000d, 0x3368: 0x000d, 0x3369: 0x000d,
- 0x336a: 0x000d, 0x336b: 0x000d, 0x336c: 0x000d, 0x336d: 0x000d, 0x336e: 0x000d, 0x336f: 0x000d,
- 0x3370: 0x000a, 0x3371: 0x000a, 0x3372: 0x000d, 0x3373: 0x000d, 0x3374: 0x000d, 0x3375: 0x000d,
- 0x3376: 0x000d, 0x3377: 0x000d, 0x3378: 0x000d, 0x3379: 0x000d, 0x337a: 0x000d, 0x337b: 0x000d,
- 0x337c: 0x000d, 0x337d: 0x000d, 0x337e: 0x000d, 0x337f: 0x000d,
+ 0x3344: 0x000c,
+ 0x335b: 0x000c, 0x335c: 0x000c, 0x335d: 0x000c,
+ 0x335e: 0x000c, 0x335f: 0x000c, 0x3361: 0x000c, 0x3362: 0x000c, 0x3363: 0x000c,
+ 0x3364: 0x000c, 0x3365: 0x000c, 0x3366: 0x000c, 0x3367: 0x000c, 0x3368: 0x000c, 0x3369: 0x000c,
+ 0x336a: 0x000c, 0x336b: 0x000c, 0x336c: 0x000c, 0x336d: 0x000c, 0x336e: 0x000c, 0x336f: 0x000c,
// Block 0xce, offset 0x3380
- 0x3380: 0x000a, 0x3381: 0x000a, 0x3382: 0x000a, 0x3383: 0x000a, 0x3384: 0x000a, 0x3385: 0x000a,
- 0x3386: 0x000a, 0x3387: 0x000a, 0x3388: 0x000a, 0x3389: 0x000a, 0x338a: 0x000a, 0x338b: 0x000a,
- 0x338c: 0x000a, 0x338d: 0x000a, 0x338e: 0x000a, 0x338f: 0x000a, 0x3390: 0x000a, 0x3391: 0x000a,
- 0x3392: 0x000a, 0x3393: 0x000a, 0x3394: 0x000a, 0x3395: 0x000a, 0x3396: 0x000a, 0x3397: 0x000a,
- 0x3398: 0x000a, 0x3399: 0x000a, 0x339a: 0x000a, 0x339b: 0x000a, 0x339c: 0x000a, 0x339d: 0x000a,
- 0x339e: 0x000a, 0x339f: 0x000a, 0x33a0: 0x000a, 0x33a1: 0x000a, 0x33a2: 0x000a, 0x33a3: 0x000a,
- 0x33a4: 0x000a, 0x33a5: 0x000a, 0x33a6: 0x000a, 0x33a7: 0x000a, 0x33a8: 0x000a, 0x33a9: 0x000a,
- 0x33aa: 0x000a, 0x33ab: 0x000a,
- 0x33b0: 0x000a, 0x33b1: 0x000a, 0x33b2: 0x000a, 0x33b3: 0x000a, 0x33b4: 0x000a, 0x33b5: 0x000a,
- 0x33b6: 0x000a, 0x33b7: 0x000a, 0x33b8: 0x000a, 0x33b9: 0x000a, 0x33ba: 0x000a, 0x33bb: 0x000a,
- 0x33bc: 0x000a, 0x33bd: 0x000a, 0x33be: 0x000a, 0x33bf: 0x000a,
+ 0x3380: 0x000c, 0x3381: 0x000c, 0x3382: 0x000c, 0x3383: 0x000c, 0x3384: 0x000c, 0x3385: 0x000c,
+ 0x3386: 0x000c, 0x3388: 0x000c, 0x3389: 0x000c, 0x338a: 0x000c, 0x338b: 0x000c,
+ 0x338c: 0x000c, 0x338d: 0x000c, 0x338e: 0x000c, 0x338f: 0x000c, 0x3390: 0x000c, 0x3391: 0x000c,
+ 0x3392: 0x000c, 0x3393: 0x000c, 0x3394: 0x000c, 0x3395: 0x000c, 0x3396: 0x000c, 0x3397: 0x000c,
+ 0x3398: 0x000c, 0x339b: 0x000c, 0x339c: 0x000c, 0x339d: 0x000c,
+ 0x339e: 0x000c, 0x339f: 0x000c, 0x33a0: 0x000c, 0x33a1: 0x000c, 0x33a3: 0x000c,
+ 0x33a4: 0x000c, 0x33a6: 0x000c, 0x33a7: 0x000c, 0x33a8: 0x000c, 0x33a9: 0x000c,
+ 0x33aa: 0x000c,
// Block 0xcf, offset 0x33c0
- 0x33c0: 0x000a, 0x33c1: 0x000a, 0x33c2: 0x000a, 0x33c3: 0x000a, 0x33c4: 0x000a, 0x33c5: 0x000a,
- 0x33c6: 0x000a, 0x33c7: 0x000a, 0x33c8: 0x000a, 0x33c9: 0x000a, 0x33ca: 0x000a, 0x33cb: 0x000a,
- 0x33cc: 0x000a, 0x33cd: 0x000a, 0x33ce: 0x000a, 0x33cf: 0x000a, 0x33d0: 0x000a, 0x33d1: 0x000a,
- 0x33d2: 0x000a, 0x33d3: 0x000a,
- 0x33e0: 0x000a, 0x33e1: 0x000a, 0x33e2: 0x000a, 0x33e3: 0x000a,
- 0x33e4: 0x000a, 0x33e5: 0x000a, 0x33e6: 0x000a, 0x33e7: 0x000a, 0x33e8: 0x000a, 0x33e9: 0x000a,
- 0x33ea: 0x000a, 0x33eb: 0x000a, 0x33ec: 0x000a, 0x33ed: 0x000a, 0x33ee: 0x000a,
- 0x33f1: 0x000a, 0x33f2: 0x000a, 0x33f3: 0x000a, 0x33f4: 0x000a, 0x33f5: 0x000a,
- 0x33f6: 0x000a, 0x33f7: 0x000a, 0x33f8: 0x000a, 0x33f9: 0x000a, 0x33fa: 0x000a, 0x33fb: 0x000a,
- 0x33fc: 0x000a, 0x33fd: 0x000a, 0x33fe: 0x000a, 0x33ff: 0x000a,
+ 0x33c0: 0x0001, 0x33c1: 0x0001, 0x33c2: 0x0001, 0x33c3: 0x0001, 0x33c4: 0x0001, 0x33c5: 0x0001,
+ 0x33c6: 0x0001, 0x33c7: 0x0001, 0x33c8: 0x0001, 0x33c9: 0x0001, 0x33ca: 0x0001, 0x33cb: 0x0001,
+ 0x33cc: 0x0001, 0x33cd: 0x0001, 0x33ce: 0x0001, 0x33cf: 0x0001, 0x33d0: 0x000c, 0x33d1: 0x000c,
+ 0x33d2: 0x000c, 0x33d3: 0x000c, 0x33d4: 0x000c, 0x33d5: 0x000c, 0x33d6: 0x000c, 0x33d7: 0x0001,
+ 0x33d8: 0x0001, 0x33d9: 0x0001, 0x33da: 0x0001, 0x33db: 0x0001, 0x33dc: 0x0001, 0x33dd: 0x0001,
+ 0x33de: 0x0001, 0x33df: 0x0001, 0x33e0: 0x0001, 0x33e1: 0x0001, 0x33e2: 0x0001, 0x33e3: 0x0001,
+ 0x33e4: 0x0001, 0x33e5: 0x0001, 0x33e6: 0x0001, 0x33e7: 0x0001, 0x33e8: 0x0001, 0x33e9: 0x0001,
+ 0x33ea: 0x0001, 0x33eb: 0x0001, 0x33ec: 0x0001, 0x33ed: 0x0001, 0x33ee: 0x0001, 0x33ef: 0x0001,
+ 0x33f0: 0x0001, 0x33f1: 0x0001, 0x33f2: 0x0001, 0x33f3: 0x0001, 0x33f4: 0x0001, 0x33f5: 0x0001,
+ 0x33f6: 0x0001, 0x33f7: 0x0001, 0x33f8: 0x0001, 0x33f9: 0x0001, 0x33fa: 0x0001, 0x33fb: 0x0001,
+ 0x33fc: 0x0001, 0x33fd: 0x0001, 0x33fe: 0x0001, 0x33ff: 0x0001,
// Block 0xd0, offset 0x3400
- 0x3401: 0x000a, 0x3402: 0x000a, 0x3403: 0x000a, 0x3404: 0x000a, 0x3405: 0x000a,
- 0x3406: 0x000a, 0x3407: 0x000a, 0x3408: 0x000a, 0x3409: 0x000a, 0x340a: 0x000a, 0x340b: 0x000a,
- 0x340c: 0x000a, 0x340d: 0x000a, 0x340e: 0x000a, 0x340f: 0x000a, 0x3411: 0x000a,
- 0x3412: 0x000a, 0x3413: 0x000a, 0x3414: 0x000a, 0x3415: 0x000a, 0x3416: 0x000a, 0x3417: 0x000a,
- 0x3418: 0x000a, 0x3419: 0x000a, 0x341a: 0x000a, 0x341b: 0x000a, 0x341c: 0x000a, 0x341d: 0x000a,
- 0x341e: 0x000a, 0x341f: 0x000a, 0x3420: 0x000a, 0x3421: 0x000a, 0x3422: 0x000a, 0x3423: 0x000a,
- 0x3424: 0x000a, 0x3425: 0x000a, 0x3426: 0x000a, 0x3427: 0x000a, 0x3428: 0x000a, 0x3429: 0x000a,
- 0x342a: 0x000a, 0x342b: 0x000a, 0x342c: 0x000a, 0x342d: 0x000a, 0x342e: 0x000a, 0x342f: 0x000a,
- 0x3430: 0x000a, 0x3431: 0x000a, 0x3432: 0x000a, 0x3433: 0x000a, 0x3434: 0x000a, 0x3435: 0x000a,
+ 0x3400: 0x0001, 0x3401: 0x0001, 0x3402: 0x0001, 0x3403: 0x0001, 0x3404: 0x000c, 0x3405: 0x000c,
+ 0x3406: 0x000c, 0x3407: 0x000c, 0x3408: 0x000c, 0x3409: 0x000c, 0x340a: 0x000c, 0x340b: 0x0001,
+ 0x340c: 0x0001, 0x340d: 0x0001, 0x340e: 0x0001, 0x340f: 0x0001, 0x3410: 0x0001, 0x3411: 0x0001,
+ 0x3412: 0x0001, 0x3413: 0x0001, 0x3414: 0x0001, 0x3415: 0x0001, 0x3416: 0x0001, 0x3417: 0x0001,
+ 0x3418: 0x0001, 0x3419: 0x0001, 0x341a: 0x0001, 0x341b: 0x0001, 0x341c: 0x0001, 0x341d: 0x0001,
+ 0x341e: 0x0001, 0x341f: 0x0001, 0x3420: 0x0001, 0x3421: 0x0001, 0x3422: 0x0001, 0x3423: 0x0001,
+ 0x3424: 0x0001, 0x3425: 0x0001, 0x3426: 0x0001, 0x3427: 0x0001, 0x3428: 0x0001, 0x3429: 0x0001,
+ 0x342a: 0x0001, 0x342b: 0x0001, 0x342c: 0x0001, 0x342d: 0x0001, 0x342e: 0x0001, 0x342f: 0x0001,
+ 0x3430: 0x0001, 0x3431: 0x0001, 0x3432: 0x0001, 0x3433: 0x0001, 0x3434: 0x0001, 0x3435: 0x0001,
+ 0x3436: 0x0001, 0x3437: 0x0001, 0x3438: 0x0001, 0x3439: 0x0001, 0x343a: 0x0001, 0x343b: 0x0001,
+ 0x343c: 0x0001, 0x343d: 0x0001, 0x343e: 0x0001, 0x343f: 0x0001,
// Block 0xd1, offset 0x3440
- 0x3440: 0x0002, 0x3441: 0x0002, 0x3442: 0x0002, 0x3443: 0x0002, 0x3444: 0x0002, 0x3445: 0x0002,
- 0x3446: 0x0002, 0x3447: 0x0002, 0x3448: 0x0002, 0x3449: 0x0002, 0x344a: 0x0002, 0x344b: 0x000a,
- 0x344c: 0x000a,
+ 0x3440: 0x000d, 0x3441: 0x000d, 0x3442: 0x000d, 0x3443: 0x000d, 0x3444: 0x000d, 0x3445: 0x000d,
+ 0x3446: 0x000d, 0x3447: 0x000d, 0x3448: 0x000d, 0x3449: 0x000d, 0x344a: 0x000d, 0x344b: 0x000d,
+ 0x344c: 0x000d, 0x344d: 0x000d, 0x344e: 0x000d, 0x344f: 0x000d, 0x3450: 0x000d, 0x3451: 0x000d,
+ 0x3452: 0x000d, 0x3453: 0x000d, 0x3454: 0x000d, 0x3455: 0x000d, 0x3456: 0x000d, 0x3457: 0x000d,
+ 0x3458: 0x000d, 0x3459: 0x000d, 0x345a: 0x000d, 0x345b: 0x000d, 0x345c: 0x000d, 0x345d: 0x000d,
+ 0x345e: 0x000d, 0x345f: 0x000d, 0x3460: 0x000d, 0x3461: 0x000d, 0x3462: 0x000d, 0x3463: 0x000d,
+ 0x3464: 0x000d, 0x3465: 0x000d, 0x3466: 0x000d, 0x3467: 0x000d, 0x3468: 0x000d, 0x3469: 0x000d,
+ 0x346a: 0x000d, 0x346b: 0x000d, 0x346c: 0x000d, 0x346d: 0x000d, 0x346e: 0x000d, 0x346f: 0x000d,
+ 0x3470: 0x000a, 0x3471: 0x000a, 0x3472: 0x000d, 0x3473: 0x000d, 0x3474: 0x000d, 0x3475: 0x000d,
+ 0x3476: 0x000d, 0x3477: 0x000d, 0x3478: 0x000d, 0x3479: 0x000d, 0x347a: 0x000d, 0x347b: 0x000d,
+ 0x347c: 0x000d, 0x347d: 0x000d, 0x347e: 0x000d, 0x347f: 0x000d,
// Block 0xd2, offset 0x3480
+ 0x3480: 0x000a, 0x3481: 0x000a, 0x3482: 0x000a, 0x3483: 0x000a, 0x3484: 0x000a, 0x3485: 0x000a,
+ 0x3486: 0x000a, 0x3487: 0x000a, 0x3488: 0x000a, 0x3489: 0x000a, 0x348a: 0x000a, 0x348b: 0x000a,
+ 0x348c: 0x000a, 0x348d: 0x000a, 0x348e: 0x000a, 0x348f: 0x000a, 0x3490: 0x000a, 0x3491: 0x000a,
+ 0x3492: 0x000a, 0x3493: 0x000a, 0x3494: 0x000a, 0x3495: 0x000a, 0x3496: 0x000a, 0x3497: 0x000a,
+ 0x3498: 0x000a, 0x3499: 0x000a, 0x349a: 0x000a, 0x349b: 0x000a, 0x349c: 0x000a, 0x349d: 0x000a,
+ 0x349e: 0x000a, 0x349f: 0x000a, 0x34a0: 0x000a, 0x34a1: 0x000a, 0x34a2: 0x000a, 0x34a3: 0x000a,
+ 0x34a4: 0x000a, 0x34a5: 0x000a, 0x34a6: 0x000a, 0x34a7: 0x000a, 0x34a8: 0x000a, 0x34a9: 0x000a,
0x34aa: 0x000a, 0x34ab: 0x000a,
+ 0x34b0: 0x000a, 0x34b1: 0x000a, 0x34b2: 0x000a, 0x34b3: 0x000a, 0x34b4: 0x000a, 0x34b5: 0x000a,
+ 0x34b6: 0x000a, 0x34b7: 0x000a, 0x34b8: 0x000a, 0x34b9: 0x000a, 0x34ba: 0x000a, 0x34bb: 0x000a,
+ 0x34bc: 0x000a, 0x34bd: 0x000a, 0x34be: 0x000a, 0x34bf: 0x000a,
// Block 0xd3, offset 0x34c0
0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a,
0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a,
0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a,
- 0x34d2: 0x000a,
+ 0x34d2: 0x000a, 0x34d3: 0x000a,
0x34e0: 0x000a, 0x34e1: 0x000a, 0x34e2: 0x000a, 0x34e3: 0x000a,
0x34e4: 0x000a, 0x34e5: 0x000a, 0x34e6: 0x000a, 0x34e7: 0x000a, 0x34e8: 0x000a, 0x34e9: 0x000a,
- 0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a,
- 0x34f0: 0x000a, 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a,
- 0x34f6: 0x000a,
+ 0x34ea: 0x000a, 0x34eb: 0x000a, 0x34ec: 0x000a, 0x34ed: 0x000a, 0x34ee: 0x000a,
+ 0x34f1: 0x000a, 0x34f2: 0x000a, 0x34f3: 0x000a, 0x34f4: 0x000a, 0x34f5: 0x000a,
+ 0x34f6: 0x000a, 0x34f7: 0x000a, 0x34f8: 0x000a, 0x34f9: 0x000a, 0x34fa: 0x000a, 0x34fb: 0x000a,
+ 0x34fc: 0x000a, 0x34fd: 0x000a, 0x34fe: 0x000a, 0x34ff: 0x000a,
// Block 0xd4, offset 0x3500
- 0x3500: 0x000a, 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a,
+ 0x3501: 0x000a, 0x3502: 0x000a, 0x3503: 0x000a, 0x3504: 0x000a, 0x3505: 0x000a,
0x3506: 0x000a, 0x3507: 0x000a, 0x3508: 0x000a, 0x3509: 0x000a, 0x350a: 0x000a, 0x350b: 0x000a,
- 0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3510: 0x000a, 0x3511: 0x000a,
- 0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a,
+ 0x350c: 0x000a, 0x350d: 0x000a, 0x350e: 0x000a, 0x350f: 0x000a, 0x3511: 0x000a,
+ 0x3512: 0x000a, 0x3513: 0x000a, 0x3514: 0x000a, 0x3515: 0x000a, 0x3516: 0x000a, 0x3517: 0x000a,
+ 0x3518: 0x000a, 0x3519: 0x000a, 0x351a: 0x000a, 0x351b: 0x000a, 0x351c: 0x000a, 0x351d: 0x000a,
+ 0x351e: 0x000a, 0x351f: 0x000a, 0x3520: 0x000a, 0x3521: 0x000a, 0x3522: 0x000a, 0x3523: 0x000a,
+ 0x3524: 0x000a, 0x3525: 0x000a, 0x3526: 0x000a, 0x3527: 0x000a, 0x3528: 0x000a, 0x3529: 0x000a,
+ 0x352a: 0x000a, 0x352b: 0x000a, 0x352c: 0x000a, 0x352d: 0x000a, 0x352e: 0x000a, 0x352f: 0x000a,
+ 0x3530: 0x000a, 0x3531: 0x000a, 0x3532: 0x000a, 0x3533: 0x000a, 0x3534: 0x000a, 0x3535: 0x000a,
// Block 0xd5, offset 0x3540
- 0x3540: 0x000a, 0x3541: 0x000a, 0x3542: 0x000a, 0x3543: 0x000a, 0x3544: 0x000a, 0x3545: 0x000a,
- 0x3546: 0x000a, 0x3547: 0x000a, 0x3548: 0x000a, 0x3549: 0x000a, 0x354a: 0x000a, 0x354b: 0x000a,
- 0x3550: 0x000a, 0x3551: 0x000a,
- 0x3552: 0x000a, 0x3553: 0x000a, 0x3554: 0x000a, 0x3555: 0x000a, 0x3556: 0x000a, 0x3557: 0x000a,
- 0x3558: 0x000a, 0x3559: 0x000a, 0x355a: 0x000a, 0x355b: 0x000a, 0x355c: 0x000a, 0x355d: 0x000a,
- 0x355e: 0x000a, 0x355f: 0x000a, 0x3560: 0x000a, 0x3561: 0x000a, 0x3562: 0x000a, 0x3563: 0x000a,
- 0x3564: 0x000a, 0x3565: 0x000a, 0x3566: 0x000a, 0x3567: 0x000a, 0x3568: 0x000a, 0x3569: 0x000a,
- 0x356a: 0x000a, 0x356b: 0x000a, 0x356c: 0x000a, 0x356d: 0x000a, 0x356e: 0x000a, 0x356f: 0x000a,
- 0x3570: 0x000a, 0x3571: 0x000a, 0x3572: 0x000a, 0x3573: 0x000a, 0x3574: 0x000a, 0x3575: 0x000a,
- 0x3576: 0x000a, 0x3577: 0x000a, 0x3578: 0x000a, 0x3579: 0x000a, 0x357a: 0x000a, 0x357b: 0x000a,
- 0x357c: 0x000a, 0x357d: 0x000a, 0x357e: 0x000a, 0x357f: 0x000a,
+ 0x3540: 0x0002, 0x3541: 0x0002, 0x3542: 0x0002, 0x3543: 0x0002, 0x3544: 0x0002, 0x3545: 0x0002,
+ 0x3546: 0x0002, 0x3547: 0x0002, 0x3548: 0x0002, 0x3549: 0x0002, 0x354a: 0x0002, 0x354b: 0x000a,
+ 0x354c: 0x000a,
// Block 0xd6, offset 0x3580
- 0x3580: 0x000a, 0x3581: 0x000a, 0x3582: 0x000a, 0x3583: 0x000a, 0x3584: 0x000a, 0x3585: 0x000a,
- 0x3586: 0x000a, 0x3587: 0x000a,
- 0x3590: 0x000a, 0x3591: 0x000a,
- 0x3592: 0x000a, 0x3593: 0x000a, 0x3594: 0x000a, 0x3595: 0x000a, 0x3596: 0x000a, 0x3597: 0x000a,
- 0x3598: 0x000a, 0x3599: 0x000a,
- 0x35a0: 0x000a, 0x35a1: 0x000a, 0x35a2: 0x000a, 0x35a3: 0x000a,
- 0x35a4: 0x000a, 0x35a5: 0x000a, 0x35a6: 0x000a, 0x35a7: 0x000a, 0x35a8: 0x000a, 0x35a9: 0x000a,
- 0x35aa: 0x000a, 0x35ab: 0x000a, 0x35ac: 0x000a, 0x35ad: 0x000a, 0x35ae: 0x000a, 0x35af: 0x000a,
- 0x35b0: 0x000a, 0x35b1: 0x000a, 0x35b2: 0x000a, 0x35b3: 0x000a, 0x35b4: 0x000a, 0x35b5: 0x000a,
- 0x35b6: 0x000a, 0x35b7: 0x000a, 0x35b8: 0x000a, 0x35b9: 0x000a, 0x35ba: 0x000a, 0x35bb: 0x000a,
- 0x35bc: 0x000a, 0x35bd: 0x000a, 0x35be: 0x000a, 0x35bf: 0x000a,
+ 0x35aa: 0x000a, 0x35ab: 0x000a,
// Block 0xd7, offset 0x35c0
- 0x35c0: 0x000a, 0x35c1: 0x000a, 0x35c2: 0x000a, 0x35c3: 0x000a, 0x35c4: 0x000a, 0x35c5: 0x000a,
- 0x35c6: 0x000a, 0x35c7: 0x000a,
- 0x35d0: 0x000a, 0x35d1: 0x000a,
- 0x35d2: 0x000a, 0x35d3: 0x000a, 0x35d4: 0x000a, 0x35d5: 0x000a, 0x35d6: 0x000a, 0x35d7: 0x000a,
- 0x35d8: 0x000a, 0x35d9: 0x000a, 0x35da: 0x000a, 0x35db: 0x000a, 0x35dc: 0x000a, 0x35dd: 0x000a,
- 0x35de: 0x000a, 0x35df: 0x000a, 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a,
- 0x35e4: 0x000a, 0x35e5: 0x000a, 0x35e6: 0x000a, 0x35e7: 0x000a, 0x35e8: 0x000a, 0x35e9: 0x000a,
- 0x35ea: 0x000a, 0x35eb: 0x000a, 0x35ec: 0x000a, 0x35ed: 0x000a,
+ 0x35e0: 0x000a, 0x35e1: 0x000a, 0x35e2: 0x000a, 0x35e3: 0x000a,
+ 0x35e4: 0x000a, 0x35e5: 0x000a,
// Block 0xd8, offset 0x3600
- 0x3610: 0x000a, 0x3611: 0x000a,
- 0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a, 0x3615: 0x000a, 0x3616: 0x000a, 0x3617: 0x000a,
- 0x3618: 0x000a, 0x3619: 0x000a, 0x361a: 0x000a, 0x361b: 0x000a, 0x361c: 0x000a, 0x361d: 0x000a,
- 0x361e: 0x000a, 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a,
- 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a,
- 0x3630: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a,
- 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a, 0x3639: 0x000a, 0x363a: 0x000a, 0x363b: 0x000a,
- 0x363c: 0x000a, 0x363d: 0x000a, 0x363e: 0x000a,
+ 0x3600: 0x000a, 0x3601: 0x000a, 0x3602: 0x000a, 0x3603: 0x000a, 0x3604: 0x000a, 0x3605: 0x000a,
+ 0x3606: 0x000a, 0x3607: 0x000a, 0x3608: 0x000a, 0x3609: 0x000a, 0x360a: 0x000a, 0x360b: 0x000a,
+ 0x360c: 0x000a, 0x360d: 0x000a, 0x360e: 0x000a, 0x360f: 0x000a, 0x3610: 0x000a, 0x3611: 0x000a,
+ 0x3612: 0x000a, 0x3613: 0x000a, 0x3614: 0x000a,
+ 0x3620: 0x000a, 0x3621: 0x000a, 0x3622: 0x000a, 0x3623: 0x000a,
+ 0x3624: 0x000a, 0x3625: 0x000a, 0x3626: 0x000a, 0x3627: 0x000a, 0x3628: 0x000a, 0x3629: 0x000a,
+ 0x362a: 0x000a, 0x362b: 0x000a, 0x362c: 0x000a,
+ 0x3630: 0x000a, 0x3631: 0x000a, 0x3632: 0x000a, 0x3633: 0x000a, 0x3634: 0x000a, 0x3635: 0x000a,
+ 0x3636: 0x000a, 0x3637: 0x000a, 0x3638: 0x000a,
// Block 0xd9, offset 0x3640
0x3640: 0x000a, 0x3641: 0x000a, 0x3642: 0x000a, 0x3643: 0x000a, 0x3644: 0x000a, 0x3645: 0x000a,
0x3646: 0x000a, 0x3647: 0x000a, 0x3648: 0x000a, 0x3649: 0x000a, 0x364a: 0x000a, 0x364b: 0x000a,
- 0x3650: 0x000a, 0x3651: 0x000a,
- 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a, 0x3655: 0x000a, 0x3656: 0x000a, 0x3657: 0x000a,
- 0x3658: 0x000a, 0x3659: 0x000a, 0x365a: 0x000a, 0x365b: 0x000a, 0x365c: 0x000a, 0x365d: 0x000a,
- 0x365e: 0x000a,
+ 0x364c: 0x000a, 0x364d: 0x000a, 0x364e: 0x000a, 0x364f: 0x000a, 0x3650: 0x000a, 0x3651: 0x000a,
+ 0x3652: 0x000a, 0x3653: 0x000a, 0x3654: 0x000a,
// Block 0xda, offset 0x3680
0x3680: 0x000a, 0x3681: 0x000a, 0x3682: 0x000a, 0x3683: 0x000a, 0x3684: 0x000a, 0x3685: 0x000a,
0x3686: 0x000a, 0x3687: 0x000a, 0x3688: 0x000a, 0x3689: 0x000a, 0x368a: 0x000a, 0x368b: 0x000a,
- 0x368c: 0x000a, 0x368d: 0x000a, 0x368e: 0x000a, 0x368f: 0x000a, 0x3690: 0x000a, 0x3691: 0x000a,
+ 0x3690: 0x000a, 0x3691: 0x000a,
+ 0x3692: 0x000a, 0x3693: 0x000a, 0x3694: 0x000a, 0x3695: 0x000a, 0x3696: 0x000a, 0x3697: 0x000a,
+ 0x3698: 0x000a, 0x3699: 0x000a, 0x369a: 0x000a, 0x369b: 0x000a, 0x369c: 0x000a, 0x369d: 0x000a,
+ 0x369e: 0x000a, 0x369f: 0x000a, 0x36a0: 0x000a, 0x36a1: 0x000a, 0x36a2: 0x000a, 0x36a3: 0x000a,
+ 0x36a4: 0x000a, 0x36a5: 0x000a, 0x36a6: 0x000a, 0x36a7: 0x000a, 0x36a8: 0x000a, 0x36a9: 0x000a,
+ 0x36aa: 0x000a, 0x36ab: 0x000a, 0x36ac: 0x000a, 0x36ad: 0x000a, 0x36ae: 0x000a, 0x36af: 0x000a,
+ 0x36b0: 0x000a, 0x36b1: 0x000a, 0x36b2: 0x000a, 0x36b3: 0x000a, 0x36b4: 0x000a, 0x36b5: 0x000a,
+ 0x36b6: 0x000a, 0x36b7: 0x000a, 0x36b8: 0x000a, 0x36b9: 0x000a, 0x36ba: 0x000a, 0x36bb: 0x000a,
+ 0x36bc: 0x000a, 0x36bd: 0x000a, 0x36be: 0x000a, 0x36bf: 0x000a,
// Block 0xdb, offset 0x36c0
- 0x36fe: 0x000b, 0x36ff: 0x000b,
+ 0x36c0: 0x000a, 0x36c1: 0x000a, 0x36c2: 0x000a, 0x36c3: 0x000a, 0x36c4: 0x000a, 0x36c5: 0x000a,
+ 0x36c6: 0x000a, 0x36c7: 0x000a,
+ 0x36d0: 0x000a, 0x36d1: 0x000a,
+ 0x36d2: 0x000a, 0x36d3: 0x000a, 0x36d4: 0x000a, 0x36d5: 0x000a, 0x36d6: 0x000a, 0x36d7: 0x000a,
+ 0x36d8: 0x000a, 0x36d9: 0x000a,
+ 0x36e0: 0x000a, 0x36e1: 0x000a, 0x36e2: 0x000a, 0x36e3: 0x000a,
+ 0x36e4: 0x000a, 0x36e5: 0x000a, 0x36e6: 0x000a, 0x36e7: 0x000a, 0x36e8: 0x000a, 0x36e9: 0x000a,
+ 0x36ea: 0x000a, 0x36eb: 0x000a, 0x36ec: 0x000a, 0x36ed: 0x000a, 0x36ee: 0x000a, 0x36ef: 0x000a,
+ 0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000a, 0x36f3: 0x000a, 0x36f4: 0x000a, 0x36f5: 0x000a,
+ 0x36f6: 0x000a, 0x36f7: 0x000a, 0x36f8: 0x000a, 0x36f9: 0x000a, 0x36fa: 0x000a, 0x36fb: 0x000a,
+ 0x36fc: 0x000a, 0x36fd: 0x000a, 0x36fe: 0x000a, 0x36ff: 0x000a,
// Block 0xdc, offset 0x3700
- 0x3700: 0x000b, 0x3701: 0x000b, 0x3702: 0x000b, 0x3703: 0x000b, 0x3704: 0x000b, 0x3705: 0x000b,
- 0x3706: 0x000b, 0x3707: 0x000b, 0x3708: 0x000b, 0x3709: 0x000b, 0x370a: 0x000b, 0x370b: 0x000b,
- 0x370c: 0x000b, 0x370d: 0x000b, 0x370e: 0x000b, 0x370f: 0x000b, 0x3710: 0x000b, 0x3711: 0x000b,
- 0x3712: 0x000b, 0x3713: 0x000b, 0x3714: 0x000b, 0x3715: 0x000b, 0x3716: 0x000b, 0x3717: 0x000b,
- 0x3718: 0x000b, 0x3719: 0x000b, 0x371a: 0x000b, 0x371b: 0x000b, 0x371c: 0x000b, 0x371d: 0x000b,
- 0x371e: 0x000b, 0x371f: 0x000b, 0x3720: 0x000b, 0x3721: 0x000b, 0x3722: 0x000b, 0x3723: 0x000b,
- 0x3724: 0x000b, 0x3725: 0x000b, 0x3726: 0x000b, 0x3727: 0x000b, 0x3728: 0x000b, 0x3729: 0x000b,
- 0x372a: 0x000b, 0x372b: 0x000b, 0x372c: 0x000b, 0x372d: 0x000b, 0x372e: 0x000b, 0x372f: 0x000b,
- 0x3730: 0x000b, 0x3731: 0x000b, 0x3732: 0x000b, 0x3733: 0x000b, 0x3734: 0x000b, 0x3735: 0x000b,
- 0x3736: 0x000b, 0x3737: 0x000b, 0x3738: 0x000b, 0x3739: 0x000b, 0x373a: 0x000b, 0x373b: 0x000b,
- 0x373c: 0x000b, 0x373d: 0x000b, 0x373e: 0x000b, 0x373f: 0x000b,
+ 0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a,
+ 0x3706: 0x000a, 0x3707: 0x000a,
+ 0x3710: 0x000a, 0x3711: 0x000a,
+ 0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a,
+ 0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a,
+ 0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a,
+ 0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a,
+ 0x372a: 0x000a, 0x372b: 0x000a, 0x372c: 0x000a, 0x372d: 0x000a,
// Block 0xdd, offset 0x3740
- 0x3740: 0x000c, 0x3741: 0x000c, 0x3742: 0x000c, 0x3743: 0x000c, 0x3744: 0x000c, 0x3745: 0x000c,
- 0x3746: 0x000c, 0x3747: 0x000c, 0x3748: 0x000c, 0x3749: 0x000c, 0x374a: 0x000c, 0x374b: 0x000c,
- 0x374c: 0x000c, 0x374d: 0x000c, 0x374e: 0x000c, 0x374f: 0x000c, 0x3750: 0x000c, 0x3751: 0x000c,
- 0x3752: 0x000c, 0x3753: 0x000c, 0x3754: 0x000c, 0x3755: 0x000c, 0x3756: 0x000c, 0x3757: 0x000c,
- 0x3758: 0x000c, 0x3759: 0x000c, 0x375a: 0x000c, 0x375b: 0x000c, 0x375c: 0x000c, 0x375d: 0x000c,
- 0x375e: 0x000c, 0x375f: 0x000c, 0x3760: 0x000c, 0x3761: 0x000c, 0x3762: 0x000c, 0x3763: 0x000c,
- 0x3764: 0x000c, 0x3765: 0x000c, 0x3766: 0x000c, 0x3767: 0x000c, 0x3768: 0x000c, 0x3769: 0x000c,
- 0x376a: 0x000c, 0x376b: 0x000c, 0x376c: 0x000c, 0x376d: 0x000c, 0x376e: 0x000c, 0x376f: 0x000c,
- 0x3770: 0x000b, 0x3771: 0x000b, 0x3772: 0x000b, 0x3773: 0x000b, 0x3774: 0x000b, 0x3775: 0x000b,
- 0x3776: 0x000b, 0x3777: 0x000b, 0x3778: 0x000b, 0x3779: 0x000b, 0x377a: 0x000b, 0x377b: 0x000b,
- 0x377c: 0x000b, 0x377d: 0x000b, 0x377e: 0x000b, 0x377f: 0x000b,
+ 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a,
+ 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a,
+ 0x3750: 0x000a, 0x3751: 0x000a,
+ 0x3752: 0x000a, 0x3753: 0x000a, 0x3754: 0x000a, 0x3755: 0x000a, 0x3756: 0x000a, 0x3757: 0x000a,
+ 0x3758: 0x000a, 0x3759: 0x000a, 0x375a: 0x000a, 0x375b: 0x000a, 0x375c: 0x000a, 0x375d: 0x000a,
+ 0x375e: 0x000a, 0x375f: 0x000a, 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a,
+ 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a,
+ 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, 0x376f: 0x000a,
+ 0x3770: 0x000a, 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a,
+ 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a,
+ 0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a,
+ // Block 0xde, offset 0x3780
+ 0x3780: 0x000a, 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a,
+ 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a,
+ 0x378c: 0x000a, 0x3790: 0x000a, 0x3791: 0x000a,
+ 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a,
+ 0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a,
+ 0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a,
+ 0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a,
+ 0x37aa: 0x000a, 0x37ab: 0x000a,
+ // Block 0xdf, offset 0x37c0
+ 0x37c0: 0x000a, 0x37c1: 0x000a, 0x37c2: 0x000a, 0x37c3: 0x000a, 0x37c4: 0x000a, 0x37c5: 0x000a,
+ 0x37c6: 0x000a, 0x37c7: 0x000a, 0x37c8: 0x000a, 0x37c9: 0x000a, 0x37ca: 0x000a, 0x37cb: 0x000a,
+ 0x37cc: 0x000a, 0x37cd: 0x000a, 0x37ce: 0x000a, 0x37cf: 0x000a, 0x37d0: 0x000a, 0x37d1: 0x000a,
+ 0x37d2: 0x000a, 0x37d3: 0x000a, 0x37d4: 0x000a, 0x37d5: 0x000a, 0x37d6: 0x000a, 0x37d7: 0x000a,
+ // Block 0xe0, offset 0x3800
+ 0x3800: 0x000a,
+ 0x3810: 0x000a, 0x3811: 0x000a,
+ 0x3812: 0x000a, 0x3813: 0x000a, 0x3814: 0x000a, 0x3815: 0x000a, 0x3816: 0x000a, 0x3817: 0x000a,
+ 0x3818: 0x000a, 0x3819: 0x000a, 0x381a: 0x000a, 0x381b: 0x000a, 0x381c: 0x000a, 0x381d: 0x000a,
+ 0x381e: 0x000a, 0x381f: 0x000a, 0x3820: 0x000a, 0x3821: 0x000a, 0x3822: 0x000a, 0x3823: 0x000a,
+ 0x3824: 0x000a, 0x3825: 0x000a, 0x3826: 0x000a,
+ // Block 0xe1, offset 0x3840
+ 0x387e: 0x000b, 0x387f: 0x000b,
+ // Block 0xe2, offset 0x3880
+ 0x3880: 0x000b, 0x3881: 0x000b, 0x3882: 0x000b, 0x3883: 0x000b, 0x3884: 0x000b, 0x3885: 0x000b,
+ 0x3886: 0x000b, 0x3887: 0x000b, 0x3888: 0x000b, 0x3889: 0x000b, 0x388a: 0x000b, 0x388b: 0x000b,
+ 0x388c: 0x000b, 0x388d: 0x000b, 0x388e: 0x000b, 0x388f: 0x000b, 0x3890: 0x000b, 0x3891: 0x000b,
+ 0x3892: 0x000b, 0x3893: 0x000b, 0x3894: 0x000b, 0x3895: 0x000b, 0x3896: 0x000b, 0x3897: 0x000b,
+ 0x3898: 0x000b, 0x3899: 0x000b, 0x389a: 0x000b, 0x389b: 0x000b, 0x389c: 0x000b, 0x389d: 0x000b,
+ 0x389e: 0x000b, 0x389f: 0x000b, 0x38a0: 0x000b, 0x38a1: 0x000b, 0x38a2: 0x000b, 0x38a3: 0x000b,
+ 0x38a4: 0x000b, 0x38a5: 0x000b, 0x38a6: 0x000b, 0x38a7: 0x000b, 0x38a8: 0x000b, 0x38a9: 0x000b,
+ 0x38aa: 0x000b, 0x38ab: 0x000b, 0x38ac: 0x000b, 0x38ad: 0x000b, 0x38ae: 0x000b, 0x38af: 0x000b,
+ 0x38b0: 0x000b, 0x38b1: 0x000b, 0x38b2: 0x000b, 0x38b3: 0x000b, 0x38b4: 0x000b, 0x38b5: 0x000b,
+ 0x38b6: 0x000b, 0x38b7: 0x000b, 0x38b8: 0x000b, 0x38b9: 0x000b, 0x38ba: 0x000b, 0x38bb: 0x000b,
+ 0x38bc: 0x000b, 0x38bd: 0x000b, 0x38be: 0x000b, 0x38bf: 0x000b,
+ // Block 0xe3, offset 0x38c0
+ 0x38c0: 0x000c, 0x38c1: 0x000c, 0x38c2: 0x000c, 0x38c3: 0x000c, 0x38c4: 0x000c, 0x38c5: 0x000c,
+ 0x38c6: 0x000c, 0x38c7: 0x000c, 0x38c8: 0x000c, 0x38c9: 0x000c, 0x38ca: 0x000c, 0x38cb: 0x000c,
+ 0x38cc: 0x000c, 0x38cd: 0x000c, 0x38ce: 0x000c, 0x38cf: 0x000c, 0x38d0: 0x000c, 0x38d1: 0x000c,
+ 0x38d2: 0x000c, 0x38d3: 0x000c, 0x38d4: 0x000c, 0x38d5: 0x000c, 0x38d6: 0x000c, 0x38d7: 0x000c,
+ 0x38d8: 0x000c, 0x38d9: 0x000c, 0x38da: 0x000c, 0x38db: 0x000c, 0x38dc: 0x000c, 0x38dd: 0x000c,
+ 0x38de: 0x000c, 0x38df: 0x000c, 0x38e0: 0x000c, 0x38e1: 0x000c, 0x38e2: 0x000c, 0x38e3: 0x000c,
+ 0x38e4: 0x000c, 0x38e5: 0x000c, 0x38e6: 0x000c, 0x38e7: 0x000c, 0x38e8: 0x000c, 0x38e9: 0x000c,
+ 0x38ea: 0x000c, 0x38eb: 0x000c, 0x38ec: 0x000c, 0x38ed: 0x000c, 0x38ee: 0x000c, 0x38ef: 0x000c,
+ 0x38f0: 0x000b, 0x38f1: 0x000b, 0x38f2: 0x000b, 0x38f3: 0x000b, 0x38f4: 0x000b, 0x38f5: 0x000b,
+ 0x38f6: 0x000b, 0x38f7: 0x000b, 0x38f8: 0x000b, 0x38f9: 0x000b, 0x38fa: 0x000b, 0x38fb: 0x000b,
+ 0x38fc: 0x000b, 0x38fd: 0x000b, 0x38fe: 0x000b, 0x38ff: 0x000b,
}
// bidiIndex: 24 blocks, 1536 entries, 1536 bytes
@@ -1688,65 +1721,66 @@ var bidiIndex = [1536]uint8{
0x17e: 0x4b, 0x17f: 0x4c,
// Block 0x6, offset 0x180
0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54,
- 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x59,
- 0x190: 0x5a, 0x191: 0x5b, 0x192: 0x5c, 0x193: 0x5d, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54,
- 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5e, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5f, 0x19e: 0x54, 0x19f: 0x60,
- 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x61, 0x1a7: 0x62,
- 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x63, 0x1ae: 0x64, 0x1af: 0x65,
- 0x1b3: 0x66, 0x1b5: 0x67, 0x1b7: 0x68,
- 0x1b8: 0x69, 0x1b9: 0x6a, 0x1ba: 0x6b, 0x1bb: 0x6c, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6d,
+ 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54,
+ 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54,
+ 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f,
+ 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61,
+ 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x64,
+ 0x1b3: 0x65, 0x1b5: 0x66, 0x1b7: 0x67,
+ 0x1b8: 0x68, 0x1b9: 0x69, 0x1ba: 0x6a, 0x1bb: 0x6b, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6c,
// Block 0x7, offset 0x1c0
- 0x1c0: 0x6e, 0x1c2: 0x6f, 0x1c3: 0x70, 0x1c7: 0x71,
- 0x1c8: 0x72, 0x1c9: 0x73, 0x1ca: 0x74, 0x1cb: 0x75, 0x1cd: 0x76, 0x1cf: 0x77,
+ 0x1c0: 0x6d, 0x1c2: 0x6e, 0x1c3: 0x6f, 0x1c7: 0x70,
+ 0x1c8: 0x71, 0x1c9: 0x72, 0x1ca: 0x73, 0x1cb: 0x74, 0x1cd: 0x75, 0x1cf: 0x76,
// Block 0x8, offset 0x200
0x237: 0x54,
// Block 0x9, offset 0x240
- 0x252: 0x78, 0x253: 0x79,
- 0x258: 0x7a, 0x259: 0x7b, 0x25a: 0x7c, 0x25b: 0x7d, 0x25c: 0x7e, 0x25e: 0x7f,
- 0x260: 0x80, 0x261: 0x81, 0x263: 0x82, 0x264: 0x83, 0x265: 0x84, 0x266: 0x85, 0x267: 0x86,
- 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26f: 0x8b,
+ 0x252: 0x77, 0x253: 0x78,
+ 0x258: 0x79, 0x259: 0x7a, 0x25a: 0x7b, 0x25b: 0x7c, 0x25c: 0x7d, 0x25e: 0x7e,
+ 0x260: 0x7f, 0x261: 0x80, 0x263: 0x81, 0x264: 0x82, 0x265: 0x83, 0x266: 0x84, 0x267: 0x85,
+ 0x268: 0x86, 0x269: 0x87, 0x26a: 0x88, 0x26b: 0x89, 0x26f: 0x8a,
// Block 0xa, offset 0x280
- 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x0e, 0x2af: 0x0e,
- 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8e, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8f,
- 0x2b8: 0x90, 0x2b9: 0x91, 0x2ba: 0x0e, 0x2bb: 0x92, 0x2bc: 0x93, 0x2bd: 0x94, 0x2bf: 0x95,
+ 0x2ac: 0x8b, 0x2ad: 0x8c, 0x2ae: 0x0e, 0x2af: 0x0e,
+ 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8d, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8e,
+ 0x2b8: 0x8f, 0x2b9: 0x90, 0x2ba: 0x0e, 0x2bb: 0x91, 0x2bc: 0x92, 0x2bd: 0x93, 0x2bf: 0x94,
// Block 0xb, offset 0x2c0
- 0x2c4: 0x96, 0x2c5: 0x54, 0x2c6: 0x97, 0x2c7: 0x98,
- 0x2cb: 0x99, 0x2cd: 0x9a,
- 0x2e0: 0x9b, 0x2e1: 0x9b, 0x2e2: 0x9b, 0x2e3: 0x9b, 0x2e4: 0x9c, 0x2e5: 0x9b, 0x2e6: 0x9b, 0x2e7: 0x9b,
- 0x2e8: 0x9d, 0x2e9: 0x9b, 0x2ea: 0x9b, 0x2eb: 0x9e, 0x2ec: 0x9f, 0x2ed: 0x9b, 0x2ee: 0x9b, 0x2ef: 0x9b,
- 0x2f0: 0x9b, 0x2f1: 0x9b, 0x2f2: 0x9b, 0x2f3: 0x9b, 0x2f4: 0x9b, 0x2f5: 0x9b, 0x2f6: 0x9b, 0x2f7: 0x9b,
- 0x2f8: 0x9b, 0x2f9: 0xa0, 0x2fa: 0x9b, 0x2fb: 0x9b, 0x2fc: 0x9b, 0x2fd: 0x9b, 0x2fe: 0x9b, 0x2ff: 0x9b,
+ 0x2c4: 0x95, 0x2c5: 0x54, 0x2c6: 0x96, 0x2c7: 0x97,
+ 0x2cb: 0x98, 0x2cd: 0x99,
+ 0x2e0: 0x9a, 0x2e1: 0x9a, 0x2e2: 0x9a, 0x2e3: 0x9a, 0x2e4: 0x9b, 0x2e5: 0x9a, 0x2e6: 0x9a, 0x2e7: 0x9a,
+ 0x2e8: 0x9c, 0x2e9: 0x9a, 0x2ea: 0x9a, 0x2eb: 0x9d, 0x2ec: 0x9e, 0x2ed: 0x9a, 0x2ee: 0x9a, 0x2ef: 0x9a,
+ 0x2f0: 0x9a, 0x2f1: 0x9a, 0x2f2: 0x9a, 0x2f3: 0x9a, 0x2f4: 0x9a, 0x2f5: 0x9a, 0x2f6: 0x9a, 0x2f7: 0x9a,
+ 0x2f8: 0x9a, 0x2f9: 0x9f, 0x2fa: 0x9a, 0x2fb: 0x9a, 0x2fc: 0x9a, 0x2fd: 0x9a, 0x2fe: 0x9a, 0x2ff: 0x9a,
// Block 0xc, offset 0x300
- 0x300: 0xa1, 0x301: 0xa2, 0x302: 0xa3, 0x304: 0xa4, 0x305: 0xa5, 0x306: 0xa6, 0x307: 0xa7,
- 0x308: 0xa8, 0x30b: 0xa9, 0x30c: 0xaa, 0x30d: 0xab,
- 0x310: 0xac, 0x311: 0xad, 0x312: 0xae, 0x313: 0xaf, 0x316: 0xb0, 0x317: 0xb1,
- 0x318: 0xb2, 0x319: 0xb3, 0x31a: 0xb4, 0x31c: 0xb5,
- 0x330: 0xb6, 0x332: 0xb7,
+ 0x300: 0xa0, 0x301: 0xa1, 0x302: 0xa2, 0x304: 0xa3, 0x305: 0xa4, 0x306: 0xa5, 0x307: 0xa6,
+ 0x308: 0xa7, 0x30b: 0xa8, 0x30c: 0xa9, 0x30d: 0xaa,
+ 0x310: 0xab, 0x311: 0xac, 0x312: 0xad, 0x313: 0xae, 0x316: 0xaf, 0x317: 0xb0,
+ 0x318: 0xb1, 0x319: 0xb2, 0x31a: 0xb3, 0x31c: 0xb4,
+ 0x328: 0xb5, 0x329: 0xb6, 0x32a: 0xb7,
+ 0x330: 0xb8, 0x332: 0xb9, 0x334: 0xba, 0x335: 0xbb,
// Block 0xd, offset 0x340
- 0x36b: 0xb8, 0x36c: 0xb9,
- 0x37e: 0xba,
+ 0x36b: 0xbc, 0x36c: 0xbd,
+ 0x37e: 0xbe,
// Block 0xe, offset 0x380
- 0x3b2: 0xbb,
+ 0x3b2: 0xbf,
// Block 0xf, offset 0x3c0
- 0x3c5: 0xbc, 0x3c6: 0xbd,
- 0x3c8: 0x54, 0x3c9: 0xbe, 0x3cc: 0x54, 0x3cd: 0xbf,
- 0x3db: 0xc0, 0x3dc: 0xc1, 0x3dd: 0xc2, 0x3de: 0xc3, 0x3df: 0xc4,
- 0x3e8: 0xc5, 0x3e9: 0xc6, 0x3ea: 0xc7,
+ 0x3c5: 0xc0, 0x3c6: 0xc1,
+ 0x3c8: 0x54, 0x3c9: 0xc2, 0x3cc: 0x54, 0x3cd: 0xc3,
+ 0x3db: 0xc4, 0x3dc: 0xc5, 0x3dd: 0xc6, 0x3de: 0xc7, 0x3df: 0xc8,
+ 0x3e8: 0xc9, 0x3e9: 0xca, 0x3ea: 0xcb,
// Block 0x10, offset 0x400
- 0x400: 0xc8,
- 0x420: 0x9b, 0x421: 0x9b, 0x422: 0x9b, 0x423: 0xc9, 0x424: 0x9b, 0x425: 0xca, 0x426: 0x9b, 0x427: 0x9b,
- 0x428: 0x9b, 0x429: 0x9b, 0x42a: 0x9b, 0x42b: 0x9b, 0x42c: 0x9b, 0x42d: 0x9b, 0x42e: 0x9b, 0x42f: 0x9b,
- 0x430: 0x9b, 0x431: 0x9b, 0x432: 0x9b, 0x433: 0x9b, 0x434: 0x9b, 0x435: 0x9b, 0x436: 0x9b, 0x437: 0x9b,
- 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcb, 0x43c: 0x9b, 0x43d: 0x9b, 0x43e: 0x9b, 0x43f: 0x9b,
+ 0x400: 0xcc,
+ 0x420: 0x9a, 0x421: 0x9a, 0x422: 0x9a, 0x423: 0xcd, 0x424: 0x9a, 0x425: 0xce, 0x426: 0x9a, 0x427: 0x9a,
+ 0x428: 0x9a, 0x429: 0x9a, 0x42a: 0x9a, 0x42b: 0x9a, 0x42c: 0x9a, 0x42d: 0x9a, 0x42e: 0x9a, 0x42f: 0x9a,
+ 0x430: 0x9a, 0x431: 0x9a, 0x432: 0x9a, 0x433: 0x9a, 0x434: 0x9a, 0x435: 0x9a, 0x436: 0x9a, 0x437: 0x9a,
+ 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xcf, 0x43c: 0x9a, 0x43d: 0x9a, 0x43e: 0x9a, 0x43f: 0x9a,
// Block 0x11, offset 0x440
- 0x440: 0xcc, 0x441: 0x54, 0x442: 0xcd, 0x443: 0xce, 0x444: 0xcf, 0x445: 0xd0,
- 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54,
+ 0x440: 0xd0, 0x441: 0x54, 0x442: 0xd1, 0x443: 0xd2, 0x444: 0xd3, 0x445: 0xd4,
+ 0x449: 0xd5, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54,
0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54,
- 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd1, 0x45c: 0x54, 0x45d: 0x6c, 0x45e: 0x54, 0x45f: 0xd2,
- 0x460: 0xd3, 0x461: 0xd4, 0x462: 0xd5, 0x464: 0xd6, 0x465: 0xd7, 0x466: 0xd8, 0x467: 0x36,
- 0x47f: 0xd9,
+ 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xd6, 0x45c: 0x54, 0x45d: 0x6b, 0x45e: 0x54, 0x45f: 0xd7,
+ 0x460: 0xd8, 0x461: 0xd9, 0x462: 0xda, 0x464: 0xdb, 0x465: 0xdc, 0x466: 0xdd, 0x467: 0xde,
+ 0x47f: 0xdf,
// Block 0x12, offset 0x480
- 0x4bf: 0xd9,
+ 0x4bf: 0xdf,
// Block 0x13, offset 0x4c0
0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b,
0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f,
@@ -1758,14 +1792,14 @@ var bidiIndex = [1536]uint8{
0x52f: 0x10,
0x53f: 0x10,
// Block 0x15, offset 0x540
- 0x540: 0xda, 0x541: 0xda, 0x542: 0xda, 0x543: 0xda, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xdb,
- 0x548: 0xda, 0x549: 0xda, 0x54a: 0xda, 0x54b: 0xda, 0x54c: 0xda, 0x54d: 0xda, 0x54e: 0xda, 0x54f: 0xda,
- 0x550: 0xda, 0x551: 0xda, 0x552: 0xda, 0x553: 0xda, 0x554: 0xda, 0x555: 0xda, 0x556: 0xda, 0x557: 0xda,
- 0x558: 0xda, 0x559: 0xda, 0x55a: 0xda, 0x55b: 0xda, 0x55c: 0xda, 0x55d: 0xda, 0x55e: 0xda, 0x55f: 0xda,
- 0x560: 0xda, 0x561: 0xda, 0x562: 0xda, 0x563: 0xda, 0x564: 0xda, 0x565: 0xda, 0x566: 0xda, 0x567: 0xda,
- 0x568: 0xda, 0x569: 0xda, 0x56a: 0xda, 0x56b: 0xda, 0x56c: 0xda, 0x56d: 0xda, 0x56e: 0xda, 0x56f: 0xda,
- 0x570: 0xda, 0x571: 0xda, 0x572: 0xda, 0x573: 0xda, 0x574: 0xda, 0x575: 0xda, 0x576: 0xda, 0x577: 0xda,
- 0x578: 0xda, 0x579: 0xda, 0x57a: 0xda, 0x57b: 0xda, 0x57c: 0xda, 0x57d: 0xda, 0x57e: 0xda, 0x57f: 0xda,
+ 0x540: 0xe0, 0x541: 0xe0, 0x542: 0xe0, 0x543: 0xe0, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xe1,
+ 0x548: 0xe0, 0x549: 0xe0, 0x54a: 0xe0, 0x54b: 0xe0, 0x54c: 0xe0, 0x54d: 0xe0, 0x54e: 0xe0, 0x54f: 0xe0,
+ 0x550: 0xe0, 0x551: 0xe0, 0x552: 0xe0, 0x553: 0xe0, 0x554: 0xe0, 0x555: 0xe0, 0x556: 0xe0, 0x557: 0xe0,
+ 0x558: 0xe0, 0x559: 0xe0, 0x55a: 0xe0, 0x55b: 0xe0, 0x55c: 0xe0, 0x55d: 0xe0, 0x55e: 0xe0, 0x55f: 0xe0,
+ 0x560: 0xe0, 0x561: 0xe0, 0x562: 0xe0, 0x563: 0xe0, 0x564: 0xe0, 0x565: 0xe0, 0x566: 0xe0, 0x567: 0xe0,
+ 0x568: 0xe0, 0x569: 0xe0, 0x56a: 0xe0, 0x56b: 0xe0, 0x56c: 0xe0, 0x56d: 0xe0, 0x56e: 0xe0, 0x56f: 0xe0,
+ 0x570: 0xe0, 0x571: 0xe0, 0x572: 0xe0, 0x573: 0xe0, 0x574: 0xe0, 0x575: 0xe0, 0x576: 0xe0, 0x577: 0xe0,
+ 0x578: 0xe0, 0x579: 0xe0, 0x57a: 0xe0, 0x57b: 0xe0, 0x57c: 0xe0, 0x57d: 0xe0, 0x57e: 0xe0, 0x57f: 0xe0,
// Block 0x16, offset 0x580
0x58f: 0x10,
0x59f: 0x10,
@@ -1776,4 +1810,4 @@ var bidiIndex = [1536]uint8{
0x5cf: 0x10,
}
-// Total table size 15800 bytes (15KiB); checksum: F50EF68C
+// Total table size 16184 bytes (15KiB); checksum: F50EF68C
diff --git a/vendor/golang.org/x/text/unicode/norm/tables.go b/vendor/golang.org/x/text/unicode/norm/tables.go
index bf9ff8038..316b093c5 100644
--- a/vendor/golang.org/x/text/unicode/norm/tables.go
+++ b/vendor/golang.org/x/text/unicode/norm/tables.go
@@ -4,7 +4,7 @@ package norm
const (
// Version is the Unicode edition from which the tables are derived.
- Version = "9.0.0"
+ Version = "10.0.0"
// MaxTransformChunkSize indicates the maximum number of bytes that Transform
// may need to write atomically for any Form. Making a destination buffer at
@@ -2896,7 +2896,7 @@ func (t *nfcTrie) lookupStringUnsafe(s string) uint16 {
return 0
}
-// nfcTrie. Total size: 10332 bytes (10.09 KiB). Checksum: 51cc525b297fc970.
+// nfcTrie. Total size: 10442 bytes (10.20 KiB). Checksum: 4ba400a9d8208e03.
type nfcTrie struct{}
func newNfcTrie(i int) *nfcTrie {
@@ -2906,17 +2906,17 @@ func newNfcTrie(i int) *nfcTrie {
// lookupValue determines the type of block n and looks up the value for b.
func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 {
switch {
- case n < 44:
+ case n < 45:
return uint16(nfcValues[n<<6+uint32(b)])
default:
- n -= 44
+ n -= 45
return uint16(nfcSparse.lookup(n, b))
}
}
-// nfcValues: 46 blocks, 2944 entries, 5888 bytes
+// nfcValues: 47 blocks, 3008 entries, 6016 bytes
// The third block is the zero block.
-var nfcValues = [2944]uint16{
+var nfcValues = [3008]uint16{
// Block 0x0, offset 0x0
0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,
// Block 0x1, offset 0x40
@@ -3073,341 +3073,353 @@ var nfcValues = [2944]uint16{
0x3fa: 0xa000, 0x3fb: 0x2d56,
0x3fc: 0xa000, 0x3fd: 0x2d5e, 0x3fe: 0xa000, 0x3ff: 0xa000,
// Block 0x10, offset 0x400
- 0x400: 0x2f97, 0x401: 0x32a3, 0x402: 0x2fa1, 0x403: 0x32ad, 0x404: 0x2fa6, 0x405: 0x32b2,
- 0x406: 0x2fab, 0x407: 0x32b7, 0x408: 0x38cc, 0x409: 0x3a5b, 0x40a: 0x2fc4, 0x40b: 0x32d0,
- 0x40c: 0x2fce, 0x40d: 0x32da, 0x40e: 0x2fdd, 0x40f: 0x32e9, 0x410: 0x2fd3, 0x411: 0x32df,
- 0x412: 0x2fd8, 0x413: 0x32e4, 0x414: 0x38ef, 0x415: 0x3a7e, 0x416: 0x38f6, 0x417: 0x3a85,
- 0x418: 0x3019, 0x419: 0x3325, 0x41a: 0x301e, 0x41b: 0x332a, 0x41c: 0x3904, 0x41d: 0x3a93,
- 0x41e: 0x3023, 0x41f: 0x332f, 0x420: 0x3032, 0x421: 0x333e, 0x422: 0x3050, 0x423: 0x335c,
- 0x424: 0x305f, 0x425: 0x336b, 0x426: 0x3055, 0x427: 0x3361, 0x428: 0x3064, 0x429: 0x3370,
- 0x42a: 0x3069, 0x42b: 0x3375, 0x42c: 0x30af, 0x42d: 0x33bb, 0x42e: 0x390b, 0x42f: 0x3a9a,
- 0x430: 0x30b9, 0x431: 0x33ca, 0x432: 0x30c3, 0x433: 0x33d4, 0x434: 0x30cd, 0x435: 0x33de,
- 0x436: 0x46c4, 0x437: 0x4755, 0x438: 0x3912, 0x439: 0x3aa1, 0x43a: 0x30e6, 0x43b: 0x33f7,
- 0x43c: 0x30e1, 0x43d: 0x33f2, 0x43e: 0x30eb, 0x43f: 0x33fc,
+ 0x400: 0x8132, 0x401: 0x8132, 0x402: 0x812d, 0x403: 0x8132, 0x404: 0x8132, 0x405: 0x8132,
+ 0x406: 0x8132, 0x407: 0x8132, 0x408: 0x8132, 0x409: 0x8132, 0x40a: 0x812d, 0x40b: 0x8132,
+ 0x40c: 0x8132, 0x40d: 0x8135, 0x40e: 0x812a, 0x40f: 0x812d, 0x410: 0x8129, 0x411: 0x8132,
+ 0x412: 0x8132, 0x413: 0x8132, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132,
+ 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132,
+ 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x422: 0x8132, 0x423: 0x8132,
+ 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x8132, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x8132,
+ 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x8132, 0x42e: 0x8132, 0x42f: 0x8132,
+ 0x430: 0x8132, 0x431: 0x8132, 0x432: 0x8132, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132,
+ 0x436: 0x8133, 0x437: 0x8131, 0x438: 0x8131, 0x439: 0x812d, 0x43b: 0x8132,
+ 0x43c: 0x8134, 0x43d: 0x812d, 0x43e: 0x8132, 0x43f: 0x812d,
// Block 0x11, offset 0x440
- 0x440: 0x30f0, 0x441: 0x3401, 0x442: 0x30f5, 0x443: 0x3406, 0x444: 0x3109, 0x445: 0x341a,
- 0x446: 0x3113, 0x447: 0x3424, 0x448: 0x3122, 0x449: 0x3433, 0x44a: 0x311d, 0x44b: 0x342e,
- 0x44c: 0x3935, 0x44d: 0x3ac4, 0x44e: 0x3943, 0x44f: 0x3ad2, 0x450: 0x394a, 0x451: 0x3ad9,
- 0x452: 0x3951, 0x453: 0x3ae0, 0x454: 0x314f, 0x455: 0x3460, 0x456: 0x3154, 0x457: 0x3465,
- 0x458: 0x315e, 0x459: 0x346f, 0x45a: 0x46f1, 0x45b: 0x4782, 0x45c: 0x3997, 0x45d: 0x3b26,
- 0x45e: 0x3177, 0x45f: 0x3488, 0x460: 0x3181, 0x461: 0x3492, 0x462: 0x4700, 0x463: 0x4791,
- 0x464: 0x399e, 0x465: 0x3b2d, 0x466: 0x39a5, 0x467: 0x3b34, 0x468: 0x39ac, 0x469: 0x3b3b,
- 0x46a: 0x3190, 0x46b: 0x34a1, 0x46c: 0x319a, 0x46d: 0x34b0, 0x46e: 0x31ae, 0x46f: 0x34c4,
- 0x470: 0x31a9, 0x471: 0x34bf, 0x472: 0x31ea, 0x473: 0x3500, 0x474: 0x31f9, 0x475: 0x350f,
- 0x476: 0x31f4, 0x477: 0x350a, 0x478: 0x39b3, 0x479: 0x3b42, 0x47a: 0x39ba, 0x47b: 0x3b49,
- 0x47c: 0x31fe, 0x47d: 0x3514, 0x47e: 0x3203, 0x47f: 0x3519,
+ 0x440: 0x2f97, 0x441: 0x32a3, 0x442: 0x2fa1, 0x443: 0x32ad, 0x444: 0x2fa6, 0x445: 0x32b2,
+ 0x446: 0x2fab, 0x447: 0x32b7, 0x448: 0x38cc, 0x449: 0x3a5b, 0x44a: 0x2fc4, 0x44b: 0x32d0,
+ 0x44c: 0x2fce, 0x44d: 0x32da, 0x44e: 0x2fdd, 0x44f: 0x32e9, 0x450: 0x2fd3, 0x451: 0x32df,
+ 0x452: 0x2fd8, 0x453: 0x32e4, 0x454: 0x38ef, 0x455: 0x3a7e, 0x456: 0x38f6, 0x457: 0x3a85,
+ 0x458: 0x3019, 0x459: 0x3325, 0x45a: 0x301e, 0x45b: 0x332a, 0x45c: 0x3904, 0x45d: 0x3a93,
+ 0x45e: 0x3023, 0x45f: 0x332f, 0x460: 0x3032, 0x461: 0x333e, 0x462: 0x3050, 0x463: 0x335c,
+ 0x464: 0x305f, 0x465: 0x336b, 0x466: 0x3055, 0x467: 0x3361, 0x468: 0x3064, 0x469: 0x3370,
+ 0x46a: 0x3069, 0x46b: 0x3375, 0x46c: 0x30af, 0x46d: 0x33bb, 0x46e: 0x390b, 0x46f: 0x3a9a,
+ 0x470: 0x30b9, 0x471: 0x33ca, 0x472: 0x30c3, 0x473: 0x33d4, 0x474: 0x30cd, 0x475: 0x33de,
+ 0x476: 0x46c4, 0x477: 0x4755, 0x478: 0x3912, 0x479: 0x3aa1, 0x47a: 0x30e6, 0x47b: 0x33f7,
+ 0x47c: 0x30e1, 0x47d: 0x33f2, 0x47e: 0x30eb, 0x47f: 0x33fc,
// Block 0x12, offset 0x480
- 0x480: 0x3208, 0x481: 0x351e, 0x482: 0x320d, 0x483: 0x3523, 0x484: 0x321c, 0x485: 0x3532,
- 0x486: 0x3217, 0x487: 0x352d, 0x488: 0x3221, 0x489: 0x353c, 0x48a: 0x3226, 0x48b: 0x3541,
- 0x48c: 0x322b, 0x48d: 0x3546, 0x48e: 0x3249, 0x48f: 0x3564, 0x490: 0x3262, 0x491: 0x3582,
- 0x492: 0x3271, 0x493: 0x3591, 0x494: 0x3276, 0x495: 0x3596, 0x496: 0x337a, 0x497: 0x34a6,
- 0x498: 0x3537, 0x499: 0x3573, 0x49b: 0x35d1,
- 0x4a0: 0x46a1, 0x4a1: 0x4732, 0x4a2: 0x2f83, 0x4a3: 0x328f,
- 0x4a4: 0x3878, 0x4a5: 0x3a07, 0x4a6: 0x3871, 0x4a7: 0x3a00, 0x4a8: 0x3886, 0x4a9: 0x3a15,
- 0x4aa: 0x387f, 0x4ab: 0x3a0e, 0x4ac: 0x38be, 0x4ad: 0x3a4d, 0x4ae: 0x3894, 0x4af: 0x3a23,
- 0x4b0: 0x388d, 0x4b1: 0x3a1c, 0x4b2: 0x38a2, 0x4b3: 0x3a31, 0x4b4: 0x389b, 0x4b5: 0x3a2a,
- 0x4b6: 0x38c5, 0x4b7: 0x3a54, 0x4b8: 0x46b5, 0x4b9: 0x4746, 0x4ba: 0x3000, 0x4bb: 0x330c,
- 0x4bc: 0x2fec, 0x4bd: 0x32f8, 0x4be: 0x38da, 0x4bf: 0x3a69,
+ 0x480: 0x30f0, 0x481: 0x3401, 0x482: 0x30f5, 0x483: 0x3406, 0x484: 0x3109, 0x485: 0x341a,
+ 0x486: 0x3113, 0x487: 0x3424, 0x488: 0x3122, 0x489: 0x3433, 0x48a: 0x311d, 0x48b: 0x342e,
+ 0x48c: 0x3935, 0x48d: 0x3ac4, 0x48e: 0x3943, 0x48f: 0x3ad2, 0x490: 0x394a, 0x491: 0x3ad9,
+ 0x492: 0x3951, 0x493: 0x3ae0, 0x494: 0x314f, 0x495: 0x3460, 0x496: 0x3154, 0x497: 0x3465,
+ 0x498: 0x315e, 0x499: 0x346f, 0x49a: 0x46f1, 0x49b: 0x4782, 0x49c: 0x3997, 0x49d: 0x3b26,
+ 0x49e: 0x3177, 0x49f: 0x3488, 0x4a0: 0x3181, 0x4a1: 0x3492, 0x4a2: 0x4700, 0x4a3: 0x4791,
+ 0x4a4: 0x399e, 0x4a5: 0x3b2d, 0x4a6: 0x39a5, 0x4a7: 0x3b34, 0x4a8: 0x39ac, 0x4a9: 0x3b3b,
+ 0x4aa: 0x3190, 0x4ab: 0x34a1, 0x4ac: 0x319a, 0x4ad: 0x34b0, 0x4ae: 0x31ae, 0x4af: 0x34c4,
+ 0x4b0: 0x31a9, 0x4b1: 0x34bf, 0x4b2: 0x31ea, 0x4b3: 0x3500, 0x4b4: 0x31f9, 0x4b5: 0x350f,
+ 0x4b6: 0x31f4, 0x4b7: 0x350a, 0x4b8: 0x39b3, 0x4b9: 0x3b42, 0x4ba: 0x39ba, 0x4bb: 0x3b49,
+ 0x4bc: 0x31fe, 0x4bd: 0x3514, 0x4be: 0x3203, 0x4bf: 0x3519,
// Block 0x13, offset 0x4c0
- 0x4c0: 0x38d3, 0x4c1: 0x3a62, 0x4c2: 0x38e8, 0x4c3: 0x3a77, 0x4c4: 0x38e1, 0x4c5: 0x3a70,
- 0x4c6: 0x38fd, 0x4c7: 0x3a8c, 0x4c8: 0x3091, 0x4c9: 0x339d, 0x4ca: 0x30a5, 0x4cb: 0x33b1,
- 0x4cc: 0x46e7, 0x4cd: 0x4778, 0x4ce: 0x3136, 0x4cf: 0x3447, 0x4d0: 0x3920, 0x4d1: 0x3aaf,
- 0x4d2: 0x3919, 0x4d3: 0x3aa8, 0x4d4: 0x392e, 0x4d5: 0x3abd, 0x4d6: 0x3927, 0x4d7: 0x3ab6,
- 0x4d8: 0x3989, 0x4d9: 0x3b18, 0x4da: 0x396d, 0x4db: 0x3afc, 0x4dc: 0x3966, 0x4dd: 0x3af5,
- 0x4de: 0x397b, 0x4df: 0x3b0a, 0x4e0: 0x3974, 0x4e1: 0x3b03, 0x4e2: 0x3982, 0x4e3: 0x3b11,
- 0x4e4: 0x31e5, 0x4e5: 0x34fb, 0x4e6: 0x31c7, 0x4e7: 0x34dd, 0x4e8: 0x39e4, 0x4e9: 0x3b73,
- 0x4ea: 0x39dd, 0x4eb: 0x3b6c, 0x4ec: 0x39f2, 0x4ed: 0x3b81, 0x4ee: 0x39eb, 0x4ef: 0x3b7a,
- 0x4f0: 0x39f9, 0x4f1: 0x3b88, 0x4f2: 0x3230, 0x4f3: 0x354b, 0x4f4: 0x3258, 0x4f5: 0x3578,
- 0x4f6: 0x3253, 0x4f7: 0x356e, 0x4f8: 0x323f, 0x4f9: 0x355a,
+ 0x4c0: 0x3208, 0x4c1: 0x351e, 0x4c2: 0x320d, 0x4c3: 0x3523, 0x4c4: 0x321c, 0x4c5: 0x3532,
+ 0x4c6: 0x3217, 0x4c7: 0x352d, 0x4c8: 0x3221, 0x4c9: 0x353c, 0x4ca: 0x3226, 0x4cb: 0x3541,
+ 0x4cc: 0x322b, 0x4cd: 0x3546, 0x4ce: 0x3249, 0x4cf: 0x3564, 0x4d0: 0x3262, 0x4d1: 0x3582,
+ 0x4d2: 0x3271, 0x4d3: 0x3591, 0x4d4: 0x3276, 0x4d5: 0x3596, 0x4d6: 0x337a, 0x4d7: 0x34a6,
+ 0x4d8: 0x3537, 0x4d9: 0x3573, 0x4db: 0x35d1,
+ 0x4e0: 0x46a1, 0x4e1: 0x4732, 0x4e2: 0x2f83, 0x4e3: 0x328f,
+ 0x4e4: 0x3878, 0x4e5: 0x3a07, 0x4e6: 0x3871, 0x4e7: 0x3a00, 0x4e8: 0x3886, 0x4e9: 0x3a15,
+ 0x4ea: 0x387f, 0x4eb: 0x3a0e, 0x4ec: 0x38be, 0x4ed: 0x3a4d, 0x4ee: 0x3894, 0x4ef: 0x3a23,
+ 0x4f0: 0x388d, 0x4f1: 0x3a1c, 0x4f2: 0x38a2, 0x4f3: 0x3a31, 0x4f4: 0x389b, 0x4f5: 0x3a2a,
+ 0x4f6: 0x38c5, 0x4f7: 0x3a54, 0x4f8: 0x46b5, 0x4f9: 0x4746, 0x4fa: 0x3000, 0x4fb: 0x330c,
+ 0x4fc: 0x2fec, 0x4fd: 0x32f8, 0x4fe: 0x38da, 0x4ff: 0x3a69,
// Block 0x14, offset 0x500
- 0x500: 0x4804, 0x501: 0x480a, 0x502: 0x491e, 0x503: 0x4936, 0x504: 0x4926, 0x505: 0x493e,
- 0x506: 0x492e, 0x507: 0x4946, 0x508: 0x47aa, 0x509: 0x47b0, 0x50a: 0x488e, 0x50b: 0x48a6,
- 0x50c: 0x4896, 0x50d: 0x48ae, 0x50e: 0x489e, 0x50f: 0x48b6, 0x510: 0x4816, 0x511: 0x481c,
- 0x512: 0x3db8, 0x513: 0x3dc8, 0x514: 0x3dc0, 0x515: 0x3dd0,
- 0x518: 0x47b6, 0x519: 0x47bc, 0x51a: 0x3ce8, 0x51b: 0x3cf8, 0x51c: 0x3cf0, 0x51d: 0x3d00,
- 0x520: 0x482e, 0x521: 0x4834, 0x522: 0x494e, 0x523: 0x4966,
- 0x524: 0x4956, 0x525: 0x496e, 0x526: 0x495e, 0x527: 0x4976, 0x528: 0x47c2, 0x529: 0x47c8,
- 0x52a: 0x48be, 0x52b: 0x48d6, 0x52c: 0x48c6, 0x52d: 0x48de, 0x52e: 0x48ce, 0x52f: 0x48e6,
- 0x530: 0x4846, 0x531: 0x484c, 0x532: 0x3e18, 0x533: 0x3e30, 0x534: 0x3e20, 0x535: 0x3e38,
- 0x536: 0x3e28, 0x537: 0x3e40, 0x538: 0x47ce, 0x539: 0x47d4, 0x53a: 0x3d18, 0x53b: 0x3d30,
- 0x53c: 0x3d20, 0x53d: 0x3d38, 0x53e: 0x3d28, 0x53f: 0x3d40,
+ 0x500: 0x38d3, 0x501: 0x3a62, 0x502: 0x38e8, 0x503: 0x3a77, 0x504: 0x38e1, 0x505: 0x3a70,
+ 0x506: 0x38fd, 0x507: 0x3a8c, 0x508: 0x3091, 0x509: 0x339d, 0x50a: 0x30a5, 0x50b: 0x33b1,
+ 0x50c: 0x46e7, 0x50d: 0x4778, 0x50e: 0x3136, 0x50f: 0x3447, 0x510: 0x3920, 0x511: 0x3aaf,
+ 0x512: 0x3919, 0x513: 0x3aa8, 0x514: 0x392e, 0x515: 0x3abd, 0x516: 0x3927, 0x517: 0x3ab6,
+ 0x518: 0x3989, 0x519: 0x3b18, 0x51a: 0x396d, 0x51b: 0x3afc, 0x51c: 0x3966, 0x51d: 0x3af5,
+ 0x51e: 0x397b, 0x51f: 0x3b0a, 0x520: 0x3974, 0x521: 0x3b03, 0x522: 0x3982, 0x523: 0x3b11,
+ 0x524: 0x31e5, 0x525: 0x34fb, 0x526: 0x31c7, 0x527: 0x34dd, 0x528: 0x39e4, 0x529: 0x3b73,
+ 0x52a: 0x39dd, 0x52b: 0x3b6c, 0x52c: 0x39f2, 0x52d: 0x3b81, 0x52e: 0x39eb, 0x52f: 0x3b7a,
+ 0x530: 0x39f9, 0x531: 0x3b88, 0x532: 0x3230, 0x533: 0x354b, 0x534: 0x3258, 0x535: 0x3578,
+ 0x536: 0x3253, 0x537: 0x356e, 0x538: 0x323f, 0x539: 0x355a,
// Block 0x15, offset 0x540
- 0x540: 0x4852, 0x541: 0x4858, 0x542: 0x3e48, 0x543: 0x3e58, 0x544: 0x3e50, 0x545: 0x3e60,
- 0x548: 0x47da, 0x549: 0x47e0, 0x54a: 0x3d48, 0x54b: 0x3d58,
- 0x54c: 0x3d50, 0x54d: 0x3d60, 0x550: 0x4864, 0x551: 0x486a,
- 0x552: 0x3e80, 0x553: 0x3e98, 0x554: 0x3e88, 0x555: 0x3ea0, 0x556: 0x3e90, 0x557: 0x3ea8,
- 0x559: 0x47e6, 0x55b: 0x3d68, 0x55d: 0x3d70,
- 0x55f: 0x3d78, 0x560: 0x487c, 0x561: 0x4882, 0x562: 0x497e, 0x563: 0x4996,
- 0x564: 0x4986, 0x565: 0x499e, 0x566: 0x498e, 0x567: 0x49a6, 0x568: 0x47ec, 0x569: 0x47f2,
- 0x56a: 0x48ee, 0x56b: 0x4906, 0x56c: 0x48f6, 0x56d: 0x490e, 0x56e: 0x48fe, 0x56f: 0x4916,
- 0x570: 0x47f8, 0x571: 0x431e, 0x572: 0x3691, 0x573: 0x4324, 0x574: 0x4822, 0x575: 0x432a,
- 0x576: 0x36a3, 0x577: 0x4330, 0x578: 0x36c1, 0x579: 0x4336, 0x57a: 0x36d9, 0x57b: 0x433c,
- 0x57c: 0x4870, 0x57d: 0x4342,
+ 0x540: 0x4804, 0x541: 0x480a, 0x542: 0x491e, 0x543: 0x4936, 0x544: 0x4926, 0x545: 0x493e,
+ 0x546: 0x492e, 0x547: 0x4946, 0x548: 0x47aa, 0x549: 0x47b0, 0x54a: 0x488e, 0x54b: 0x48a6,
+ 0x54c: 0x4896, 0x54d: 0x48ae, 0x54e: 0x489e, 0x54f: 0x48b6, 0x550: 0x4816, 0x551: 0x481c,
+ 0x552: 0x3db8, 0x553: 0x3dc8, 0x554: 0x3dc0, 0x555: 0x3dd0,
+ 0x558: 0x47b6, 0x559: 0x47bc, 0x55a: 0x3ce8, 0x55b: 0x3cf8, 0x55c: 0x3cf0, 0x55d: 0x3d00,
+ 0x560: 0x482e, 0x561: 0x4834, 0x562: 0x494e, 0x563: 0x4966,
+ 0x564: 0x4956, 0x565: 0x496e, 0x566: 0x495e, 0x567: 0x4976, 0x568: 0x47c2, 0x569: 0x47c8,
+ 0x56a: 0x48be, 0x56b: 0x48d6, 0x56c: 0x48c6, 0x56d: 0x48de, 0x56e: 0x48ce, 0x56f: 0x48e6,
+ 0x570: 0x4846, 0x571: 0x484c, 0x572: 0x3e18, 0x573: 0x3e30, 0x574: 0x3e20, 0x575: 0x3e38,
+ 0x576: 0x3e28, 0x577: 0x3e40, 0x578: 0x47ce, 0x579: 0x47d4, 0x57a: 0x3d18, 0x57b: 0x3d30,
+ 0x57c: 0x3d20, 0x57d: 0x3d38, 0x57e: 0x3d28, 0x57f: 0x3d40,
// Block 0x16, offset 0x580
- 0x580: 0x3da0, 0x581: 0x3da8, 0x582: 0x4184, 0x583: 0x41a2, 0x584: 0x418e, 0x585: 0x41ac,
- 0x586: 0x4198, 0x587: 0x41b6, 0x588: 0x3cd8, 0x589: 0x3ce0, 0x58a: 0x40d0, 0x58b: 0x40ee,
- 0x58c: 0x40da, 0x58d: 0x40f8, 0x58e: 0x40e4, 0x58f: 0x4102, 0x590: 0x3de8, 0x591: 0x3df0,
- 0x592: 0x41c0, 0x593: 0x41de, 0x594: 0x41ca, 0x595: 0x41e8, 0x596: 0x41d4, 0x597: 0x41f2,
- 0x598: 0x3d08, 0x599: 0x3d10, 0x59a: 0x410c, 0x59b: 0x412a, 0x59c: 0x4116, 0x59d: 0x4134,
- 0x59e: 0x4120, 0x59f: 0x413e, 0x5a0: 0x3ec0, 0x5a1: 0x3ec8, 0x5a2: 0x41fc, 0x5a3: 0x421a,
- 0x5a4: 0x4206, 0x5a5: 0x4224, 0x5a6: 0x4210, 0x5a7: 0x422e, 0x5a8: 0x3d80, 0x5a9: 0x3d88,
- 0x5aa: 0x4148, 0x5ab: 0x4166, 0x5ac: 0x4152, 0x5ad: 0x4170, 0x5ae: 0x415c, 0x5af: 0x417a,
- 0x5b0: 0x3685, 0x5b1: 0x367f, 0x5b2: 0x3d90, 0x5b3: 0x368b, 0x5b4: 0x3d98,
- 0x5b6: 0x4810, 0x5b7: 0x3db0, 0x5b8: 0x35f5, 0x5b9: 0x35ef, 0x5ba: 0x35e3, 0x5bb: 0x42ee,
- 0x5bc: 0x35fb, 0x5bd: 0x8100, 0x5be: 0x01d3, 0x5bf: 0xa100,
+ 0x580: 0x4852, 0x581: 0x4858, 0x582: 0x3e48, 0x583: 0x3e58, 0x584: 0x3e50, 0x585: 0x3e60,
+ 0x588: 0x47da, 0x589: 0x47e0, 0x58a: 0x3d48, 0x58b: 0x3d58,
+ 0x58c: 0x3d50, 0x58d: 0x3d60, 0x590: 0x4864, 0x591: 0x486a,
+ 0x592: 0x3e80, 0x593: 0x3e98, 0x594: 0x3e88, 0x595: 0x3ea0, 0x596: 0x3e90, 0x597: 0x3ea8,
+ 0x599: 0x47e6, 0x59b: 0x3d68, 0x59d: 0x3d70,
+ 0x59f: 0x3d78, 0x5a0: 0x487c, 0x5a1: 0x4882, 0x5a2: 0x497e, 0x5a3: 0x4996,
+ 0x5a4: 0x4986, 0x5a5: 0x499e, 0x5a6: 0x498e, 0x5a7: 0x49a6, 0x5a8: 0x47ec, 0x5a9: 0x47f2,
+ 0x5aa: 0x48ee, 0x5ab: 0x4906, 0x5ac: 0x48f6, 0x5ad: 0x490e, 0x5ae: 0x48fe, 0x5af: 0x4916,
+ 0x5b0: 0x47f8, 0x5b1: 0x431e, 0x5b2: 0x3691, 0x5b3: 0x4324, 0x5b4: 0x4822, 0x5b5: 0x432a,
+ 0x5b6: 0x36a3, 0x5b7: 0x4330, 0x5b8: 0x36c1, 0x5b9: 0x4336, 0x5ba: 0x36d9, 0x5bb: 0x433c,
+ 0x5bc: 0x4870, 0x5bd: 0x4342,
// Block 0x17, offset 0x5c0
- 0x5c0: 0x8100, 0x5c1: 0x35a7, 0x5c2: 0x3dd8, 0x5c3: 0x369d, 0x5c4: 0x3de0,
- 0x5c6: 0x483a, 0x5c7: 0x3df8, 0x5c8: 0x3601, 0x5c9: 0x42f4, 0x5ca: 0x360d, 0x5cb: 0x42fa,
- 0x5cc: 0x3619, 0x5cd: 0x3b8f, 0x5ce: 0x3b96, 0x5cf: 0x3b9d, 0x5d0: 0x36b5, 0x5d1: 0x36af,
- 0x5d2: 0x3e00, 0x5d3: 0x44e4, 0x5d6: 0x36bb, 0x5d7: 0x3e10,
- 0x5d8: 0x3631, 0x5d9: 0x362b, 0x5da: 0x361f, 0x5db: 0x4300, 0x5dd: 0x3ba4,
- 0x5de: 0x3bab, 0x5df: 0x3bb2, 0x5e0: 0x36eb, 0x5e1: 0x36e5, 0x5e2: 0x3e68, 0x5e3: 0x44ec,
- 0x5e4: 0x36cd, 0x5e5: 0x36d3, 0x5e6: 0x36f1, 0x5e7: 0x3e78, 0x5e8: 0x3661, 0x5e9: 0x365b,
- 0x5ea: 0x364f, 0x5eb: 0x430c, 0x5ec: 0x3649, 0x5ed: 0x359b, 0x5ee: 0x42e8, 0x5ef: 0x0081,
- 0x5f2: 0x3eb0, 0x5f3: 0x36f7, 0x5f4: 0x3eb8,
- 0x5f6: 0x4888, 0x5f7: 0x3ed0, 0x5f8: 0x363d, 0x5f9: 0x4306, 0x5fa: 0x366d, 0x5fb: 0x4318,
- 0x5fc: 0x3679, 0x5fd: 0x4256, 0x5fe: 0xa100,
+ 0x5c0: 0x3da0, 0x5c1: 0x3da8, 0x5c2: 0x4184, 0x5c3: 0x41a2, 0x5c4: 0x418e, 0x5c5: 0x41ac,
+ 0x5c6: 0x4198, 0x5c7: 0x41b6, 0x5c8: 0x3cd8, 0x5c9: 0x3ce0, 0x5ca: 0x40d0, 0x5cb: 0x40ee,
+ 0x5cc: 0x40da, 0x5cd: 0x40f8, 0x5ce: 0x40e4, 0x5cf: 0x4102, 0x5d0: 0x3de8, 0x5d1: 0x3df0,
+ 0x5d2: 0x41c0, 0x5d3: 0x41de, 0x5d4: 0x41ca, 0x5d5: 0x41e8, 0x5d6: 0x41d4, 0x5d7: 0x41f2,
+ 0x5d8: 0x3d08, 0x5d9: 0x3d10, 0x5da: 0x410c, 0x5db: 0x412a, 0x5dc: 0x4116, 0x5dd: 0x4134,
+ 0x5de: 0x4120, 0x5df: 0x413e, 0x5e0: 0x3ec0, 0x5e1: 0x3ec8, 0x5e2: 0x41fc, 0x5e3: 0x421a,
+ 0x5e4: 0x4206, 0x5e5: 0x4224, 0x5e6: 0x4210, 0x5e7: 0x422e, 0x5e8: 0x3d80, 0x5e9: 0x3d88,
+ 0x5ea: 0x4148, 0x5eb: 0x4166, 0x5ec: 0x4152, 0x5ed: 0x4170, 0x5ee: 0x415c, 0x5ef: 0x417a,
+ 0x5f0: 0x3685, 0x5f1: 0x367f, 0x5f2: 0x3d90, 0x5f3: 0x368b, 0x5f4: 0x3d98,
+ 0x5f6: 0x4810, 0x5f7: 0x3db0, 0x5f8: 0x35f5, 0x5f9: 0x35ef, 0x5fa: 0x35e3, 0x5fb: 0x42ee,
+ 0x5fc: 0x35fb, 0x5fd: 0x8100, 0x5fe: 0x01d3, 0x5ff: 0xa100,
// Block 0x18, offset 0x600
- 0x601: 0x3c06, 0x603: 0xa000, 0x604: 0x3c0d, 0x605: 0xa000,
- 0x607: 0x3c14, 0x608: 0xa000, 0x609: 0x3c1b,
- 0x60d: 0xa000,
- 0x620: 0x2f65, 0x621: 0xa000, 0x622: 0x3c29,
- 0x624: 0xa000, 0x625: 0xa000,
- 0x62d: 0x3c22, 0x62e: 0x2f60, 0x62f: 0x2f6a,
- 0x630: 0x3c30, 0x631: 0x3c37, 0x632: 0xa000, 0x633: 0xa000, 0x634: 0x3c3e, 0x635: 0x3c45,
- 0x636: 0xa000, 0x637: 0xa000, 0x638: 0x3c4c, 0x639: 0x3c53, 0x63a: 0xa000, 0x63b: 0xa000,
- 0x63c: 0xa000, 0x63d: 0xa000,
+ 0x600: 0x8100, 0x601: 0x35a7, 0x602: 0x3dd8, 0x603: 0x369d, 0x604: 0x3de0,
+ 0x606: 0x483a, 0x607: 0x3df8, 0x608: 0x3601, 0x609: 0x42f4, 0x60a: 0x360d, 0x60b: 0x42fa,
+ 0x60c: 0x3619, 0x60d: 0x3b8f, 0x60e: 0x3b96, 0x60f: 0x3b9d, 0x610: 0x36b5, 0x611: 0x36af,
+ 0x612: 0x3e00, 0x613: 0x44e4, 0x616: 0x36bb, 0x617: 0x3e10,
+ 0x618: 0x3631, 0x619: 0x362b, 0x61a: 0x361f, 0x61b: 0x4300, 0x61d: 0x3ba4,
+ 0x61e: 0x3bab, 0x61f: 0x3bb2, 0x620: 0x36eb, 0x621: 0x36e5, 0x622: 0x3e68, 0x623: 0x44ec,
+ 0x624: 0x36cd, 0x625: 0x36d3, 0x626: 0x36f1, 0x627: 0x3e78, 0x628: 0x3661, 0x629: 0x365b,
+ 0x62a: 0x364f, 0x62b: 0x430c, 0x62c: 0x3649, 0x62d: 0x359b, 0x62e: 0x42e8, 0x62f: 0x0081,
+ 0x632: 0x3eb0, 0x633: 0x36f7, 0x634: 0x3eb8,
+ 0x636: 0x4888, 0x637: 0x3ed0, 0x638: 0x363d, 0x639: 0x4306, 0x63a: 0x366d, 0x63b: 0x4318,
+ 0x63c: 0x3679, 0x63d: 0x4256, 0x63e: 0xa100,
// Block 0x19, offset 0x640
- 0x640: 0x3c5a, 0x641: 0x3c61, 0x642: 0xa000, 0x643: 0xa000, 0x644: 0x3c76, 0x645: 0x3c7d,
- 0x646: 0xa000, 0x647: 0xa000, 0x648: 0x3c84, 0x649: 0x3c8b,
- 0x651: 0xa000,
- 0x652: 0xa000,
- 0x662: 0xa000,
- 0x668: 0xa000, 0x669: 0xa000,
- 0x66b: 0xa000, 0x66c: 0x3ca0, 0x66d: 0x3ca7, 0x66e: 0x3cae, 0x66f: 0x3cb5,
- 0x672: 0xa000, 0x673: 0xa000, 0x674: 0xa000, 0x675: 0xa000,
+ 0x641: 0x3c06, 0x643: 0xa000, 0x644: 0x3c0d, 0x645: 0xa000,
+ 0x647: 0x3c14, 0x648: 0xa000, 0x649: 0x3c1b,
+ 0x64d: 0xa000,
+ 0x660: 0x2f65, 0x661: 0xa000, 0x662: 0x3c29,
+ 0x664: 0xa000, 0x665: 0xa000,
+ 0x66d: 0x3c22, 0x66e: 0x2f60, 0x66f: 0x2f6a,
+ 0x670: 0x3c30, 0x671: 0x3c37, 0x672: 0xa000, 0x673: 0xa000, 0x674: 0x3c3e, 0x675: 0x3c45,
+ 0x676: 0xa000, 0x677: 0xa000, 0x678: 0x3c4c, 0x679: 0x3c53, 0x67a: 0xa000, 0x67b: 0xa000,
+ 0x67c: 0xa000, 0x67d: 0xa000,
// Block 0x1a, offset 0x680
- 0x686: 0xa000, 0x68b: 0xa000,
- 0x68c: 0x3f08, 0x68d: 0xa000, 0x68e: 0x3f10, 0x68f: 0xa000, 0x690: 0x3f18, 0x691: 0xa000,
- 0x692: 0x3f20, 0x693: 0xa000, 0x694: 0x3f28, 0x695: 0xa000, 0x696: 0x3f30, 0x697: 0xa000,
- 0x698: 0x3f38, 0x699: 0xa000, 0x69a: 0x3f40, 0x69b: 0xa000, 0x69c: 0x3f48, 0x69d: 0xa000,
- 0x69e: 0x3f50, 0x69f: 0xa000, 0x6a0: 0x3f58, 0x6a1: 0xa000, 0x6a2: 0x3f60,
- 0x6a4: 0xa000, 0x6a5: 0x3f68, 0x6a6: 0xa000, 0x6a7: 0x3f70, 0x6a8: 0xa000, 0x6a9: 0x3f78,
- 0x6af: 0xa000,
- 0x6b0: 0x3f80, 0x6b1: 0x3f88, 0x6b2: 0xa000, 0x6b3: 0x3f90, 0x6b4: 0x3f98, 0x6b5: 0xa000,
- 0x6b6: 0x3fa0, 0x6b7: 0x3fa8, 0x6b8: 0xa000, 0x6b9: 0x3fb0, 0x6ba: 0x3fb8, 0x6bb: 0xa000,
- 0x6bc: 0x3fc0, 0x6bd: 0x3fc8,
+ 0x680: 0x3c5a, 0x681: 0x3c61, 0x682: 0xa000, 0x683: 0xa000, 0x684: 0x3c76, 0x685: 0x3c7d,
+ 0x686: 0xa000, 0x687: 0xa000, 0x688: 0x3c84, 0x689: 0x3c8b,
+ 0x691: 0xa000,
+ 0x692: 0xa000,
+ 0x6a2: 0xa000,
+ 0x6a8: 0xa000, 0x6a9: 0xa000,
+ 0x6ab: 0xa000, 0x6ac: 0x3ca0, 0x6ad: 0x3ca7, 0x6ae: 0x3cae, 0x6af: 0x3cb5,
+ 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0xa000, 0x6b5: 0xa000,
// Block 0x1b, offset 0x6c0
- 0x6d4: 0x3f00,
- 0x6d9: 0x9903, 0x6da: 0x9903, 0x6db: 0x8100, 0x6dc: 0x8100, 0x6dd: 0xa000,
- 0x6de: 0x3fd0,
- 0x6e6: 0xa000,
- 0x6eb: 0xa000, 0x6ec: 0x3fe0, 0x6ed: 0xa000, 0x6ee: 0x3fe8, 0x6ef: 0xa000,
- 0x6f0: 0x3ff0, 0x6f1: 0xa000, 0x6f2: 0x3ff8, 0x6f3: 0xa000, 0x6f4: 0x4000, 0x6f5: 0xa000,
- 0x6f6: 0x4008, 0x6f7: 0xa000, 0x6f8: 0x4010, 0x6f9: 0xa000, 0x6fa: 0x4018, 0x6fb: 0xa000,
- 0x6fc: 0x4020, 0x6fd: 0xa000, 0x6fe: 0x4028, 0x6ff: 0xa000,
+ 0x6c6: 0xa000, 0x6cb: 0xa000,
+ 0x6cc: 0x3f08, 0x6cd: 0xa000, 0x6ce: 0x3f10, 0x6cf: 0xa000, 0x6d0: 0x3f18, 0x6d1: 0xa000,
+ 0x6d2: 0x3f20, 0x6d3: 0xa000, 0x6d4: 0x3f28, 0x6d5: 0xa000, 0x6d6: 0x3f30, 0x6d7: 0xa000,
+ 0x6d8: 0x3f38, 0x6d9: 0xa000, 0x6da: 0x3f40, 0x6db: 0xa000, 0x6dc: 0x3f48, 0x6dd: 0xa000,
+ 0x6de: 0x3f50, 0x6df: 0xa000, 0x6e0: 0x3f58, 0x6e1: 0xa000, 0x6e2: 0x3f60,
+ 0x6e4: 0xa000, 0x6e5: 0x3f68, 0x6e6: 0xa000, 0x6e7: 0x3f70, 0x6e8: 0xa000, 0x6e9: 0x3f78,
+ 0x6ef: 0xa000,
+ 0x6f0: 0x3f80, 0x6f1: 0x3f88, 0x6f2: 0xa000, 0x6f3: 0x3f90, 0x6f4: 0x3f98, 0x6f5: 0xa000,
+ 0x6f6: 0x3fa0, 0x6f7: 0x3fa8, 0x6f8: 0xa000, 0x6f9: 0x3fb0, 0x6fa: 0x3fb8, 0x6fb: 0xa000,
+ 0x6fc: 0x3fc0, 0x6fd: 0x3fc8,
// Block 0x1c, offset 0x700
- 0x700: 0x4030, 0x701: 0xa000, 0x702: 0x4038, 0x704: 0xa000, 0x705: 0x4040,
- 0x706: 0xa000, 0x707: 0x4048, 0x708: 0xa000, 0x709: 0x4050,
- 0x70f: 0xa000, 0x710: 0x4058, 0x711: 0x4060,
- 0x712: 0xa000, 0x713: 0x4068, 0x714: 0x4070, 0x715: 0xa000, 0x716: 0x4078, 0x717: 0x4080,
- 0x718: 0xa000, 0x719: 0x4088, 0x71a: 0x4090, 0x71b: 0xa000, 0x71c: 0x4098, 0x71d: 0x40a0,
- 0x72f: 0xa000,
- 0x730: 0xa000, 0x731: 0xa000, 0x732: 0xa000, 0x734: 0x3fd8,
- 0x737: 0x40a8, 0x738: 0x40b0, 0x739: 0x40b8, 0x73a: 0x40c0,
- 0x73d: 0xa000, 0x73e: 0x40c8,
+ 0x714: 0x3f00,
+ 0x719: 0x9903, 0x71a: 0x9903, 0x71b: 0x8100, 0x71c: 0x8100, 0x71d: 0xa000,
+ 0x71e: 0x3fd0,
+ 0x726: 0xa000,
+ 0x72b: 0xa000, 0x72c: 0x3fe0, 0x72d: 0xa000, 0x72e: 0x3fe8, 0x72f: 0xa000,
+ 0x730: 0x3ff0, 0x731: 0xa000, 0x732: 0x3ff8, 0x733: 0xa000, 0x734: 0x4000, 0x735: 0xa000,
+ 0x736: 0x4008, 0x737: 0xa000, 0x738: 0x4010, 0x739: 0xa000, 0x73a: 0x4018, 0x73b: 0xa000,
+ 0x73c: 0x4020, 0x73d: 0xa000, 0x73e: 0x4028, 0x73f: 0xa000,
// Block 0x1d, offset 0x740
- 0x740: 0x1377, 0x741: 0x0cfb, 0x742: 0x13d3, 0x743: 0x139f, 0x744: 0x0e57, 0x745: 0x06eb,
- 0x746: 0x08df, 0x747: 0x162b, 0x748: 0x162b, 0x749: 0x0a0b, 0x74a: 0x145f, 0x74b: 0x0943,
- 0x74c: 0x0a07, 0x74d: 0x0bef, 0x74e: 0x0fcf, 0x74f: 0x115f, 0x750: 0x1297, 0x751: 0x12d3,
- 0x752: 0x1307, 0x753: 0x141b, 0x754: 0x0d73, 0x755: 0x0dff, 0x756: 0x0eab, 0x757: 0x0f43,
- 0x758: 0x125f, 0x759: 0x1447, 0x75a: 0x1573, 0x75b: 0x070f, 0x75c: 0x08b3, 0x75d: 0x0d87,
- 0x75e: 0x0ecf, 0x75f: 0x1293, 0x760: 0x15c3, 0x761: 0x0ab3, 0x762: 0x0e77, 0x763: 0x1283,
- 0x764: 0x1317, 0x765: 0x0c23, 0x766: 0x11bb, 0x767: 0x12df, 0x768: 0x0b1f, 0x769: 0x0d0f,
- 0x76a: 0x0e17, 0x76b: 0x0f1b, 0x76c: 0x1427, 0x76d: 0x074f, 0x76e: 0x07e7, 0x76f: 0x0853,
- 0x770: 0x0c8b, 0x771: 0x0d7f, 0x772: 0x0ecb, 0x773: 0x0fef, 0x774: 0x1177, 0x775: 0x128b,
- 0x776: 0x12a3, 0x777: 0x13c7, 0x778: 0x14ef, 0x779: 0x15a3, 0x77a: 0x15bf, 0x77b: 0x102b,
- 0x77c: 0x106b, 0x77d: 0x1123, 0x77e: 0x1243, 0x77f: 0x147b,
+ 0x740: 0x4030, 0x741: 0xa000, 0x742: 0x4038, 0x744: 0xa000, 0x745: 0x4040,
+ 0x746: 0xa000, 0x747: 0x4048, 0x748: 0xa000, 0x749: 0x4050,
+ 0x74f: 0xa000, 0x750: 0x4058, 0x751: 0x4060,
+ 0x752: 0xa000, 0x753: 0x4068, 0x754: 0x4070, 0x755: 0xa000, 0x756: 0x4078, 0x757: 0x4080,
+ 0x758: 0xa000, 0x759: 0x4088, 0x75a: 0x4090, 0x75b: 0xa000, 0x75c: 0x4098, 0x75d: 0x40a0,
+ 0x76f: 0xa000,
+ 0x770: 0xa000, 0x771: 0xa000, 0x772: 0xa000, 0x774: 0x3fd8,
+ 0x777: 0x40a8, 0x778: 0x40b0, 0x779: 0x40b8, 0x77a: 0x40c0,
+ 0x77d: 0xa000, 0x77e: 0x40c8,
// Block 0x1e, offset 0x780
- 0x780: 0x15cb, 0x781: 0x134b, 0x782: 0x09c7, 0x783: 0x0b3b, 0x784: 0x10db, 0x785: 0x119b,
- 0x786: 0x0eff, 0x787: 0x1033, 0x788: 0x1397, 0x789: 0x14e7, 0x78a: 0x09c3, 0x78b: 0x0a8f,
- 0x78c: 0x0d77, 0x78d: 0x0e2b, 0x78e: 0x0e5f, 0x78f: 0x1113, 0x790: 0x113b, 0x791: 0x14a7,
- 0x792: 0x084f, 0x793: 0x11a7, 0x794: 0x07f3, 0x795: 0x07ef, 0x796: 0x1097, 0x797: 0x1127,
- 0x798: 0x125b, 0x799: 0x14af, 0x79a: 0x1367, 0x79b: 0x0c27, 0x79c: 0x0d73, 0x79d: 0x1357,
- 0x79e: 0x06f7, 0x79f: 0x0a63, 0x7a0: 0x0b93, 0x7a1: 0x0f2f, 0x7a2: 0x0faf, 0x7a3: 0x0873,
- 0x7a4: 0x103b, 0x7a5: 0x075f, 0x7a6: 0x0b77, 0x7a7: 0x06d7, 0x7a8: 0x0deb, 0x7a9: 0x0ca3,
- 0x7aa: 0x110f, 0x7ab: 0x08c7, 0x7ac: 0x09b3, 0x7ad: 0x0ffb, 0x7ae: 0x1263, 0x7af: 0x133b,
- 0x7b0: 0x0db7, 0x7b1: 0x13f7, 0x7b2: 0x0de3, 0x7b3: 0x0c37, 0x7b4: 0x121b, 0x7b5: 0x0c57,
- 0x7b6: 0x0fab, 0x7b7: 0x072b, 0x7b8: 0x07a7, 0x7b9: 0x07eb, 0x7ba: 0x0d53, 0x7bb: 0x10fb,
- 0x7bc: 0x11f3, 0x7bd: 0x1347, 0x7be: 0x145b, 0x7bf: 0x085b,
+ 0x780: 0x1377, 0x781: 0x0cfb, 0x782: 0x13d3, 0x783: 0x139f, 0x784: 0x0e57, 0x785: 0x06eb,
+ 0x786: 0x08df, 0x787: 0x162b, 0x788: 0x162b, 0x789: 0x0a0b, 0x78a: 0x145f, 0x78b: 0x0943,
+ 0x78c: 0x0a07, 0x78d: 0x0bef, 0x78e: 0x0fcf, 0x78f: 0x115f, 0x790: 0x1297, 0x791: 0x12d3,
+ 0x792: 0x1307, 0x793: 0x141b, 0x794: 0x0d73, 0x795: 0x0dff, 0x796: 0x0eab, 0x797: 0x0f43,
+ 0x798: 0x125f, 0x799: 0x1447, 0x79a: 0x1573, 0x79b: 0x070f, 0x79c: 0x08b3, 0x79d: 0x0d87,
+ 0x79e: 0x0ecf, 0x79f: 0x1293, 0x7a0: 0x15c3, 0x7a1: 0x0ab3, 0x7a2: 0x0e77, 0x7a3: 0x1283,
+ 0x7a4: 0x1317, 0x7a5: 0x0c23, 0x7a6: 0x11bb, 0x7a7: 0x12df, 0x7a8: 0x0b1f, 0x7a9: 0x0d0f,
+ 0x7aa: 0x0e17, 0x7ab: 0x0f1b, 0x7ac: 0x1427, 0x7ad: 0x074f, 0x7ae: 0x07e7, 0x7af: 0x0853,
+ 0x7b0: 0x0c8b, 0x7b1: 0x0d7f, 0x7b2: 0x0ecb, 0x7b3: 0x0fef, 0x7b4: 0x1177, 0x7b5: 0x128b,
+ 0x7b6: 0x12a3, 0x7b7: 0x13c7, 0x7b8: 0x14ef, 0x7b9: 0x15a3, 0x7ba: 0x15bf, 0x7bb: 0x102b,
+ 0x7bc: 0x106b, 0x7bd: 0x1123, 0x7be: 0x1243, 0x7bf: 0x147b,
// Block 0x1f, offset 0x7c0
- 0x7c0: 0x090f, 0x7c1: 0x0a17, 0x7c2: 0x0b2f, 0x7c3: 0x0cbf, 0x7c4: 0x0e7b, 0x7c5: 0x103f,
- 0x7c6: 0x1497, 0x7c7: 0x157b, 0x7c8: 0x15cf, 0x7c9: 0x15e7, 0x7ca: 0x0837, 0x7cb: 0x0cf3,
- 0x7cc: 0x0da3, 0x7cd: 0x13eb, 0x7ce: 0x0afb, 0x7cf: 0x0bd7, 0x7d0: 0x0bf3, 0x7d1: 0x0c83,
- 0x7d2: 0x0e6b, 0x7d3: 0x0eb7, 0x7d4: 0x0f67, 0x7d5: 0x108b, 0x7d6: 0x112f, 0x7d7: 0x1193,
- 0x7d8: 0x13db, 0x7d9: 0x126b, 0x7da: 0x1403, 0x7db: 0x147f, 0x7dc: 0x080f, 0x7dd: 0x083b,
- 0x7de: 0x0923, 0x7df: 0x0ea7, 0x7e0: 0x12f3, 0x7e1: 0x133b, 0x7e2: 0x0b1b, 0x7e3: 0x0b8b,
- 0x7e4: 0x0c4f, 0x7e5: 0x0daf, 0x7e6: 0x10d7, 0x7e7: 0x0f23, 0x7e8: 0x073b, 0x7e9: 0x097f,
- 0x7ea: 0x0a63, 0x7eb: 0x0ac7, 0x7ec: 0x0b97, 0x7ed: 0x0f3f, 0x7ee: 0x0f5b, 0x7ef: 0x116b,
- 0x7f0: 0x118b, 0x7f1: 0x1463, 0x7f2: 0x14e3, 0x7f3: 0x14f3, 0x7f4: 0x152f, 0x7f5: 0x0753,
- 0x7f6: 0x107f, 0x7f7: 0x144f, 0x7f8: 0x14cb, 0x7f9: 0x0baf, 0x7fa: 0x0717, 0x7fb: 0x0777,
- 0x7fc: 0x0a67, 0x7fd: 0x0a87, 0x7fe: 0x0caf, 0x7ff: 0x0d73,
+ 0x7c0: 0x15cb, 0x7c1: 0x134b, 0x7c2: 0x09c7, 0x7c3: 0x0b3b, 0x7c4: 0x10db, 0x7c5: 0x119b,
+ 0x7c6: 0x0eff, 0x7c7: 0x1033, 0x7c8: 0x1397, 0x7c9: 0x14e7, 0x7ca: 0x09c3, 0x7cb: 0x0a8f,
+ 0x7cc: 0x0d77, 0x7cd: 0x0e2b, 0x7ce: 0x0e5f, 0x7cf: 0x1113, 0x7d0: 0x113b, 0x7d1: 0x14a7,
+ 0x7d2: 0x084f, 0x7d3: 0x11a7, 0x7d4: 0x07f3, 0x7d5: 0x07ef, 0x7d6: 0x1097, 0x7d7: 0x1127,
+ 0x7d8: 0x125b, 0x7d9: 0x14af, 0x7da: 0x1367, 0x7db: 0x0c27, 0x7dc: 0x0d73, 0x7dd: 0x1357,
+ 0x7de: 0x06f7, 0x7df: 0x0a63, 0x7e0: 0x0b93, 0x7e1: 0x0f2f, 0x7e2: 0x0faf, 0x7e3: 0x0873,
+ 0x7e4: 0x103b, 0x7e5: 0x075f, 0x7e6: 0x0b77, 0x7e7: 0x06d7, 0x7e8: 0x0deb, 0x7e9: 0x0ca3,
+ 0x7ea: 0x110f, 0x7eb: 0x08c7, 0x7ec: 0x09b3, 0x7ed: 0x0ffb, 0x7ee: 0x1263, 0x7ef: 0x133b,
+ 0x7f0: 0x0db7, 0x7f1: 0x13f7, 0x7f2: 0x0de3, 0x7f3: 0x0c37, 0x7f4: 0x121b, 0x7f5: 0x0c57,
+ 0x7f6: 0x0fab, 0x7f7: 0x072b, 0x7f8: 0x07a7, 0x7f9: 0x07eb, 0x7fa: 0x0d53, 0x7fb: 0x10fb,
+ 0x7fc: 0x11f3, 0x7fd: 0x1347, 0x7fe: 0x145b, 0x7ff: 0x085b,
// Block 0x20, offset 0x800
- 0x800: 0x0ec3, 0x801: 0x0fcb, 0x802: 0x1277, 0x803: 0x1417, 0x804: 0x1623, 0x805: 0x0ce3,
- 0x806: 0x14a3, 0x807: 0x0833, 0x808: 0x0d2f, 0x809: 0x0d3b, 0x80a: 0x0e0f, 0x80b: 0x0e47,
- 0x80c: 0x0f4b, 0x80d: 0x0fa7, 0x80e: 0x1027, 0x80f: 0x110b, 0x810: 0x153b, 0x811: 0x07af,
- 0x812: 0x0c03, 0x813: 0x14b3, 0x814: 0x0767, 0x815: 0x0aab, 0x816: 0x0e2f, 0x817: 0x13df,
- 0x818: 0x0b67, 0x819: 0x0bb7, 0x81a: 0x0d43, 0x81b: 0x0f2f, 0x81c: 0x14bb, 0x81d: 0x0817,
- 0x81e: 0x08ff, 0x81f: 0x0a97, 0x820: 0x0cd3, 0x821: 0x0d1f, 0x822: 0x0d5f, 0x823: 0x0df3,
- 0x824: 0x0f47, 0x825: 0x0fbb, 0x826: 0x1157, 0x827: 0x12f7, 0x828: 0x1303, 0x829: 0x1457,
- 0x82a: 0x14d7, 0x82b: 0x0883, 0x82c: 0x0e4b, 0x82d: 0x0903, 0x82e: 0x0ec7, 0x82f: 0x0f6b,
- 0x830: 0x1287, 0x831: 0x14bf, 0x832: 0x15ab, 0x833: 0x15d3, 0x834: 0x0d37, 0x835: 0x0e27,
- 0x836: 0x11c3, 0x837: 0x10b7, 0x838: 0x10c3, 0x839: 0x10e7, 0x83a: 0x0f17, 0x83b: 0x0e9f,
- 0x83c: 0x1363, 0x83d: 0x0733, 0x83e: 0x122b, 0x83f: 0x081b,
+ 0x800: 0x090f, 0x801: 0x0a17, 0x802: 0x0b2f, 0x803: 0x0cbf, 0x804: 0x0e7b, 0x805: 0x103f,
+ 0x806: 0x1497, 0x807: 0x157b, 0x808: 0x15cf, 0x809: 0x15e7, 0x80a: 0x0837, 0x80b: 0x0cf3,
+ 0x80c: 0x0da3, 0x80d: 0x13eb, 0x80e: 0x0afb, 0x80f: 0x0bd7, 0x810: 0x0bf3, 0x811: 0x0c83,
+ 0x812: 0x0e6b, 0x813: 0x0eb7, 0x814: 0x0f67, 0x815: 0x108b, 0x816: 0x112f, 0x817: 0x1193,
+ 0x818: 0x13db, 0x819: 0x126b, 0x81a: 0x1403, 0x81b: 0x147f, 0x81c: 0x080f, 0x81d: 0x083b,
+ 0x81e: 0x0923, 0x81f: 0x0ea7, 0x820: 0x12f3, 0x821: 0x133b, 0x822: 0x0b1b, 0x823: 0x0b8b,
+ 0x824: 0x0c4f, 0x825: 0x0daf, 0x826: 0x10d7, 0x827: 0x0f23, 0x828: 0x073b, 0x829: 0x097f,
+ 0x82a: 0x0a63, 0x82b: 0x0ac7, 0x82c: 0x0b97, 0x82d: 0x0f3f, 0x82e: 0x0f5b, 0x82f: 0x116b,
+ 0x830: 0x118b, 0x831: 0x1463, 0x832: 0x14e3, 0x833: 0x14f3, 0x834: 0x152f, 0x835: 0x0753,
+ 0x836: 0x107f, 0x837: 0x144f, 0x838: 0x14cb, 0x839: 0x0baf, 0x83a: 0x0717, 0x83b: 0x0777,
+ 0x83c: 0x0a67, 0x83d: 0x0a87, 0x83e: 0x0caf, 0x83f: 0x0d73,
// Block 0x21, offset 0x840
- 0x840: 0x080b, 0x841: 0x0b0b, 0x842: 0x0c2b, 0x843: 0x10f3, 0x844: 0x0a53, 0x845: 0x0e03,
- 0x846: 0x0cef, 0x847: 0x13e7, 0x848: 0x12e7, 0x849: 0x14ab, 0x84a: 0x1323, 0x84b: 0x0b27,
- 0x84c: 0x0787, 0x84d: 0x095b, 0x850: 0x09af,
- 0x852: 0x0cdf, 0x855: 0x07f7, 0x856: 0x0f1f, 0x857: 0x0fe3,
- 0x858: 0x1047, 0x859: 0x1063, 0x85a: 0x1067, 0x85b: 0x107b, 0x85c: 0x14fb, 0x85d: 0x10eb,
- 0x85e: 0x116f, 0x860: 0x128f, 0x862: 0x1353,
- 0x865: 0x1407, 0x866: 0x1433,
- 0x86a: 0x154f, 0x86b: 0x1553, 0x86c: 0x1557, 0x86d: 0x15bb, 0x86e: 0x142b, 0x86f: 0x14c7,
- 0x870: 0x0757, 0x871: 0x077b, 0x872: 0x078f, 0x873: 0x084b, 0x874: 0x0857, 0x875: 0x0897,
- 0x876: 0x094b, 0x877: 0x0967, 0x878: 0x096f, 0x879: 0x09ab, 0x87a: 0x09b7, 0x87b: 0x0a93,
- 0x87c: 0x0a9b, 0x87d: 0x0ba3, 0x87e: 0x0bcb, 0x87f: 0x0bd3,
+ 0x840: 0x0ec3, 0x841: 0x0fcb, 0x842: 0x1277, 0x843: 0x1417, 0x844: 0x1623, 0x845: 0x0ce3,
+ 0x846: 0x14a3, 0x847: 0x0833, 0x848: 0x0d2f, 0x849: 0x0d3b, 0x84a: 0x0e0f, 0x84b: 0x0e47,
+ 0x84c: 0x0f4b, 0x84d: 0x0fa7, 0x84e: 0x1027, 0x84f: 0x110b, 0x850: 0x153b, 0x851: 0x07af,
+ 0x852: 0x0c03, 0x853: 0x14b3, 0x854: 0x0767, 0x855: 0x0aab, 0x856: 0x0e2f, 0x857: 0x13df,
+ 0x858: 0x0b67, 0x859: 0x0bb7, 0x85a: 0x0d43, 0x85b: 0x0f2f, 0x85c: 0x14bb, 0x85d: 0x0817,
+ 0x85e: 0x08ff, 0x85f: 0x0a97, 0x860: 0x0cd3, 0x861: 0x0d1f, 0x862: 0x0d5f, 0x863: 0x0df3,
+ 0x864: 0x0f47, 0x865: 0x0fbb, 0x866: 0x1157, 0x867: 0x12f7, 0x868: 0x1303, 0x869: 0x1457,
+ 0x86a: 0x14d7, 0x86b: 0x0883, 0x86c: 0x0e4b, 0x86d: 0x0903, 0x86e: 0x0ec7, 0x86f: 0x0f6b,
+ 0x870: 0x1287, 0x871: 0x14bf, 0x872: 0x15ab, 0x873: 0x15d3, 0x874: 0x0d37, 0x875: 0x0e27,
+ 0x876: 0x11c3, 0x877: 0x10b7, 0x878: 0x10c3, 0x879: 0x10e7, 0x87a: 0x0f17, 0x87b: 0x0e9f,
+ 0x87c: 0x1363, 0x87d: 0x0733, 0x87e: 0x122b, 0x87f: 0x081b,
// Block 0x22, offset 0x880
- 0x880: 0x0beb, 0x881: 0x0c97, 0x882: 0x0cc7, 0x883: 0x0ce7, 0x884: 0x0d57, 0x885: 0x0e1b,
- 0x886: 0x0e37, 0x887: 0x0e67, 0x888: 0x0ebb, 0x889: 0x0edb, 0x88a: 0x0f4f, 0x88b: 0x102f,
- 0x88c: 0x104b, 0x88d: 0x1053, 0x88e: 0x104f, 0x88f: 0x1057, 0x890: 0x105b, 0x891: 0x105f,
- 0x892: 0x1073, 0x893: 0x1077, 0x894: 0x109b, 0x895: 0x10af, 0x896: 0x10cb, 0x897: 0x112f,
- 0x898: 0x1137, 0x899: 0x113f, 0x89a: 0x1153, 0x89b: 0x117b, 0x89c: 0x11cb, 0x89d: 0x11ff,
- 0x89e: 0x11ff, 0x89f: 0x1267, 0x8a0: 0x130f, 0x8a1: 0x1327, 0x8a2: 0x135b, 0x8a3: 0x135f,
- 0x8a4: 0x13a3, 0x8a5: 0x13a7, 0x8a6: 0x13ff, 0x8a7: 0x1407, 0x8a8: 0x14db, 0x8a9: 0x151f,
- 0x8aa: 0x1537, 0x8ab: 0x0b9b, 0x8ac: 0x171e, 0x8ad: 0x11e3,
- 0x8b0: 0x06df, 0x8b1: 0x07e3, 0x8b2: 0x07a3, 0x8b3: 0x074b, 0x8b4: 0x078b, 0x8b5: 0x07b7,
- 0x8b6: 0x0847, 0x8b7: 0x0863, 0x8b8: 0x094b, 0x8b9: 0x0937, 0x8ba: 0x0947, 0x8bb: 0x0963,
- 0x8bc: 0x09af, 0x8bd: 0x09bf, 0x8be: 0x0a03, 0x8bf: 0x0a0f,
+ 0x880: 0x080b, 0x881: 0x0b0b, 0x882: 0x0c2b, 0x883: 0x10f3, 0x884: 0x0a53, 0x885: 0x0e03,
+ 0x886: 0x0cef, 0x887: 0x13e7, 0x888: 0x12e7, 0x889: 0x14ab, 0x88a: 0x1323, 0x88b: 0x0b27,
+ 0x88c: 0x0787, 0x88d: 0x095b, 0x890: 0x09af,
+ 0x892: 0x0cdf, 0x895: 0x07f7, 0x896: 0x0f1f, 0x897: 0x0fe3,
+ 0x898: 0x1047, 0x899: 0x1063, 0x89a: 0x1067, 0x89b: 0x107b, 0x89c: 0x14fb, 0x89d: 0x10eb,
+ 0x89e: 0x116f, 0x8a0: 0x128f, 0x8a2: 0x1353,
+ 0x8a5: 0x1407, 0x8a6: 0x1433,
+ 0x8aa: 0x154f, 0x8ab: 0x1553, 0x8ac: 0x1557, 0x8ad: 0x15bb, 0x8ae: 0x142b, 0x8af: 0x14c7,
+ 0x8b0: 0x0757, 0x8b1: 0x077b, 0x8b2: 0x078f, 0x8b3: 0x084b, 0x8b4: 0x0857, 0x8b5: 0x0897,
+ 0x8b6: 0x094b, 0x8b7: 0x0967, 0x8b8: 0x096f, 0x8b9: 0x09ab, 0x8ba: 0x09b7, 0x8bb: 0x0a93,
+ 0x8bc: 0x0a9b, 0x8bd: 0x0ba3, 0x8be: 0x0bcb, 0x8bf: 0x0bd3,
// Block 0x23, offset 0x8c0
- 0x8c0: 0x0a2b, 0x8c1: 0x0a3b, 0x8c2: 0x0b23, 0x8c3: 0x0b2b, 0x8c4: 0x0b5b, 0x8c5: 0x0b7b,
- 0x8c6: 0x0bab, 0x8c7: 0x0bc3, 0x8c8: 0x0bb3, 0x8c9: 0x0bd3, 0x8ca: 0x0bc7, 0x8cb: 0x0beb,
- 0x8cc: 0x0c07, 0x8cd: 0x0c5f, 0x8ce: 0x0c6b, 0x8cf: 0x0c73, 0x8d0: 0x0c9b, 0x8d1: 0x0cdf,
- 0x8d2: 0x0d0f, 0x8d3: 0x0d13, 0x8d4: 0x0d27, 0x8d5: 0x0da7, 0x8d6: 0x0db7, 0x8d7: 0x0e0f,
- 0x8d8: 0x0e5b, 0x8d9: 0x0e53, 0x8da: 0x0e67, 0x8db: 0x0e83, 0x8dc: 0x0ebb, 0x8dd: 0x1013,
- 0x8de: 0x0edf, 0x8df: 0x0f13, 0x8e0: 0x0f1f, 0x8e1: 0x0f5f, 0x8e2: 0x0f7b, 0x8e3: 0x0f9f,
- 0x8e4: 0x0fc3, 0x8e5: 0x0fc7, 0x8e6: 0x0fe3, 0x8e7: 0x0fe7, 0x8e8: 0x0ff7, 0x8e9: 0x100b,
- 0x8ea: 0x1007, 0x8eb: 0x1037, 0x8ec: 0x10b3, 0x8ed: 0x10cb, 0x8ee: 0x10e3, 0x8ef: 0x111b,
- 0x8f0: 0x112f, 0x8f1: 0x114b, 0x8f2: 0x117b, 0x8f3: 0x122f, 0x8f4: 0x1257, 0x8f5: 0x12cb,
- 0x8f6: 0x1313, 0x8f7: 0x131f, 0x8f8: 0x1327, 0x8f9: 0x133f, 0x8fa: 0x1353, 0x8fb: 0x1343,
- 0x8fc: 0x135b, 0x8fd: 0x1357, 0x8fe: 0x134f, 0x8ff: 0x135f,
+ 0x8c0: 0x0beb, 0x8c1: 0x0c97, 0x8c2: 0x0cc7, 0x8c3: 0x0ce7, 0x8c4: 0x0d57, 0x8c5: 0x0e1b,
+ 0x8c6: 0x0e37, 0x8c7: 0x0e67, 0x8c8: 0x0ebb, 0x8c9: 0x0edb, 0x8ca: 0x0f4f, 0x8cb: 0x102f,
+ 0x8cc: 0x104b, 0x8cd: 0x1053, 0x8ce: 0x104f, 0x8cf: 0x1057, 0x8d0: 0x105b, 0x8d1: 0x105f,
+ 0x8d2: 0x1073, 0x8d3: 0x1077, 0x8d4: 0x109b, 0x8d5: 0x10af, 0x8d6: 0x10cb, 0x8d7: 0x112f,
+ 0x8d8: 0x1137, 0x8d9: 0x113f, 0x8da: 0x1153, 0x8db: 0x117b, 0x8dc: 0x11cb, 0x8dd: 0x11ff,
+ 0x8de: 0x11ff, 0x8df: 0x1267, 0x8e0: 0x130f, 0x8e1: 0x1327, 0x8e2: 0x135b, 0x8e3: 0x135f,
+ 0x8e4: 0x13a3, 0x8e5: 0x13a7, 0x8e6: 0x13ff, 0x8e7: 0x1407, 0x8e8: 0x14db, 0x8e9: 0x151f,
+ 0x8ea: 0x1537, 0x8eb: 0x0b9b, 0x8ec: 0x171e, 0x8ed: 0x11e3,
+ 0x8f0: 0x06df, 0x8f1: 0x07e3, 0x8f2: 0x07a3, 0x8f3: 0x074b, 0x8f4: 0x078b, 0x8f5: 0x07b7,
+ 0x8f6: 0x0847, 0x8f7: 0x0863, 0x8f8: 0x094b, 0x8f9: 0x0937, 0x8fa: 0x0947, 0x8fb: 0x0963,
+ 0x8fc: 0x09af, 0x8fd: 0x09bf, 0x8fe: 0x0a03, 0x8ff: 0x0a0f,
// Block 0x24, offset 0x900
- 0x900: 0x136b, 0x901: 0x13a7, 0x902: 0x13e3, 0x903: 0x1413, 0x904: 0x144b, 0x905: 0x146b,
- 0x906: 0x14b7, 0x907: 0x14db, 0x908: 0x14fb, 0x909: 0x150f, 0x90a: 0x151f, 0x90b: 0x152b,
- 0x90c: 0x1537, 0x90d: 0x158b, 0x90e: 0x162b, 0x90f: 0x16b5, 0x910: 0x16b0, 0x911: 0x16e2,
- 0x912: 0x0607, 0x913: 0x062f, 0x914: 0x0633, 0x915: 0x1764, 0x916: 0x1791, 0x917: 0x1809,
- 0x918: 0x1617, 0x919: 0x1627,
+ 0x900: 0x0a2b, 0x901: 0x0a3b, 0x902: 0x0b23, 0x903: 0x0b2b, 0x904: 0x0b5b, 0x905: 0x0b7b,
+ 0x906: 0x0bab, 0x907: 0x0bc3, 0x908: 0x0bb3, 0x909: 0x0bd3, 0x90a: 0x0bc7, 0x90b: 0x0beb,
+ 0x90c: 0x0c07, 0x90d: 0x0c5f, 0x90e: 0x0c6b, 0x90f: 0x0c73, 0x910: 0x0c9b, 0x911: 0x0cdf,
+ 0x912: 0x0d0f, 0x913: 0x0d13, 0x914: 0x0d27, 0x915: 0x0da7, 0x916: 0x0db7, 0x917: 0x0e0f,
+ 0x918: 0x0e5b, 0x919: 0x0e53, 0x91a: 0x0e67, 0x91b: 0x0e83, 0x91c: 0x0ebb, 0x91d: 0x1013,
+ 0x91e: 0x0edf, 0x91f: 0x0f13, 0x920: 0x0f1f, 0x921: 0x0f5f, 0x922: 0x0f7b, 0x923: 0x0f9f,
+ 0x924: 0x0fc3, 0x925: 0x0fc7, 0x926: 0x0fe3, 0x927: 0x0fe7, 0x928: 0x0ff7, 0x929: 0x100b,
+ 0x92a: 0x1007, 0x92b: 0x1037, 0x92c: 0x10b3, 0x92d: 0x10cb, 0x92e: 0x10e3, 0x92f: 0x111b,
+ 0x930: 0x112f, 0x931: 0x114b, 0x932: 0x117b, 0x933: 0x122f, 0x934: 0x1257, 0x935: 0x12cb,
+ 0x936: 0x1313, 0x937: 0x131f, 0x938: 0x1327, 0x939: 0x133f, 0x93a: 0x1353, 0x93b: 0x1343,
+ 0x93c: 0x135b, 0x93d: 0x1357, 0x93e: 0x134f, 0x93f: 0x135f,
// Block 0x25, offset 0x940
- 0x940: 0x06fb, 0x941: 0x06f3, 0x942: 0x0703, 0x943: 0x1647, 0x944: 0x0747, 0x945: 0x0757,
- 0x946: 0x075b, 0x947: 0x0763, 0x948: 0x076b, 0x949: 0x076f, 0x94a: 0x077b, 0x94b: 0x0773,
- 0x94c: 0x05b3, 0x94d: 0x165b, 0x94e: 0x078f, 0x94f: 0x0793, 0x950: 0x0797, 0x951: 0x07b3,
- 0x952: 0x164c, 0x953: 0x05b7, 0x954: 0x079f, 0x955: 0x07bf, 0x956: 0x1656, 0x957: 0x07cf,
- 0x958: 0x07d7, 0x959: 0x0737, 0x95a: 0x07df, 0x95b: 0x07e3, 0x95c: 0x1831, 0x95d: 0x07ff,
- 0x95e: 0x0807, 0x95f: 0x05bf, 0x960: 0x081f, 0x961: 0x0823, 0x962: 0x082b, 0x963: 0x082f,
- 0x964: 0x05c3, 0x965: 0x0847, 0x966: 0x084b, 0x967: 0x0857, 0x968: 0x0863, 0x969: 0x0867,
- 0x96a: 0x086b, 0x96b: 0x0873, 0x96c: 0x0893, 0x96d: 0x0897, 0x96e: 0x089f, 0x96f: 0x08af,
- 0x970: 0x08b7, 0x971: 0x08bb, 0x972: 0x08bb, 0x973: 0x08bb, 0x974: 0x166a, 0x975: 0x0e93,
- 0x976: 0x08cf, 0x977: 0x08d7, 0x978: 0x166f, 0x979: 0x08e3, 0x97a: 0x08eb, 0x97b: 0x08f3,
- 0x97c: 0x091b, 0x97d: 0x0907, 0x97e: 0x0913, 0x97f: 0x0917,
+ 0x940: 0x136b, 0x941: 0x13a7, 0x942: 0x13e3, 0x943: 0x1413, 0x944: 0x144b, 0x945: 0x146b,
+ 0x946: 0x14b7, 0x947: 0x14db, 0x948: 0x14fb, 0x949: 0x150f, 0x94a: 0x151f, 0x94b: 0x152b,
+ 0x94c: 0x1537, 0x94d: 0x158b, 0x94e: 0x162b, 0x94f: 0x16b5, 0x950: 0x16b0, 0x951: 0x16e2,
+ 0x952: 0x0607, 0x953: 0x062f, 0x954: 0x0633, 0x955: 0x1764, 0x956: 0x1791, 0x957: 0x1809,
+ 0x958: 0x1617, 0x959: 0x1627,
// Block 0x26, offset 0x980
- 0x980: 0x091f, 0x981: 0x0927, 0x982: 0x092b, 0x983: 0x0933, 0x984: 0x093b, 0x985: 0x093f,
- 0x986: 0x093f, 0x987: 0x0947, 0x988: 0x094f, 0x989: 0x0953, 0x98a: 0x095f, 0x98b: 0x0983,
- 0x98c: 0x0967, 0x98d: 0x0987, 0x98e: 0x096b, 0x98f: 0x0973, 0x990: 0x080b, 0x991: 0x09cf,
- 0x992: 0x0997, 0x993: 0x099b, 0x994: 0x099f, 0x995: 0x0993, 0x996: 0x09a7, 0x997: 0x09a3,
- 0x998: 0x09bb, 0x999: 0x1674, 0x99a: 0x09d7, 0x99b: 0x09db, 0x99c: 0x09e3, 0x99d: 0x09ef,
- 0x99e: 0x09f7, 0x99f: 0x0a13, 0x9a0: 0x1679, 0x9a1: 0x167e, 0x9a2: 0x0a1f, 0x9a3: 0x0a23,
- 0x9a4: 0x0a27, 0x9a5: 0x0a1b, 0x9a6: 0x0a2f, 0x9a7: 0x05c7, 0x9a8: 0x05cb, 0x9a9: 0x0a37,
- 0x9aa: 0x0a3f, 0x9ab: 0x0a3f, 0x9ac: 0x1683, 0x9ad: 0x0a5b, 0x9ae: 0x0a5f, 0x9af: 0x0a63,
- 0x9b0: 0x0a6b, 0x9b1: 0x1688, 0x9b2: 0x0a73, 0x9b3: 0x0a77, 0x9b4: 0x0b4f, 0x9b5: 0x0a7f,
- 0x9b6: 0x05cf, 0x9b7: 0x0a8b, 0x9b8: 0x0a9b, 0x9b9: 0x0aa7, 0x9ba: 0x0aa3, 0x9bb: 0x1692,
- 0x9bc: 0x0aaf, 0x9bd: 0x1697, 0x9be: 0x0abb, 0x9bf: 0x0ab7,
+ 0x980: 0x06fb, 0x981: 0x06f3, 0x982: 0x0703, 0x983: 0x1647, 0x984: 0x0747, 0x985: 0x0757,
+ 0x986: 0x075b, 0x987: 0x0763, 0x988: 0x076b, 0x989: 0x076f, 0x98a: 0x077b, 0x98b: 0x0773,
+ 0x98c: 0x05b3, 0x98d: 0x165b, 0x98e: 0x078f, 0x98f: 0x0793, 0x990: 0x0797, 0x991: 0x07b3,
+ 0x992: 0x164c, 0x993: 0x05b7, 0x994: 0x079f, 0x995: 0x07bf, 0x996: 0x1656, 0x997: 0x07cf,
+ 0x998: 0x07d7, 0x999: 0x0737, 0x99a: 0x07df, 0x99b: 0x07e3, 0x99c: 0x1831, 0x99d: 0x07ff,
+ 0x99e: 0x0807, 0x99f: 0x05bf, 0x9a0: 0x081f, 0x9a1: 0x0823, 0x9a2: 0x082b, 0x9a3: 0x082f,
+ 0x9a4: 0x05c3, 0x9a5: 0x0847, 0x9a6: 0x084b, 0x9a7: 0x0857, 0x9a8: 0x0863, 0x9a9: 0x0867,
+ 0x9aa: 0x086b, 0x9ab: 0x0873, 0x9ac: 0x0893, 0x9ad: 0x0897, 0x9ae: 0x089f, 0x9af: 0x08af,
+ 0x9b0: 0x08b7, 0x9b1: 0x08bb, 0x9b2: 0x08bb, 0x9b3: 0x08bb, 0x9b4: 0x166a, 0x9b5: 0x0e93,
+ 0x9b6: 0x08cf, 0x9b7: 0x08d7, 0x9b8: 0x166f, 0x9b9: 0x08e3, 0x9ba: 0x08eb, 0x9bb: 0x08f3,
+ 0x9bc: 0x091b, 0x9bd: 0x0907, 0x9be: 0x0913, 0x9bf: 0x0917,
// Block 0x27, offset 0x9c0
- 0x9c0: 0x0abf, 0x9c1: 0x0acf, 0x9c2: 0x0ad3, 0x9c3: 0x05d3, 0x9c4: 0x0ae3, 0x9c5: 0x0aeb,
- 0x9c6: 0x0aef, 0x9c7: 0x0af3, 0x9c8: 0x05d7, 0x9c9: 0x169c, 0x9ca: 0x05db, 0x9cb: 0x0b0f,
- 0x9cc: 0x0b13, 0x9cd: 0x0b17, 0x9ce: 0x0b1f, 0x9cf: 0x1863, 0x9d0: 0x0b37, 0x9d1: 0x16a6,
- 0x9d2: 0x16a6, 0x9d3: 0x11d7, 0x9d4: 0x0b47, 0x9d5: 0x0b47, 0x9d6: 0x05df, 0x9d7: 0x16c9,
- 0x9d8: 0x179b, 0x9d9: 0x0b57, 0x9da: 0x0b5f, 0x9db: 0x05e3, 0x9dc: 0x0b73, 0x9dd: 0x0b83,
- 0x9de: 0x0b87, 0x9df: 0x0b8f, 0x9e0: 0x0b9f, 0x9e1: 0x05eb, 0x9e2: 0x05e7, 0x9e3: 0x0ba3,
- 0x9e4: 0x16ab, 0x9e5: 0x0ba7, 0x9e6: 0x0bbb, 0x9e7: 0x0bbf, 0x9e8: 0x0bc3, 0x9e9: 0x0bbf,
- 0x9ea: 0x0bcf, 0x9eb: 0x0bd3, 0x9ec: 0x0be3, 0x9ed: 0x0bdb, 0x9ee: 0x0bdf, 0x9ef: 0x0be7,
- 0x9f0: 0x0beb, 0x9f1: 0x0bef, 0x9f2: 0x0bfb, 0x9f3: 0x0bff, 0x9f4: 0x0c17, 0x9f5: 0x0c1f,
- 0x9f6: 0x0c2f, 0x9f7: 0x0c43, 0x9f8: 0x16ba, 0x9f9: 0x0c3f, 0x9fa: 0x0c33, 0x9fb: 0x0c4b,
- 0x9fc: 0x0c53, 0x9fd: 0x0c67, 0x9fe: 0x16bf, 0x9ff: 0x0c6f,
+ 0x9c0: 0x091f, 0x9c1: 0x0927, 0x9c2: 0x092b, 0x9c3: 0x0933, 0x9c4: 0x093b, 0x9c5: 0x093f,
+ 0x9c6: 0x093f, 0x9c7: 0x0947, 0x9c8: 0x094f, 0x9c9: 0x0953, 0x9ca: 0x095f, 0x9cb: 0x0983,
+ 0x9cc: 0x0967, 0x9cd: 0x0987, 0x9ce: 0x096b, 0x9cf: 0x0973, 0x9d0: 0x080b, 0x9d1: 0x09cf,
+ 0x9d2: 0x0997, 0x9d3: 0x099b, 0x9d4: 0x099f, 0x9d5: 0x0993, 0x9d6: 0x09a7, 0x9d7: 0x09a3,
+ 0x9d8: 0x09bb, 0x9d9: 0x1674, 0x9da: 0x09d7, 0x9db: 0x09db, 0x9dc: 0x09e3, 0x9dd: 0x09ef,
+ 0x9de: 0x09f7, 0x9df: 0x0a13, 0x9e0: 0x1679, 0x9e1: 0x167e, 0x9e2: 0x0a1f, 0x9e3: 0x0a23,
+ 0x9e4: 0x0a27, 0x9e5: 0x0a1b, 0x9e6: 0x0a2f, 0x9e7: 0x05c7, 0x9e8: 0x05cb, 0x9e9: 0x0a37,
+ 0x9ea: 0x0a3f, 0x9eb: 0x0a3f, 0x9ec: 0x1683, 0x9ed: 0x0a5b, 0x9ee: 0x0a5f, 0x9ef: 0x0a63,
+ 0x9f0: 0x0a6b, 0x9f1: 0x1688, 0x9f2: 0x0a73, 0x9f3: 0x0a77, 0x9f4: 0x0b4f, 0x9f5: 0x0a7f,
+ 0x9f6: 0x05cf, 0x9f7: 0x0a8b, 0x9f8: 0x0a9b, 0x9f9: 0x0aa7, 0x9fa: 0x0aa3, 0x9fb: 0x1692,
+ 0x9fc: 0x0aaf, 0x9fd: 0x1697, 0x9fe: 0x0abb, 0x9ff: 0x0ab7,
// Block 0x28, offset 0xa00
- 0xa00: 0x0c63, 0xa01: 0x0c5b, 0xa02: 0x05ef, 0xa03: 0x0c77, 0xa04: 0x0c7f, 0xa05: 0x0c87,
- 0xa06: 0x0c7b, 0xa07: 0x05f3, 0xa08: 0x0c97, 0xa09: 0x0c9f, 0xa0a: 0x16c4, 0xa0b: 0x0ccb,
- 0xa0c: 0x0cff, 0xa0d: 0x0cdb, 0xa0e: 0x05ff, 0xa0f: 0x0ce7, 0xa10: 0x05fb, 0xa11: 0x05f7,
- 0xa12: 0x07c3, 0xa13: 0x07c7, 0xa14: 0x0d03, 0xa15: 0x0ceb, 0xa16: 0x11ab, 0xa17: 0x0663,
- 0xa18: 0x0d0f, 0xa19: 0x0d13, 0xa1a: 0x0d17, 0xa1b: 0x0d2b, 0xa1c: 0x0d23, 0xa1d: 0x16dd,
- 0xa1e: 0x0603, 0xa1f: 0x0d3f, 0xa20: 0x0d33, 0xa21: 0x0d4f, 0xa22: 0x0d57, 0xa23: 0x16e7,
- 0xa24: 0x0d5b, 0xa25: 0x0d47, 0xa26: 0x0d63, 0xa27: 0x0607, 0xa28: 0x0d67, 0xa29: 0x0d6b,
- 0xa2a: 0x0d6f, 0xa2b: 0x0d7b, 0xa2c: 0x16ec, 0xa2d: 0x0d83, 0xa2e: 0x060b, 0xa2f: 0x0d8f,
- 0xa30: 0x16f1, 0xa31: 0x0d93, 0xa32: 0x060f, 0xa33: 0x0d9f, 0xa34: 0x0dab, 0xa35: 0x0db7,
- 0xa36: 0x0dbb, 0xa37: 0x16f6, 0xa38: 0x168d, 0xa39: 0x16fb, 0xa3a: 0x0ddb, 0xa3b: 0x1700,
- 0xa3c: 0x0de7, 0xa3d: 0x0def, 0xa3e: 0x0ddf, 0xa3f: 0x0dfb,
+ 0xa00: 0x0abf, 0xa01: 0x0acf, 0xa02: 0x0ad3, 0xa03: 0x05d3, 0xa04: 0x0ae3, 0xa05: 0x0aeb,
+ 0xa06: 0x0aef, 0xa07: 0x0af3, 0xa08: 0x05d7, 0xa09: 0x169c, 0xa0a: 0x05db, 0xa0b: 0x0b0f,
+ 0xa0c: 0x0b13, 0xa0d: 0x0b17, 0xa0e: 0x0b1f, 0xa0f: 0x1863, 0xa10: 0x0b37, 0xa11: 0x16a6,
+ 0xa12: 0x16a6, 0xa13: 0x11d7, 0xa14: 0x0b47, 0xa15: 0x0b47, 0xa16: 0x05df, 0xa17: 0x16c9,
+ 0xa18: 0x179b, 0xa19: 0x0b57, 0xa1a: 0x0b5f, 0xa1b: 0x05e3, 0xa1c: 0x0b73, 0xa1d: 0x0b83,
+ 0xa1e: 0x0b87, 0xa1f: 0x0b8f, 0xa20: 0x0b9f, 0xa21: 0x05eb, 0xa22: 0x05e7, 0xa23: 0x0ba3,
+ 0xa24: 0x16ab, 0xa25: 0x0ba7, 0xa26: 0x0bbb, 0xa27: 0x0bbf, 0xa28: 0x0bc3, 0xa29: 0x0bbf,
+ 0xa2a: 0x0bcf, 0xa2b: 0x0bd3, 0xa2c: 0x0be3, 0xa2d: 0x0bdb, 0xa2e: 0x0bdf, 0xa2f: 0x0be7,
+ 0xa30: 0x0beb, 0xa31: 0x0bef, 0xa32: 0x0bfb, 0xa33: 0x0bff, 0xa34: 0x0c17, 0xa35: 0x0c1f,
+ 0xa36: 0x0c2f, 0xa37: 0x0c43, 0xa38: 0x16ba, 0xa39: 0x0c3f, 0xa3a: 0x0c33, 0xa3b: 0x0c4b,
+ 0xa3c: 0x0c53, 0xa3d: 0x0c67, 0xa3e: 0x16bf, 0xa3f: 0x0c6f,
// Block 0x29, offset 0xa40
- 0xa40: 0x0e0b, 0xa41: 0x0e1b, 0xa42: 0x0e0f, 0xa43: 0x0e13, 0xa44: 0x0e1f, 0xa45: 0x0e23,
- 0xa46: 0x1705, 0xa47: 0x0e07, 0xa48: 0x0e3b, 0xa49: 0x0e3f, 0xa4a: 0x0613, 0xa4b: 0x0e53,
- 0xa4c: 0x0e4f, 0xa4d: 0x170a, 0xa4e: 0x0e33, 0xa4f: 0x0e6f, 0xa50: 0x170f, 0xa51: 0x1714,
- 0xa52: 0x0e73, 0xa53: 0x0e87, 0xa54: 0x0e83, 0xa55: 0x0e7f, 0xa56: 0x0617, 0xa57: 0x0e8b,
- 0xa58: 0x0e9b, 0xa59: 0x0e97, 0xa5a: 0x0ea3, 0xa5b: 0x1651, 0xa5c: 0x0eb3, 0xa5d: 0x1719,
- 0xa5e: 0x0ebf, 0xa5f: 0x1723, 0xa60: 0x0ed3, 0xa61: 0x0edf, 0xa62: 0x0ef3, 0xa63: 0x1728,
- 0xa64: 0x0f07, 0xa65: 0x0f0b, 0xa66: 0x172d, 0xa67: 0x1732, 0xa68: 0x0f27, 0xa69: 0x0f37,
- 0xa6a: 0x061b, 0xa6b: 0x0f3b, 0xa6c: 0x061f, 0xa6d: 0x061f, 0xa6e: 0x0f53, 0xa6f: 0x0f57,
- 0xa70: 0x0f5f, 0xa71: 0x0f63, 0xa72: 0x0f6f, 0xa73: 0x0623, 0xa74: 0x0f87, 0xa75: 0x1737,
- 0xa76: 0x0fa3, 0xa77: 0x173c, 0xa78: 0x0faf, 0xa79: 0x16a1, 0xa7a: 0x0fbf, 0xa7b: 0x1741,
- 0xa7c: 0x1746, 0xa7d: 0x174b, 0xa7e: 0x0627, 0xa7f: 0x062b,
+ 0xa40: 0x0c63, 0xa41: 0x0c5b, 0xa42: 0x05ef, 0xa43: 0x0c77, 0xa44: 0x0c7f, 0xa45: 0x0c87,
+ 0xa46: 0x0c7b, 0xa47: 0x05f3, 0xa48: 0x0c97, 0xa49: 0x0c9f, 0xa4a: 0x16c4, 0xa4b: 0x0ccb,
+ 0xa4c: 0x0cff, 0xa4d: 0x0cdb, 0xa4e: 0x05ff, 0xa4f: 0x0ce7, 0xa50: 0x05fb, 0xa51: 0x05f7,
+ 0xa52: 0x07c3, 0xa53: 0x07c7, 0xa54: 0x0d03, 0xa55: 0x0ceb, 0xa56: 0x11ab, 0xa57: 0x0663,
+ 0xa58: 0x0d0f, 0xa59: 0x0d13, 0xa5a: 0x0d17, 0xa5b: 0x0d2b, 0xa5c: 0x0d23, 0xa5d: 0x16dd,
+ 0xa5e: 0x0603, 0xa5f: 0x0d3f, 0xa60: 0x0d33, 0xa61: 0x0d4f, 0xa62: 0x0d57, 0xa63: 0x16e7,
+ 0xa64: 0x0d5b, 0xa65: 0x0d47, 0xa66: 0x0d63, 0xa67: 0x0607, 0xa68: 0x0d67, 0xa69: 0x0d6b,
+ 0xa6a: 0x0d6f, 0xa6b: 0x0d7b, 0xa6c: 0x16ec, 0xa6d: 0x0d83, 0xa6e: 0x060b, 0xa6f: 0x0d8f,
+ 0xa70: 0x16f1, 0xa71: 0x0d93, 0xa72: 0x060f, 0xa73: 0x0d9f, 0xa74: 0x0dab, 0xa75: 0x0db7,
+ 0xa76: 0x0dbb, 0xa77: 0x16f6, 0xa78: 0x168d, 0xa79: 0x16fb, 0xa7a: 0x0ddb, 0xa7b: 0x1700,
+ 0xa7c: 0x0de7, 0xa7d: 0x0def, 0xa7e: 0x0ddf, 0xa7f: 0x0dfb,
// Block 0x2a, offset 0xa80
- 0xa80: 0x0ff7, 0xa81: 0x1755, 0xa82: 0x1750, 0xa83: 0x175a, 0xa84: 0x175f, 0xa85: 0x0fff,
- 0xa86: 0x1003, 0xa87: 0x1003, 0xa88: 0x100b, 0xa89: 0x0633, 0xa8a: 0x100f, 0xa8b: 0x0637,
- 0xa8c: 0x063b, 0xa8d: 0x1769, 0xa8e: 0x1023, 0xa8f: 0x102b, 0xa90: 0x1037, 0xa91: 0x063f,
- 0xa92: 0x176e, 0xa93: 0x105b, 0xa94: 0x1773, 0xa95: 0x1778, 0xa96: 0x107b, 0xa97: 0x1093,
- 0xa98: 0x0643, 0xa99: 0x109b, 0xa9a: 0x109f, 0xa9b: 0x10a3, 0xa9c: 0x177d, 0xa9d: 0x1782,
- 0xa9e: 0x1782, 0xa9f: 0x10bb, 0xaa0: 0x0647, 0xaa1: 0x1787, 0xaa2: 0x10cf, 0xaa3: 0x10d3,
- 0xaa4: 0x064b, 0xaa5: 0x178c, 0xaa6: 0x10ef, 0xaa7: 0x064f, 0xaa8: 0x10ff, 0xaa9: 0x10f7,
- 0xaaa: 0x1107, 0xaab: 0x1796, 0xaac: 0x111f, 0xaad: 0x0653, 0xaae: 0x112b, 0xaaf: 0x1133,
- 0xab0: 0x1143, 0xab1: 0x0657, 0xab2: 0x17a0, 0xab3: 0x17a5, 0xab4: 0x065b, 0xab5: 0x17aa,
- 0xab6: 0x115b, 0xab7: 0x17af, 0xab8: 0x1167, 0xab9: 0x1173, 0xaba: 0x117b, 0xabb: 0x17b4,
- 0xabc: 0x17b9, 0xabd: 0x118f, 0xabe: 0x17be, 0xabf: 0x1197,
+ 0xa80: 0x0e0b, 0xa81: 0x0e1b, 0xa82: 0x0e0f, 0xa83: 0x0e13, 0xa84: 0x0e1f, 0xa85: 0x0e23,
+ 0xa86: 0x1705, 0xa87: 0x0e07, 0xa88: 0x0e3b, 0xa89: 0x0e3f, 0xa8a: 0x0613, 0xa8b: 0x0e53,
+ 0xa8c: 0x0e4f, 0xa8d: 0x170a, 0xa8e: 0x0e33, 0xa8f: 0x0e6f, 0xa90: 0x170f, 0xa91: 0x1714,
+ 0xa92: 0x0e73, 0xa93: 0x0e87, 0xa94: 0x0e83, 0xa95: 0x0e7f, 0xa96: 0x0617, 0xa97: 0x0e8b,
+ 0xa98: 0x0e9b, 0xa99: 0x0e97, 0xa9a: 0x0ea3, 0xa9b: 0x1651, 0xa9c: 0x0eb3, 0xa9d: 0x1719,
+ 0xa9e: 0x0ebf, 0xa9f: 0x1723, 0xaa0: 0x0ed3, 0xaa1: 0x0edf, 0xaa2: 0x0ef3, 0xaa3: 0x1728,
+ 0xaa4: 0x0f07, 0xaa5: 0x0f0b, 0xaa6: 0x172d, 0xaa7: 0x1732, 0xaa8: 0x0f27, 0xaa9: 0x0f37,
+ 0xaaa: 0x061b, 0xaab: 0x0f3b, 0xaac: 0x061f, 0xaad: 0x061f, 0xaae: 0x0f53, 0xaaf: 0x0f57,
+ 0xab0: 0x0f5f, 0xab1: 0x0f63, 0xab2: 0x0f6f, 0xab3: 0x0623, 0xab4: 0x0f87, 0xab5: 0x1737,
+ 0xab6: 0x0fa3, 0xab7: 0x173c, 0xab8: 0x0faf, 0xab9: 0x16a1, 0xaba: 0x0fbf, 0xabb: 0x1741,
+ 0xabc: 0x1746, 0xabd: 0x174b, 0xabe: 0x0627, 0xabf: 0x062b,
// Block 0x2b, offset 0xac0
- 0xac0: 0x16ce, 0xac1: 0x065f, 0xac2: 0x11af, 0xac3: 0x11b3, 0xac4: 0x0667, 0xac5: 0x11b7,
- 0xac6: 0x0a33, 0xac7: 0x17c3, 0xac8: 0x17c8, 0xac9: 0x16d3, 0xaca: 0x16d8, 0xacb: 0x11d7,
- 0xacc: 0x11db, 0xacd: 0x13f3, 0xace: 0x066b, 0xacf: 0x1207, 0xad0: 0x1203, 0xad1: 0x120b,
- 0xad2: 0x083f, 0xad3: 0x120f, 0xad4: 0x1213, 0xad5: 0x1217, 0xad6: 0x121f, 0xad7: 0x17cd,
- 0xad8: 0x121b, 0xad9: 0x1223, 0xada: 0x1237, 0xadb: 0x123b, 0xadc: 0x1227, 0xadd: 0x123f,
- 0xade: 0x1253, 0xadf: 0x1267, 0xae0: 0x1233, 0xae1: 0x1247, 0xae2: 0x124b, 0xae3: 0x124f,
- 0xae4: 0x17d2, 0xae5: 0x17dc, 0xae6: 0x17d7, 0xae7: 0x066f, 0xae8: 0x126f, 0xae9: 0x1273,
- 0xaea: 0x127b, 0xaeb: 0x17f0, 0xaec: 0x127f, 0xaed: 0x17e1, 0xaee: 0x0673, 0xaef: 0x0677,
- 0xaf0: 0x17e6, 0xaf1: 0x17eb, 0xaf2: 0x067b, 0xaf3: 0x129f, 0xaf4: 0x12a3, 0xaf5: 0x12a7,
- 0xaf6: 0x12ab, 0xaf7: 0x12b7, 0xaf8: 0x12b3, 0xaf9: 0x12bf, 0xafa: 0x12bb, 0xafb: 0x12cb,
- 0xafc: 0x12c3, 0xafd: 0x12c7, 0xafe: 0x12cf, 0xaff: 0x067f,
+ 0xac0: 0x0ff7, 0xac1: 0x1755, 0xac2: 0x1750, 0xac3: 0x175a, 0xac4: 0x175f, 0xac5: 0x0fff,
+ 0xac6: 0x1003, 0xac7: 0x1003, 0xac8: 0x100b, 0xac9: 0x0633, 0xaca: 0x100f, 0xacb: 0x0637,
+ 0xacc: 0x063b, 0xacd: 0x1769, 0xace: 0x1023, 0xacf: 0x102b, 0xad0: 0x1037, 0xad1: 0x063f,
+ 0xad2: 0x176e, 0xad3: 0x105b, 0xad4: 0x1773, 0xad5: 0x1778, 0xad6: 0x107b, 0xad7: 0x1093,
+ 0xad8: 0x0643, 0xad9: 0x109b, 0xada: 0x109f, 0xadb: 0x10a3, 0xadc: 0x177d, 0xadd: 0x1782,
+ 0xade: 0x1782, 0xadf: 0x10bb, 0xae0: 0x0647, 0xae1: 0x1787, 0xae2: 0x10cf, 0xae3: 0x10d3,
+ 0xae4: 0x064b, 0xae5: 0x178c, 0xae6: 0x10ef, 0xae7: 0x064f, 0xae8: 0x10ff, 0xae9: 0x10f7,
+ 0xaea: 0x1107, 0xaeb: 0x1796, 0xaec: 0x111f, 0xaed: 0x0653, 0xaee: 0x112b, 0xaef: 0x1133,
+ 0xaf0: 0x1143, 0xaf1: 0x0657, 0xaf2: 0x17a0, 0xaf3: 0x17a5, 0xaf4: 0x065b, 0xaf5: 0x17aa,
+ 0xaf6: 0x115b, 0xaf7: 0x17af, 0xaf8: 0x1167, 0xaf9: 0x1173, 0xafa: 0x117b, 0xafb: 0x17b4,
+ 0xafc: 0x17b9, 0xafd: 0x118f, 0xafe: 0x17be, 0xaff: 0x1197,
// Block 0x2c, offset 0xb00
- 0xb00: 0x12d7, 0xb01: 0x12db, 0xb02: 0x0683, 0xb03: 0x12eb, 0xb04: 0x12ef, 0xb05: 0x17f5,
- 0xb06: 0x12fb, 0xb07: 0x12ff, 0xb08: 0x0687, 0xb09: 0x130b, 0xb0a: 0x05bb, 0xb0b: 0x17fa,
- 0xb0c: 0x17ff, 0xb0d: 0x068b, 0xb0e: 0x068f, 0xb0f: 0x1337, 0xb10: 0x134f, 0xb11: 0x136b,
- 0xb12: 0x137b, 0xb13: 0x1804, 0xb14: 0x138f, 0xb15: 0x1393, 0xb16: 0x13ab, 0xb17: 0x13b7,
- 0xb18: 0x180e, 0xb19: 0x1660, 0xb1a: 0x13c3, 0xb1b: 0x13bf, 0xb1c: 0x13cb, 0xb1d: 0x1665,
- 0xb1e: 0x13d7, 0xb1f: 0x13e3, 0xb20: 0x1813, 0xb21: 0x1818, 0xb22: 0x1423, 0xb23: 0x142f,
- 0xb24: 0x1437, 0xb25: 0x181d, 0xb26: 0x143b, 0xb27: 0x1467, 0xb28: 0x1473, 0xb29: 0x1477,
- 0xb2a: 0x146f, 0xb2b: 0x1483, 0xb2c: 0x1487, 0xb2d: 0x1822, 0xb2e: 0x1493, 0xb2f: 0x0693,
- 0xb30: 0x149b, 0xb31: 0x1827, 0xb32: 0x0697, 0xb33: 0x14d3, 0xb34: 0x0ac3, 0xb35: 0x14eb,
- 0xb36: 0x182c, 0xb37: 0x1836, 0xb38: 0x069b, 0xb39: 0x069f, 0xb3a: 0x1513, 0xb3b: 0x183b,
- 0xb3c: 0x06a3, 0xb3d: 0x1840, 0xb3e: 0x152b, 0xb3f: 0x152b,
+ 0xb00: 0x16ce, 0xb01: 0x065f, 0xb02: 0x11af, 0xb03: 0x11b3, 0xb04: 0x0667, 0xb05: 0x11b7,
+ 0xb06: 0x0a33, 0xb07: 0x17c3, 0xb08: 0x17c8, 0xb09: 0x16d3, 0xb0a: 0x16d8, 0xb0b: 0x11d7,
+ 0xb0c: 0x11db, 0xb0d: 0x13f3, 0xb0e: 0x066b, 0xb0f: 0x1207, 0xb10: 0x1203, 0xb11: 0x120b,
+ 0xb12: 0x083f, 0xb13: 0x120f, 0xb14: 0x1213, 0xb15: 0x1217, 0xb16: 0x121f, 0xb17: 0x17cd,
+ 0xb18: 0x121b, 0xb19: 0x1223, 0xb1a: 0x1237, 0xb1b: 0x123b, 0xb1c: 0x1227, 0xb1d: 0x123f,
+ 0xb1e: 0x1253, 0xb1f: 0x1267, 0xb20: 0x1233, 0xb21: 0x1247, 0xb22: 0x124b, 0xb23: 0x124f,
+ 0xb24: 0x17d2, 0xb25: 0x17dc, 0xb26: 0x17d7, 0xb27: 0x066f, 0xb28: 0x126f, 0xb29: 0x1273,
+ 0xb2a: 0x127b, 0xb2b: 0x17f0, 0xb2c: 0x127f, 0xb2d: 0x17e1, 0xb2e: 0x0673, 0xb2f: 0x0677,
+ 0xb30: 0x17e6, 0xb31: 0x17eb, 0xb32: 0x067b, 0xb33: 0x129f, 0xb34: 0x12a3, 0xb35: 0x12a7,
+ 0xb36: 0x12ab, 0xb37: 0x12b7, 0xb38: 0x12b3, 0xb39: 0x12bf, 0xb3a: 0x12bb, 0xb3b: 0x12cb,
+ 0xb3c: 0x12c3, 0xb3d: 0x12c7, 0xb3e: 0x12cf, 0xb3f: 0x067f,
// Block 0x2d, offset 0xb40
- 0xb40: 0x1533, 0xb41: 0x1845, 0xb42: 0x154b, 0xb43: 0x06a7, 0xb44: 0x155b, 0xb45: 0x1567,
- 0xb46: 0x156f, 0xb47: 0x1577, 0xb48: 0x06ab, 0xb49: 0x184a, 0xb4a: 0x158b, 0xb4b: 0x15a7,
- 0xb4c: 0x15b3, 0xb4d: 0x06af, 0xb4e: 0x06b3, 0xb4f: 0x15b7, 0xb50: 0x184f, 0xb51: 0x06b7,
- 0xb52: 0x1854, 0xb53: 0x1859, 0xb54: 0x185e, 0xb55: 0x15db, 0xb56: 0x06bb, 0xb57: 0x15ef,
- 0xb58: 0x15f7, 0xb59: 0x15fb, 0xb5a: 0x1603, 0xb5b: 0x160b, 0xb5c: 0x1613, 0xb5d: 0x1868,
+ 0xb40: 0x12d7, 0xb41: 0x12db, 0xb42: 0x0683, 0xb43: 0x12eb, 0xb44: 0x12ef, 0xb45: 0x17f5,
+ 0xb46: 0x12fb, 0xb47: 0x12ff, 0xb48: 0x0687, 0xb49: 0x130b, 0xb4a: 0x05bb, 0xb4b: 0x17fa,
+ 0xb4c: 0x17ff, 0xb4d: 0x068b, 0xb4e: 0x068f, 0xb4f: 0x1337, 0xb50: 0x134f, 0xb51: 0x136b,
+ 0xb52: 0x137b, 0xb53: 0x1804, 0xb54: 0x138f, 0xb55: 0x1393, 0xb56: 0x13ab, 0xb57: 0x13b7,
+ 0xb58: 0x180e, 0xb59: 0x1660, 0xb5a: 0x13c3, 0xb5b: 0x13bf, 0xb5c: 0x13cb, 0xb5d: 0x1665,
+ 0xb5e: 0x13d7, 0xb5f: 0x13e3, 0xb60: 0x1813, 0xb61: 0x1818, 0xb62: 0x1423, 0xb63: 0x142f,
+ 0xb64: 0x1437, 0xb65: 0x181d, 0xb66: 0x143b, 0xb67: 0x1467, 0xb68: 0x1473, 0xb69: 0x1477,
+ 0xb6a: 0x146f, 0xb6b: 0x1483, 0xb6c: 0x1487, 0xb6d: 0x1822, 0xb6e: 0x1493, 0xb6f: 0x0693,
+ 0xb70: 0x149b, 0xb71: 0x1827, 0xb72: 0x0697, 0xb73: 0x14d3, 0xb74: 0x0ac3, 0xb75: 0x14eb,
+ 0xb76: 0x182c, 0xb77: 0x1836, 0xb78: 0x069b, 0xb79: 0x069f, 0xb7a: 0x1513, 0xb7b: 0x183b,
+ 0xb7c: 0x06a3, 0xb7d: 0x1840, 0xb7e: 0x152b, 0xb7f: 0x152b,
+ // Block 0x2e, offset 0xb80
+ 0xb80: 0x1533, 0xb81: 0x1845, 0xb82: 0x154b, 0xb83: 0x06a7, 0xb84: 0x155b, 0xb85: 0x1567,
+ 0xb86: 0x156f, 0xb87: 0x1577, 0xb88: 0x06ab, 0xb89: 0x184a, 0xb8a: 0x158b, 0xb8b: 0x15a7,
+ 0xb8c: 0x15b3, 0xb8d: 0x06af, 0xb8e: 0x06b3, 0xb8f: 0x15b7, 0xb90: 0x184f, 0xb91: 0x06b7,
+ 0xb92: 0x1854, 0xb93: 0x1859, 0xb94: 0x185e, 0xb95: 0x15db, 0xb96: 0x06bb, 0xb97: 0x15ef,
+ 0xb98: 0x15f7, 0xb99: 0x15fb, 0xb9a: 0x1603, 0xb9b: 0x160b, 0xb9c: 0x1613, 0xb9d: 0x1868,
}
// nfcIndex: 22 blocks, 1408 entries, 1408 bytes
@@ -3417,33 +3429,33 @@ var nfcIndex = [1408]uint8{
// Block 0x1, offset 0x40
// Block 0x2, offset 0x80
// Block 0x3, offset 0xc0
- 0xc2: 0x2c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2d, 0xc7: 0x04,
- 0xc8: 0x05, 0xca: 0x2e, 0xcb: 0x2f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x30,
- 0xd0: 0x09, 0xd1: 0x31, 0xd2: 0x32, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x33,
- 0xd8: 0x34, 0xd9: 0x0c, 0xdb: 0x35, 0xdc: 0x36, 0xdd: 0x37, 0xdf: 0x38,
+ 0xc2: 0x2d, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2e, 0xc7: 0x04,
+ 0xc8: 0x05, 0xca: 0x2f, 0xcb: 0x30, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x31,
+ 0xd0: 0x09, 0xd1: 0x32, 0xd2: 0x33, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x34,
+ 0xd8: 0x35, 0xd9: 0x0c, 0xdb: 0x36, 0xdc: 0x37, 0xdd: 0x38, 0xdf: 0x39,
0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,
0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,
0xf0: 0x13,
// Block 0x4, offset 0x100
- 0x120: 0x39, 0x121: 0x3a, 0x123: 0x3b, 0x124: 0x3c, 0x125: 0x3d, 0x126: 0x3e, 0x127: 0x3f,
- 0x128: 0x40, 0x129: 0x41, 0x12a: 0x42, 0x12b: 0x43, 0x12c: 0x3e, 0x12d: 0x44, 0x12e: 0x45, 0x12f: 0x46,
- 0x131: 0x47, 0x132: 0x48, 0x133: 0x49, 0x134: 0x4a, 0x135: 0x4b, 0x137: 0x4c,
- 0x138: 0x4d, 0x139: 0x4e, 0x13a: 0x4f, 0x13b: 0x50, 0x13c: 0x51, 0x13d: 0x52, 0x13e: 0x53, 0x13f: 0x54,
+ 0x120: 0x3a, 0x121: 0x3b, 0x123: 0x3c, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40,
+ 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47,
+ 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d,
+ 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55,
// Block 0x5, offset 0x140
- 0x140: 0x55, 0x142: 0x56, 0x144: 0x57, 0x145: 0x58, 0x146: 0x59, 0x147: 0x5a,
- 0x14d: 0x5b,
- 0x15c: 0x5c, 0x15f: 0x5d,
- 0x162: 0x5e, 0x164: 0x5f,
- 0x168: 0x60, 0x169: 0x61, 0x16a: 0x62, 0x16c: 0x0d, 0x16d: 0x63, 0x16e: 0x64, 0x16f: 0x65,
- 0x170: 0x66, 0x173: 0x67, 0x177: 0x68,
- 0x178: 0x0e, 0x179: 0x0f, 0x17a: 0x10, 0x17b: 0x11, 0x17c: 0x12, 0x17d: 0x13, 0x17e: 0x14, 0x17f: 0x15,
+ 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b,
+ 0x14d: 0x5c,
+ 0x15c: 0x5d, 0x15f: 0x5e,
+ 0x162: 0x5f, 0x164: 0x60,
+ 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0d, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66,
+ 0x170: 0x67, 0x173: 0x68, 0x177: 0x0e,
+ 0x178: 0x0f, 0x179: 0x10, 0x17a: 0x11, 0x17b: 0x12, 0x17c: 0x13, 0x17d: 0x14, 0x17e: 0x15, 0x17f: 0x16,
// Block 0x6, offset 0x180
0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d,
- 0x188: 0x6e, 0x189: 0x16, 0x18a: 0x17, 0x18b: 0x6f, 0x18c: 0x70,
+ 0x188: 0x6e, 0x189: 0x17, 0x18a: 0x18, 0x18b: 0x6f, 0x18c: 0x70,
0x1ab: 0x71,
0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74,
// Block 0x7, offset 0x1c0
- 0x1c0: 0x75, 0x1c1: 0x18, 0x1c2: 0x19, 0x1c3: 0x1a, 0x1c4: 0x76, 0x1c5: 0x77,
+ 0x1c0: 0x75, 0x1c1: 0x19, 0x1c2: 0x1a, 0x1c3: 0x1b, 0x1c4: 0x76, 0x1c5: 0x77,
0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a,
// Block 0x8, offset 0x200
0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d,
@@ -3475,8 +3487,8 @@ var nfcIndex = [1408]uint8{
0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d,
0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e,
// Block 0xc, offset 0x300
- 0x324: 0x1b, 0x325: 0x1c, 0x326: 0x1d, 0x327: 0x1e,
- 0x328: 0x1f, 0x329: 0x20, 0x32a: 0x21, 0x32b: 0x22, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91,
+ 0x324: 0x1c, 0x325: 0x1d, 0x326: 0x1e, 0x327: 0x1f,
+ 0x328: 0x20, 0x329: 0x21, 0x32a: 0x22, 0x32b: 0x23, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91,
0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95,
0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b,
// Block 0xd, offset 0x340
@@ -3485,36 +3497,37 @@ var nfcIndex = [1408]uint8{
0x368: 0x9f, 0x36b: 0xa0,
// Block 0xe, offset 0x380
0x381: 0xa1, 0x382: 0xa2, 0x384: 0xa3, 0x385: 0x82, 0x387: 0xa4,
- 0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3e, 0x38d: 0xa7,
+ 0x388: 0xa5, 0x38b: 0xa6, 0x38c: 0x3f, 0x38d: 0xa7,
0x391: 0xa8, 0x392: 0xa9, 0x393: 0xaa, 0x396: 0xab, 0x397: 0xac,
0x398: 0x73, 0x39a: 0xad, 0x39c: 0xae,
- 0x3b0: 0x73,
+ 0x3a8: 0xaf, 0x3a9: 0xb0, 0x3aa: 0xb1,
+ 0x3b0: 0x73, 0x3b5: 0xb2,
// Block 0xf, offset 0x3c0
- 0x3eb: 0xaf, 0x3ec: 0xb0,
+ 0x3eb: 0xb3, 0x3ec: 0xb4,
// Block 0x10, offset 0x400
- 0x432: 0xb1,
+ 0x432: 0xb5,
// Block 0x11, offset 0x440
- 0x445: 0xb2, 0x446: 0xb3, 0x447: 0xb4,
- 0x449: 0xb5,
+ 0x445: 0xb6, 0x446: 0xb7, 0x447: 0xb8,
+ 0x449: 0xb9,
// Block 0x12, offset 0x480
- 0x480: 0xb6,
- 0x4a3: 0xb7, 0x4a5: 0xb8,
+ 0x480: 0xba,
+ 0x4a3: 0xbb, 0x4a5: 0xbc,
// Block 0x13, offset 0x4c0
- 0x4c8: 0xb9,
+ 0x4c8: 0xbd,
// Block 0x14, offset 0x500
- 0x520: 0x23, 0x521: 0x24, 0x522: 0x25, 0x523: 0x26, 0x524: 0x27, 0x525: 0x28, 0x526: 0x29, 0x527: 0x2a,
- 0x528: 0x2b,
+ 0x520: 0x24, 0x521: 0x25, 0x522: 0x26, 0x523: 0x27, 0x524: 0x28, 0x525: 0x29, 0x526: 0x2a, 0x527: 0x2b,
+ 0x528: 0x2c,
// Block 0x15, offset 0x540
0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,
0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,
0x56f: 0x12,
}
-// nfcSparseOffset: 142 entries, 284 bytes
-var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc7, 0xce, 0xd6, 0xd9, 0xdb, 0xdd, 0xdf, 0xe4, 0xf5, 0x101, 0x103, 0x109, 0x10b, 0x10d, 0x10f, 0x111, 0x113, 0x115, 0x118, 0x11b, 0x11d, 0x120, 0x123, 0x127, 0x12c, 0x135, 0x137, 0x13a, 0x13c, 0x147, 0x157, 0x15b, 0x169, 0x16c, 0x172, 0x178, 0x183, 0x187, 0x189, 0x18b, 0x18d, 0x18f, 0x191, 0x197, 0x19b, 0x19d, 0x19f, 0x1a7, 0x1ab, 0x1ae, 0x1b0, 0x1b2, 0x1b4, 0x1b7, 0x1b9, 0x1bb, 0x1bd, 0x1bf, 0x1c5, 0x1c8, 0x1ca, 0x1d1, 0x1d7, 0x1dd, 0x1e5, 0x1eb, 0x1f1, 0x1f7, 0x1fb, 0x209, 0x212, 0x215, 0x218, 0x21a, 0x21d, 0x21f, 0x223, 0x228, 0x22a, 0x22c, 0x231, 0x237, 0x239, 0x23b, 0x23d, 0x243, 0x246, 0x249, 0x251, 0x258, 0x25b, 0x25e, 0x260, 0x268, 0x26b, 0x272, 0x275, 0x27b, 0x27d, 0x280, 0x282, 0x284, 0x286, 0x288, 0x295, 0x29f, 0x2a1, 0x2a3, 0x2a9, 0x2ab, 0x2ae}
+// nfcSparseOffset: 145 entries, 290 bytes
+var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x62, 0x67, 0x69, 0x7a, 0x82, 0x89, 0x8c, 0x93, 0x97, 0x9b, 0x9d, 0x9f, 0xa8, 0xac, 0xb3, 0xb8, 0xbb, 0xc5, 0xc8, 0xcf, 0xd7, 0xda, 0xdc, 0xde, 0xe0, 0xe5, 0xf6, 0x102, 0x104, 0x10a, 0x10c, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x119, 0x11c, 0x11e, 0x121, 0x124, 0x128, 0x12d, 0x136, 0x138, 0x13b, 0x13d, 0x148, 0x14c, 0x15a, 0x15d, 0x163, 0x169, 0x174, 0x178, 0x17a, 0x17c, 0x17e, 0x180, 0x182, 0x188, 0x18c, 0x18e, 0x190, 0x198, 0x19c, 0x19f, 0x1a1, 0x1a3, 0x1a5, 0x1a8, 0x1aa, 0x1ac, 0x1ae, 0x1b0, 0x1b6, 0x1b9, 0x1bb, 0x1c2, 0x1c8, 0x1ce, 0x1d6, 0x1dc, 0x1e2, 0x1e8, 0x1ec, 0x1fa, 0x203, 0x206, 0x209, 0x20b, 0x20e, 0x210, 0x214, 0x219, 0x21b, 0x21d, 0x222, 0x228, 0x22a, 0x22c, 0x22e, 0x234, 0x237, 0x23a, 0x242, 0x249, 0x24c, 0x24f, 0x251, 0x259, 0x25c, 0x263, 0x266, 0x26c, 0x26e, 0x271, 0x273, 0x275, 0x277, 0x279, 0x27c, 0x27e, 0x280, 0x282, 0x28f, 0x299, 0x29b, 0x29d, 0x2a3, 0x2a5, 0x2a8}
-// nfcSparseValues: 688 entries, 2752 bytes
-var nfcSparseValues = [688]valueRange{
+// nfcSparseValues: 682 entries, 2728 bytes
+var nfcSparseValues = [682]valueRange{
// Block 0x0, offset 0x0
{value: 0x0000, lo: 0x04},
{value: 0xa100, lo: 0xa8, hi: 0xa8},
@@ -3743,9 +3756,10 @@ var nfcSparseValues = [688]valueRange{
{value: 0x8104, lo: 0x8d, hi: 0x8d},
{value: 0x9900, lo: 0x95, hi: 0x96},
// Block 0x1e, offset 0xc5
- {value: 0x0000, lo: 0x01},
+ {value: 0x0000, lo: 0x02},
+ {value: 0x8104, lo: 0xbb, hi: 0xbc},
{value: 0x9900, lo: 0xbe, hi: 0xbe},
- // Block 0x1f, offset 0xc7
+ // Block 0x1f, offset 0xc8
{value: 0x0000, lo: 0x06},
{value: 0xa000, lo: 0x86, hi: 0x87},
{value: 0x2cfe, lo: 0x8a, hi: 0x8a},
@@ -3753,7 +3767,7 @@ var nfcSparseValues = [688]valueRange{
{value: 0x2d06, lo: 0x8c, hi: 0x8c},
{value: 0x8104, lo: 0x8d, hi: 0x8d},
{value: 0x9900, lo: 0x97, hi: 0x97},
- // Block 0x20, offset 0xce
+ // Block 0x20, offset 0xcf
{value: 0x6bea, lo: 0x07},
{value: 0x9904, lo: 0x8a, hi: 0x8a},
{value: 0x9900, lo: 0x8f, hi: 0x8f},
@@ -3762,26 +3776,26 @@ var nfcSparseValues = [688]valueRange{
{value: 0x2f58, lo: 0x9c, hi: 0x9c},
{value: 0x2de3, lo: 0x9d, hi: 0x9d},
{value: 0x2d16, lo: 0x9e, hi: 0x9f},
- // Block 0x21, offset 0xd6
+ // Block 0x21, offset 0xd7
{value: 0x0000, lo: 0x02},
{value: 0x8122, lo: 0xb8, hi: 0xb9},
{value: 0x8104, lo: 0xba, hi: 0xba},
- // Block 0x22, offset 0xd9
+ // Block 0x22, offset 0xda
{value: 0x0000, lo: 0x01},
{value: 0x8123, lo: 0x88, hi: 0x8b},
- // Block 0x23, offset 0xdb
+ // Block 0x23, offset 0xdc
{value: 0x0000, lo: 0x01},
{value: 0x8124, lo: 0xb8, hi: 0xb9},
- // Block 0x24, offset 0xdd
+ // Block 0x24, offset 0xde
{value: 0x0000, lo: 0x01},
{value: 0x8125, lo: 0x88, hi: 0x8b},
- // Block 0x25, offset 0xdf
+ // Block 0x25, offset 0xe0
{value: 0x0000, lo: 0x04},
{value: 0x812d, lo: 0x98, hi: 0x99},
{value: 0x812d, lo: 0xb5, hi: 0xb5},
{value: 0x812d, lo: 0xb7, hi: 0xb7},
{value: 0x812b, lo: 0xb9, hi: 0xb9},
- // Block 0x26, offset 0xe4
+ // Block 0x26, offset 0xe5
{value: 0x0000, lo: 0x10},
{value: 0x2644, lo: 0x83, hi: 0x83},
{value: 0x264b, lo: 0x8d, hi: 0x8d},
@@ -3799,7 +3813,7 @@ var nfcSparseValues = [688]valueRange{
{value: 0x45bc, lo: 0xb8, hi: 0xb8},
{value: 0x8200, lo: 0xb9, hi: 0xb9},
{value: 0x8127, lo: 0xba, hi: 0xbd},
- // Block 0x27, offset 0xf5
+ // Block 0x27, offset 0xf6
{value: 0x0000, lo: 0x0b},
{value: 0x8127, lo: 0x80, hi: 0x80},
{value: 0x4a96, lo: 0x81, hi: 0x81},
@@ -3812,65 +3826,65 @@ var nfcSparseValues = [688]valueRange{
{value: 0x2683, lo: 0xa7, hi: 0xa7},
{value: 0x268a, lo: 0xac, hi: 0xac},
{value: 0x2667, lo: 0xb9, hi: 0xb9},
- // Block 0x28, offset 0x101
+ // Block 0x28, offset 0x102
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0x86, hi: 0x86},
- // Block 0x29, offset 0x103
+ // Block 0x29, offset 0x104
{value: 0x0000, lo: 0x05},
{value: 0xa000, lo: 0xa5, hi: 0xa5},
{value: 0x2d1e, lo: 0xa6, hi: 0xa6},
{value: 0x9900, lo: 0xae, hi: 0xae},
{value: 0x8102, lo: 0xb7, hi: 0xb7},
{value: 0x8104, lo: 0xb9, hi: 0xba},
- // Block 0x2a, offset 0x109
+ // Block 0x2a, offset 0x10a
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0x8d, hi: 0x8d},
- // Block 0x2b, offset 0x10b
+ // Block 0x2b, offset 0x10c
{value: 0x0000, lo: 0x01},
{value: 0xa000, lo: 0x80, hi: 0x92},
- // Block 0x2c, offset 0x10d
+ // Block 0x2c, offset 0x10e
{value: 0x0000, lo: 0x01},
{value: 0xb900, lo: 0xa1, hi: 0xb5},
- // Block 0x2d, offset 0x10f
+ // Block 0x2d, offset 0x110
{value: 0x0000, lo: 0x01},
{value: 0x9900, lo: 0xa8, hi: 0xbf},
- // Block 0x2e, offset 0x111
+ // Block 0x2e, offset 0x112
{value: 0x0000, lo: 0x01},
{value: 0x9900, lo: 0x80, hi: 0x82},
- // Block 0x2f, offset 0x113
+ // Block 0x2f, offset 0x114
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0x9d, hi: 0x9f},
- // Block 0x30, offset 0x115
+ // Block 0x30, offset 0x116
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x94, hi: 0x94},
{value: 0x8104, lo: 0xb4, hi: 0xb4},
- // Block 0x31, offset 0x118
+ // Block 0x31, offset 0x119
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x92, hi: 0x92},
{value: 0x8132, lo: 0x9d, hi: 0x9d},
- // Block 0x32, offset 0x11b
+ // Block 0x32, offset 0x11c
{value: 0x0000, lo: 0x01},
{value: 0x8131, lo: 0xa9, hi: 0xa9},
- // Block 0x33, offset 0x11d
+ // Block 0x33, offset 0x11e
{value: 0x0004, lo: 0x02},
{value: 0x812e, lo: 0xb9, hi: 0xba},
{value: 0x812d, lo: 0xbb, hi: 0xbb},
- // Block 0x34, offset 0x120
+ // Block 0x34, offset 0x121
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0x97, hi: 0x97},
{value: 0x812d, lo: 0x98, hi: 0x98},
- // Block 0x35, offset 0x123
+ // Block 0x35, offset 0x124
{value: 0x0000, lo: 0x03},
{value: 0x8104, lo: 0xa0, hi: 0xa0},
{value: 0x8132, lo: 0xb5, hi: 0xbc},
{value: 0x812d, lo: 0xbf, hi: 0xbf},
- // Block 0x36, offset 0x127
+ // Block 0x36, offset 0x128
{value: 0x0000, lo: 0x04},
{value: 0x8132, lo: 0xb0, hi: 0xb4},
{value: 0x812d, lo: 0xb5, hi: 0xba},
{value: 0x8132, lo: 0xbb, hi: 0xbc},
{value: 0x812d, lo: 0xbd, hi: 0xbd},
- // Block 0x37, offset 0x12c
+ // Block 0x37, offset 0x12d
{value: 0x0000, lo: 0x08},
{value: 0x2d66, lo: 0x80, hi: 0x80},
{value: 0x2d6e, lo: 0x81, hi: 0x81},
@@ -3880,17 +3894,17 @@ var nfcSparseValues = [688]valueRange{
{value: 0x8132, lo: 0xab, hi: 0xab},
{value: 0x812d, lo: 0xac, hi: 0xac},
{value: 0x8132, lo: 0xad, hi: 0xb3},
- // Block 0x38, offset 0x135
+ // Block 0x38, offset 0x136
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0xaa, hi: 0xab},
- // Block 0x39, offset 0x137
+ // Block 0x39, offset 0x138
{value: 0x0000, lo: 0x02},
{value: 0x8102, lo: 0xa6, hi: 0xa6},
{value: 0x8104, lo: 0xb2, hi: 0xb3},
- // Block 0x3a, offset 0x13a
+ // Block 0x3a, offset 0x13b
{value: 0x0000, lo: 0x01},
{value: 0x8102, lo: 0xb7, hi: 0xb7},
- // Block 0x3b, offset 0x13c
+ // Block 0x3b, offset 0x13d
{value: 0x0000, lo: 0x0a},
{value: 0x8132, lo: 0x90, hi: 0x92},
{value: 0x8101, lo: 0x94, hi: 0x94},
@@ -3902,29 +3916,12 @@ var nfcSparseValues = [688]valueRange{
{value: 0x812d, lo: 0xad, hi: 0xad},
{value: 0x8132, lo: 0xb4, hi: 0xb4},
{value: 0x8132, lo: 0xb8, hi: 0xb9},
- // Block 0x3c, offset 0x147
- {value: 0x0000, lo: 0x0f},
- {value: 0x8132, lo: 0x80, hi: 0x81},
- {value: 0x812d, lo: 0x82, hi: 0x82},
- {value: 0x8132, lo: 0x83, hi: 0x89},
- {value: 0x812d, lo: 0x8a, hi: 0x8a},
- {value: 0x8132, lo: 0x8b, hi: 0x8c},
- {value: 0x8135, lo: 0x8d, hi: 0x8d},
- {value: 0x812a, lo: 0x8e, hi: 0x8e},
- {value: 0x812d, lo: 0x8f, hi: 0x8f},
- {value: 0x8129, lo: 0x90, hi: 0x90},
- {value: 0x8132, lo: 0x91, hi: 0xb5},
- {value: 0x8132, lo: 0xbb, hi: 0xbb},
- {value: 0x8134, lo: 0xbc, hi: 0xbc},
- {value: 0x812d, lo: 0xbd, hi: 0xbd},
- {value: 0x8132, lo: 0xbe, hi: 0xbe},
- {value: 0x812d, lo: 0xbf, hi: 0xbf},
- // Block 0x3d, offset 0x157
+ // Block 0x3c, offset 0x148
{value: 0x0004, lo: 0x03},
{value: 0x0433, lo: 0x80, hi: 0x81},
{value: 0x8100, lo: 0x97, hi: 0x97},
{value: 0x8100, lo: 0xbe, hi: 0xbe},
- // Block 0x3e, offset 0x15b
+ // Block 0x3d, offset 0x14c
{value: 0x0000, lo: 0x0d},
{value: 0x8132, lo: 0x90, hi: 0x91},
{value: 0x8101, lo: 0x92, hi: 0x93},
@@ -3939,25 +3936,25 @@ var nfcSparseValues = [688]valueRange{
{value: 0x8101, lo: 0xaa, hi: 0xab},
{value: 0x812d, lo: 0xac, hi: 0xaf},
{value: 0x8132, lo: 0xb0, hi: 0xb0},
- // Block 0x3f, offset 0x169
+ // Block 0x3e, offset 0x15a
{value: 0x427b, lo: 0x02},
{value: 0x01b8, lo: 0xa6, hi: 0xa6},
{value: 0x0057, lo: 0xaa, hi: 0xab},
- // Block 0x40, offset 0x16c
+ // Block 0x3f, offset 0x15d
{value: 0x0007, lo: 0x05},
{value: 0xa000, lo: 0x90, hi: 0x90},
{value: 0xa000, lo: 0x92, hi: 0x92},
{value: 0xa000, lo: 0x94, hi: 0x94},
{value: 0x3bb9, lo: 0x9a, hi: 0x9b},
{value: 0x3bc7, lo: 0xae, hi: 0xae},
- // Block 0x41, offset 0x172
+ // Block 0x40, offset 0x163
{value: 0x000e, lo: 0x05},
{value: 0x3bce, lo: 0x8d, hi: 0x8e},
{value: 0x3bd5, lo: 0x8f, hi: 0x8f},
{value: 0xa000, lo: 0x90, hi: 0x90},
{value: 0xa000, lo: 0x92, hi: 0x92},
{value: 0xa000, lo: 0x94, hi: 0x94},
- // Block 0x42, offset 0x178
+ // Block 0x41, offset 0x169
{value: 0x6408, lo: 0x0a},
{value: 0xa000, lo: 0x83, hi: 0x83},
{value: 0x3be3, lo: 0x84, hi: 0x84},
@@ -3969,45 +3966,45 @@ var nfcSparseValues = [688]valueRange{
{value: 0x3bf8, lo: 0xa4, hi: 0xa5},
{value: 0x3bff, lo: 0xa6, hi: 0xa6},
{value: 0xa000, lo: 0xbc, hi: 0xbc},
- // Block 0x43, offset 0x183
+ // Block 0x42, offset 0x174
{value: 0x0007, lo: 0x03},
{value: 0x3c68, lo: 0xa0, hi: 0xa1},
{value: 0x3c92, lo: 0xa2, hi: 0xa3},
{value: 0x3cbc, lo: 0xaa, hi: 0xad},
- // Block 0x44, offset 0x187
+ // Block 0x43, offset 0x178
{value: 0x0004, lo: 0x01},
{value: 0x048b, lo: 0xa9, hi: 0xaa},
- // Block 0x45, offset 0x189
+ // Block 0x44, offset 0x17a
{value: 0x0000, lo: 0x01},
{value: 0x44dd, lo: 0x9c, hi: 0x9c},
- // Block 0x46, offset 0x18b
+ // Block 0x45, offset 0x17c
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xaf, hi: 0xb1},
- // Block 0x47, offset 0x18d
+ // Block 0x46, offset 0x17e
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0xbf, hi: 0xbf},
- // Block 0x48, offset 0x18f
+ // Block 0x47, offset 0x180
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xa0, hi: 0xbf},
- // Block 0x49, offset 0x191
+ // Block 0x48, offset 0x182
{value: 0x0000, lo: 0x05},
{value: 0x812c, lo: 0xaa, hi: 0xaa},
{value: 0x8131, lo: 0xab, hi: 0xab},
{value: 0x8133, lo: 0xac, hi: 0xac},
{value: 0x812e, lo: 0xad, hi: 0xad},
{value: 0x812f, lo: 0xae, hi: 0xaf},
- // Block 0x4a, offset 0x197
+ // Block 0x49, offset 0x188
{value: 0x0000, lo: 0x03},
{value: 0x4a9f, lo: 0xb3, hi: 0xb3},
{value: 0x4a9f, lo: 0xb5, hi: 0xb6},
{value: 0x4a9f, lo: 0xba, hi: 0xbf},
- // Block 0x4b, offset 0x19b
+ // Block 0x4a, offset 0x18c
{value: 0x0000, lo: 0x01},
{value: 0x4a9f, lo: 0x8f, hi: 0xa3},
- // Block 0x4c, offset 0x19d
+ // Block 0x4b, offset 0x18e
{value: 0x0000, lo: 0x01},
{value: 0x8100, lo: 0xae, hi: 0xbe},
- // Block 0x4d, offset 0x19f
+ // Block 0x4c, offset 0x190
{value: 0x0000, lo: 0x07},
{value: 0x8100, lo: 0x84, hi: 0x84},
{value: 0x8100, lo: 0x87, hi: 0x87},
@@ -4016,55 +4013,55 @@ var nfcSparseValues = [688]valueRange{
{value: 0x8100, lo: 0xa1, hi: 0xa1},
{value: 0x8100, lo: 0xb2, hi: 0xb2},
{value: 0x8100, lo: 0xbb, hi: 0xbb},
- // Block 0x4e, offset 0x1a7
+ // Block 0x4d, offset 0x198
{value: 0x0000, lo: 0x03},
{value: 0x8100, lo: 0x80, hi: 0x80},
{value: 0x8100, lo: 0x8b, hi: 0x8b},
{value: 0x8100, lo: 0x8e, hi: 0x8e},
- // Block 0x4f, offset 0x1ab
+ // Block 0x4e, offset 0x19c
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0xaf, hi: 0xaf},
{value: 0x8132, lo: 0xb4, hi: 0xbd},
- // Block 0x50, offset 0x1ae
+ // Block 0x4f, offset 0x19f
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0x9e, hi: 0x9f},
- // Block 0x51, offset 0x1b0
+ // Block 0x50, offset 0x1a1
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xb0, hi: 0xb1},
- // Block 0x52, offset 0x1b2
+ // Block 0x51, offset 0x1a3
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0x86, hi: 0x86},
- // Block 0x53, offset 0x1b4
+ // Block 0x52, offset 0x1a5
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x84, hi: 0x84},
{value: 0x8132, lo: 0xa0, hi: 0xb1},
- // Block 0x54, offset 0x1b7
+ // Block 0x53, offset 0x1a8
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0xab, hi: 0xad},
- // Block 0x55, offset 0x1b9
+ // Block 0x54, offset 0x1aa
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0x93, hi: 0x93},
- // Block 0x56, offset 0x1bb
+ // Block 0x55, offset 0x1ac
{value: 0x0000, lo: 0x01},
{value: 0x8102, lo: 0xb3, hi: 0xb3},
- // Block 0x57, offset 0x1bd
+ // Block 0x56, offset 0x1ae
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0x80, hi: 0x80},
- // Block 0x58, offset 0x1bf
+ // Block 0x57, offset 0x1b0
{value: 0x0000, lo: 0x05},
{value: 0x8132, lo: 0xb0, hi: 0xb0},
{value: 0x8132, lo: 0xb2, hi: 0xb3},
{value: 0x812d, lo: 0xb4, hi: 0xb4},
{value: 0x8132, lo: 0xb7, hi: 0xb8},
{value: 0x8132, lo: 0xbe, hi: 0xbf},
- // Block 0x59, offset 0x1c5
+ // Block 0x58, offset 0x1b6
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0x81, hi: 0x81},
{value: 0x8104, lo: 0xb6, hi: 0xb6},
- // Block 0x5a, offset 0x1c8
+ // Block 0x59, offset 0x1b9
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0xad, hi: 0xad},
- // Block 0x5b, offset 0x1ca
+ // Block 0x5a, offset 0x1bb
{value: 0x0000, lo: 0x06},
{value: 0xe500, lo: 0x80, hi: 0x80},
{value: 0xc600, lo: 0x81, hi: 0x9b},
@@ -4072,21 +4069,21 @@ var nfcSparseValues = [688]valueRange{
{value: 0xc600, lo: 0x9d, hi: 0xb7},
{value: 0xe500, lo: 0xb8, hi: 0xb8},
{value: 0xc600, lo: 0xb9, hi: 0xbf},
- // Block 0x5c, offset 0x1d1
+ // Block 0x5b, offset 0x1c2
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x93},
{value: 0xe500, lo: 0x94, hi: 0x94},
{value: 0xc600, lo: 0x95, hi: 0xaf},
{value: 0xe500, lo: 0xb0, hi: 0xb0},
{value: 0xc600, lo: 0xb1, hi: 0xbf},
- // Block 0x5d, offset 0x1d7
+ // Block 0x5c, offset 0x1c8
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x8b},
{value: 0xe500, lo: 0x8c, hi: 0x8c},
{value: 0xc600, lo: 0x8d, hi: 0xa7},
{value: 0xe500, lo: 0xa8, hi: 0xa8},
{value: 0xc600, lo: 0xa9, hi: 0xbf},
- // Block 0x5e, offset 0x1dd
+ // Block 0x5d, offset 0x1ce
{value: 0x0000, lo: 0x07},
{value: 0xc600, lo: 0x80, hi: 0x83},
{value: 0xe500, lo: 0x84, hi: 0x84},
@@ -4095,33 +4092,33 @@ var nfcSparseValues = [688]valueRange{
{value: 0xc600, lo: 0xa1, hi: 0xbb},
{value: 0xe500, lo: 0xbc, hi: 0xbc},
{value: 0xc600, lo: 0xbd, hi: 0xbf},
- // Block 0x5f, offset 0x1e5
+ // Block 0x5e, offset 0x1d6
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x97},
{value: 0xe500, lo: 0x98, hi: 0x98},
{value: 0xc600, lo: 0x99, hi: 0xb3},
{value: 0xe500, lo: 0xb4, hi: 0xb4},
{value: 0xc600, lo: 0xb5, hi: 0xbf},
- // Block 0x60, offset 0x1eb
+ // Block 0x5f, offset 0x1dc
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x8f},
{value: 0xe500, lo: 0x90, hi: 0x90},
{value: 0xc600, lo: 0x91, hi: 0xab},
{value: 0xe500, lo: 0xac, hi: 0xac},
{value: 0xc600, lo: 0xad, hi: 0xbf},
- // Block 0x61, offset 0x1f1
+ // Block 0x60, offset 0x1e2
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x87},
{value: 0xe500, lo: 0x88, hi: 0x88},
{value: 0xc600, lo: 0x89, hi: 0xa3},
{value: 0xe500, lo: 0xa4, hi: 0xa4},
{value: 0xc600, lo: 0xa5, hi: 0xbf},
- // Block 0x62, offset 0x1f7
+ // Block 0x61, offset 0x1e8
{value: 0x0000, lo: 0x03},
{value: 0xc600, lo: 0x80, hi: 0x87},
{value: 0xe500, lo: 0x88, hi: 0x88},
{value: 0xc600, lo: 0x89, hi: 0xa3},
- // Block 0x63, offset 0x1fb
+ // Block 0x62, offset 0x1ec
{value: 0x0006, lo: 0x0d},
{value: 0x4390, lo: 0x9d, hi: 0x9d},
{value: 0x8115, lo: 0x9e, hi: 0x9e},
@@ -4136,7 +4133,7 @@ var nfcSparseValues = [688]valueRange{
{value: 0x4396, lo: 0xb9, hi: 0xbb},
{value: 0x43ae, lo: 0xbc, hi: 0xbc},
{value: 0x43b4, lo: 0xbe, hi: 0xbe},
- // Block 0x64, offset 0x209
+ // Block 0x63, offset 0x1fa
{value: 0x0006, lo: 0x08},
{value: 0x43ba, lo: 0x80, hi: 0x81},
{value: 0x43c6, lo: 0x83, hi: 0x84},
@@ -4146,79 +4143,79 @@ var nfcSparseValues = [688]valueRange{
{value: 0x4360, lo: 0x8c, hi: 0x8c},
{value: 0x43a8, lo: 0x8d, hi: 0x8d},
{value: 0x43d2, lo: 0x8e, hi: 0x8e},
- // Block 0x65, offset 0x212
+ // Block 0x64, offset 0x203
{value: 0x0000, lo: 0x02},
{value: 0x8100, lo: 0xa4, hi: 0xa5},
{value: 0x8100, lo: 0xb0, hi: 0xb1},
- // Block 0x66, offset 0x215
+ // Block 0x65, offset 0x206
{value: 0x0000, lo: 0x02},
{value: 0x8100, lo: 0x9b, hi: 0x9d},
{value: 0x8200, lo: 0x9e, hi: 0xa3},
- // Block 0x67, offset 0x218
+ // Block 0x66, offset 0x209
{value: 0x0000, lo: 0x01},
{value: 0x8100, lo: 0x90, hi: 0x90},
- // Block 0x68, offset 0x21a
+ // Block 0x67, offset 0x20b
{value: 0x0000, lo: 0x02},
{value: 0x8100, lo: 0x99, hi: 0x99},
{value: 0x8200, lo: 0xb2, hi: 0xb4},
- // Block 0x69, offset 0x21d
+ // Block 0x68, offset 0x20e
{value: 0x0000, lo: 0x01},
{value: 0x8100, lo: 0xbc, hi: 0xbd},
- // Block 0x6a, offset 0x21f
+ // Block 0x69, offset 0x210
{value: 0x0000, lo: 0x03},
{value: 0x8132, lo: 0xa0, hi: 0xa6},
{value: 0x812d, lo: 0xa7, hi: 0xad},
{value: 0x8132, lo: 0xae, hi: 0xaf},
- // Block 0x6b, offset 0x223
+ // Block 0x6a, offset 0x214
{value: 0x0000, lo: 0x04},
{value: 0x8100, lo: 0x89, hi: 0x8c},
{value: 0x8100, lo: 0xb0, hi: 0xb2},
{value: 0x8100, lo: 0xb4, hi: 0xb4},
{value: 0x8100, lo: 0xb6, hi: 0xbf},
- // Block 0x6c, offset 0x228
+ // Block 0x6b, offset 0x219
{value: 0x0000, lo: 0x01},
{value: 0x8100, lo: 0x81, hi: 0x8c},
- // Block 0x6d, offset 0x22a
+ // Block 0x6c, offset 0x21b
{value: 0x0000, lo: 0x01},
{value: 0x8100, lo: 0xb5, hi: 0xba},
- // Block 0x6e, offset 0x22c
+ // Block 0x6d, offset 0x21d
{value: 0x0000, lo: 0x04},
{value: 0x4a9f, lo: 0x9e, hi: 0x9f},
{value: 0x4a9f, lo: 0xa3, hi: 0xa3},
{value: 0x4a9f, lo: 0xa5, hi: 0xa6},
{value: 0x4a9f, lo: 0xaa, hi: 0xaf},
- // Block 0x6f, offset 0x231
+ // Block 0x6e, offset 0x222
{value: 0x0000, lo: 0x05},
{value: 0x4a9f, lo: 0x82, hi: 0x87},
{value: 0x4a9f, lo: 0x8a, hi: 0x8f},
{value: 0x4a9f, lo: 0x92, hi: 0x97},
{value: 0x4a9f, lo: 0x9a, hi: 0x9c},
{value: 0x8100, lo: 0xa3, hi: 0xa3},
- // Block 0x70, offset 0x237
+ // Block 0x6f, offset 0x228
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0xbd, hi: 0xbd},
- // Block 0x71, offset 0x239
+ // Block 0x70, offset 0x22a
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0xa0, hi: 0xa0},
- // Block 0x72, offset 0x23b
+ // Block 0x71, offset 0x22c
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xb6, hi: 0xba},
- // Block 0x73, offset 0x23d
+ // Block 0x72, offset 0x22e
{value: 0x002c, lo: 0x05},
{value: 0x812d, lo: 0x8d, hi: 0x8d},
{value: 0x8132, lo: 0x8f, hi: 0x8f},
{value: 0x8132, lo: 0xb8, hi: 0xb8},
{value: 0x8101, lo: 0xb9, hi: 0xba},
{value: 0x8104, lo: 0xbf, hi: 0xbf},
- // Block 0x74, offset 0x243
+ // Block 0x73, offset 0x234
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0xa5, hi: 0xa5},
{value: 0x812d, lo: 0xa6, hi: 0xa6},
- // Block 0x75, offset 0x246
+ // Block 0x74, offset 0x237
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x86, hi: 0x86},
{value: 0x8104, lo: 0xbf, hi: 0xbf},
- // Block 0x76, offset 0x249
+ // Block 0x75, offset 0x23a
{value: 0x17fe, lo: 0x07},
{value: 0xa000, lo: 0x99, hi: 0x99},
{value: 0x4238, lo: 0x9a, hi: 0x9a},
@@ -4227,7 +4224,7 @@ var nfcSparseValues = [688]valueRange{
{value: 0xa000, lo: 0xa5, hi: 0xa5},
{value: 0x424c, lo: 0xab, hi: 0xab},
{value: 0x8104, lo: 0xb9, hi: 0xba},
- // Block 0x77, offset 0x251
+ // Block 0x76, offset 0x242
{value: 0x0000, lo: 0x06},
{value: 0x8132, lo: 0x80, hi: 0x82},
{value: 0x9900, lo: 0xa7, hi: 0xa7},
@@ -4235,18 +4232,18 @@ var nfcSparseValues = [688]valueRange{
{value: 0x2d88, lo: 0xaf, hi: 0xaf},
{value: 0xa000, lo: 0xb1, hi: 0xb2},
{value: 0x8104, lo: 0xb3, hi: 0xb4},
- // Block 0x78, offset 0x258
+ // Block 0x77, offset 0x249
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x80, hi: 0x80},
{value: 0x8102, lo: 0x8a, hi: 0x8a},
- // Block 0x79, offset 0x25b
+ // Block 0x78, offset 0x24c
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0xb5, hi: 0xb5},
{value: 0x8102, lo: 0xb6, hi: 0xb6},
- // Block 0x7a, offset 0x25e
+ // Block 0x79, offset 0x24f
{value: 0x0002, lo: 0x01},
{value: 0x8102, lo: 0xa9, hi: 0xaa},
- // Block 0x7b, offset 0x260
+ // Block 0x7a, offset 0x251
{value: 0x0000, lo: 0x07},
{value: 0xa000, lo: 0x87, hi: 0x87},
{value: 0x2d92, lo: 0x8b, hi: 0x8b},
@@ -4255,11 +4252,11 @@ var nfcSparseValues = [688]valueRange{
{value: 0x9900, lo: 0x97, hi: 0x97},
{value: 0x8132, lo: 0xa6, hi: 0xac},
{value: 0x8132, lo: 0xb0, hi: 0xb4},
- // Block 0x7c, offset 0x268
+ // Block 0x7b, offset 0x259
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x82, hi: 0x82},
{value: 0x8102, lo: 0x86, hi: 0x86},
- // Block 0x7d, offset 0x26b
+ // Block 0x7c, offset 0x25c
{value: 0x6b5a, lo: 0x06},
{value: 0x9900, lo: 0xb0, hi: 0xb0},
{value: 0xa000, lo: 0xb9, hi: 0xb9},
@@ -4267,37 +4264,50 @@ var nfcSparseValues = [688]valueRange{
{value: 0x2db0, lo: 0xbb, hi: 0xbb},
{value: 0x2da6, lo: 0xbc, hi: 0xbd},
{value: 0x2dba, lo: 0xbe, hi: 0xbe},
- // Block 0x7e, offset 0x272
+ // Block 0x7d, offset 0x263
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x82, hi: 0x82},
{value: 0x8102, lo: 0x83, hi: 0x83},
- // Block 0x7f, offset 0x275
+ // Block 0x7e, offset 0x266
{value: 0x0000, lo: 0x05},
{value: 0x9900, lo: 0xaf, hi: 0xaf},
{value: 0xa000, lo: 0xb8, hi: 0xb9},
{value: 0x2dc4, lo: 0xba, hi: 0xba},
{value: 0x2dce, lo: 0xbb, hi: 0xbb},
{value: 0x8104, lo: 0xbf, hi: 0xbf},
- // Block 0x80, offset 0x27b
+ // Block 0x7f, offset 0x26c
{value: 0x0000, lo: 0x01},
{value: 0x8102, lo: 0x80, hi: 0x80},
- // Block 0x81, offset 0x27d
+ // Block 0x80, offset 0x26e
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0xb6, hi: 0xb6},
{value: 0x8102, lo: 0xb7, hi: 0xb7},
- // Block 0x82, offset 0x280
+ // Block 0x81, offset 0x271
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0xab, hi: 0xab},
- // Block 0x83, offset 0x282
+ // Block 0x82, offset 0x273
+ {value: 0x0000, lo: 0x01},
+ {value: 0x8104, lo: 0xb4, hi: 0xb4},
+ // Block 0x83, offset 0x275
+ {value: 0x0000, lo: 0x01},
+ {value: 0x8104, lo: 0x87, hi: 0x87},
+ // Block 0x84, offset 0x277
+ {value: 0x0000, lo: 0x01},
+ {value: 0x8104, lo: 0x99, hi: 0x99},
+ // Block 0x85, offset 0x279
+ {value: 0x0000, lo: 0x02},
+ {value: 0x8102, lo: 0x82, hi: 0x82},
+ {value: 0x8104, lo: 0x84, hi: 0x85},
+ // Block 0x86, offset 0x27c
{value: 0x0000, lo: 0x01},
{value: 0x8101, lo: 0xb0, hi: 0xb4},
- // Block 0x84, offset 0x284
+ // Block 0x87, offset 0x27e
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xb0, hi: 0xb6},
- // Block 0x85, offset 0x286
+ // Block 0x88, offset 0x280
{value: 0x0000, lo: 0x01},
{value: 0x8101, lo: 0x9e, hi: 0x9e},
- // Block 0x86, offset 0x288
+ // Block 0x89, offset 0x282
{value: 0x0000, lo: 0x0c},
{value: 0x45cc, lo: 0x9e, hi: 0x9e},
{value: 0x45d6, lo: 0x9f, hi: 0x9f},
@@ -4311,7 +4321,7 @@ var nfcSparseValues = [688]valueRange{
{value: 0x8130, lo: 0xad, hi: 0xad},
{value: 0x812b, lo: 0xae, hi: 0xb2},
{value: 0x812d, lo: 0xbb, hi: 0xbf},
- // Block 0x87, offset 0x295
+ // Block 0x8a, offset 0x28f
{value: 0x0000, lo: 0x09},
{value: 0x812d, lo: 0x80, hi: 0x82},
{value: 0x8132, lo: 0x85, hi: 0x89},
@@ -4322,27 +4332,27 @@ var nfcSparseValues = [688]valueRange{
{value: 0x4650, lo: 0xbd, hi: 0xbd},
{value: 0x466c, lo: 0xbe, hi: 0xbe},
{value: 0x465e, lo: 0xbf, hi: 0xbf},
- // Block 0x88, offset 0x29f
+ // Block 0x8b, offset 0x299
{value: 0x0000, lo: 0x01},
{value: 0x467a, lo: 0x80, hi: 0x80},
- // Block 0x89, offset 0x2a1
+ // Block 0x8c, offset 0x29b
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0x82, hi: 0x84},
- // Block 0x8a, offset 0x2a3
+ // Block 0x8d, offset 0x29d
{value: 0x0000, lo: 0x05},
{value: 0x8132, lo: 0x80, hi: 0x86},
{value: 0x8132, lo: 0x88, hi: 0x98},
{value: 0x8132, lo: 0x9b, hi: 0xa1},
{value: 0x8132, lo: 0xa3, hi: 0xa4},
{value: 0x8132, lo: 0xa6, hi: 0xaa},
- // Block 0x8b, offset 0x2a9
+ // Block 0x8e, offset 0x2a3
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0x90, hi: 0x96},
- // Block 0x8c, offset 0x2ab
+ // Block 0x8f, offset 0x2a5
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0x84, hi: 0x89},
{value: 0x8102, lo: 0x8a, hi: 0x8a},
- // Block 0x8d, offset 0x2ae
+ // Block 0x90, offset 0x2a8
{value: 0x0000, lo: 0x01},
{value: 0x8100, lo: 0x93, hi: 0x93},
}
@@ -4517,7 +4527,7 @@ func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 {
return 0
}
-// nfkcTrie. Total size: 16994 bytes (16.60 KiB). Checksum: c3ed54ee046f3c46.
+// nfkcTrie. Total size: 17104 bytes (16.70 KiB). Checksum: d985061cf5307b35.
type nfkcTrie struct{}
func newNfkcTrie(i int) *nfkcTrie {
@@ -4527,17 +4537,17 @@ func newNfkcTrie(i int) *nfkcTrie {
// lookupValue determines the type of block n and looks up the value for b.
func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 {
switch {
- case n < 90:
+ case n < 91:
return uint16(nfkcValues[n<<6+uint32(b)])
default:
- n -= 90
+ n -= 91
return uint16(nfkcSparse.lookup(n, b))
}
}
-// nfkcValues: 92 blocks, 5888 entries, 11776 bytes
+// nfkcValues: 93 blocks, 5952 entries, 11904 bytes
// The third block is the zero block.
-var nfkcValues = [5888]uint16{
+var nfkcValues = [5952]uint16{
// Block 0x0, offset 0x0
0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000,
// Block 0x1, offset 0x40
@@ -4721,824 +4731,836 @@ var nfkcValues = [5888]uint16{
0x4b6: 0x0152, 0x4b7: 0x0155, 0x4b8: 0x041f, 0x4b9: 0x0158, 0x4ba: 0x015b, 0x4bb: 0x00b5,
0x4bc: 0x015e, 0x4bd: 0x0161, 0x4be: 0x0164, 0x4bf: 0x01d0,
// Block 0x13, offset 0x4c0
- 0x4c0: 0x2f97, 0x4c1: 0x32a3, 0x4c2: 0x2fa1, 0x4c3: 0x32ad, 0x4c4: 0x2fa6, 0x4c5: 0x32b2,
- 0x4c6: 0x2fab, 0x4c7: 0x32b7, 0x4c8: 0x38cc, 0x4c9: 0x3a5b, 0x4ca: 0x2fc4, 0x4cb: 0x32d0,
- 0x4cc: 0x2fce, 0x4cd: 0x32da, 0x4ce: 0x2fdd, 0x4cf: 0x32e9, 0x4d0: 0x2fd3, 0x4d1: 0x32df,
- 0x4d2: 0x2fd8, 0x4d3: 0x32e4, 0x4d4: 0x38ef, 0x4d5: 0x3a7e, 0x4d6: 0x38f6, 0x4d7: 0x3a85,
- 0x4d8: 0x3019, 0x4d9: 0x3325, 0x4da: 0x301e, 0x4db: 0x332a, 0x4dc: 0x3904, 0x4dd: 0x3a93,
- 0x4de: 0x3023, 0x4df: 0x332f, 0x4e0: 0x3032, 0x4e1: 0x333e, 0x4e2: 0x3050, 0x4e3: 0x335c,
- 0x4e4: 0x305f, 0x4e5: 0x336b, 0x4e6: 0x3055, 0x4e7: 0x3361, 0x4e8: 0x3064, 0x4e9: 0x3370,
- 0x4ea: 0x3069, 0x4eb: 0x3375, 0x4ec: 0x30af, 0x4ed: 0x33bb, 0x4ee: 0x390b, 0x4ef: 0x3a9a,
- 0x4f0: 0x30b9, 0x4f1: 0x33ca, 0x4f2: 0x30c3, 0x4f3: 0x33d4, 0x4f4: 0x30cd, 0x4f5: 0x33de,
- 0x4f6: 0x46c4, 0x4f7: 0x4755, 0x4f8: 0x3912, 0x4f9: 0x3aa1, 0x4fa: 0x30e6, 0x4fb: 0x33f7,
- 0x4fc: 0x30e1, 0x4fd: 0x33f2, 0x4fe: 0x30eb, 0x4ff: 0x33fc,
+ 0x4c0: 0x8132, 0x4c1: 0x8132, 0x4c2: 0x812d, 0x4c3: 0x8132, 0x4c4: 0x8132, 0x4c5: 0x8132,
+ 0x4c6: 0x8132, 0x4c7: 0x8132, 0x4c8: 0x8132, 0x4c9: 0x8132, 0x4ca: 0x812d, 0x4cb: 0x8132,
+ 0x4cc: 0x8132, 0x4cd: 0x8135, 0x4ce: 0x812a, 0x4cf: 0x812d, 0x4d0: 0x8129, 0x4d1: 0x8132,
+ 0x4d2: 0x8132, 0x4d3: 0x8132, 0x4d4: 0x8132, 0x4d5: 0x8132, 0x4d6: 0x8132, 0x4d7: 0x8132,
+ 0x4d8: 0x8132, 0x4d9: 0x8132, 0x4da: 0x8132, 0x4db: 0x8132, 0x4dc: 0x8132, 0x4dd: 0x8132,
+ 0x4de: 0x8132, 0x4df: 0x8132, 0x4e0: 0x8132, 0x4e1: 0x8132, 0x4e2: 0x8132, 0x4e3: 0x8132,
+ 0x4e4: 0x8132, 0x4e5: 0x8132, 0x4e6: 0x8132, 0x4e7: 0x8132, 0x4e8: 0x8132, 0x4e9: 0x8132,
+ 0x4ea: 0x8132, 0x4eb: 0x8132, 0x4ec: 0x8132, 0x4ed: 0x8132, 0x4ee: 0x8132, 0x4ef: 0x8132,
+ 0x4f0: 0x8132, 0x4f1: 0x8132, 0x4f2: 0x8132, 0x4f3: 0x8132, 0x4f4: 0x8132, 0x4f5: 0x8132,
+ 0x4f6: 0x8133, 0x4f7: 0x8131, 0x4f8: 0x8131, 0x4f9: 0x812d, 0x4fb: 0x8132,
+ 0x4fc: 0x8134, 0x4fd: 0x812d, 0x4fe: 0x8132, 0x4ff: 0x812d,
// Block 0x14, offset 0x500
- 0x500: 0x30f0, 0x501: 0x3401, 0x502: 0x30f5, 0x503: 0x3406, 0x504: 0x3109, 0x505: 0x341a,
- 0x506: 0x3113, 0x507: 0x3424, 0x508: 0x3122, 0x509: 0x3433, 0x50a: 0x311d, 0x50b: 0x342e,
- 0x50c: 0x3935, 0x50d: 0x3ac4, 0x50e: 0x3943, 0x50f: 0x3ad2, 0x510: 0x394a, 0x511: 0x3ad9,
- 0x512: 0x3951, 0x513: 0x3ae0, 0x514: 0x314f, 0x515: 0x3460, 0x516: 0x3154, 0x517: 0x3465,
- 0x518: 0x315e, 0x519: 0x346f, 0x51a: 0x46f1, 0x51b: 0x4782, 0x51c: 0x3997, 0x51d: 0x3b26,
- 0x51e: 0x3177, 0x51f: 0x3488, 0x520: 0x3181, 0x521: 0x3492, 0x522: 0x4700, 0x523: 0x4791,
- 0x524: 0x399e, 0x525: 0x3b2d, 0x526: 0x39a5, 0x527: 0x3b34, 0x528: 0x39ac, 0x529: 0x3b3b,
- 0x52a: 0x3190, 0x52b: 0x34a1, 0x52c: 0x319a, 0x52d: 0x34b0, 0x52e: 0x31ae, 0x52f: 0x34c4,
- 0x530: 0x31a9, 0x531: 0x34bf, 0x532: 0x31ea, 0x533: 0x3500, 0x534: 0x31f9, 0x535: 0x350f,
- 0x536: 0x31f4, 0x537: 0x350a, 0x538: 0x39b3, 0x539: 0x3b42, 0x53a: 0x39ba, 0x53b: 0x3b49,
- 0x53c: 0x31fe, 0x53d: 0x3514, 0x53e: 0x3203, 0x53f: 0x3519,
+ 0x500: 0x2f97, 0x501: 0x32a3, 0x502: 0x2fa1, 0x503: 0x32ad, 0x504: 0x2fa6, 0x505: 0x32b2,
+ 0x506: 0x2fab, 0x507: 0x32b7, 0x508: 0x38cc, 0x509: 0x3a5b, 0x50a: 0x2fc4, 0x50b: 0x32d0,
+ 0x50c: 0x2fce, 0x50d: 0x32da, 0x50e: 0x2fdd, 0x50f: 0x32e9, 0x510: 0x2fd3, 0x511: 0x32df,
+ 0x512: 0x2fd8, 0x513: 0x32e4, 0x514: 0x38ef, 0x515: 0x3a7e, 0x516: 0x38f6, 0x517: 0x3a85,
+ 0x518: 0x3019, 0x519: 0x3325, 0x51a: 0x301e, 0x51b: 0x332a, 0x51c: 0x3904, 0x51d: 0x3a93,
+ 0x51e: 0x3023, 0x51f: 0x332f, 0x520: 0x3032, 0x521: 0x333e, 0x522: 0x3050, 0x523: 0x335c,
+ 0x524: 0x305f, 0x525: 0x336b, 0x526: 0x3055, 0x527: 0x3361, 0x528: 0x3064, 0x529: 0x3370,
+ 0x52a: 0x3069, 0x52b: 0x3375, 0x52c: 0x30af, 0x52d: 0x33bb, 0x52e: 0x390b, 0x52f: 0x3a9a,
+ 0x530: 0x30b9, 0x531: 0x33ca, 0x532: 0x30c3, 0x533: 0x33d4, 0x534: 0x30cd, 0x535: 0x33de,
+ 0x536: 0x46c4, 0x537: 0x4755, 0x538: 0x3912, 0x539: 0x3aa1, 0x53a: 0x30e6, 0x53b: 0x33f7,
+ 0x53c: 0x30e1, 0x53d: 0x33f2, 0x53e: 0x30eb, 0x53f: 0x33fc,
// Block 0x15, offset 0x540
- 0x540: 0x3208, 0x541: 0x351e, 0x542: 0x320d, 0x543: 0x3523, 0x544: 0x321c, 0x545: 0x3532,
- 0x546: 0x3217, 0x547: 0x352d, 0x548: 0x3221, 0x549: 0x353c, 0x54a: 0x3226, 0x54b: 0x3541,
- 0x54c: 0x322b, 0x54d: 0x3546, 0x54e: 0x3249, 0x54f: 0x3564, 0x550: 0x3262, 0x551: 0x3582,
- 0x552: 0x3271, 0x553: 0x3591, 0x554: 0x3276, 0x555: 0x3596, 0x556: 0x337a, 0x557: 0x34a6,
- 0x558: 0x3537, 0x559: 0x3573, 0x55a: 0x1be0, 0x55b: 0x42d7,
- 0x560: 0x46a1, 0x561: 0x4732, 0x562: 0x2f83, 0x563: 0x328f,
- 0x564: 0x3878, 0x565: 0x3a07, 0x566: 0x3871, 0x567: 0x3a00, 0x568: 0x3886, 0x569: 0x3a15,
- 0x56a: 0x387f, 0x56b: 0x3a0e, 0x56c: 0x38be, 0x56d: 0x3a4d, 0x56e: 0x3894, 0x56f: 0x3a23,
- 0x570: 0x388d, 0x571: 0x3a1c, 0x572: 0x38a2, 0x573: 0x3a31, 0x574: 0x389b, 0x575: 0x3a2a,
- 0x576: 0x38c5, 0x577: 0x3a54, 0x578: 0x46b5, 0x579: 0x4746, 0x57a: 0x3000, 0x57b: 0x330c,
- 0x57c: 0x2fec, 0x57d: 0x32f8, 0x57e: 0x38da, 0x57f: 0x3a69,
+ 0x540: 0x30f0, 0x541: 0x3401, 0x542: 0x30f5, 0x543: 0x3406, 0x544: 0x3109, 0x545: 0x341a,
+ 0x546: 0x3113, 0x547: 0x3424, 0x548: 0x3122, 0x549: 0x3433, 0x54a: 0x311d, 0x54b: 0x342e,
+ 0x54c: 0x3935, 0x54d: 0x3ac4, 0x54e: 0x3943, 0x54f: 0x3ad2, 0x550: 0x394a, 0x551: 0x3ad9,
+ 0x552: 0x3951, 0x553: 0x3ae0, 0x554: 0x314f, 0x555: 0x3460, 0x556: 0x3154, 0x557: 0x3465,
+ 0x558: 0x315e, 0x559: 0x346f, 0x55a: 0x46f1, 0x55b: 0x4782, 0x55c: 0x3997, 0x55d: 0x3b26,
+ 0x55e: 0x3177, 0x55f: 0x3488, 0x560: 0x3181, 0x561: 0x3492, 0x562: 0x4700, 0x563: 0x4791,
+ 0x564: 0x399e, 0x565: 0x3b2d, 0x566: 0x39a5, 0x567: 0x3b34, 0x568: 0x39ac, 0x569: 0x3b3b,
+ 0x56a: 0x3190, 0x56b: 0x34a1, 0x56c: 0x319a, 0x56d: 0x34b0, 0x56e: 0x31ae, 0x56f: 0x34c4,
+ 0x570: 0x31a9, 0x571: 0x34bf, 0x572: 0x31ea, 0x573: 0x3500, 0x574: 0x31f9, 0x575: 0x350f,
+ 0x576: 0x31f4, 0x577: 0x350a, 0x578: 0x39b3, 0x579: 0x3b42, 0x57a: 0x39ba, 0x57b: 0x3b49,
+ 0x57c: 0x31fe, 0x57d: 0x3514, 0x57e: 0x3203, 0x57f: 0x3519,
// Block 0x16, offset 0x580
- 0x580: 0x38d3, 0x581: 0x3a62, 0x582: 0x38e8, 0x583: 0x3a77, 0x584: 0x38e1, 0x585: 0x3a70,
- 0x586: 0x38fd, 0x587: 0x3a8c, 0x588: 0x3091, 0x589: 0x339d, 0x58a: 0x30a5, 0x58b: 0x33b1,
- 0x58c: 0x46e7, 0x58d: 0x4778, 0x58e: 0x3136, 0x58f: 0x3447, 0x590: 0x3920, 0x591: 0x3aaf,
- 0x592: 0x3919, 0x593: 0x3aa8, 0x594: 0x392e, 0x595: 0x3abd, 0x596: 0x3927, 0x597: 0x3ab6,
- 0x598: 0x3989, 0x599: 0x3b18, 0x59a: 0x396d, 0x59b: 0x3afc, 0x59c: 0x3966, 0x59d: 0x3af5,
- 0x59e: 0x397b, 0x59f: 0x3b0a, 0x5a0: 0x3974, 0x5a1: 0x3b03, 0x5a2: 0x3982, 0x5a3: 0x3b11,
- 0x5a4: 0x31e5, 0x5a5: 0x34fb, 0x5a6: 0x31c7, 0x5a7: 0x34dd, 0x5a8: 0x39e4, 0x5a9: 0x3b73,
- 0x5aa: 0x39dd, 0x5ab: 0x3b6c, 0x5ac: 0x39f2, 0x5ad: 0x3b81, 0x5ae: 0x39eb, 0x5af: 0x3b7a,
- 0x5b0: 0x39f9, 0x5b1: 0x3b88, 0x5b2: 0x3230, 0x5b3: 0x354b, 0x5b4: 0x3258, 0x5b5: 0x3578,
- 0x5b6: 0x3253, 0x5b7: 0x356e, 0x5b8: 0x323f, 0x5b9: 0x355a,
+ 0x580: 0x3208, 0x581: 0x351e, 0x582: 0x320d, 0x583: 0x3523, 0x584: 0x321c, 0x585: 0x3532,
+ 0x586: 0x3217, 0x587: 0x352d, 0x588: 0x3221, 0x589: 0x353c, 0x58a: 0x3226, 0x58b: 0x3541,
+ 0x58c: 0x322b, 0x58d: 0x3546, 0x58e: 0x3249, 0x58f: 0x3564, 0x590: 0x3262, 0x591: 0x3582,
+ 0x592: 0x3271, 0x593: 0x3591, 0x594: 0x3276, 0x595: 0x3596, 0x596: 0x337a, 0x597: 0x34a6,
+ 0x598: 0x3537, 0x599: 0x3573, 0x59a: 0x1be0, 0x59b: 0x42d7,
+ 0x5a0: 0x46a1, 0x5a1: 0x4732, 0x5a2: 0x2f83, 0x5a3: 0x328f,
+ 0x5a4: 0x3878, 0x5a5: 0x3a07, 0x5a6: 0x3871, 0x5a7: 0x3a00, 0x5a8: 0x3886, 0x5a9: 0x3a15,
+ 0x5aa: 0x387f, 0x5ab: 0x3a0e, 0x5ac: 0x38be, 0x5ad: 0x3a4d, 0x5ae: 0x3894, 0x5af: 0x3a23,
+ 0x5b0: 0x388d, 0x5b1: 0x3a1c, 0x5b2: 0x38a2, 0x5b3: 0x3a31, 0x5b4: 0x389b, 0x5b5: 0x3a2a,
+ 0x5b6: 0x38c5, 0x5b7: 0x3a54, 0x5b8: 0x46b5, 0x5b9: 0x4746, 0x5ba: 0x3000, 0x5bb: 0x330c,
+ 0x5bc: 0x2fec, 0x5bd: 0x32f8, 0x5be: 0x38da, 0x5bf: 0x3a69,
// Block 0x17, offset 0x5c0
- 0x5c0: 0x4804, 0x5c1: 0x480a, 0x5c2: 0x491e, 0x5c3: 0x4936, 0x5c4: 0x4926, 0x5c5: 0x493e,
- 0x5c6: 0x492e, 0x5c7: 0x4946, 0x5c8: 0x47aa, 0x5c9: 0x47b0, 0x5ca: 0x488e, 0x5cb: 0x48a6,
- 0x5cc: 0x4896, 0x5cd: 0x48ae, 0x5ce: 0x489e, 0x5cf: 0x48b6, 0x5d0: 0x4816, 0x5d1: 0x481c,
- 0x5d2: 0x3db8, 0x5d3: 0x3dc8, 0x5d4: 0x3dc0, 0x5d5: 0x3dd0,
- 0x5d8: 0x47b6, 0x5d9: 0x47bc, 0x5da: 0x3ce8, 0x5db: 0x3cf8, 0x5dc: 0x3cf0, 0x5dd: 0x3d00,
- 0x5e0: 0x482e, 0x5e1: 0x4834, 0x5e2: 0x494e, 0x5e3: 0x4966,
- 0x5e4: 0x4956, 0x5e5: 0x496e, 0x5e6: 0x495e, 0x5e7: 0x4976, 0x5e8: 0x47c2, 0x5e9: 0x47c8,
- 0x5ea: 0x48be, 0x5eb: 0x48d6, 0x5ec: 0x48c6, 0x5ed: 0x48de, 0x5ee: 0x48ce, 0x5ef: 0x48e6,
- 0x5f0: 0x4846, 0x5f1: 0x484c, 0x5f2: 0x3e18, 0x5f3: 0x3e30, 0x5f4: 0x3e20, 0x5f5: 0x3e38,
- 0x5f6: 0x3e28, 0x5f7: 0x3e40, 0x5f8: 0x47ce, 0x5f9: 0x47d4, 0x5fa: 0x3d18, 0x5fb: 0x3d30,
- 0x5fc: 0x3d20, 0x5fd: 0x3d38, 0x5fe: 0x3d28, 0x5ff: 0x3d40,
+ 0x5c0: 0x38d3, 0x5c1: 0x3a62, 0x5c2: 0x38e8, 0x5c3: 0x3a77, 0x5c4: 0x38e1, 0x5c5: 0x3a70,
+ 0x5c6: 0x38fd, 0x5c7: 0x3a8c, 0x5c8: 0x3091, 0x5c9: 0x339d, 0x5ca: 0x30a5, 0x5cb: 0x33b1,
+ 0x5cc: 0x46e7, 0x5cd: 0x4778, 0x5ce: 0x3136, 0x5cf: 0x3447, 0x5d0: 0x3920, 0x5d1: 0x3aaf,
+ 0x5d2: 0x3919, 0x5d3: 0x3aa8, 0x5d4: 0x392e, 0x5d5: 0x3abd, 0x5d6: 0x3927, 0x5d7: 0x3ab6,
+ 0x5d8: 0x3989, 0x5d9: 0x3b18, 0x5da: 0x396d, 0x5db: 0x3afc, 0x5dc: 0x3966, 0x5dd: 0x3af5,
+ 0x5de: 0x397b, 0x5df: 0x3b0a, 0x5e0: 0x3974, 0x5e1: 0x3b03, 0x5e2: 0x3982, 0x5e3: 0x3b11,
+ 0x5e4: 0x31e5, 0x5e5: 0x34fb, 0x5e6: 0x31c7, 0x5e7: 0x34dd, 0x5e8: 0x39e4, 0x5e9: 0x3b73,
+ 0x5ea: 0x39dd, 0x5eb: 0x3b6c, 0x5ec: 0x39f2, 0x5ed: 0x3b81, 0x5ee: 0x39eb, 0x5ef: 0x3b7a,
+ 0x5f0: 0x39f9, 0x5f1: 0x3b88, 0x5f2: 0x3230, 0x5f3: 0x354b, 0x5f4: 0x3258, 0x5f5: 0x3578,
+ 0x5f6: 0x3253, 0x5f7: 0x356e, 0x5f8: 0x323f, 0x5f9: 0x355a,
// Block 0x18, offset 0x600
- 0x600: 0x4852, 0x601: 0x4858, 0x602: 0x3e48, 0x603: 0x3e58, 0x604: 0x3e50, 0x605: 0x3e60,
- 0x608: 0x47da, 0x609: 0x47e0, 0x60a: 0x3d48, 0x60b: 0x3d58,
- 0x60c: 0x3d50, 0x60d: 0x3d60, 0x610: 0x4864, 0x611: 0x486a,
- 0x612: 0x3e80, 0x613: 0x3e98, 0x614: 0x3e88, 0x615: 0x3ea0, 0x616: 0x3e90, 0x617: 0x3ea8,
- 0x619: 0x47e6, 0x61b: 0x3d68, 0x61d: 0x3d70,
- 0x61f: 0x3d78, 0x620: 0x487c, 0x621: 0x4882, 0x622: 0x497e, 0x623: 0x4996,
- 0x624: 0x4986, 0x625: 0x499e, 0x626: 0x498e, 0x627: 0x49a6, 0x628: 0x47ec, 0x629: 0x47f2,
- 0x62a: 0x48ee, 0x62b: 0x4906, 0x62c: 0x48f6, 0x62d: 0x490e, 0x62e: 0x48fe, 0x62f: 0x4916,
- 0x630: 0x47f8, 0x631: 0x431e, 0x632: 0x3691, 0x633: 0x4324, 0x634: 0x4822, 0x635: 0x432a,
- 0x636: 0x36a3, 0x637: 0x4330, 0x638: 0x36c1, 0x639: 0x4336, 0x63a: 0x36d9, 0x63b: 0x433c,
- 0x63c: 0x4870, 0x63d: 0x4342,
+ 0x600: 0x4804, 0x601: 0x480a, 0x602: 0x491e, 0x603: 0x4936, 0x604: 0x4926, 0x605: 0x493e,
+ 0x606: 0x492e, 0x607: 0x4946, 0x608: 0x47aa, 0x609: 0x47b0, 0x60a: 0x488e, 0x60b: 0x48a6,
+ 0x60c: 0x4896, 0x60d: 0x48ae, 0x60e: 0x489e, 0x60f: 0x48b6, 0x610: 0x4816, 0x611: 0x481c,
+ 0x612: 0x3db8, 0x613: 0x3dc8, 0x614: 0x3dc0, 0x615: 0x3dd0,
+ 0x618: 0x47b6, 0x619: 0x47bc, 0x61a: 0x3ce8, 0x61b: 0x3cf8, 0x61c: 0x3cf0, 0x61d: 0x3d00,
+ 0x620: 0x482e, 0x621: 0x4834, 0x622: 0x494e, 0x623: 0x4966,
+ 0x624: 0x4956, 0x625: 0x496e, 0x626: 0x495e, 0x627: 0x4976, 0x628: 0x47c2, 0x629: 0x47c8,
+ 0x62a: 0x48be, 0x62b: 0x48d6, 0x62c: 0x48c6, 0x62d: 0x48de, 0x62e: 0x48ce, 0x62f: 0x48e6,
+ 0x630: 0x4846, 0x631: 0x484c, 0x632: 0x3e18, 0x633: 0x3e30, 0x634: 0x3e20, 0x635: 0x3e38,
+ 0x636: 0x3e28, 0x637: 0x3e40, 0x638: 0x47ce, 0x639: 0x47d4, 0x63a: 0x3d18, 0x63b: 0x3d30,
+ 0x63c: 0x3d20, 0x63d: 0x3d38, 0x63e: 0x3d28, 0x63f: 0x3d40,
// Block 0x19, offset 0x640
- 0x640: 0x3da0, 0x641: 0x3da8, 0x642: 0x4184, 0x643: 0x41a2, 0x644: 0x418e, 0x645: 0x41ac,
- 0x646: 0x4198, 0x647: 0x41b6, 0x648: 0x3cd8, 0x649: 0x3ce0, 0x64a: 0x40d0, 0x64b: 0x40ee,
- 0x64c: 0x40da, 0x64d: 0x40f8, 0x64e: 0x40e4, 0x64f: 0x4102, 0x650: 0x3de8, 0x651: 0x3df0,
- 0x652: 0x41c0, 0x653: 0x41de, 0x654: 0x41ca, 0x655: 0x41e8, 0x656: 0x41d4, 0x657: 0x41f2,
- 0x658: 0x3d08, 0x659: 0x3d10, 0x65a: 0x410c, 0x65b: 0x412a, 0x65c: 0x4116, 0x65d: 0x4134,
- 0x65e: 0x4120, 0x65f: 0x413e, 0x660: 0x3ec0, 0x661: 0x3ec8, 0x662: 0x41fc, 0x663: 0x421a,
- 0x664: 0x4206, 0x665: 0x4224, 0x666: 0x4210, 0x667: 0x422e, 0x668: 0x3d80, 0x669: 0x3d88,
- 0x66a: 0x4148, 0x66b: 0x4166, 0x66c: 0x4152, 0x66d: 0x4170, 0x66e: 0x415c, 0x66f: 0x417a,
- 0x670: 0x3685, 0x671: 0x367f, 0x672: 0x3d90, 0x673: 0x368b, 0x674: 0x3d98,
- 0x676: 0x4810, 0x677: 0x3db0, 0x678: 0x35f5, 0x679: 0x35ef, 0x67a: 0x35e3, 0x67b: 0x42ee,
- 0x67c: 0x35fb, 0x67d: 0x4287, 0x67e: 0x01d3, 0x67f: 0x4287,
+ 0x640: 0x4852, 0x641: 0x4858, 0x642: 0x3e48, 0x643: 0x3e58, 0x644: 0x3e50, 0x645: 0x3e60,
+ 0x648: 0x47da, 0x649: 0x47e0, 0x64a: 0x3d48, 0x64b: 0x3d58,
+ 0x64c: 0x3d50, 0x64d: 0x3d60, 0x650: 0x4864, 0x651: 0x486a,
+ 0x652: 0x3e80, 0x653: 0x3e98, 0x654: 0x3e88, 0x655: 0x3ea0, 0x656: 0x3e90, 0x657: 0x3ea8,
+ 0x659: 0x47e6, 0x65b: 0x3d68, 0x65d: 0x3d70,
+ 0x65f: 0x3d78, 0x660: 0x487c, 0x661: 0x4882, 0x662: 0x497e, 0x663: 0x4996,
+ 0x664: 0x4986, 0x665: 0x499e, 0x666: 0x498e, 0x667: 0x49a6, 0x668: 0x47ec, 0x669: 0x47f2,
+ 0x66a: 0x48ee, 0x66b: 0x4906, 0x66c: 0x48f6, 0x66d: 0x490e, 0x66e: 0x48fe, 0x66f: 0x4916,
+ 0x670: 0x47f8, 0x671: 0x431e, 0x672: 0x3691, 0x673: 0x4324, 0x674: 0x4822, 0x675: 0x432a,
+ 0x676: 0x36a3, 0x677: 0x4330, 0x678: 0x36c1, 0x679: 0x4336, 0x67a: 0x36d9, 0x67b: 0x433c,
+ 0x67c: 0x4870, 0x67d: 0x4342,
// Block 0x1a, offset 0x680
- 0x680: 0x42a0, 0x681: 0x4482, 0x682: 0x3dd8, 0x683: 0x369d, 0x684: 0x3de0,
- 0x686: 0x483a, 0x687: 0x3df8, 0x688: 0x3601, 0x689: 0x42f4, 0x68a: 0x360d, 0x68b: 0x42fa,
- 0x68c: 0x3619, 0x68d: 0x4489, 0x68e: 0x4490, 0x68f: 0x4497, 0x690: 0x36b5, 0x691: 0x36af,
- 0x692: 0x3e00, 0x693: 0x44e4, 0x696: 0x36bb, 0x697: 0x3e10,
- 0x698: 0x3631, 0x699: 0x362b, 0x69a: 0x361f, 0x69b: 0x4300, 0x69d: 0x449e,
- 0x69e: 0x44a5, 0x69f: 0x44ac, 0x6a0: 0x36eb, 0x6a1: 0x36e5, 0x6a2: 0x3e68, 0x6a3: 0x44ec,
- 0x6a4: 0x36cd, 0x6a5: 0x36d3, 0x6a6: 0x36f1, 0x6a7: 0x3e78, 0x6a8: 0x3661, 0x6a9: 0x365b,
- 0x6aa: 0x364f, 0x6ab: 0x430c, 0x6ac: 0x3649, 0x6ad: 0x4474, 0x6ae: 0x447b, 0x6af: 0x0081,
- 0x6b2: 0x3eb0, 0x6b3: 0x36f7, 0x6b4: 0x3eb8,
- 0x6b6: 0x4888, 0x6b7: 0x3ed0, 0x6b8: 0x363d, 0x6b9: 0x4306, 0x6ba: 0x366d, 0x6bb: 0x4318,
- 0x6bc: 0x3679, 0x6bd: 0x425a, 0x6be: 0x428c,
+ 0x680: 0x3da0, 0x681: 0x3da8, 0x682: 0x4184, 0x683: 0x41a2, 0x684: 0x418e, 0x685: 0x41ac,
+ 0x686: 0x4198, 0x687: 0x41b6, 0x688: 0x3cd8, 0x689: 0x3ce0, 0x68a: 0x40d0, 0x68b: 0x40ee,
+ 0x68c: 0x40da, 0x68d: 0x40f8, 0x68e: 0x40e4, 0x68f: 0x4102, 0x690: 0x3de8, 0x691: 0x3df0,
+ 0x692: 0x41c0, 0x693: 0x41de, 0x694: 0x41ca, 0x695: 0x41e8, 0x696: 0x41d4, 0x697: 0x41f2,
+ 0x698: 0x3d08, 0x699: 0x3d10, 0x69a: 0x410c, 0x69b: 0x412a, 0x69c: 0x4116, 0x69d: 0x4134,
+ 0x69e: 0x4120, 0x69f: 0x413e, 0x6a0: 0x3ec0, 0x6a1: 0x3ec8, 0x6a2: 0x41fc, 0x6a3: 0x421a,
+ 0x6a4: 0x4206, 0x6a5: 0x4224, 0x6a6: 0x4210, 0x6a7: 0x422e, 0x6a8: 0x3d80, 0x6a9: 0x3d88,
+ 0x6aa: 0x4148, 0x6ab: 0x4166, 0x6ac: 0x4152, 0x6ad: 0x4170, 0x6ae: 0x415c, 0x6af: 0x417a,
+ 0x6b0: 0x3685, 0x6b1: 0x367f, 0x6b2: 0x3d90, 0x6b3: 0x368b, 0x6b4: 0x3d98,
+ 0x6b6: 0x4810, 0x6b7: 0x3db0, 0x6b8: 0x35f5, 0x6b9: 0x35ef, 0x6ba: 0x35e3, 0x6bb: 0x42ee,
+ 0x6bc: 0x35fb, 0x6bd: 0x4287, 0x6be: 0x01d3, 0x6bf: 0x4287,
// Block 0x1b, offset 0x6c0
- 0x6c0: 0x1bd8, 0x6c1: 0x1bdc, 0x6c2: 0x0047, 0x6c3: 0x1c54, 0x6c5: 0x1be8,
- 0x6c6: 0x1bec, 0x6c7: 0x00e9, 0x6c9: 0x1c58, 0x6ca: 0x008f, 0x6cb: 0x0051,
- 0x6cc: 0x0051, 0x6cd: 0x0051, 0x6ce: 0x0091, 0x6cf: 0x00da, 0x6d0: 0x0053, 0x6d1: 0x0053,
- 0x6d2: 0x0059, 0x6d3: 0x0099, 0x6d5: 0x005d, 0x6d6: 0x198d,
- 0x6d9: 0x0061, 0x6da: 0x0063, 0x6db: 0x0065, 0x6dc: 0x0065, 0x6dd: 0x0065,
- 0x6e0: 0x199f, 0x6e1: 0x1bc8, 0x6e2: 0x19a8,
- 0x6e4: 0x0075, 0x6e6: 0x01b8, 0x6e8: 0x0075,
- 0x6ea: 0x0057, 0x6eb: 0x42d2, 0x6ec: 0x0045, 0x6ed: 0x0047, 0x6ef: 0x008b,
- 0x6f0: 0x004b, 0x6f1: 0x004d, 0x6f3: 0x005b, 0x6f4: 0x009f, 0x6f5: 0x0215,
- 0x6f6: 0x0218, 0x6f7: 0x021b, 0x6f8: 0x021e, 0x6f9: 0x0093, 0x6fb: 0x1b98,
- 0x6fc: 0x01e8, 0x6fd: 0x01c1, 0x6fe: 0x0179, 0x6ff: 0x01a0,
+ 0x6c0: 0x42a0, 0x6c1: 0x4482, 0x6c2: 0x3dd8, 0x6c3: 0x369d, 0x6c4: 0x3de0,
+ 0x6c6: 0x483a, 0x6c7: 0x3df8, 0x6c8: 0x3601, 0x6c9: 0x42f4, 0x6ca: 0x360d, 0x6cb: 0x42fa,
+ 0x6cc: 0x3619, 0x6cd: 0x4489, 0x6ce: 0x4490, 0x6cf: 0x4497, 0x6d0: 0x36b5, 0x6d1: 0x36af,
+ 0x6d2: 0x3e00, 0x6d3: 0x44e4, 0x6d6: 0x36bb, 0x6d7: 0x3e10,
+ 0x6d8: 0x3631, 0x6d9: 0x362b, 0x6da: 0x361f, 0x6db: 0x4300, 0x6dd: 0x449e,
+ 0x6de: 0x44a5, 0x6df: 0x44ac, 0x6e0: 0x36eb, 0x6e1: 0x36e5, 0x6e2: 0x3e68, 0x6e3: 0x44ec,
+ 0x6e4: 0x36cd, 0x6e5: 0x36d3, 0x6e6: 0x36f1, 0x6e7: 0x3e78, 0x6e8: 0x3661, 0x6e9: 0x365b,
+ 0x6ea: 0x364f, 0x6eb: 0x430c, 0x6ec: 0x3649, 0x6ed: 0x4474, 0x6ee: 0x447b, 0x6ef: 0x0081,
+ 0x6f2: 0x3eb0, 0x6f3: 0x36f7, 0x6f4: 0x3eb8,
+ 0x6f6: 0x4888, 0x6f7: 0x3ed0, 0x6f8: 0x363d, 0x6f9: 0x4306, 0x6fa: 0x366d, 0x6fb: 0x4318,
+ 0x6fc: 0x3679, 0x6fd: 0x425a, 0x6fe: 0x428c,
// Block 0x1c, offset 0x700
- 0x700: 0x0463, 0x705: 0x0049,
- 0x706: 0x0089, 0x707: 0x008b, 0x708: 0x0093, 0x709: 0x0095,
- 0x710: 0x222e, 0x711: 0x223a,
- 0x712: 0x22ee, 0x713: 0x2216, 0x714: 0x229a, 0x715: 0x2222, 0x716: 0x22a0, 0x717: 0x22b8,
- 0x718: 0x22c4, 0x719: 0x2228, 0x71a: 0x22ca, 0x71b: 0x2234, 0x71c: 0x22be, 0x71d: 0x22d0,
- 0x71e: 0x22d6, 0x71f: 0x1cbc, 0x720: 0x0053, 0x721: 0x195a, 0x722: 0x1ba4, 0x723: 0x1963,
- 0x724: 0x006d, 0x725: 0x19ab, 0x726: 0x1bd0, 0x727: 0x1d48, 0x728: 0x1966, 0x729: 0x0071,
- 0x72a: 0x19b7, 0x72b: 0x1bd4, 0x72c: 0x0059, 0x72d: 0x0047, 0x72e: 0x0049, 0x72f: 0x005b,
- 0x730: 0x0093, 0x731: 0x19e4, 0x732: 0x1c18, 0x733: 0x19ed, 0x734: 0x00ad, 0x735: 0x1a62,
- 0x736: 0x1c4c, 0x737: 0x1d5c, 0x738: 0x19f0, 0x739: 0x00b1, 0x73a: 0x1a65, 0x73b: 0x1c50,
- 0x73c: 0x0099, 0x73d: 0x0087, 0x73e: 0x0089, 0x73f: 0x009b,
+ 0x700: 0x1bd8, 0x701: 0x1bdc, 0x702: 0x0047, 0x703: 0x1c54, 0x705: 0x1be8,
+ 0x706: 0x1bec, 0x707: 0x00e9, 0x709: 0x1c58, 0x70a: 0x008f, 0x70b: 0x0051,
+ 0x70c: 0x0051, 0x70d: 0x0051, 0x70e: 0x0091, 0x70f: 0x00da, 0x710: 0x0053, 0x711: 0x0053,
+ 0x712: 0x0059, 0x713: 0x0099, 0x715: 0x005d, 0x716: 0x198d,
+ 0x719: 0x0061, 0x71a: 0x0063, 0x71b: 0x0065, 0x71c: 0x0065, 0x71d: 0x0065,
+ 0x720: 0x199f, 0x721: 0x1bc8, 0x722: 0x19a8,
+ 0x724: 0x0075, 0x726: 0x01b8, 0x728: 0x0075,
+ 0x72a: 0x0057, 0x72b: 0x42d2, 0x72c: 0x0045, 0x72d: 0x0047, 0x72f: 0x008b,
+ 0x730: 0x004b, 0x731: 0x004d, 0x733: 0x005b, 0x734: 0x009f, 0x735: 0x0215,
+ 0x736: 0x0218, 0x737: 0x021b, 0x738: 0x021e, 0x739: 0x0093, 0x73b: 0x1b98,
+ 0x73c: 0x01e8, 0x73d: 0x01c1, 0x73e: 0x0179, 0x73f: 0x01a0,
// Block 0x1d, offset 0x740
- 0x741: 0x3c06, 0x743: 0xa000, 0x744: 0x3c0d, 0x745: 0xa000,
- 0x747: 0x3c14, 0x748: 0xa000, 0x749: 0x3c1b,
- 0x74d: 0xa000,
- 0x760: 0x2f65, 0x761: 0xa000, 0x762: 0x3c29,
- 0x764: 0xa000, 0x765: 0xa000,
- 0x76d: 0x3c22, 0x76e: 0x2f60, 0x76f: 0x2f6a,
- 0x770: 0x3c30, 0x771: 0x3c37, 0x772: 0xa000, 0x773: 0xa000, 0x774: 0x3c3e, 0x775: 0x3c45,
- 0x776: 0xa000, 0x777: 0xa000, 0x778: 0x3c4c, 0x779: 0x3c53, 0x77a: 0xa000, 0x77b: 0xa000,
- 0x77c: 0xa000, 0x77d: 0xa000,
+ 0x740: 0x0463, 0x745: 0x0049,
+ 0x746: 0x0089, 0x747: 0x008b, 0x748: 0x0093, 0x749: 0x0095,
+ 0x750: 0x222e, 0x751: 0x223a,
+ 0x752: 0x22ee, 0x753: 0x2216, 0x754: 0x229a, 0x755: 0x2222, 0x756: 0x22a0, 0x757: 0x22b8,
+ 0x758: 0x22c4, 0x759: 0x2228, 0x75a: 0x22ca, 0x75b: 0x2234, 0x75c: 0x22be, 0x75d: 0x22d0,
+ 0x75e: 0x22d6, 0x75f: 0x1cbc, 0x760: 0x0053, 0x761: 0x195a, 0x762: 0x1ba4, 0x763: 0x1963,
+ 0x764: 0x006d, 0x765: 0x19ab, 0x766: 0x1bd0, 0x767: 0x1d48, 0x768: 0x1966, 0x769: 0x0071,
+ 0x76a: 0x19b7, 0x76b: 0x1bd4, 0x76c: 0x0059, 0x76d: 0x0047, 0x76e: 0x0049, 0x76f: 0x005b,
+ 0x770: 0x0093, 0x771: 0x19e4, 0x772: 0x1c18, 0x773: 0x19ed, 0x774: 0x00ad, 0x775: 0x1a62,
+ 0x776: 0x1c4c, 0x777: 0x1d5c, 0x778: 0x19f0, 0x779: 0x00b1, 0x77a: 0x1a65, 0x77b: 0x1c50,
+ 0x77c: 0x0099, 0x77d: 0x0087, 0x77e: 0x0089, 0x77f: 0x009b,
// Block 0x1e, offset 0x780
- 0x780: 0x3c5a, 0x781: 0x3c61, 0x782: 0xa000, 0x783: 0xa000, 0x784: 0x3c76, 0x785: 0x3c7d,
- 0x786: 0xa000, 0x787: 0xa000, 0x788: 0x3c84, 0x789: 0x3c8b,
- 0x791: 0xa000,
- 0x792: 0xa000,
- 0x7a2: 0xa000,
- 0x7a8: 0xa000, 0x7a9: 0xa000,
- 0x7ab: 0xa000, 0x7ac: 0x3ca0, 0x7ad: 0x3ca7, 0x7ae: 0x3cae, 0x7af: 0x3cb5,
- 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0xa000, 0x7b5: 0xa000,
+ 0x781: 0x3c06, 0x783: 0xa000, 0x784: 0x3c0d, 0x785: 0xa000,
+ 0x787: 0x3c14, 0x788: 0xa000, 0x789: 0x3c1b,
+ 0x78d: 0xa000,
+ 0x7a0: 0x2f65, 0x7a1: 0xa000, 0x7a2: 0x3c29,
+ 0x7a4: 0xa000, 0x7a5: 0xa000,
+ 0x7ad: 0x3c22, 0x7ae: 0x2f60, 0x7af: 0x2f6a,
+ 0x7b0: 0x3c30, 0x7b1: 0x3c37, 0x7b2: 0xa000, 0x7b3: 0xa000, 0x7b4: 0x3c3e, 0x7b5: 0x3c45,
+ 0x7b6: 0xa000, 0x7b7: 0xa000, 0x7b8: 0x3c4c, 0x7b9: 0x3c53, 0x7ba: 0xa000, 0x7bb: 0xa000,
+ 0x7bc: 0xa000, 0x7bd: 0xa000,
// Block 0x1f, offset 0x7c0
- 0x7e0: 0x0023, 0x7e1: 0x0025, 0x7e2: 0x0027, 0x7e3: 0x0029,
- 0x7e4: 0x002b, 0x7e5: 0x002d, 0x7e6: 0x002f, 0x7e7: 0x0031, 0x7e8: 0x0033, 0x7e9: 0x1882,
- 0x7ea: 0x1885, 0x7eb: 0x1888, 0x7ec: 0x188b, 0x7ed: 0x188e, 0x7ee: 0x1891, 0x7ef: 0x1894,
- 0x7f0: 0x1897, 0x7f1: 0x189a, 0x7f2: 0x189d, 0x7f3: 0x18a6, 0x7f4: 0x1a68, 0x7f5: 0x1a6c,
- 0x7f6: 0x1a70, 0x7f7: 0x1a74, 0x7f8: 0x1a78, 0x7f9: 0x1a7c, 0x7fa: 0x1a80, 0x7fb: 0x1a84,
- 0x7fc: 0x1a88, 0x7fd: 0x1c80, 0x7fe: 0x1c85, 0x7ff: 0x1c8a,
+ 0x7c0: 0x3c5a, 0x7c1: 0x3c61, 0x7c2: 0xa000, 0x7c3: 0xa000, 0x7c4: 0x3c76, 0x7c5: 0x3c7d,
+ 0x7c6: 0xa000, 0x7c7: 0xa000, 0x7c8: 0x3c84, 0x7c9: 0x3c8b,
+ 0x7d1: 0xa000,
+ 0x7d2: 0xa000,
+ 0x7e2: 0xa000,
+ 0x7e8: 0xa000, 0x7e9: 0xa000,
+ 0x7eb: 0xa000, 0x7ec: 0x3ca0, 0x7ed: 0x3ca7, 0x7ee: 0x3cae, 0x7ef: 0x3cb5,
+ 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0xa000, 0x7f5: 0xa000,
// Block 0x20, offset 0x800
- 0x800: 0x1c8f, 0x801: 0x1c94, 0x802: 0x1c99, 0x803: 0x1c9e, 0x804: 0x1ca3, 0x805: 0x1ca8,
- 0x806: 0x1cad, 0x807: 0x1cb2, 0x808: 0x187f, 0x809: 0x18a3, 0x80a: 0x18c7, 0x80b: 0x18eb,
- 0x80c: 0x190f, 0x80d: 0x1918, 0x80e: 0x191e, 0x80f: 0x1924, 0x810: 0x192a, 0x811: 0x1b60,
- 0x812: 0x1b64, 0x813: 0x1b68, 0x814: 0x1b6c, 0x815: 0x1b70, 0x816: 0x1b74, 0x817: 0x1b78,
- 0x818: 0x1b7c, 0x819: 0x1b80, 0x81a: 0x1b84, 0x81b: 0x1b88, 0x81c: 0x1af4, 0x81d: 0x1af8,
- 0x81e: 0x1afc, 0x81f: 0x1b00, 0x820: 0x1b04, 0x821: 0x1b08, 0x822: 0x1b0c, 0x823: 0x1b10,
- 0x824: 0x1b14, 0x825: 0x1b18, 0x826: 0x1b1c, 0x827: 0x1b20, 0x828: 0x1b24, 0x829: 0x1b28,
- 0x82a: 0x1b2c, 0x82b: 0x1b30, 0x82c: 0x1b34, 0x82d: 0x1b38, 0x82e: 0x1b3c, 0x82f: 0x1b40,
- 0x830: 0x1b44, 0x831: 0x1b48, 0x832: 0x1b4c, 0x833: 0x1b50, 0x834: 0x1b54, 0x835: 0x1b58,
- 0x836: 0x0043, 0x837: 0x0045, 0x838: 0x0047, 0x839: 0x0049, 0x83a: 0x004b, 0x83b: 0x004d,
- 0x83c: 0x004f, 0x83d: 0x0051, 0x83e: 0x0053, 0x83f: 0x0055,
+ 0x820: 0x0023, 0x821: 0x0025, 0x822: 0x0027, 0x823: 0x0029,
+ 0x824: 0x002b, 0x825: 0x002d, 0x826: 0x002f, 0x827: 0x0031, 0x828: 0x0033, 0x829: 0x1882,
+ 0x82a: 0x1885, 0x82b: 0x1888, 0x82c: 0x188b, 0x82d: 0x188e, 0x82e: 0x1891, 0x82f: 0x1894,
+ 0x830: 0x1897, 0x831: 0x189a, 0x832: 0x189d, 0x833: 0x18a6, 0x834: 0x1a68, 0x835: 0x1a6c,
+ 0x836: 0x1a70, 0x837: 0x1a74, 0x838: 0x1a78, 0x839: 0x1a7c, 0x83a: 0x1a80, 0x83b: 0x1a84,
+ 0x83c: 0x1a88, 0x83d: 0x1c80, 0x83e: 0x1c85, 0x83f: 0x1c8a,
// Block 0x21, offset 0x840
- 0x840: 0x06bf, 0x841: 0x06e3, 0x842: 0x06ef, 0x843: 0x06ff, 0x844: 0x0707, 0x845: 0x0713,
- 0x846: 0x071b, 0x847: 0x0723, 0x848: 0x072f, 0x849: 0x0783, 0x84a: 0x079b, 0x84b: 0x07ab,
- 0x84c: 0x07bb, 0x84d: 0x07cb, 0x84e: 0x07db, 0x84f: 0x07fb, 0x850: 0x07ff, 0x851: 0x0803,
- 0x852: 0x0837, 0x853: 0x085f, 0x854: 0x086f, 0x855: 0x0877, 0x856: 0x087b, 0x857: 0x0887,
- 0x858: 0x08a3, 0x859: 0x08a7, 0x85a: 0x08bf, 0x85b: 0x08c3, 0x85c: 0x08cb, 0x85d: 0x08db,
- 0x85e: 0x0977, 0x85f: 0x098b, 0x860: 0x09cb, 0x861: 0x09df, 0x862: 0x09e7, 0x863: 0x09eb,
- 0x864: 0x09fb, 0x865: 0x0a17, 0x866: 0x0a43, 0x867: 0x0a4f, 0x868: 0x0a6f, 0x869: 0x0a7b,
- 0x86a: 0x0a7f, 0x86b: 0x0a83, 0x86c: 0x0a9b, 0x86d: 0x0a9f, 0x86e: 0x0acb, 0x86f: 0x0ad7,
- 0x870: 0x0adf, 0x871: 0x0ae7, 0x872: 0x0af7, 0x873: 0x0aff, 0x874: 0x0b07, 0x875: 0x0b33,
- 0x876: 0x0b37, 0x877: 0x0b3f, 0x878: 0x0b43, 0x879: 0x0b4b, 0x87a: 0x0b53, 0x87b: 0x0b63,
- 0x87c: 0x0b7f, 0x87d: 0x0bf7, 0x87e: 0x0c0b, 0x87f: 0x0c0f,
+ 0x840: 0x1c8f, 0x841: 0x1c94, 0x842: 0x1c99, 0x843: 0x1c9e, 0x844: 0x1ca3, 0x845: 0x1ca8,
+ 0x846: 0x1cad, 0x847: 0x1cb2, 0x848: 0x187f, 0x849: 0x18a3, 0x84a: 0x18c7, 0x84b: 0x18eb,
+ 0x84c: 0x190f, 0x84d: 0x1918, 0x84e: 0x191e, 0x84f: 0x1924, 0x850: 0x192a, 0x851: 0x1b60,
+ 0x852: 0x1b64, 0x853: 0x1b68, 0x854: 0x1b6c, 0x855: 0x1b70, 0x856: 0x1b74, 0x857: 0x1b78,
+ 0x858: 0x1b7c, 0x859: 0x1b80, 0x85a: 0x1b84, 0x85b: 0x1b88, 0x85c: 0x1af4, 0x85d: 0x1af8,
+ 0x85e: 0x1afc, 0x85f: 0x1b00, 0x860: 0x1b04, 0x861: 0x1b08, 0x862: 0x1b0c, 0x863: 0x1b10,
+ 0x864: 0x1b14, 0x865: 0x1b18, 0x866: 0x1b1c, 0x867: 0x1b20, 0x868: 0x1b24, 0x869: 0x1b28,
+ 0x86a: 0x1b2c, 0x86b: 0x1b30, 0x86c: 0x1b34, 0x86d: 0x1b38, 0x86e: 0x1b3c, 0x86f: 0x1b40,
+ 0x870: 0x1b44, 0x871: 0x1b48, 0x872: 0x1b4c, 0x873: 0x1b50, 0x874: 0x1b54, 0x875: 0x1b58,
+ 0x876: 0x0043, 0x877: 0x0045, 0x878: 0x0047, 0x879: 0x0049, 0x87a: 0x004b, 0x87b: 0x004d,
+ 0x87c: 0x004f, 0x87d: 0x0051, 0x87e: 0x0053, 0x87f: 0x0055,
// Block 0x22, offset 0x880
- 0x880: 0x0c8f, 0x881: 0x0c93, 0x882: 0x0ca7, 0x883: 0x0cab, 0x884: 0x0cb3, 0x885: 0x0cbb,
- 0x886: 0x0cc3, 0x887: 0x0ccf, 0x888: 0x0cf7, 0x889: 0x0d07, 0x88a: 0x0d1b, 0x88b: 0x0d8b,
- 0x88c: 0x0d97, 0x88d: 0x0da7, 0x88e: 0x0db3, 0x88f: 0x0dbf, 0x890: 0x0dc7, 0x891: 0x0dcb,
- 0x892: 0x0dcf, 0x893: 0x0dd3, 0x894: 0x0dd7, 0x895: 0x0e8f, 0x896: 0x0ed7, 0x897: 0x0ee3,
- 0x898: 0x0ee7, 0x899: 0x0eeb, 0x89a: 0x0eef, 0x89b: 0x0ef7, 0x89c: 0x0efb, 0x89d: 0x0f0f,
- 0x89e: 0x0f2b, 0x89f: 0x0f33, 0x8a0: 0x0f73, 0x8a1: 0x0f77, 0x8a2: 0x0f7f, 0x8a3: 0x0f83,
- 0x8a4: 0x0f8b, 0x8a5: 0x0f8f, 0x8a6: 0x0fb3, 0x8a7: 0x0fb7, 0x8a8: 0x0fd3, 0x8a9: 0x0fd7,
- 0x8aa: 0x0fdb, 0x8ab: 0x0fdf, 0x8ac: 0x0ff3, 0x8ad: 0x1017, 0x8ae: 0x101b, 0x8af: 0x101f,
- 0x8b0: 0x1043, 0x8b1: 0x1083, 0x8b2: 0x1087, 0x8b3: 0x10a7, 0x8b4: 0x10b7, 0x8b5: 0x10bf,
- 0x8b6: 0x10df, 0x8b7: 0x1103, 0x8b8: 0x1147, 0x8b9: 0x114f, 0x8ba: 0x1163, 0x8bb: 0x116f,
- 0x8bc: 0x1177, 0x8bd: 0x117f, 0x8be: 0x1183, 0x8bf: 0x1187,
+ 0x880: 0x06bf, 0x881: 0x06e3, 0x882: 0x06ef, 0x883: 0x06ff, 0x884: 0x0707, 0x885: 0x0713,
+ 0x886: 0x071b, 0x887: 0x0723, 0x888: 0x072f, 0x889: 0x0783, 0x88a: 0x079b, 0x88b: 0x07ab,
+ 0x88c: 0x07bb, 0x88d: 0x07cb, 0x88e: 0x07db, 0x88f: 0x07fb, 0x890: 0x07ff, 0x891: 0x0803,
+ 0x892: 0x0837, 0x893: 0x085f, 0x894: 0x086f, 0x895: 0x0877, 0x896: 0x087b, 0x897: 0x0887,
+ 0x898: 0x08a3, 0x899: 0x08a7, 0x89a: 0x08bf, 0x89b: 0x08c3, 0x89c: 0x08cb, 0x89d: 0x08db,
+ 0x89e: 0x0977, 0x89f: 0x098b, 0x8a0: 0x09cb, 0x8a1: 0x09df, 0x8a2: 0x09e7, 0x8a3: 0x09eb,
+ 0x8a4: 0x09fb, 0x8a5: 0x0a17, 0x8a6: 0x0a43, 0x8a7: 0x0a4f, 0x8a8: 0x0a6f, 0x8a9: 0x0a7b,
+ 0x8aa: 0x0a7f, 0x8ab: 0x0a83, 0x8ac: 0x0a9b, 0x8ad: 0x0a9f, 0x8ae: 0x0acb, 0x8af: 0x0ad7,
+ 0x8b0: 0x0adf, 0x8b1: 0x0ae7, 0x8b2: 0x0af7, 0x8b3: 0x0aff, 0x8b4: 0x0b07, 0x8b5: 0x0b33,
+ 0x8b6: 0x0b37, 0x8b7: 0x0b3f, 0x8b8: 0x0b43, 0x8b9: 0x0b4b, 0x8ba: 0x0b53, 0x8bb: 0x0b63,
+ 0x8bc: 0x0b7f, 0x8bd: 0x0bf7, 0x8be: 0x0c0b, 0x8bf: 0x0c0f,
// Block 0x23, offset 0x8c0
- 0x8c0: 0x119f, 0x8c1: 0x11a3, 0x8c2: 0x11bf, 0x8c3: 0x11c7, 0x8c4: 0x11cf, 0x8c5: 0x11d3,
- 0x8c6: 0x11df, 0x8c7: 0x11e7, 0x8c8: 0x11eb, 0x8c9: 0x11ef, 0x8ca: 0x11f7, 0x8cb: 0x11fb,
- 0x8cc: 0x129b, 0x8cd: 0x12af, 0x8ce: 0x12e3, 0x8cf: 0x12e7, 0x8d0: 0x12ef, 0x8d1: 0x131b,
- 0x8d2: 0x1323, 0x8d3: 0x132b, 0x8d4: 0x1333, 0x8d5: 0x136f, 0x8d6: 0x1373, 0x8d7: 0x137b,
- 0x8d8: 0x137f, 0x8d9: 0x1383, 0x8da: 0x13af, 0x8db: 0x13b3, 0x8dc: 0x13bb, 0x8dd: 0x13cf,
- 0x8de: 0x13d3, 0x8df: 0x13ef, 0x8e0: 0x13f7, 0x8e1: 0x13fb, 0x8e2: 0x141f, 0x8e3: 0x143f,
- 0x8e4: 0x1453, 0x8e5: 0x1457, 0x8e6: 0x145f, 0x8e7: 0x148b, 0x8e8: 0x148f, 0x8e9: 0x149f,
- 0x8ea: 0x14c3, 0x8eb: 0x14cf, 0x8ec: 0x14df, 0x8ed: 0x14f7, 0x8ee: 0x14ff, 0x8ef: 0x1503,
- 0x8f0: 0x1507, 0x8f1: 0x150b, 0x8f2: 0x1517, 0x8f3: 0x151b, 0x8f4: 0x1523, 0x8f5: 0x153f,
- 0x8f6: 0x1543, 0x8f7: 0x1547, 0x8f8: 0x155f, 0x8f9: 0x1563, 0x8fa: 0x156b, 0x8fb: 0x157f,
- 0x8fc: 0x1583, 0x8fd: 0x1587, 0x8fe: 0x158f, 0x8ff: 0x1593,
+ 0x8c0: 0x0c8f, 0x8c1: 0x0c93, 0x8c2: 0x0ca7, 0x8c3: 0x0cab, 0x8c4: 0x0cb3, 0x8c5: 0x0cbb,
+ 0x8c6: 0x0cc3, 0x8c7: 0x0ccf, 0x8c8: 0x0cf7, 0x8c9: 0x0d07, 0x8ca: 0x0d1b, 0x8cb: 0x0d8b,
+ 0x8cc: 0x0d97, 0x8cd: 0x0da7, 0x8ce: 0x0db3, 0x8cf: 0x0dbf, 0x8d0: 0x0dc7, 0x8d1: 0x0dcb,
+ 0x8d2: 0x0dcf, 0x8d3: 0x0dd3, 0x8d4: 0x0dd7, 0x8d5: 0x0e8f, 0x8d6: 0x0ed7, 0x8d7: 0x0ee3,
+ 0x8d8: 0x0ee7, 0x8d9: 0x0eeb, 0x8da: 0x0eef, 0x8db: 0x0ef7, 0x8dc: 0x0efb, 0x8dd: 0x0f0f,
+ 0x8de: 0x0f2b, 0x8df: 0x0f33, 0x8e0: 0x0f73, 0x8e1: 0x0f77, 0x8e2: 0x0f7f, 0x8e3: 0x0f83,
+ 0x8e4: 0x0f8b, 0x8e5: 0x0f8f, 0x8e6: 0x0fb3, 0x8e7: 0x0fb7, 0x8e8: 0x0fd3, 0x8e9: 0x0fd7,
+ 0x8ea: 0x0fdb, 0x8eb: 0x0fdf, 0x8ec: 0x0ff3, 0x8ed: 0x1017, 0x8ee: 0x101b, 0x8ef: 0x101f,
+ 0x8f0: 0x1043, 0x8f1: 0x1083, 0x8f2: 0x1087, 0x8f3: 0x10a7, 0x8f4: 0x10b7, 0x8f5: 0x10bf,
+ 0x8f6: 0x10df, 0x8f7: 0x1103, 0x8f8: 0x1147, 0x8f9: 0x114f, 0x8fa: 0x1163, 0x8fb: 0x116f,
+ 0x8fc: 0x1177, 0x8fd: 0x117f, 0x8fe: 0x1183, 0x8ff: 0x1187,
// Block 0x24, offset 0x900
- 0x906: 0xa000, 0x90b: 0xa000,
- 0x90c: 0x3f08, 0x90d: 0xa000, 0x90e: 0x3f10, 0x90f: 0xa000, 0x910: 0x3f18, 0x911: 0xa000,
- 0x912: 0x3f20, 0x913: 0xa000, 0x914: 0x3f28, 0x915: 0xa000, 0x916: 0x3f30, 0x917: 0xa000,
- 0x918: 0x3f38, 0x919: 0xa000, 0x91a: 0x3f40, 0x91b: 0xa000, 0x91c: 0x3f48, 0x91d: 0xa000,
- 0x91e: 0x3f50, 0x91f: 0xa000, 0x920: 0x3f58, 0x921: 0xa000, 0x922: 0x3f60,
- 0x924: 0xa000, 0x925: 0x3f68, 0x926: 0xa000, 0x927: 0x3f70, 0x928: 0xa000, 0x929: 0x3f78,
- 0x92f: 0xa000,
- 0x930: 0x3f80, 0x931: 0x3f88, 0x932: 0xa000, 0x933: 0x3f90, 0x934: 0x3f98, 0x935: 0xa000,
- 0x936: 0x3fa0, 0x937: 0x3fa8, 0x938: 0xa000, 0x939: 0x3fb0, 0x93a: 0x3fb8, 0x93b: 0xa000,
- 0x93c: 0x3fc0, 0x93d: 0x3fc8,
+ 0x900: 0x119f, 0x901: 0x11a3, 0x902: 0x11bf, 0x903: 0x11c7, 0x904: 0x11cf, 0x905: 0x11d3,
+ 0x906: 0x11df, 0x907: 0x11e7, 0x908: 0x11eb, 0x909: 0x11ef, 0x90a: 0x11f7, 0x90b: 0x11fb,
+ 0x90c: 0x129b, 0x90d: 0x12af, 0x90e: 0x12e3, 0x90f: 0x12e7, 0x910: 0x12ef, 0x911: 0x131b,
+ 0x912: 0x1323, 0x913: 0x132b, 0x914: 0x1333, 0x915: 0x136f, 0x916: 0x1373, 0x917: 0x137b,
+ 0x918: 0x137f, 0x919: 0x1383, 0x91a: 0x13af, 0x91b: 0x13b3, 0x91c: 0x13bb, 0x91d: 0x13cf,
+ 0x91e: 0x13d3, 0x91f: 0x13ef, 0x920: 0x13f7, 0x921: 0x13fb, 0x922: 0x141f, 0x923: 0x143f,
+ 0x924: 0x1453, 0x925: 0x1457, 0x926: 0x145f, 0x927: 0x148b, 0x928: 0x148f, 0x929: 0x149f,
+ 0x92a: 0x14c3, 0x92b: 0x14cf, 0x92c: 0x14df, 0x92d: 0x14f7, 0x92e: 0x14ff, 0x92f: 0x1503,
+ 0x930: 0x1507, 0x931: 0x150b, 0x932: 0x1517, 0x933: 0x151b, 0x934: 0x1523, 0x935: 0x153f,
+ 0x936: 0x1543, 0x937: 0x1547, 0x938: 0x155f, 0x939: 0x1563, 0x93a: 0x156b, 0x93b: 0x157f,
+ 0x93c: 0x1583, 0x93d: 0x1587, 0x93e: 0x158f, 0x93f: 0x1593,
// Block 0x25, offset 0x940
- 0x954: 0x3f00,
- 0x959: 0x9903, 0x95a: 0x9903, 0x95b: 0x42dc, 0x95c: 0x42e2, 0x95d: 0xa000,
- 0x95e: 0x3fd0, 0x95f: 0x26b4,
- 0x966: 0xa000,
- 0x96b: 0xa000, 0x96c: 0x3fe0, 0x96d: 0xa000, 0x96e: 0x3fe8, 0x96f: 0xa000,
- 0x970: 0x3ff0, 0x971: 0xa000, 0x972: 0x3ff8, 0x973: 0xa000, 0x974: 0x4000, 0x975: 0xa000,
- 0x976: 0x4008, 0x977: 0xa000, 0x978: 0x4010, 0x979: 0xa000, 0x97a: 0x4018, 0x97b: 0xa000,
- 0x97c: 0x4020, 0x97d: 0xa000, 0x97e: 0x4028, 0x97f: 0xa000,
+ 0x946: 0xa000, 0x94b: 0xa000,
+ 0x94c: 0x3f08, 0x94d: 0xa000, 0x94e: 0x3f10, 0x94f: 0xa000, 0x950: 0x3f18, 0x951: 0xa000,
+ 0x952: 0x3f20, 0x953: 0xa000, 0x954: 0x3f28, 0x955: 0xa000, 0x956: 0x3f30, 0x957: 0xa000,
+ 0x958: 0x3f38, 0x959: 0xa000, 0x95a: 0x3f40, 0x95b: 0xa000, 0x95c: 0x3f48, 0x95d: 0xa000,
+ 0x95e: 0x3f50, 0x95f: 0xa000, 0x960: 0x3f58, 0x961: 0xa000, 0x962: 0x3f60,
+ 0x964: 0xa000, 0x965: 0x3f68, 0x966: 0xa000, 0x967: 0x3f70, 0x968: 0xa000, 0x969: 0x3f78,
+ 0x96f: 0xa000,
+ 0x970: 0x3f80, 0x971: 0x3f88, 0x972: 0xa000, 0x973: 0x3f90, 0x974: 0x3f98, 0x975: 0xa000,
+ 0x976: 0x3fa0, 0x977: 0x3fa8, 0x978: 0xa000, 0x979: 0x3fb0, 0x97a: 0x3fb8, 0x97b: 0xa000,
+ 0x97c: 0x3fc0, 0x97d: 0x3fc8,
// Block 0x26, offset 0x980
- 0x980: 0x4030, 0x981: 0xa000, 0x982: 0x4038, 0x984: 0xa000, 0x985: 0x4040,
- 0x986: 0xa000, 0x987: 0x4048, 0x988: 0xa000, 0x989: 0x4050,
- 0x98f: 0xa000, 0x990: 0x4058, 0x991: 0x4060,
- 0x992: 0xa000, 0x993: 0x4068, 0x994: 0x4070, 0x995: 0xa000, 0x996: 0x4078, 0x997: 0x4080,
- 0x998: 0xa000, 0x999: 0x4088, 0x99a: 0x4090, 0x99b: 0xa000, 0x99c: 0x4098, 0x99d: 0x40a0,
- 0x9af: 0xa000,
- 0x9b0: 0xa000, 0x9b1: 0xa000, 0x9b2: 0xa000, 0x9b4: 0x3fd8,
- 0x9b7: 0x40a8, 0x9b8: 0x40b0, 0x9b9: 0x40b8, 0x9ba: 0x40c0,
- 0x9bd: 0xa000, 0x9be: 0x40c8, 0x9bf: 0x26c9,
+ 0x994: 0x3f00,
+ 0x999: 0x9903, 0x99a: 0x9903, 0x99b: 0x42dc, 0x99c: 0x42e2, 0x99d: 0xa000,
+ 0x99e: 0x3fd0, 0x99f: 0x26b4,
+ 0x9a6: 0xa000,
+ 0x9ab: 0xa000, 0x9ac: 0x3fe0, 0x9ad: 0xa000, 0x9ae: 0x3fe8, 0x9af: 0xa000,
+ 0x9b0: 0x3ff0, 0x9b1: 0xa000, 0x9b2: 0x3ff8, 0x9b3: 0xa000, 0x9b4: 0x4000, 0x9b5: 0xa000,
+ 0x9b6: 0x4008, 0x9b7: 0xa000, 0x9b8: 0x4010, 0x9b9: 0xa000, 0x9ba: 0x4018, 0x9bb: 0xa000,
+ 0x9bc: 0x4020, 0x9bd: 0xa000, 0x9be: 0x4028, 0x9bf: 0xa000,
// Block 0x27, offset 0x9c0
- 0x9c0: 0x0367, 0x9c1: 0x032b, 0x9c2: 0x032f, 0x9c3: 0x0333, 0x9c4: 0x037b, 0x9c5: 0x0337,
- 0x9c6: 0x033b, 0x9c7: 0x033f, 0x9c8: 0x0343, 0x9c9: 0x0347, 0x9ca: 0x034b, 0x9cb: 0x034f,
- 0x9cc: 0x0353, 0x9cd: 0x0357, 0x9ce: 0x035b, 0x9cf: 0x49bd, 0x9d0: 0x49c3, 0x9d1: 0x49c9,
- 0x9d2: 0x49cf, 0x9d3: 0x49d5, 0x9d4: 0x49db, 0x9d5: 0x49e1, 0x9d6: 0x49e7, 0x9d7: 0x49ed,
- 0x9d8: 0x49f3, 0x9d9: 0x49f9, 0x9da: 0x49ff, 0x9db: 0x4a05, 0x9dc: 0x4a0b, 0x9dd: 0x4a11,
- 0x9de: 0x4a17, 0x9df: 0x4a1d, 0x9e0: 0x4a23, 0x9e1: 0x4a29, 0x9e2: 0x4a2f, 0x9e3: 0x4a35,
- 0x9e4: 0x03c3, 0x9e5: 0x035f, 0x9e6: 0x0363, 0x9e7: 0x03e7, 0x9e8: 0x03eb, 0x9e9: 0x03ef,
- 0x9ea: 0x03f3, 0x9eb: 0x03f7, 0x9ec: 0x03fb, 0x9ed: 0x03ff, 0x9ee: 0x036b, 0x9ef: 0x0403,
- 0x9f0: 0x0407, 0x9f1: 0x036f, 0x9f2: 0x0373, 0x9f3: 0x0377, 0x9f4: 0x037f, 0x9f5: 0x0383,
- 0x9f6: 0x0387, 0x9f7: 0x038b, 0x9f8: 0x038f, 0x9f9: 0x0393, 0x9fa: 0x0397, 0x9fb: 0x039b,
- 0x9fc: 0x039f, 0x9fd: 0x03a3, 0x9fe: 0x03a7, 0x9ff: 0x03ab,
+ 0x9c0: 0x4030, 0x9c1: 0xa000, 0x9c2: 0x4038, 0x9c4: 0xa000, 0x9c5: 0x4040,
+ 0x9c6: 0xa000, 0x9c7: 0x4048, 0x9c8: 0xa000, 0x9c9: 0x4050,
+ 0x9cf: 0xa000, 0x9d0: 0x4058, 0x9d1: 0x4060,
+ 0x9d2: 0xa000, 0x9d3: 0x4068, 0x9d4: 0x4070, 0x9d5: 0xa000, 0x9d6: 0x4078, 0x9d7: 0x4080,
+ 0x9d8: 0xa000, 0x9d9: 0x4088, 0x9da: 0x4090, 0x9db: 0xa000, 0x9dc: 0x4098, 0x9dd: 0x40a0,
+ 0x9ef: 0xa000,
+ 0x9f0: 0xa000, 0x9f1: 0xa000, 0x9f2: 0xa000, 0x9f4: 0x3fd8,
+ 0x9f7: 0x40a8, 0x9f8: 0x40b0, 0x9f9: 0x40b8, 0x9fa: 0x40c0,
+ 0x9fd: 0xa000, 0x9fe: 0x40c8, 0x9ff: 0x26c9,
// Block 0x28, offset 0xa00
- 0xa00: 0x03af, 0xa01: 0x03b3, 0xa02: 0x040b, 0xa03: 0x040f, 0xa04: 0x03b7, 0xa05: 0x03bb,
- 0xa06: 0x03bf, 0xa07: 0x03c7, 0xa08: 0x03cb, 0xa09: 0x03cf, 0xa0a: 0x03d3, 0xa0b: 0x03d7,
- 0xa0c: 0x03db, 0xa0d: 0x03df, 0xa0e: 0x03e3,
- 0xa12: 0x06bf, 0xa13: 0x071b, 0xa14: 0x06cb, 0xa15: 0x097b, 0xa16: 0x06cf, 0xa17: 0x06e7,
- 0xa18: 0x06d3, 0xa19: 0x0f93, 0xa1a: 0x0707, 0xa1b: 0x06db, 0xa1c: 0x06c3, 0xa1d: 0x09ff,
- 0xa1e: 0x098f, 0xa1f: 0x072f,
+ 0xa00: 0x0367, 0xa01: 0x032b, 0xa02: 0x032f, 0xa03: 0x0333, 0xa04: 0x037b, 0xa05: 0x0337,
+ 0xa06: 0x033b, 0xa07: 0x033f, 0xa08: 0x0343, 0xa09: 0x0347, 0xa0a: 0x034b, 0xa0b: 0x034f,
+ 0xa0c: 0x0353, 0xa0d: 0x0357, 0xa0e: 0x035b, 0xa0f: 0x49bd, 0xa10: 0x49c3, 0xa11: 0x49c9,
+ 0xa12: 0x49cf, 0xa13: 0x49d5, 0xa14: 0x49db, 0xa15: 0x49e1, 0xa16: 0x49e7, 0xa17: 0x49ed,
+ 0xa18: 0x49f3, 0xa19: 0x49f9, 0xa1a: 0x49ff, 0xa1b: 0x4a05, 0xa1c: 0x4a0b, 0xa1d: 0x4a11,
+ 0xa1e: 0x4a17, 0xa1f: 0x4a1d, 0xa20: 0x4a23, 0xa21: 0x4a29, 0xa22: 0x4a2f, 0xa23: 0x4a35,
+ 0xa24: 0x03c3, 0xa25: 0x035f, 0xa26: 0x0363, 0xa27: 0x03e7, 0xa28: 0x03eb, 0xa29: 0x03ef,
+ 0xa2a: 0x03f3, 0xa2b: 0x03f7, 0xa2c: 0x03fb, 0xa2d: 0x03ff, 0xa2e: 0x036b, 0xa2f: 0x0403,
+ 0xa30: 0x0407, 0xa31: 0x036f, 0xa32: 0x0373, 0xa33: 0x0377, 0xa34: 0x037f, 0xa35: 0x0383,
+ 0xa36: 0x0387, 0xa37: 0x038b, 0xa38: 0x038f, 0xa39: 0x0393, 0xa3a: 0x0397, 0xa3b: 0x039b,
+ 0xa3c: 0x039f, 0xa3d: 0x03a3, 0xa3e: 0x03a7, 0xa3f: 0x03ab,
// Block 0x29, offset 0xa40
- 0xa40: 0x2054, 0xa41: 0x205a, 0xa42: 0x2060, 0xa43: 0x2066, 0xa44: 0x206c, 0xa45: 0x2072,
- 0xa46: 0x2078, 0xa47: 0x207e, 0xa48: 0x2084, 0xa49: 0x208a, 0xa4a: 0x2090, 0xa4b: 0x2096,
- 0xa4c: 0x209c, 0xa4d: 0x20a2, 0xa4e: 0x2726, 0xa4f: 0x272f, 0xa50: 0x2738, 0xa51: 0x2741,
- 0xa52: 0x274a, 0xa53: 0x2753, 0xa54: 0x275c, 0xa55: 0x2765, 0xa56: 0x276e, 0xa57: 0x2780,
- 0xa58: 0x2789, 0xa59: 0x2792, 0xa5a: 0x279b, 0xa5b: 0x27a4, 0xa5c: 0x2777, 0xa5d: 0x2bac,
- 0xa5e: 0x2aed, 0xa60: 0x20a8, 0xa61: 0x20c0, 0xa62: 0x20b4, 0xa63: 0x2108,
- 0xa64: 0x20c6, 0xa65: 0x20e4, 0xa66: 0x20ae, 0xa67: 0x20de, 0xa68: 0x20ba, 0xa69: 0x20f0,
- 0xa6a: 0x2120, 0xa6b: 0x213e, 0xa6c: 0x2138, 0xa6d: 0x212c, 0xa6e: 0x217a, 0xa6f: 0x210e,
- 0xa70: 0x211a, 0xa71: 0x2132, 0xa72: 0x2126, 0xa73: 0x2150, 0xa74: 0x20fc, 0xa75: 0x2144,
- 0xa76: 0x216e, 0xa77: 0x2156, 0xa78: 0x20ea, 0xa79: 0x20cc, 0xa7a: 0x2102, 0xa7b: 0x2114,
- 0xa7c: 0x214a, 0xa7d: 0x20d2, 0xa7e: 0x2174, 0xa7f: 0x20f6,
+ 0xa40: 0x03af, 0xa41: 0x03b3, 0xa42: 0x040b, 0xa43: 0x040f, 0xa44: 0x03b7, 0xa45: 0x03bb,
+ 0xa46: 0x03bf, 0xa47: 0x03c7, 0xa48: 0x03cb, 0xa49: 0x03cf, 0xa4a: 0x03d3, 0xa4b: 0x03d7,
+ 0xa4c: 0x03db, 0xa4d: 0x03df, 0xa4e: 0x03e3,
+ 0xa52: 0x06bf, 0xa53: 0x071b, 0xa54: 0x06cb, 0xa55: 0x097b, 0xa56: 0x06cf, 0xa57: 0x06e7,
+ 0xa58: 0x06d3, 0xa59: 0x0f93, 0xa5a: 0x0707, 0xa5b: 0x06db, 0xa5c: 0x06c3, 0xa5d: 0x09ff,
+ 0xa5e: 0x098f, 0xa5f: 0x072f,
// Block 0x2a, offset 0xa80
- 0xa80: 0x215c, 0xa81: 0x20d8, 0xa82: 0x2162, 0xa83: 0x2168, 0xa84: 0x092f, 0xa85: 0x0b03,
- 0xa86: 0x0ca7, 0xa87: 0x10c7,
- 0xa90: 0x1bc4, 0xa91: 0x18a9,
- 0xa92: 0x18ac, 0xa93: 0x18af, 0xa94: 0x18b2, 0xa95: 0x18b5, 0xa96: 0x18b8, 0xa97: 0x18bb,
- 0xa98: 0x18be, 0xa99: 0x18c1, 0xa9a: 0x18ca, 0xa9b: 0x18cd, 0xa9c: 0x18d0, 0xa9d: 0x18d3,
- 0xa9e: 0x18d6, 0xa9f: 0x18d9, 0xaa0: 0x0313, 0xaa1: 0x031b, 0xaa2: 0x031f, 0xaa3: 0x0327,
- 0xaa4: 0x032b, 0xaa5: 0x032f, 0xaa6: 0x0337, 0xaa7: 0x033f, 0xaa8: 0x0343, 0xaa9: 0x034b,
- 0xaaa: 0x034f, 0xaab: 0x0353, 0xaac: 0x0357, 0xaad: 0x035b, 0xaae: 0x2e18, 0xaaf: 0x2e20,
- 0xab0: 0x2e28, 0xab1: 0x2e30, 0xab2: 0x2e38, 0xab3: 0x2e40, 0xab4: 0x2e48, 0xab5: 0x2e50,
- 0xab6: 0x2e60, 0xab7: 0x2e68, 0xab8: 0x2e70, 0xab9: 0x2e78, 0xaba: 0x2e80, 0xabb: 0x2e88,
- 0xabc: 0x2ed3, 0xabd: 0x2e9b, 0xabe: 0x2e58,
+ 0xa80: 0x2054, 0xa81: 0x205a, 0xa82: 0x2060, 0xa83: 0x2066, 0xa84: 0x206c, 0xa85: 0x2072,
+ 0xa86: 0x2078, 0xa87: 0x207e, 0xa88: 0x2084, 0xa89: 0x208a, 0xa8a: 0x2090, 0xa8b: 0x2096,
+ 0xa8c: 0x209c, 0xa8d: 0x20a2, 0xa8e: 0x2726, 0xa8f: 0x272f, 0xa90: 0x2738, 0xa91: 0x2741,
+ 0xa92: 0x274a, 0xa93: 0x2753, 0xa94: 0x275c, 0xa95: 0x2765, 0xa96: 0x276e, 0xa97: 0x2780,
+ 0xa98: 0x2789, 0xa99: 0x2792, 0xa9a: 0x279b, 0xa9b: 0x27a4, 0xa9c: 0x2777, 0xa9d: 0x2bac,
+ 0xa9e: 0x2aed, 0xaa0: 0x20a8, 0xaa1: 0x20c0, 0xaa2: 0x20b4, 0xaa3: 0x2108,
+ 0xaa4: 0x20c6, 0xaa5: 0x20e4, 0xaa6: 0x20ae, 0xaa7: 0x20de, 0xaa8: 0x20ba, 0xaa9: 0x20f0,
+ 0xaaa: 0x2120, 0xaab: 0x213e, 0xaac: 0x2138, 0xaad: 0x212c, 0xaae: 0x217a, 0xaaf: 0x210e,
+ 0xab0: 0x211a, 0xab1: 0x2132, 0xab2: 0x2126, 0xab3: 0x2150, 0xab4: 0x20fc, 0xab5: 0x2144,
+ 0xab6: 0x216e, 0xab7: 0x2156, 0xab8: 0x20ea, 0xab9: 0x20cc, 0xaba: 0x2102, 0xabb: 0x2114,
+ 0xabc: 0x214a, 0xabd: 0x20d2, 0xabe: 0x2174, 0xabf: 0x20f6,
// Block 0x2b, offset 0xac0
- 0xac0: 0x06bf, 0xac1: 0x071b, 0xac2: 0x06cb, 0xac3: 0x097b, 0xac4: 0x071f, 0xac5: 0x07af,
- 0xac6: 0x06c7, 0xac7: 0x07ab, 0xac8: 0x070b, 0xac9: 0x0887, 0xaca: 0x0d07, 0xacb: 0x0e8f,
- 0xacc: 0x0dd7, 0xacd: 0x0d1b, 0xace: 0x145f, 0xacf: 0x098b, 0xad0: 0x0ccf, 0xad1: 0x0d4b,
- 0xad2: 0x0d0b, 0xad3: 0x104b, 0xad4: 0x08fb, 0xad5: 0x0f03, 0xad6: 0x1387, 0xad7: 0x105f,
- 0xad8: 0x0843, 0xad9: 0x108f, 0xada: 0x0f9b, 0xadb: 0x0a17, 0xadc: 0x140f, 0xadd: 0x077f,
- 0xade: 0x08ab, 0xadf: 0x0df7, 0xae0: 0x1527, 0xae1: 0x0743, 0xae2: 0x07d3, 0xae3: 0x0d9b,
- 0xae4: 0x06cf, 0xae5: 0x06e7, 0xae6: 0x06d3, 0xae7: 0x0adb, 0xae8: 0x08ef, 0xae9: 0x087f,
- 0xaea: 0x0a57, 0xaeb: 0x0a4b, 0xaec: 0x0feb, 0xaed: 0x073f, 0xaee: 0x139b, 0xaef: 0x089b,
- 0xaf0: 0x09f3, 0xaf1: 0x18dc, 0xaf2: 0x18df, 0xaf3: 0x18e2, 0xaf4: 0x18e5, 0xaf5: 0x18ee,
- 0xaf6: 0x18f1, 0xaf7: 0x18f4, 0xaf8: 0x18f7, 0xaf9: 0x18fa, 0xafa: 0x18fd, 0xafb: 0x1900,
- 0xafc: 0x1903, 0xafd: 0x1906, 0xafe: 0x1909, 0xaff: 0x1912,
+ 0xac0: 0x215c, 0xac1: 0x20d8, 0xac2: 0x2162, 0xac3: 0x2168, 0xac4: 0x092f, 0xac5: 0x0b03,
+ 0xac6: 0x0ca7, 0xac7: 0x10c7,
+ 0xad0: 0x1bc4, 0xad1: 0x18a9,
+ 0xad2: 0x18ac, 0xad3: 0x18af, 0xad4: 0x18b2, 0xad5: 0x18b5, 0xad6: 0x18b8, 0xad7: 0x18bb,
+ 0xad8: 0x18be, 0xad9: 0x18c1, 0xada: 0x18ca, 0xadb: 0x18cd, 0xadc: 0x18d0, 0xadd: 0x18d3,
+ 0xade: 0x18d6, 0xadf: 0x18d9, 0xae0: 0x0313, 0xae1: 0x031b, 0xae2: 0x031f, 0xae3: 0x0327,
+ 0xae4: 0x032b, 0xae5: 0x032f, 0xae6: 0x0337, 0xae7: 0x033f, 0xae8: 0x0343, 0xae9: 0x034b,
+ 0xaea: 0x034f, 0xaeb: 0x0353, 0xaec: 0x0357, 0xaed: 0x035b, 0xaee: 0x2e18, 0xaef: 0x2e20,
+ 0xaf0: 0x2e28, 0xaf1: 0x2e30, 0xaf2: 0x2e38, 0xaf3: 0x2e40, 0xaf4: 0x2e48, 0xaf5: 0x2e50,
+ 0xaf6: 0x2e60, 0xaf7: 0x2e68, 0xaf8: 0x2e70, 0xaf9: 0x2e78, 0xafa: 0x2e80, 0xafb: 0x2e88,
+ 0xafc: 0x2ed3, 0xafd: 0x2e9b, 0xafe: 0x2e58,
// Block 0x2c, offset 0xb00
- 0xb00: 0x1cc6, 0xb01: 0x1cd5, 0xb02: 0x1ce4, 0xb03: 0x1cf3, 0xb04: 0x1d02, 0xb05: 0x1d11,
- 0xb06: 0x1d20, 0xb07: 0x1d2f, 0xb08: 0x1d3e, 0xb09: 0x218c, 0xb0a: 0x219e, 0xb0b: 0x21b0,
- 0xb0c: 0x1954, 0xb0d: 0x1c04, 0xb0e: 0x19d2, 0xb0f: 0x1ba8, 0xb10: 0x04cb, 0xb11: 0x04d3,
- 0xb12: 0x04db, 0xb13: 0x04e3, 0xb14: 0x04eb, 0xb15: 0x04ef, 0xb16: 0x04f3, 0xb17: 0x04f7,
- 0xb18: 0x04fb, 0xb19: 0x04ff, 0xb1a: 0x0503, 0xb1b: 0x0507, 0xb1c: 0x050b, 0xb1d: 0x050f,
- 0xb1e: 0x0513, 0xb1f: 0x0517, 0xb20: 0x051b, 0xb21: 0x0523, 0xb22: 0x0527, 0xb23: 0x052b,
- 0xb24: 0x052f, 0xb25: 0x0533, 0xb26: 0x0537, 0xb27: 0x053b, 0xb28: 0x053f, 0xb29: 0x0543,
- 0xb2a: 0x0547, 0xb2b: 0x054b, 0xb2c: 0x054f, 0xb2d: 0x0553, 0xb2e: 0x0557, 0xb2f: 0x055b,
- 0xb30: 0x055f, 0xb31: 0x0563, 0xb32: 0x0567, 0xb33: 0x056f, 0xb34: 0x0577, 0xb35: 0x057f,
- 0xb36: 0x0583, 0xb37: 0x0587, 0xb38: 0x058b, 0xb39: 0x058f, 0xb3a: 0x0593, 0xb3b: 0x0597,
- 0xb3c: 0x059b, 0xb3d: 0x059f, 0xb3e: 0x05a3,
+ 0xb00: 0x06bf, 0xb01: 0x071b, 0xb02: 0x06cb, 0xb03: 0x097b, 0xb04: 0x071f, 0xb05: 0x07af,
+ 0xb06: 0x06c7, 0xb07: 0x07ab, 0xb08: 0x070b, 0xb09: 0x0887, 0xb0a: 0x0d07, 0xb0b: 0x0e8f,
+ 0xb0c: 0x0dd7, 0xb0d: 0x0d1b, 0xb0e: 0x145f, 0xb0f: 0x098b, 0xb10: 0x0ccf, 0xb11: 0x0d4b,
+ 0xb12: 0x0d0b, 0xb13: 0x104b, 0xb14: 0x08fb, 0xb15: 0x0f03, 0xb16: 0x1387, 0xb17: 0x105f,
+ 0xb18: 0x0843, 0xb19: 0x108f, 0xb1a: 0x0f9b, 0xb1b: 0x0a17, 0xb1c: 0x140f, 0xb1d: 0x077f,
+ 0xb1e: 0x08ab, 0xb1f: 0x0df7, 0xb20: 0x1527, 0xb21: 0x0743, 0xb22: 0x07d3, 0xb23: 0x0d9b,
+ 0xb24: 0x06cf, 0xb25: 0x06e7, 0xb26: 0x06d3, 0xb27: 0x0adb, 0xb28: 0x08ef, 0xb29: 0x087f,
+ 0xb2a: 0x0a57, 0xb2b: 0x0a4b, 0xb2c: 0x0feb, 0xb2d: 0x073f, 0xb2e: 0x139b, 0xb2f: 0x089b,
+ 0xb30: 0x09f3, 0xb31: 0x18dc, 0xb32: 0x18df, 0xb33: 0x18e2, 0xb34: 0x18e5, 0xb35: 0x18ee,
+ 0xb36: 0x18f1, 0xb37: 0x18f4, 0xb38: 0x18f7, 0xb39: 0x18fa, 0xb3a: 0x18fd, 0xb3b: 0x1900,
+ 0xb3c: 0x1903, 0xb3d: 0x1906, 0xb3e: 0x1909, 0xb3f: 0x1912,
// Block 0x2d, offset 0xb40
- 0xb40: 0x2b0c, 0xb41: 0x29a8, 0xb42: 0x2b1c, 0xb43: 0x2880, 0xb44: 0x2ee4, 0xb45: 0x288a,
- 0xb46: 0x2894, 0xb47: 0x2f28, 0xb48: 0x29b5, 0xb49: 0x289e, 0xb4a: 0x28a8, 0xb4b: 0x28b2,
- 0xb4c: 0x29dc, 0xb4d: 0x29e9, 0xb4e: 0x29c2, 0xb4f: 0x29cf, 0xb50: 0x2ea9, 0xb51: 0x29f6,
- 0xb52: 0x2a03, 0xb53: 0x2bbe, 0xb54: 0x26bb, 0xb55: 0x2bd1, 0xb56: 0x2be4, 0xb57: 0x2b2c,
- 0xb58: 0x2a10, 0xb59: 0x2bf7, 0xb5a: 0x2c0a, 0xb5b: 0x2a1d, 0xb5c: 0x28bc, 0xb5d: 0x28c6,
- 0xb5e: 0x2eb7, 0xb5f: 0x2a2a, 0xb60: 0x2b3c, 0xb61: 0x2ef5, 0xb62: 0x28d0, 0xb63: 0x28da,
- 0xb64: 0x2a37, 0xb65: 0x28e4, 0xb66: 0x28ee, 0xb67: 0x26d0, 0xb68: 0x26d7, 0xb69: 0x28f8,
- 0xb6a: 0x2902, 0xb6b: 0x2c1d, 0xb6c: 0x2a44, 0xb6d: 0x2b4c, 0xb6e: 0x2c30, 0xb6f: 0x2a51,
- 0xb70: 0x2916, 0xb71: 0x290c, 0xb72: 0x2f3c, 0xb73: 0x2a5e, 0xb74: 0x2c43, 0xb75: 0x2920,
- 0xb76: 0x2b5c, 0xb77: 0x292a, 0xb78: 0x2a78, 0xb79: 0x2934, 0xb7a: 0x2a85, 0xb7b: 0x2f06,
- 0xb7c: 0x2a6b, 0xb7d: 0x2b6c, 0xb7e: 0x2a92, 0xb7f: 0x26de,
+ 0xb40: 0x1cc6, 0xb41: 0x1cd5, 0xb42: 0x1ce4, 0xb43: 0x1cf3, 0xb44: 0x1d02, 0xb45: 0x1d11,
+ 0xb46: 0x1d20, 0xb47: 0x1d2f, 0xb48: 0x1d3e, 0xb49: 0x218c, 0xb4a: 0x219e, 0xb4b: 0x21b0,
+ 0xb4c: 0x1954, 0xb4d: 0x1c04, 0xb4e: 0x19d2, 0xb4f: 0x1ba8, 0xb50: 0x04cb, 0xb51: 0x04d3,
+ 0xb52: 0x04db, 0xb53: 0x04e3, 0xb54: 0x04eb, 0xb55: 0x04ef, 0xb56: 0x04f3, 0xb57: 0x04f7,
+ 0xb58: 0x04fb, 0xb59: 0x04ff, 0xb5a: 0x0503, 0xb5b: 0x0507, 0xb5c: 0x050b, 0xb5d: 0x050f,
+ 0xb5e: 0x0513, 0xb5f: 0x0517, 0xb60: 0x051b, 0xb61: 0x0523, 0xb62: 0x0527, 0xb63: 0x052b,
+ 0xb64: 0x052f, 0xb65: 0x0533, 0xb66: 0x0537, 0xb67: 0x053b, 0xb68: 0x053f, 0xb69: 0x0543,
+ 0xb6a: 0x0547, 0xb6b: 0x054b, 0xb6c: 0x054f, 0xb6d: 0x0553, 0xb6e: 0x0557, 0xb6f: 0x055b,
+ 0xb70: 0x055f, 0xb71: 0x0563, 0xb72: 0x0567, 0xb73: 0x056f, 0xb74: 0x0577, 0xb75: 0x057f,
+ 0xb76: 0x0583, 0xb77: 0x0587, 0xb78: 0x058b, 0xb79: 0x058f, 0xb7a: 0x0593, 0xb7b: 0x0597,
+ 0xb7c: 0x059b, 0xb7d: 0x059f, 0xb7e: 0x05a3,
// Block 0x2e, offset 0xb80
- 0xb80: 0x2f17, 0xb81: 0x293e, 0xb82: 0x2948, 0xb83: 0x2a9f, 0xb84: 0x2952, 0xb85: 0x295c,
- 0xb86: 0x2966, 0xb87: 0x2b7c, 0xb88: 0x2aac, 0xb89: 0x26e5, 0xb8a: 0x2c56, 0xb8b: 0x2e90,
- 0xb8c: 0x2b8c, 0xb8d: 0x2ab9, 0xb8e: 0x2ec5, 0xb8f: 0x2970, 0xb90: 0x297a, 0xb91: 0x2ac6,
- 0xb92: 0x26ec, 0xb93: 0x2ad3, 0xb94: 0x2b9c, 0xb95: 0x26f3, 0xb96: 0x2c69, 0xb97: 0x2984,
- 0xb98: 0x1cb7, 0xb99: 0x1ccb, 0xb9a: 0x1cda, 0xb9b: 0x1ce9, 0xb9c: 0x1cf8, 0xb9d: 0x1d07,
- 0xb9e: 0x1d16, 0xb9f: 0x1d25, 0xba0: 0x1d34, 0xba1: 0x1d43, 0xba2: 0x2192, 0xba3: 0x21a4,
- 0xba4: 0x21b6, 0xba5: 0x21c2, 0xba6: 0x21ce, 0xba7: 0x21da, 0xba8: 0x21e6, 0xba9: 0x21f2,
- 0xbaa: 0x21fe, 0xbab: 0x220a, 0xbac: 0x2246, 0xbad: 0x2252, 0xbae: 0x225e, 0xbaf: 0x226a,
- 0xbb0: 0x2276, 0xbb1: 0x1c14, 0xbb2: 0x19c6, 0xbb3: 0x1936, 0xbb4: 0x1be4, 0xbb5: 0x1a47,
- 0xbb6: 0x1a56, 0xbb7: 0x19cc, 0xbb8: 0x1bfc, 0xbb9: 0x1c00, 0xbba: 0x1960, 0xbbb: 0x2701,
- 0xbbc: 0x270f, 0xbbd: 0x26fa, 0xbbe: 0x2708, 0xbbf: 0x2ae0,
+ 0xb80: 0x2b0c, 0xb81: 0x29a8, 0xb82: 0x2b1c, 0xb83: 0x2880, 0xb84: 0x2ee4, 0xb85: 0x288a,
+ 0xb86: 0x2894, 0xb87: 0x2f28, 0xb88: 0x29b5, 0xb89: 0x289e, 0xb8a: 0x28a8, 0xb8b: 0x28b2,
+ 0xb8c: 0x29dc, 0xb8d: 0x29e9, 0xb8e: 0x29c2, 0xb8f: 0x29cf, 0xb90: 0x2ea9, 0xb91: 0x29f6,
+ 0xb92: 0x2a03, 0xb93: 0x2bbe, 0xb94: 0x26bb, 0xb95: 0x2bd1, 0xb96: 0x2be4, 0xb97: 0x2b2c,
+ 0xb98: 0x2a10, 0xb99: 0x2bf7, 0xb9a: 0x2c0a, 0xb9b: 0x2a1d, 0xb9c: 0x28bc, 0xb9d: 0x28c6,
+ 0xb9e: 0x2eb7, 0xb9f: 0x2a2a, 0xba0: 0x2b3c, 0xba1: 0x2ef5, 0xba2: 0x28d0, 0xba3: 0x28da,
+ 0xba4: 0x2a37, 0xba5: 0x28e4, 0xba6: 0x28ee, 0xba7: 0x26d0, 0xba8: 0x26d7, 0xba9: 0x28f8,
+ 0xbaa: 0x2902, 0xbab: 0x2c1d, 0xbac: 0x2a44, 0xbad: 0x2b4c, 0xbae: 0x2c30, 0xbaf: 0x2a51,
+ 0xbb0: 0x2916, 0xbb1: 0x290c, 0xbb2: 0x2f3c, 0xbb3: 0x2a5e, 0xbb4: 0x2c43, 0xbb5: 0x2920,
+ 0xbb6: 0x2b5c, 0xbb7: 0x292a, 0xbb8: 0x2a78, 0xbb9: 0x2934, 0xbba: 0x2a85, 0xbbb: 0x2f06,
+ 0xbbc: 0x2a6b, 0xbbd: 0x2b6c, 0xbbe: 0x2a92, 0xbbf: 0x26de,
// Block 0x2f, offset 0xbc0
- 0xbc0: 0x1a4a, 0xbc1: 0x1a32, 0xbc2: 0x1c60, 0xbc3: 0x1a1a, 0xbc4: 0x19f3, 0xbc5: 0x1969,
- 0xbc6: 0x1978, 0xbc7: 0x1948, 0xbc8: 0x1bf0, 0xbc9: 0x1d52, 0xbca: 0x1a4d, 0xbcb: 0x1a35,
- 0xbcc: 0x1c64, 0xbcd: 0x1c70, 0xbce: 0x1a26, 0xbcf: 0x19fc, 0xbd0: 0x1957, 0xbd1: 0x1c1c,
- 0xbd2: 0x1bb0, 0xbd3: 0x1b9c, 0xbd4: 0x1bcc, 0xbd5: 0x1c74, 0xbd6: 0x1a29, 0xbd7: 0x19c9,
- 0xbd8: 0x19ff, 0xbd9: 0x19de, 0xbda: 0x1a41, 0xbdb: 0x1c78, 0xbdc: 0x1a2c, 0xbdd: 0x19c0,
- 0xbde: 0x1a02, 0xbdf: 0x1c3c, 0xbe0: 0x1bf4, 0xbe1: 0x1a14, 0xbe2: 0x1c24, 0xbe3: 0x1c40,
- 0xbe4: 0x1bf8, 0xbe5: 0x1a17, 0xbe6: 0x1c28, 0xbe7: 0x22e8, 0xbe8: 0x22fc, 0xbe9: 0x1996,
- 0xbea: 0x1c20, 0xbeb: 0x1bb4, 0xbec: 0x1ba0, 0xbed: 0x1c48, 0xbee: 0x2716, 0xbef: 0x27ad,
- 0xbf0: 0x1a59, 0xbf1: 0x1a44, 0xbf2: 0x1c7c, 0xbf3: 0x1a2f, 0xbf4: 0x1a50, 0xbf5: 0x1a38,
- 0xbf6: 0x1c68, 0xbf7: 0x1a1d, 0xbf8: 0x19f6, 0xbf9: 0x1981, 0xbfa: 0x1a53, 0xbfb: 0x1a3b,
- 0xbfc: 0x1c6c, 0xbfd: 0x1a20, 0xbfe: 0x19f9, 0xbff: 0x1984,
+ 0xbc0: 0x2f17, 0xbc1: 0x293e, 0xbc2: 0x2948, 0xbc3: 0x2a9f, 0xbc4: 0x2952, 0xbc5: 0x295c,
+ 0xbc6: 0x2966, 0xbc7: 0x2b7c, 0xbc8: 0x2aac, 0xbc9: 0x26e5, 0xbca: 0x2c56, 0xbcb: 0x2e90,
+ 0xbcc: 0x2b8c, 0xbcd: 0x2ab9, 0xbce: 0x2ec5, 0xbcf: 0x2970, 0xbd0: 0x297a, 0xbd1: 0x2ac6,
+ 0xbd2: 0x26ec, 0xbd3: 0x2ad3, 0xbd4: 0x2b9c, 0xbd5: 0x26f3, 0xbd6: 0x2c69, 0xbd7: 0x2984,
+ 0xbd8: 0x1cb7, 0xbd9: 0x1ccb, 0xbda: 0x1cda, 0xbdb: 0x1ce9, 0xbdc: 0x1cf8, 0xbdd: 0x1d07,
+ 0xbde: 0x1d16, 0xbdf: 0x1d25, 0xbe0: 0x1d34, 0xbe1: 0x1d43, 0xbe2: 0x2192, 0xbe3: 0x21a4,
+ 0xbe4: 0x21b6, 0xbe5: 0x21c2, 0xbe6: 0x21ce, 0xbe7: 0x21da, 0xbe8: 0x21e6, 0xbe9: 0x21f2,
+ 0xbea: 0x21fe, 0xbeb: 0x220a, 0xbec: 0x2246, 0xbed: 0x2252, 0xbee: 0x225e, 0xbef: 0x226a,
+ 0xbf0: 0x2276, 0xbf1: 0x1c14, 0xbf2: 0x19c6, 0xbf3: 0x1936, 0xbf4: 0x1be4, 0xbf5: 0x1a47,
+ 0xbf6: 0x1a56, 0xbf7: 0x19cc, 0xbf8: 0x1bfc, 0xbf9: 0x1c00, 0xbfa: 0x1960, 0xbfb: 0x2701,
+ 0xbfc: 0x270f, 0xbfd: 0x26fa, 0xbfe: 0x2708, 0xbff: 0x2ae0,
// Block 0x30, offset 0xc00
- 0xc00: 0x1c2c, 0xc01: 0x1bb8, 0xc02: 0x1d4d, 0xc03: 0x1939, 0xc04: 0x19ba, 0xc05: 0x19bd,
- 0xc06: 0x22f5, 0xc07: 0x1b94, 0xc08: 0x19c3, 0xc09: 0x194b, 0xc0a: 0x19e1, 0xc0b: 0x194e,
- 0xc0c: 0x19ea, 0xc0d: 0x196c, 0xc0e: 0x196f, 0xc0f: 0x1a05, 0xc10: 0x1a0b, 0xc11: 0x1a0e,
- 0xc12: 0x1c30, 0xc13: 0x1a11, 0xc14: 0x1a23, 0xc15: 0x1c38, 0xc16: 0x1c44, 0xc17: 0x1990,
- 0xc18: 0x1d57, 0xc19: 0x1bbc, 0xc1a: 0x1993, 0xc1b: 0x1a5c, 0xc1c: 0x19a5, 0xc1d: 0x19b4,
- 0xc1e: 0x22e2, 0xc1f: 0x22dc, 0xc20: 0x1cc1, 0xc21: 0x1cd0, 0xc22: 0x1cdf, 0xc23: 0x1cee,
- 0xc24: 0x1cfd, 0xc25: 0x1d0c, 0xc26: 0x1d1b, 0xc27: 0x1d2a, 0xc28: 0x1d39, 0xc29: 0x2186,
- 0xc2a: 0x2198, 0xc2b: 0x21aa, 0xc2c: 0x21bc, 0xc2d: 0x21c8, 0xc2e: 0x21d4, 0xc2f: 0x21e0,
- 0xc30: 0x21ec, 0xc31: 0x21f8, 0xc32: 0x2204, 0xc33: 0x2240, 0xc34: 0x224c, 0xc35: 0x2258,
- 0xc36: 0x2264, 0xc37: 0x2270, 0xc38: 0x227c, 0xc39: 0x2282, 0xc3a: 0x2288, 0xc3b: 0x228e,
- 0xc3c: 0x2294, 0xc3d: 0x22a6, 0xc3e: 0x22ac, 0xc3f: 0x1c10,
+ 0xc00: 0x1a4a, 0xc01: 0x1a32, 0xc02: 0x1c60, 0xc03: 0x1a1a, 0xc04: 0x19f3, 0xc05: 0x1969,
+ 0xc06: 0x1978, 0xc07: 0x1948, 0xc08: 0x1bf0, 0xc09: 0x1d52, 0xc0a: 0x1a4d, 0xc0b: 0x1a35,
+ 0xc0c: 0x1c64, 0xc0d: 0x1c70, 0xc0e: 0x1a26, 0xc0f: 0x19fc, 0xc10: 0x1957, 0xc11: 0x1c1c,
+ 0xc12: 0x1bb0, 0xc13: 0x1b9c, 0xc14: 0x1bcc, 0xc15: 0x1c74, 0xc16: 0x1a29, 0xc17: 0x19c9,
+ 0xc18: 0x19ff, 0xc19: 0x19de, 0xc1a: 0x1a41, 0xc1b: 0x1c78, 0xc1c: 0x1a2c, 0xc1d: 0x19c0,
+ 0xc1e: 0x1a02, 0xc1f: 0x1c3c, 0xc20: 0x1bf4, 0xc21: 0x1a14, 0xc22: 0x1c24, 0xc23: 0x1c40,
+ 0xc24: 0x1bf8, 0xc25: 0x1a17, 0xc26: 0x1c28, 0xc27: 0x22e8, 0xc28: 0x22fc, 0xc29: 0x1996,
+ 0xc2a: 0x1c20, 0xc2b: 0x1bb4, 0xc2c: 0x1ba0, 0xc2d: 0x1c48, 0xc2e: 0x2716, 0xc2f: 0x27ad,
+ 0xc30: 0x1a59, 0xc31: 0x1a44, 0xc32: 0x1c7c, 0xc33: 0x1a2f, 0xc34: 0x1a50, 0xc35: 0x1a38,
+ 0xc36: 0x1c68, 0xc37: 0x1a1d, 0xc38: 0x19f6, 0xc39: 0x1981, 0xc3a: 0x1a53, 0xc3b: 0x1a3b,
+ 0xc3c: 0x1c6c, 0xc3d: 0x1a20, 0xc3e: 0x19f9, 0xc3f: 0x1984,
// Block 0x31, offset 0xc40
- 0xc40: 0x1377, 0xc41: 0x0cfb, 0xc42: 0x13d3, 0xc43: 0x139f, 0xc44: 0x0e57, 0xc45: 0x06eb,
- 0xc46: 0x08df, 0xc47: 0x162b, 0xc48: 0x162b, 0xc49: 0x0a0b, 0xc4a: 0x145f, 0xc4b: 0x0943,
- 0xc4c: 0x0a07, 0xc4d: 0x0bef, 0xc4e: 0x0fcf, 0xc4f: 0x115f, 0xc50: 0x1297, 0xc51: 0x12d3,
- 0xc52: 0x1307, 0xc53: 0x141b, 0xc54: 0x0d73, 0xc55: 0x0dff, 0xc56: 0x0eab, 0xc57: 0x0f43,
- 0xc58: 0x125f, 0xc59: 0x1447, 0xc5a: 0x1573, 0xc5b: 0x070f, 0xc5c: 0x08b3, 0xc5d: 0x0d87,
- 0xc5e: 0x0ecf, 0xc5f: 0x1293, 0xc60: 0x15c3, 0xc61: 0x0ab3, 0xc62: 0x0e77, 0xc63: 0x1283,
- 0xc64: 0x1317, 0xc65: 0x0c23, 0xc66: 0x11bb, 0xc67: 0x12df, 0xc68: 0x0b1f, 0xc69: 0x0d0f,
- 0xc6a: 0x0e17, 0xc6b: 0x0f1b, 0xc6c: 0x1427, 0xc6d: 0x074f, 0xc6e: 0x07e7, 0xc6f: 0x0853,
- 0xc70: 0x0c8b, 0xc71: 0x0d7f, 0xc72: 0x0ecb, 0xc73: 0x0fef, 0xc74: 0x1177, 0xc75: 0x128b,
- 0xc76: 0x12a3, 0xc77: 0x13c7, 0xc78: 0x14ef, 0xc79: 0x15a3, 0xc7a: 0x15bf, 0xc7b: 0x102b,
- 0xc7c: 0x106b, 0xc7d: 0x1123, 0xc7e: 0x1243, 0xc7f: 0x147b,
+ 0xc40: 0x1c2c, 0xc41: 0x1bb8, 0xc42: 0x1d4d, 0xc43: 0x1939, 0xc44: 0x19ba, 0xc45: 0x19bd,
+ 0xc46: 0x22f5, 0xc47: 0x1b94, 0xc48: 0x19c3, 0xc49: 0x194b, 0xc4a: 0x19e1, 0xc4b: 0x194e,
+ 0xc4c: 0x19ea, 0xc4d: 0x196c, 0xc4e: 0x196f, 0xc4f: 0x1a05, 0xc50: 0x1a0b, 0xc51: 0x1a0e,
+ 0xc52: 0x1c30, 0xc53: 0x1a11, 0xc54: 0x1a23, 0xc55: 0x1c38, 0xc56: 0x1c44, 0xc57: 0x1990,
+ 0xc58: 0x1d57, 0xc59: 0x1bbc, 0xc5a: 0x1993, 0xc5b: 0x1a5c, 0xc5c: 0x19a5, 0xc5d: 0x19b4,
+ 0xc5e: 0x22e2, 0xc5f: 0x22dc, 0xc60: 0x1cc1, 0xc61: 0x1cd0, 0xc62: 0x1cdf, 0xc63: 0x1cee,
+ 0xc64: 0x1cfd, 0xc65: 0x1d0c, 0xc66: 0x1d1b, 0xc67: 0x1d2a, 0xc68: 0x1d39, 0xc69: 0x2186,
+ 0xc6a: 0x2198, 0xc6b: 0x21aa, 0xc6c: 0x21bc, 0xc6d: 0x21c8, 0xc6e: 0x21d4, 0xc6f: 0x21e0,
+ 0xc70: 0x21ec, 0xc71: 0x21f8, 0xc72: 0x2204, 0xc73: 0x2240, 0xc74: 0x224c, 0xc75: 0x2258,
+ 0xc76: 0x2264, 0xc77: 0x2270, 0xc78: 0x227c, 0xc79: 0x2282, 0xc7a: 0x2288, 0xc7b: 0x228e,
+ 0xc7c: 0x2294, 0xc7d: 0x22a6, 0xc7e: 0x22ac, 0xc7f: 0x1c10,
// Block 0x32, offset 0xc80
- 0xc80: 0x15cb, 0xc81: 0x134b, 0xc82: 0x09c7, 0xc83: 0x0b3b, 0xc84: 0x10db, 0xc85: 0x119b,
- 0xc86: 0x0eff, 0xc87: 0x1033, 0xc88: 0x1397, 0xc89: 0x14e7, 0xc8a: 0x09c3, 0xc8b: 0x0a8f,
- 0xc8c: 0x0d77, 0xc8d: 0x0e2b, 0xc8e: 0x0e5f, 0xc8f: 0x1113, 0xc90: 0x113b, 0xc91: 0x14a7,
- 0xc92: 0x084f, 0xc93: 0x11a7, 0xc94: 0x07f3, 0xc95: 0x07ef, 0xc96: 0x1097, 0xc97: 0x1127,
- 0xc98: 0x125b, 0xc99: 0x14af, 0xc9a: 0x1367, 0xc9b: 0x0c27, 0xc9c: 0x0d73, 0xc9d: 0x1357,
- 0xc9e: 0x06f7, 0xc9f: 0x0a63, 0xca0: 0x0b93, 0xca1: 0x0f2f, 0xca2: 0x0faf, 0xca3: 0x0873,
- 0xca4: 0x103b, 0xca5: 0x075f, 0xca6: 0x0b77, 0xca7: 0x06d7, 0xca8: 0x0deb, 0xca9: 0x0ca3,
- 0xcaa: 0x110f, 0xcab: 0x08c7, 0xcac: 0x09b3, 0xcad: 0x0ffb, 0xcae: 0x1263, 0xcaf: 0x133b,
- 0xcb0: 0x0db7, 0xcb1: 0x13f7, 0xcb2: 0x0de3, 0xcb3: 0x0c37, 0xcb4: 0x121b, 0xcb5: 0x0c57,
- 0xcb6: 0x0fab, 0xcb7: 0x072b, 0xcb8: 0x07a7, 0xcb9: 0x07eb, 0xcba: 0x0d53, 0xcbb: 0x10fb,
- 0xcbc: 0x11f3, 0xcbd: 0x1347, 0xcbe: 0x145b, 0xcbf: 0x085b,
+ 0xc80: 0x1377, 0xc81: 0x0cfb, 0xc82: 0x13d3, 0xc83: 0x139f, 0xc84: 0x0e57, 0xc85: 0x06eb,
+ 0xc86: 0x08df, 0xc87: 0x162b, 0xc88: 0x162b, 0xc89: 0x0a0b, 0xc8a: 0x145f, 0xc8b: 0x0943,
+ 0xc8c: 0x0a07, 0xc8d: 0x0bef, 0xc8e: 0x0fcf, 0xc8f: 0x115f, 0xc90: 0x1297, 0xc91: 0x12d3,
+ 0xc92: 0x1307, 0xc93: 0x141b, 0xc94: 0x0d73, 0xc95: 0x0dff, 0xc96: 0x0eab, 0xc97: 0x0f43,
+ 0xc98: 0x125f, 0xc99: 0x1447, 0xc9a: 0x1573, 0xc9b: 0x070f, 0xc9c: 0x08b3, 0xc9d: 0x0d87,
+ 0xc9e: 0x0ecf, 0xc9f: 0x1293, 0xca0: 0x15c3, 0xca1: 0x0ab3, 0xca2: 0x0e77, 0xca3: 0x1283,
+ 0xca4: 0x1317, 0xca5: 0x0c23, 0xca6: 0x11bb, 0xca7: 0x12df, 0xca8: 0x0b1f, 0xca9: 0x0d0f,
+ 0xcaa: 0x0e17, 0xcab: 0x0f1b, 0xcac: 0x1427, 0xcad: 0x074f, 0xcae: 0x07e7, 0xcaf: 0x0853,
+ 0xcb0: 0x0c8b, 0xcb1: 0x0d7f, 0xcb2: 0x0ecb, 0xcb3: 0x0fef, 0xcb4: 0x1177, 0xcb5: 0x128b,
+ 0xcb6: 0x12a3, 0xcb7: 0x13c7, 0xcb8: 0x14ef, 0xcb9: 0x15a3, 0xcba: 0x15bf, 0xcbb: 0x102b,
+ 0xcbc: 0x106b, 0xcbd: 0x1123, 0xcbe: 0x1243, 0xcbf: 0x147b,
// Block 0x33, offset 0xcc0
- 0xcc0: 0x090f, 0xcc1: 0x0a17, 0xcc2: 0x0b2f, 0xcc3: 0x0cbf, 0xcc4: 0x0e7b, 0xcc5: 0x103f,
- 0xcc6: 0x1497, 0xcc7: 0x157b, 0xcc8: 0x15cf, 0xcc9: 0x15e7, 0xcca: 0x0837, 0xccb: 0x0cf3,
- 0xccc: 0x0da3, 0xccd: 0x13eb, 0xcce: 0x0afb, 0xccf: 0x0bd7, 0xcd0: 0x0bf3, 0xcd1: 0x0c83,
- 0xcd2: 0x0e6b, 0xcd3: 0x0eb7, 0xcd4: 0x0f67, 0xcd5: 0x108b, 0xcd6: 0x112f, 0xcd7: 0x1193,
- 0xcd8: 0x13db, 0xcd9: 0x126b, 0xcda: 0x1403, 0xcdb: 0x147f, 0xcdc: 0x080f, 0xcdd: 0x083b,
- 0xcde: 0x0923, 0xcdf: 0x0ea7, 0xce0: 0x12f3, 0xce1: 0x133b, 0xce2: 0x0b1b, 0xce3: 0x0b8b,
- 0xce4: 0x0c4f, 0xce5: 0x0daf, 0xce6: 0x10d7, 0xce7: 0x0f23, 0xce8: 0x073b, 0xce9: 0x097f,
- 0xcea: 0x0a63, 0xceb: 0x0ac7, 0xcec: 0x0b97, 0xced: 0x0f3f, 0xcee: 0x0f5b, 0xcef: 0x116b,
- 0xcf0: 0x118b, 0xcf1: 0x1463, 0xcf2: 0x14e3, 0xcf3: 0x14f3, 0xcf4: 0x152f, 0xcf5: 0x0753,
- 0xcf6: 0x107f, 0xcf7: 0x144f, 0xcf8: 0x14cb, 0xcf9: 0x0baf, 0xcfa: 0x0717, 0xcfb: 0x0777,
- 0xcfc: 0x0a67, 0xcfd: 0x0a87, 0xcfe: 0x0caf, 0xcff: 0x0d73,
+ 0xcc0: 0x15cb, 0xcc1: 0x134b, 0xcc2: 0x09c7, 0xcc3: 0x0b3b, 0xcc4: 0x10db, 0xcc5: 0x119b,
+ 0xcc6: 0x0eff, 0xcc7: 0x1033, 0xcc8: 0x1397, 0xcc9: 0x14e7, 0xcca: 0x09c3, 0xccb: 0x0a8f,
+ 0xccc: 0x0d77, 0xccd: 0x0e2b, 0xcce: 0x0e5f, 0xccf: 0x1113, 0xcd0: 0x113b, 0xcd1: 0x14a7,
+ 0xcd2: 0x084f, 0xcd3: 0x11a7, 0xcd4: 0x07f3, 0xcd5: 0x07ef, 0xcd6: 0x1097, 0xcd7: 0x1127,
+ 0xcd8: 0x125b, 0xcd9: 0x14af, 0xcda: 0x1367, 0xcdb: 0x0c27, 0xcdc: 0x0d73, 0xcdd: 0x1357,
+ 0xcde: 0x06f7, 0xcdf: 0x0a63, 0xce0: 0x0b93, 0xce1: 0x0f2f, 0xce2: 0x0faf, 0xce3: 0x0873,
+ 0xce4: 0x103b, 0xce5: 0x075f, 0xce6: 0x0b77, 0xce7: 0x06d7, 0xce8: 0x0deb, 0xce9: 0x0ca3,
+ 0xcea: 0x110f, 0xceb: 0x08c7, 0xcec: 0x09b3, 0xced: 0x0ffb, 0xcee: 0x1263, 0xcef: 0x133b,
+ 0xcf0: 0x0db7, 0xcf1: 0x13f7, 0xcf2: 0x0de3, 0xcf3: 0x0c37, 0xcf4: 0x121b, 0xcf5: 0x0c57,
+ 0xcf6: 0x0fab, 0xcf7: 0x072b, 0xcf8: 0x07a7, 0xcf9: 0x07eb, 0xcfa: 0x0d53, 0xcfb: 0x10fb,
+ 0xcfc: 0x11f3, 0xcfd: 0x1347, 0xcfe: 0x145b, 0xcff: 0x085b,
// Block 0x34, offset 0xd00
- 0xd00: 0x0ec3, 0xd01: 0x0fcb, 0xd02: 0x1277, 0xd03: 0x1417, 0xd04: 0x1623, 0xd05: 0x0ce3,
- 0xd06: 0x14a3, 0xd07: 0x0833, 0xd08: 0x0d2f, 0xd09: 0x0d3b, 0xd0a: 0x0e0f, 0xd0b: 0x0e47,
- 0xd0c: 0x0f4b, 0xd0d: 0x0fa7, 0xd0e: 0x1027, 0xd0f: 0x110b, 0xd10: 0x153b, 0xd11: 0x07af,
- 0xd12: 0x0c03, 0xd13: 0x14b3, 0xd14: 0x0767, 0xd15: 0x0aab, 0xd16: 0x0e2f, 0xd17: 0x13df,
- 0xd18: 0x0b67, 0xd19: 0x0bb7, 0xd1a: 0x0d43, 0xd1b: 0x0f2f, 0xd1c: 0x14bb, 0xd1d: 0x0817,
- 0xd1e: 0x08ff, 0xd1f: 0x0a97, 0xd20: 0x0cd3, 0xd21: 0x0d1f, 0xd22: 0x0d5f, 0xd23: 0x0df3,
- 0xd24: 0x0f47, 0xd25: 0x0fbb, 0xd26: 0x1157, 0xd27: 0x12f7, 0xd28: 0x1303, 0xd29: 0x1457,
- 0xd2a: 0x14d7, 0xd2b: 0x0883, 0xd2c: 0x0e4b, 0xd2d: 0x0903, 0xd2e: 0x0ec7, 0xd2f: 0x0f6b,
- 0xd30: 0x1287, 0xd31: 0x14bf, 0xd32: 0x15ab, 0xd33: 0x15d3, 0xd34: 0x0d37, 0xd35: 0x0e27,
- 0xd36: 0x11c3, 0xd37: 0x10b7, 0xd38: 0x10c3, 0xd39: 0x10e7, 0xd3a: 0x0f17, 0xd3b: 0x0e9f,
- 0xd3c: 0x1363, 0xd3d: 0x0733, 0xd3e: 0x122b, 0xd3f: 0x081b,
+ 0xd00: 0x090f, 0xd01: 0x0a17, 0xd02: 0x0b2f, 0xd03: 0x0cbf, 0xd04: 0x0e7b, 0xd05: 0x103f,
+ 0xd06: 0x1497, 0xd07: 0x157b, 0xd08: 0x15cf, 0xd09: 0x15e7, 0xd0a: 0x0837, 0xd0b: 0x0cf3,
+ 0xd0c: 0x0da3, 0xd0d: 0x13eb, 0xd0e: 0x0afb, 0xd0f: 0x0bd7, 0xd10: 0x0bf3, 0xd11: 0x0c83,
+ 0xd12: 0x0e6b, 0xd13: 0x0eb7, 0xd14: 0x0f67, 0xd15: 0x108b, 0xd16: 0x112f, 0xd17: 0x1193,
+ 0xd18: 0x13db, 0xd19: 0x126b, 0xd1a: 0x1403, 0xd1b: 0x147f, 0xd1c: 0x080f, 0xd1d: 0x083b,
+ 0xd1e: 0x0923, 0xd1f: 0x0ea7, 0xd20: 0x12f3, 0xd21: 0x133b, 0xd22: 0x0b1b, 0xd23: 0x0b8b,
+ 0xd24: 0x0c4f, 0xd25: 0x0daf, 0xd26: 0x10d7, 0xd27: 0x0f23, 0xd28: 0x073b, 0xd29: 0x097f,
+ 0xd2a: 0x0a63, 0xd2b: 0x0ac7, 0xd2c: 0x0b97, 0xd2d: 0x0f3f, 0xd2e: 0x0f5b, 0xd2f: 0x116b,
+ 0xd30: 0x118b, 0xd31: 0x1463, 0xd32: 0x14e3, 0xd33: 0x14f3, 0xd34: 0x152f, 0xd35: 0x0753,
+ 0xd36: 0x107f, 0xd37: 0x144f, 0xd38: 0x14cb, 0xd39: 0x0baf, 0xd3a: 0x0717, 0xd3b: 0x0777,
+ 0xd3c: 0x0a67, 0xd3d: 0x0a87, 0xd3e: 0x0caf, 0xd3f: 0x0d73,
// Block 0x35, offset 0xd40
- 0xd40: 0x080b, 0xd41: 0x0b0b, 0xd42: 0x0c2b, 0xd43: 0x10f3, 0xd44: 0x0a53, 0xd45: 0x0e03,
- 0xd46: 0x0cef, 0xd47: 0x13e7, 0xd48: 0x12e7, 0xd49: 0x14ab, 0xd4a: 0x1323, 0xd4b: 0x0b27,
- 0xd4c: 0x0787, 0xd4d: 0x095b, 0xd50: 0x09af,
- 0xd52: 0x0cdf, 0xd55: 0x07f7, 0xd56: 0x0f1f, 0xd57: 0x0fe3,
- 0xd58: 0x1047, 0xd59: 0x1063, 0xd5a: 0x1067, 0xd5b: 0x107b, 0xd5c: 0x14fb, 0xd5d: 0x10eb,
- 0xd5e: 0x116f, 0xd60: 0x128f, 0xd62: 0x1353,
- 0xd65: 0x1407, 0xd66: 0x1433,
- 0xd6a: 0x154f, 0xd6b: 0x1553, 0xd6c: 0x1557, 0xd6d: 0x15bb, 0xd6e: 0x142b, 0xd6f: 0x14c7,
- 0xd70: 0x0757, 0xd71: 0x077b, 0xd72: 0x078f, 0xd73: 0x084b, 0xd74: 0x0857, 0xd75: 0x0897,
- 0xd76: 0x094b, 0xd77: 0x0967, 0xd78: 0x096f, 0xd79: 0x09ab, 0xd7a: 0x09b7, 0xd7b: 0x0a93,
- 0xd7c: 0x0a9b, 0xd7d: 0x0ba3, 0xd7e: 0x0bcb, 0xd7f: 0x0bd3,
+ 0xd40: 0x0ec3, 0xd41: 0x0fcb, 0xd42: 0x1277, 0xd43: 0x1417, 0xd44: 0x1623, 0xd45: 0x0ce3,
+ 0xd46: 0x14a3, 0xd47: 0x0833, 0xd48: 0x0d2f, 0xd49: 0x0d3b, 0xd4a: 0x0e0f, 0xd4b: 0x0e47,
+ 0xd4c: 0x0f4b, 0xd4d: 0x0fa7, 0xd4e: 0x1027, 0xd4f: 0x110b, 0xd50: 0x153b, 0xd51: 0x07af,
+ 0xd52: 0x0c03, 0xd53: 0x14b3, 0xd54: 0x0767, 0xd55: 0x0aab, 0xd56: 0x0e2f, 0xd57: 0x13df,
+ 0xd58: 0x0b67, 0xd59: 0x0bb7, 0xd5a: 0x0d43, 0xd5b: 0x0f2f, 0xd5c: 0x14bb, 0xd5d: 0x0817,
+ 0xd5e: 0x08ff, 0xd5f: 0x0a97, 0xd60: 0x0cd3, 0xd61: 0x0d1f, 0xd62: 0x0d5f, 0xd63: 0x0df3,
+ 0xd64: 0x0f47, 0xd65: 0x0fbb, 0xd66: 0x1157, 0xd67: 0x12f7, 0xd68: 0x1303, 0xd69: 0x1457,
+ 0xd6a: 0x14d7, 0xd6b: 0x0883, 0xd6c: 0x0e4b, 0xd6d: 0x0903, 0xd6e: 0x0ec7, 0xd6f: 0x0f6b,
+ 0xd70: 0x1287, 0xd71: 0x14bf, 0xd72: 0x15ab, 0xd73: 0x15d3, 0xd74: 0x0d37, 0xd75: 0x0e27,
+ 0xd76: 0x11c3, 0xd77: 0x10b7, 0xd78: 0x10c3, 0xd79: 0x10e7, 0xd7a: 0x0f17, 0xd7b: 0x0e9f,
+ 0xd7c: 0x1363, 0xd7d: 0x0733, 0xd7e: 0x122b, 0xd7f: 0x081b,
// Block 0x36, offset 0xd80
- 0xd80: 0x0beb, 0xd81: 0x0c97, 0xd82: 0x0cc7, 0xd83: 0x0ce7, 0xd84: 0x0d57, 0xd85: 0x0e1b,
- 0xd86: 0x0e37, 0xd87: 0x0e67, 0xd88: 0x0ebb, 0xd89: 0x0edb, 0xd8a: 0x0f4f, 0xd8b: 0x102f,
- 0xd8c: 0x104b, 0xd8d: 0x1053, 0xd8e: 0x104f, 0xd8f: 0x1057, 0xd90: 0x105b, 0xd91: 0x105f,
- 0xd92: 0x1073, 0xd93: 0x1077, 0xd94: 0x109b, 0xd95: 0x10af, 0xd96: 0x10cb, 0xd97: 0x112f,
- 0xd98: 0x1137, 0xd99: 0x113f, 0xd9a: 0x1153, 0xd9b: 0x117b, 0xd9c: 0x11cb, 0xd9d: 0x11ff,
- 0xd9e: 0x11ff, 0xd9f: 0x1267, 0xda0: 0x130f, 0xda1: 0x1327, 0xda2: 0x135b, 0xda3: 0x135f,
- 0xda4: 0x13a3, 0xda5: 0x13a7, 0xda6: 0x13ff, 0xda7: 0x1407, 0xda8: 0x14db, 0xda9: 0x151f,
- 0xdaa: 0x1537, 0xdab: 0x0b9b, 0xdac: 0x171e, 0xdad: 0x11e3,
- 0xdb0: 0x06df, 0xdb1: 0x07e3, 0xdb2: 0x07a3, 0xdb3: 0x074b, 0xdb4: 0x078b, 0xdb5: 0x07b7,
- 0xdb6: 0x0847, 0xdb7: 0x0863, 0xdb8: 0x094b, 0xdb9: 0x0937, 0xdba: 0x0947, 0xdbb: 0x0963,
- 0xdbc: 0x09af, 0xdbd: 0x09bf, 0xdbe: 0x0a03, 0xdbf: 0x0a0f,
+ 0xd80: 0x080b, 0xd81: 0x0b0b, 0xd82: 0x0c2b, 0xd83: 0x10f3, 0xd84: 0x0a53, 0xd85: 0x0e03,
+ 0xd86: 0x0cef, 0xd87: 0x13e7, 0xd88: 0x12e7, 0xd89: 0x14ab, 0xd8a: 0x1323, 0xd8b: 0x0b27,
+ 0xd8c: 0x0787, 0xd8d: 0x095b, 0xd90: 0x09af,
+ 0xd92: 0x0cdf, 0xd95: 0x07f7, 0xd96: 0x0f1f, 0xd97: 0x0fe3,
+ 0xd98: 0x1047, 0xd99: 0x1063, 0xd9a: 0x1067, 0xd9b: 0x107b, 0xd9c: 0x14fb, 0xd9d: 0x10eb,
+ 0xd9e: 0x116f, 0xda0: 0x128f, 0xda2: 0x1353,
+ 0xda5: 0x1407, 0xda6: 0x1433,
+ 0xdaa: 0x154f, 0xdab: 0x1553, 0xdac: 0x1557, 0xdad: 0x15bb, 0xdae: 0x142b, 0xdaf: 0x14c7,
+ 0xdb0: 0x0757, 0xdb1: 0x077b, 0xdb2: 0x078f, 0xdb3: 0x084b, 0xdb4: 0x0857, 0xdb5: 0x0897,
+ 0xdb6: 0x094b, 0xdb7: 0x0967, 0xdb8: 0x096f, 0xdb9: 0x09ab, 0xdba: 0x09b7, 0xdbb: 0x0a93,
+ 0xdbc: 0x0a9b, 0xdbd: 0x0ba3, 0xdbe: 0x0bcb, 0xdbf: 0x0bd3,
// Block 0x37, offset 0xdc0
- 0xdc0: 0x0a2b, 0xdc1: 0x0a3b, 0xdc2: 0x0b23, 0xdc3: 0x0b2b, 0xdc4: 0x0b5b, 0xdc5: 0x0b7b,
- 0xdc6: 0x0bab, 0xdc7: 0x0bc3, 0xdc8: 0x0bb3, 0xdc9: 0x0bd3, 0xdca: 0x0bc7, 0xdcb: 0x0beb,
- 0xdcc: 0x0c07, 0xdcd: 0x0c5f, 0xdce: 0x0c6b, 0xdcf: 0x0c73, 0xdd0: 0x0c9b, 0xdd1: 0x0cdf,
- 0xdd2: 0x0d0f, 0xdd3: 0x0d13, 0xdd4: 0x0d27, 0xdd5: 0x0da7, 0xdd6: 0x0db7, 0xdd7: 0x0e0f,
- 0xdd8: 0x0e5b, 0xdd9: 0x0e53, 0xdda: 0x0e67, 0xddb: 0x0e83, 0xddc: 0x0ebb, 0xddd: 0x1013,
- 0xdde: 0x0edf, 0xddf: 0x0f13, 0xde0: 0x0f1f, 0xde1: 0x0f5f, 0xde2: 0x0f7b, 0xde3: 0x0f9f,
- 0xde4: 0x0fc3, 0xde5: 0x0fc7, 0xde6: 0x0fe3, 0xde7: 0x0fe7, 0xde8: 0x0ff7, 0xde9: 0x100b,
- 0xdea: 0x1007, 0xdeb: 0x1037, 0xdec: 0x10b3, 0xded: 0x10cb, 0xdee: 0x10e3, 0xdef: 0x111b,
- 0xdf0: 0x112f, 0xdf1: 0x114b, 0xdf2: 0x117b, 0xdf3: 0x122f, 0xdf4: 0x1257, 0xdf5: 0x12cb,
- 0xdf6: 0x1313, 0xdf7: 0x131f, 0xdf8: 0x1327, 0xdf9: 0x133f, 0xdfa: 0x1353, 0xdfb: 0x1343,
- 0xdfc: 0x135b, 0xdfd: 0x1357, 0xdfe: 0x134f, 0xdff: 0x135f,
+ 0xdc0: 0x0beb, 0xdc1: 0x0c97, 0xdc2: 0x0cc7, 0xdc3: 0x0ce7, 0xdc4: 0x0d57, 0xdc5: 0x0e1b,
+ 0xdc6: 0x0e37, 0xdc7: 0x0e67, 0xdc8: 0x0ebb, 0xdc9: 0x0edb, 0xdca: 0x0f4f, 0xdcb: 0x102f,
+ 0xdcc: 0x104b, 0xdcd: 0x1053, 0xdce: 0x104f, 0xdcf: 0x1057, 0xdd0: 0x105b, 0xdd1: 0x105f,
+ 0xdd2: 0x1073, 0xdd3: 0x1077, 0xdd4: 0x109b, 0xdd5: 0x10af, 0xdd6: 0x10cb, 0xdd7: 0x112f,
+ 0xdd8: 0x1137, 0xdd9: 0x113f, 0xdda: 0x1153, 0xddb: 0x117b, 0xddc: 0x11cb, 0xddd: 0x11ff,
+ 0xdde: 0x11ff, 0xddf: 0x1267, 0xde0: 0x130f, 0xde1: 0x1327, 0xde2: 0x135b, 0xde3: 0x135f,
+ 0xde4: 0x13a3, 0xde5: 0x13a7, 0xde6: 0x13ff, 0xde7: 0x1407, 0xde8: 0x14db, 0xde9: 0x151f,
+ 0xdea: 0x1537, 0xdeb: 0x0b9b, 0xdec: 0x171e, 0xded: 0x11e3,
+ 0xdf0: 0x06df, 0xdf1: 0x07e3, 0xdf2: 0x07a3, 0xdf3: 0x074b, 0xdf4: 0x078b, 0xdf5: 0x07b7,
+ 0xdf6: 0x0847, 0xdf7: 0x0863, 0xdf8: 0x094b, 0xdf9: 0x0937, 0xdfa: 0x0947, 0xdfb: 0x0963,
+ 0xdfc: 0x09af, 0xdfd: 0x09bf, 0xdfe: 0x0a03, 0xdff: 0x0a0f,
// Block 0x38, offset 0xe00
- 0xe00: 0x136b, 0xe01: 0x13a7, 0xe02: 0x13e3, 0xe03: 0x1413, 0xe04: 0x144b, 0xe05: 0x146b,
- 0xe06: 0x14b7, 0xe07: 0x14db, 0xe08: 0x14fb, 0xe09: 0x150f, 0xe0a: 0x151f, 0xe0b: 0x152b,
- 0xe0c: 0x1537, 0xe0d: 0x158b, 0xe0e: 0x162b, 0xe0f: 0x16b5, 0xe10: 0x16b0, 0xe11: 0x16e2,
- 0xe12: 0x0607, 0xe13: 0x062f, 0xe14: 0x0633, 0xe15: 0x1764, 0xe16: 0x1791, 0xe17: 0x1809,
- 0xe18: 0x1617, 0xe19: 0x1627,
+ 0xe00: 0x0a2b, 0xe01: 0x0a3b, 0xe02: 0x0b23, 0xe03: 0x0b2b, 0xe04: 0x0b5b, 0xe05: 0x0b7b,
+ 0xe06: 0x0bab, 0xe07: 0x0bc3, 0xe08: 0x0bb3, 0xe09: 0x0bd3, 0xe0a: 0x0bc7, 0xe0b: 0x0beb,
+ 0xe0c: 0x0c07, 0xe0d: 0x0c5f, 0xe0e: 0x0c6b, 0xe0f: 0x0c73, 0xe10: 0x0c9b, 0xe11: 0x0cdf,
+ 0xe12: 0x0d0f, 0xe13: 0x0d13, 0xe14: 0x0d27, 0xe15: 0x0da7, 0xe16: 0x0db7, 0xe17: 0x0e0f,
+ 0xe18: 0x0e5b, 0xe19: 0x0e53, 0xe1a: 0x0e67, 0xe1b: 0x0e83, 0xe1c: 0x0ebb, 0xe1d: 0x1013,
+ 0xe1e: 0x0edf, 0xe1f: 0x0f13, 0xe20: 0x0f1f, 0xe21: 0x0f5f, 0xe22: 0x0f7b, 0xe23: 0x0f9f,
+ 0xe24: 0x0fc3, 0xe25: 0x0fc7, 0xe26: 0x0fe3, 0xe27: 0x0fe7, 0xe28: 0x0ff7, 0xe29: 0x100b,
+ 0xe2a: 0x1007, 0xe2b: 0x1037, 0xe2c: 0x10b3, 0xe2d: 0x10cb, 0xe2e: 0x10e3, 0xe2f: 0x111b,
+ 0xe30: 0x112f, 0xe31: 0x114b, 0xe32: 0x117b, 0xe33: 0x122f, 0xe34: 0x1257, 0xe35: 0x12cb,
+ 0xe36: 0x1313, 0xe37: 0x131f, 0xe38: 0x1327, 0xe39: 0x133f, 0xe3a: 0x1353, 0xe3b: 0x1343,
+ 0xe3c: 0x135b, 0xe3d: 0x1357, 0xe3e: 0x134f, 0xe3f: 0x135f,
// Block 0x39, offset 0xe40
- 0xe40: 0x19d5, 0xe41: 0x19d8, 0xe42: 0x19db, 0xe43: 0x1c08, 0xe44: 0x1c0c, 0xe45: 0x1a5f,
- 0xe46: 0x1a5f,
- 0xe53: 0x1d75, 0xe54: 0x1d66, 0xe55: 0x1d6b, 0xe56: 0x1d7a, 0xe57: 0x1d70,
- 0xe5d: 0x4390,
- 0xe5e: 0x8115, 0xe5f: 0x4402, 0xe60: 0x022d, 0xe61: 0x0215, 0xe62: 0x021e, 0xe63: 0x0221,
- 0xe64: 0x0224, 0xe65: 0x0227, 0xe66: 0x022a, 0xe67: 0x0230, 0xe68: 0x0233, 0xe69: 0x0017,
- 0xe6a: 0x43f0, 0xe6b: 0x43f6, 0xe6c: 0x44f4, 0xe6d: 0x44fc, 0xe6e: 0x4348, 0xe6f: 0x434e,
- 0xe70: 0x4354, 0xe71: 0x435a, 0xe72: 0x4366, 0xe73: 0x436c, 0xe74: 0x4372, 0xe75: 0x437e,
- 0xe76: 0x4384, 0xe78: 0x438a, 0xe79: 0x4396, 0xe7a: 0x439c, 0xe7b: 0x43a2,
- 0xe7c: 0x43ae, 0xe7e: 0x43b4,
+ 0xe40: 0x136b, 0xe41: 0x13a7, 0xe42: 0x13e3, 0xe43: 0x1413, 0xe44: 0x144b, 0xe45: 0x146b,
+ 0xe46: 0x14b7, 0xe47: 0x14db, 0xe48: 0x14fb, 0xe49: 0x150f, 0xe4a: 0x151f, 0xe4b: 0x152b,
+ 0xe4c: 0x1537, 0xe4d: 0x158b, 0xe4e: 0x162b, 0xe4f: 0x16b5, 0xe50: 0x16b0, 0xe51: 0x16e2,
+ 0xe52: 0x0607, 0xe53: 0x062f, 0xe54: 0x0633, 0xe55: 0x1764, 0xe56: 0x1791, 0xe57: 0x1809,
+ 0xe58: 0x1617, 0xe59: 0x1627,
// Block 0x3a, offset 0xe80
- 0xe80: 0x43ba, 0xe81: 0x43c0, 0xe83: 0x43c6, 0xe84: 0x43cc,
- 0xe86: 0x43d8, 0xe87: 0x43de, 0xe88: 0x43e4, 0xe89: 0x43ea, 0xe8a: 0x43fc, 0xe8b: 0x4378,
- 0xe8c: 0x4360, 0xe8d: 0x43a8, 0xe8e: 0x43d2, 0xe8f: 0x1d7f, 0xe90: 0x0299, 0xe91: 0x0299,
- 0xe92: 0x02a2, 0xe93: 0x02a2, 0xe94: 0x02a2, 0xe95: 0x02a2, 0xe96: 0x02a5, 0xe97: 0x02a5,
- 0xe98: 0x02a5, 0xe99: 0x02a5, 0xe9a: 0x02ab, 0xe9b: 0x02ab, 0xe9c: 0x02ab, 0xe9d: 0x02ab,
- 0xe9e: 0x029f, 0xe9f: 0x029f, 0xea0: 0x029f, 0xea1: 0x029f, 0xea2: 0x02a8, 0xea3: 0x02a8,
- 0xea4: 0x02a8, 0xea5: 0x02a8, 0xea6: 0x029c, 0xea7: 0x029c, 0xea8: 0x029c, 0xea9: 0x029c,
- 0xeaa: 0x02cf, 0xeab: 0x02cf, 0xeac: 0x02cf, 0xead: 0x02cf, 0xeae: 0x02d2, 0xeaf: 0x02d2,
- 0xeb0: 0x02d2, 0xeb1: 0x02d2, 0xeb2: 0x02b1, 0xeb3: 0x02b1, 0xeb4: 0x02b1, 0xeb5: 0x02b1,
- 0xeb6: 0x02ae, 0xeb7: 0x02ae, 0xeb8: 0x02ae, 0xeb9: 0x02ae, 0xeba: 0x02b4, 0xebb: 0x02b4,
- 0xebc: 0x02b4, 0xebd: 0x02b4, 0xebe: 0x02b7, 0xebf: 0x02b7,
+ 0xe80: 0x19d5, 0xe81: 0x19d8, 0xe82: 0x19db, 0xe83: 0x1c08, 0xe84: 0x1c0c, 0xe85: 0x1a5f,
+ 0xe86: 0x1a5f,
+ 0xe93: 0x1d75, 0xe94: 0x1d66, 0xe95: 0x1d6b, 0xe96: 0x1d7a, 0xe97: 0x1d70,
+ 0xe9d: 0x4390,
+ 0xe9e: 0x8115, 0xe9f: 0x4402, 0xea0: 0x022d, 0xea1: 0x0215, 0xea2: 0x021e, 0xea3: 0x0221,
+ 0xea4: 0x0224, 0xea5: 0x0227, 0xea6: 0x022a, 0xea7: 0x0230, 0xea8: 0x0233, 0xea9: 0x0017,
+ 0xeaa: 0x43f0, 0xeab: 0x43f6, 0xeac: 0x44f4, 0xead: 0x44fc, 0xeae: 0x4348, 0xeaf: 0x434e,
+ 0xeb0: 0x4354, 0xeb1: 0x435a, 0xeb2: 0x4366, 0xeb3: 0x436c, 0xeb4: 0x4372, 0xeb5: 0x437e,
+ 0xeb6: 0x4384, 0xeb8: 0x438a, 0xeb9: 0x4396, 0xeba: 0x439c, 0xebb: 0x43a2,
+ 0xebc: 0x43ae, 0xebe: 0x43b4,
// Block 0x3b, offset 0xec0
- 0xec0: 0x02b7, 0xec1: 0x02b7, 0xec2: 0x02c0, 0xec3: 0x02c0, 0xec4: 0x02bd, 0xec5: 0x02bd,
- 0xec6: 0x02c3, 0xec7: 0x02c3, 0xec8: 0x02ba, 0xec9: 0x02ba, 0xeca: 0x02c9, 0xecb: 0x02c9,
- 0xecc: 0x02c6, 0xecd: 0x02c6, 0xece: 0x02d5, 0xecf: 0x02d5, 0xed0: 0x02d5, 0xed1: 0x02d5,
- 0xed2: 0x02db, 0xed3: 0x02db, 0xed4: 0x02db, 0xed5: 0x02db, 0xed6: 0x02e1, 0xed7: 0x02e1,
- 0xed8: 0x02e1, 0xed9: 0x02e1, 0xeda: 0x02de, 0xedb: 0x02de, 0xedc: 0x02de, 0xedd: 0x02de,
- 0xede: 0x02e4, 0xedf: 0x02e4, 0xee0: 0x02e7, 0xee1: 0x02e7, 0xee2: 0x02e7, 0xee3: 0x02e7,
- 0xee4: 0x446e, 0xee5: 0x446e, 0xee6: 0x02ed, 0xee7: 0x02ed, 0xee8: 0x02ed, 0xee9: 0x02ed,
- 0xeea: 0x02ea, 0xeeb: 0x02ea, 0xeec: 0x02ea, 0xeed: 0x02ea, 0xeee: 0x0308, 0xeef: 0x0308,
- 0xef0: 0x4468, 0xef1: 0x4468,
+ 0xec0: 0x43ba, 0xec1: 0x43c0, 0xec3: 0x43c6, 0xec4: 0x43cc,
+ 0xec6: 0x43d8, 0xec7: 0x43de, 0xec8: 0x43e4, 0xec9: 0x43ea, 0xeca: 0x43fc, 0xecb: 0x4378,
+ 0xecc: 0x4360, 0xecd: 0x43a8, 0xece: 0x43d2, 0xecf: 0x1d7f, 0xed0: 0x0299, 0xed1: 0x0299,
+ 0xed2: 0x02a2, 0xed3: 0x02a2, 0xed4: 0x02a2, 0xed5: 0x02a2, 0xed6: 0x02a5, 0xed7: 0x02a5,
+ 0xed8: 0x02a5, 0xed9: 0x02a5, 0xeda: 0x02ab, 0xedb: 0x02ab, 0xedc: 0x02ab, 0xedd: 0x02ab,
+ 0xede: 0x029f, 0xedf: 0x029f, 0xee0: 0x029f, 0xee1: 0x029f, 0xee2: 0x02a8, 0xee3: 0x02a8,
+ 0xee4: 0x02a8, 0xee5: 0x02a8, 0xee6: 0x029c, 0xee7: 0x029c, 0xee8: 0x029c, 0xee9: 0x029c,
+ 0xeea: 0x02cf, 0xeeb: 0x02cf, 0xeec: 0x02cf, 0xeed: 0x02cf, 0xeee: 0x02d2, 0xeef: 0x02d2,
+ 0xef0: 0x02d2, 0xef1: 0x02d2, 0xef2: 0x02b1, 0xef3: 0x02b1, 0xef4: 0x02b1, 0xef5: 0x02b1,
+ 0xef6: 0x02ae, 0xef7: 0x02ae, 0xef8: 0x02ae, 0xef9: 0x02ae, 0xefa: 0x02b4, 0xefb: 0x02b4,
+ 0xefc: 0x02b4, 0xefd: 0x02b4, 0xefe: 0x02b7, 0xeff: 0x02b7,
// Block 0x3c, offset 0xf00
- 0xf13: 0x02d8, 0xf14: 0x02d8, 0xf15: 0x02d8, 0xf16: 0x02d8, 0xf17: 0x02f6,
- 0xf18: 0x02f6, 0xf19: 0x02f3, 0xf1a: 0x02f3, 0xf1b: 0x02f9, 0xf1c: 0x02f9, 0xf1d: 0x204f,
- 0xf1e: 0x02ff, 0xf1f: 0x02ff, 0xf20: 0x02f0, 0xf21: 0x02f0, 0xf22: 0x02fc, 0xf23: 0x02fc,
- 0xf24: 0x0305, 0xf25: 0x0305, 0xf26: 0x0305, 0xf27: 0x0305, 0xf28: 0x028d, 0xf29: 0x028d,
- 0xf2a: 0x25aa, 0xf2b: 0x25aa, 0xf2c: 0x261a, 0xf2d: 0x261a, 0xf2e: 0x25e9, 0xf2f: 0x25e9,
- 0xf30: 0x2605, 0xf31: 0x2605, 0xf32: 0x25fe, 0xf33: 0x25fe, 0xf34: 0x260c, 0xf35: 0x260c,
- 0xf36: 0x2613, 0xf37: 0x2613, 0xf38: 0x2613, 0xf39: 0x25f0, 0xf3a: 0x25f0, 0xf3b: 0x25f0,
- 0xf3c: 0x0302, 0xf3d: 0x0302, 0xf3e: 0x0302, 0xf3f: 0x0302,
+ 0xf00: 0x02b7, 0xf01: 0x02b7, 0xf02: 0x02c0, 0xf03: 0x02c0, 0xf04: 0x02bd, 0xf05: 0x02bd,
+ 0xf06: 0x02c3, 0xf07: 0x02c3, 0xf08: 0x02ba, 0xf09: 0x02ba, 0xf0a: 0x02c9, 0xf0b: 0x02c9,
+ 0xf0c: 0x02c6, 0xf0d: 0x02c6, 0xf0e: 0x02d5, 0xf0f: 0x02d5, 0xf10: 0x02d5, 0xf11: 0x02d5,
+ 0xf12: 0x02db, 0xf13: 0x02db, 0xf14: 0x02db, 0xf15: 0x02db, 0xf16: 0x02e1, 0xf17: 0x02e1,
+ 0xf18: 0x02e1, 0xf19: 0x02e1, 0xf1a: 0x02de, 0xf1b: 0x02de, 0xf1c: 0x02de, 0xf1d: 0x02de,
+ 0xf1e: 0x02e4, 0xf1f: 0x02e4, 0xf20: 0x02e7, 0xf21: 0x02e7, 0xf22: 0x02e7, 0xf23: 0x02e7,
+ 0xf24: 0x446e, 0xf25: 0x446e, 0xf26: 0x02ed, 0xf27: 0x02ed, 0xf28: 0x02ed, 0xf29: 0x02ed,
+ 0xf2a: 0x02ea, 0xf2b: 0x02ea, 0xf2c: 0x02ea, 0xf2d: 0x02ea, 0xf2e: 0x0308, 0xf2f: 0x0308,
+ 0xf30: 0x4468, 0xf31: 0x4468,
// Block 0x3d, offset 0xf40
- 0xf40: 0x25b1, 0xf41: 0x25b8, 0xf42: 0x25d4, 0xf43: 0x25f0, 0xf44: 0x25f7, 0xf45: 0x1d89,
- 0xf46: 0x1d8e, 0xf47: 0x1d93, 0xf48: 0x1da2, 0xf49: 0x1db1, 0xf4a: 0x1db6, 0xf4b: 0x1dbb,
- 0xf4c: 0x1dc0, 0xf4d: 0x1dc5, 0xf4e: 0x1dd4, 0xf4f: 0x1de3, 0xf50: 0x1de8, 0xf51: 0x1ded,
- 0xf52: 0x1dfc, 0xf53: 0x1e0b, 0xf54: 0x1e10, 0xf55: 0x1e15, 0xf56: 0x1e1a, 0xf57: 0x1e29,
- 0xf58: 0x1e2e, 0xf59: 0x1e3d, 0xf5a: 0x1e42, 0xf5b: 0x1e47, 0xf5c: 0x1e56, 0xf5d: 0x1e5b,
- 0xf5e: 0x1e60, 0xf5f: 0x1e6a, 0xf60: 0x1ea6, 0xf61: 0x1eb5, 0xf62: 0x1ec4, 0xf63: 0x1ec9,
- 0xf64: 0x1ece, 0xf65: 0x1ed8, 0xf66: 0x1ee7, 0xf67: 0x1eec, 0xf68: 0x1efb, 0xf69: 0x1f00,
- 0xf6a: 0x1f05, 0xf6b: 0x1f14, 0xf6c: 0x1f19, 0xf6d: 0x1f28, 0xf6e: 0x1f2d, 0xf6f: 0x1f32,
- 0xf70: 0x1f37, 0xf71: 0x1f3c, 0xf72: 0x1f41, 0xf73: 0x1f46, 0xf74: 0x1f4b, 0xf75: 0x1f50,
- 0xf76: 0x1f55, 0xf77: 0x1f5a, 0xf78: 0x1f5f, 0xf79: 0x1f64, 0xf7a: 0x1f69, 0xf7b: 0x1f6e,
- 0xf7c: 0x1f73, 0xf7d: 0x1f78, 0xf7e: 0x1f7d, 0xf7f: 0x1f87,
+ 0xf53: 0x02d8, 0xf54: 0x02d8, 0xf55: 0x02d8, 0xf56: 0x02d8, 0xf57: 0x02f6,
+ 0xf58: 0x02f6, 0xf59: 0x02f3, 0xf5a: 0x02f3, 0xf5b: 0x02f9, 0xf5c: 0x02f9, 0xf5d: 0x204f,
+ 0xf5e: 0x02ff, 0xf5f: 0x02ff, 0xf60: 0x02f0, 0xf61: 0x02f0, 0xf62: 0x02fc, 0xf63: 0x02fc,
+ 0xf64: 0x0305, 0xf65: 0x0305, 0xf66: 0x0305, 0xf67: 0x0305, 0xf68: 0x028d, 0xf69: 0x028d,
+ 0xf6a: 0x25aa, 0xf6b: 0x25aa, 0xf6c: 0x261a, 0xf6d: 0x261a, 0xf6e: 0x25e9, 0xf6f: 0x25e9,
+ 0xf70: 0x2605, 0xf71: 0x2605, 0xf72: 0x25fe, 0xf73: 0x25fe, 0xf74: 0x260c, 0xf75: 0x260c,
+ 0xf76: 0x2613, 0xf77: 0x2613, 0xf78: 0x2613, 0xf79: 0x25f0, 0xf7a: 0x25f0, 0xf7b: 0x25f0,
+ 0xf7c: 0x0302, 0xf7d: 0x0302, 0xf7e: 0x0302, 0xf7f: 0x0302,
// Block 0x3e, offset 0xf80
- 0xf80: 0x1f8c, 0xf81: 0x1f91, 0xf82: 0x1f96, 0xf83: 0x1fa0, 0xf84: 0x1fa5, 0xf85: 0x1faf,
- 0xf86: 0x1fb4, 0xf87: 0x1fb9, 0xf88: 0x1fbe, 0xf89: 0x1fc3, 0xf8a: 0x1fc8, 0xf8b: 0x1fcd,
- 0xf8c: 0x1fd2, 0xf8d: 0x1fd7, 0xf8e: 0x1fe6, 0xf8f: 0x1ff5, 0xf90: 0x1ffa, 0xf91: 0x1fff,
- 0xf92: 0x2004, 0xf93: 0x2009, 0xf94: 0x200e, 0xf95: 0x2018, 0xf96: 0x201d, 0xf97: 0x2022,
- 0xf98: 0x2031, 0xf99: 0x2040, 0xf9a: 0x2045, 0xf9b: 0x4420, 0xf9c: 0x4426, 0xf9d: 0x445c,
- 0xf9e: 0x44b3, 0xf9f: 0x44ba, 0xfa0: 0x44c1, 0xfa1: 0x44c8, 0xfa2: 0x44cf, 0xfa3: 0x44d6,
- 0xfa4: 0x25c6, 0xfa5: 0x25cd, 0xfa6: 0x25d4, 0xfa7: 0x25db, 0xfa8: 0x25f0, 0xfa9: 0x25f7,
- 0xfaa: 0x1d98, 0xfab: 0x1d9d, 0xfac: 0x1da2, 0xfad: 0x1da7, 0xfae: 0x1db1, 0xfaf: 0x1db6,
- 0xfb0: 0x1dca, 0xfb1: 0x1dcf, 0xfb2: 0x1dd4, 0xfb3: 0x1dd9, 0xfb4: 0x1de3, 0xfb5: 0x1de8,
- 0xfb6: 0x1df2, 0xfb7: 0x1df7, 0xfb8: 0x1dfc, 0xfb9: 0x1e01, 0xfba: 0x1e0b, 0xfbb: 0x1e10,
- 0xfbc: 0x1f3c, 0xfbd: 0x1f41, 0xfbe: 0x1f50, 0xfbf: 0x1f55,
+ 0xf80: 0x25b1, 0xf81: 0x25b8, 0xf82: 0x25d4, 0xf83: 0x25f0, 0xf84: 0x25f7, 0xf85: 0x1d89,
+ 0xf86: 0x1d8e, 0xf87: 0x1d93, 0xf88: 0x1da2, 0xf89: 0x1db1, 0xf8a: 0x1db6, 0xf8b: 0x1dbb,
+ 0xf8c: 0x1dc0, 0xf8d: 0x1dc5, 0xf8e: 0x1dd4, 0xf8f: 0x1de3, 0xf90: 0x1de8, 0xf91: 0x1ded,
+ 0xf92: 0x1dfc, 0xf93: 0x1e0b, 0xf94: 0x1e10, 0xf95: 0x1e15, 0xf96: 0x1e1a, 0xf97: 0x1e29,
+ 0xf98: 0x1e2e, 0xf99: 0x1e3d, 0xf9a: 0x1e42, 0xf9b: 0x1e47, 0xf9c: 0x1e56, 0xf9d: 0x1e5b,
+ 0xf9e: 0x1e60, 0xf9f: 0x1e6a, 0xfa0: 0x1ea6, 0xfa1: 0x1eb5, 0xfa2: 0x1ec4, 0xfa3: 0x1ec9,
+ 0xfa4: 0x1ece, 0xfa5: 0x1ed8, 0xfa6: 0x1ee7, 0xfa7: 0x1eec, 0xfa8: 0x1efb, 0xfa9: 0x1f00,
+ 0xfaa: 0x1f05, 0xfab: 0x1f14, 0xfac: 0x1f19, 0xfad: 0x1f28, 0xfae: 0x1f2d, 0xfaf: 0x1f32,
+ 0xfb0: 0x1f37, 0xfb1: 0x1f3c, 0xfb2: 0x1f41, 0xfb3: 0x1f46, 0xfb4: 0x1f4b, 0xfb5: 0x1f50,
+ 0xfb6: 0x1f55, 0xfb7: 0x1f5a, 0xfb8: 0x1f5f, 0xfb9: 0x1f64, 0xfba: 0x1f69, 0xfbb: 0x1f6e,
+ 0xfbc: 0x1f73, 0xfbd: 0x1f78, 0xfbe: 0x1f7d, 0xfbf: 0x1f87,
// Block 0x3f, offset 0xfc0
- 0xfc0: 0x1f5a, 0xfc1: 0x1f6e, 0xfc2: 0x1f73, 0xfc3: 0x1f78, 0xfc4: 0x1f7d, 0xfc5: 0x1f96,
- 0xfc6: 0x1fa0, 0xfc7: 0x1fa5, 0xfc8: 0x1faa, 0xfc9: 0x1fbe, 0xfca: 0x1fdc, 0xfcb: 0x1fe1,
- 0xfcc: 0x1fe6, 0xfcd: 0x1feb, 0xfce: 0x1ff5, 0xfcf: 0x1ffa, 0xfd0: 0x445c, 0xfd1: 0x2027,
- 0xfd2: 0x202c, 0xfd3: 0x2031, 0xfd4: 0x2036, 0xfd5: 0x2040, 0xfd6: 0x2045, 0xfd7: 0x25b1,
- 0xfd8: 0x25b8, 0xfd9: 0x25bf, 0xfda: 0x25d4, 0xfdb: 0x25e2, 0xfdc: 0x1d89, 0xfdd: 0x1d8e,
- 0xfde: 0x1d93, 0xfdf: 0x1da2, 0xfe0: 0x1dac, 0xfe1: 0x1dbb, 0xfe2: 0x1dc0, 0xfe3: 0x1dc5,
- 0xfe4: 0x1dd4, 0xfe5: 0x1dde, 0xfe6: 0x1dfc, 0xfe7: 0x1e15, 0xfe8: 0x1e1a, 0xfe9: 0x1e29,
- 0xfea: 0x1e2e, 0xfeb: 0x1e3d, 0xfec: 0x1e47, 0xfed: 0x1e56, 0xfee: 0x1e5b, 0xfef: 0x1e60,
- 0xff0: 0x1e6a, 0xff1: 0x1ea6, 0xff2: 0x1eab, 0xff3: 0x1eb5, 0xff4: 0x1ec4, 0xff5: 0x1ec9,
- 0xff6: 0x1ece, 0xff7: 0x1ed8, 0xff8: 0x1ee7, 0xff9: 0x1efb, 0xffa: 0x1f00, 0xffb: 0x1f05,
- 0xffc: 0x1f14, 0xffd: 0x1f19, 0xffe: 0x1f28, 0xfff: 0x1f2d,
+ 0xfc0: 0x1f8c, 0xfc1: 0x1f91, 0xfc2: 0x1f96, 0xfc3: 0x1fa0, 0xfc4: 0x1fa5, 0xfc5: 0x1faf,
+ 0xfc6: 0x1fb4, 0xfc7: 0x1fb9, 0xfc8: 0x1fbe, 0xfc9: 0x1fc3, 0xfca: 0x1fc8, 0xfcb: 0x1fcd,
+ 0xfcc: 0x1fd2, 0xfcd: 0x1fd7, 0xfce: 0x1fe6, 0xfcf: 0x1ff5, 0xfd0: 0x1ffa, 0xfd1: 0x1fff,
+ 0xfd2: 0x2004, 0xfd3: 0x2009, 0xfd4: 0x200e, 0xfd5: 0x2018, 0xfd6: 0x201d, 0xfd7: 0x2022,
+ 0xfd8: 0x2031, 0xfd9: 0x2040, 0xfda: 0x2045, 0xfdb: 0x4420, 0xfdc: 0x4426, 0xfdd: 0x445c,
+ 0xfde: 0x44b3, 0xfdf: 0x44ba, 0xfe0: 0x44c1, 0xfe1: 0x44c8, 0xfe2: 0x44cf, 0xfe3: 0x44d6,
+ 0xfe4: 0x25c6, 0xfe5: 0x25cd, 0xfe6: 0x25d4, 0xfe7: 0x25db, 0xfe8: 0x25f0, 0xfe9: 0x25f7,
+ 0xfea: 0x1d98, 0xfeb: 0x1d9d, 0xfec: 0x1da2, 0xfed: 0x1da7, 0xfee: 0x1db1, 0xfef: 0x1db6,
+ 0xff0: 0x1dca, 0xff1: 0x1dcf, 0xff2: 0x1dd4, 0xff3: 0x1dd9, 0xff4: 0x1de3, 0xff5: 0x1de8,
+ 0xff6: 0x1df2, 0xff7: 0x1df7, 0xff8: 0x1dfc, 0xff9: 0x1e01, 0xffa: 0x1e0b, 0xffb: 0x1e10,
+ 0xffc: 0x1f3c, 0xffd: 0x1f41, 0xffe: 0x1f50, 0xfff: 0x1f55,
// Block 0x40, offset 0x1000
- 0x1000: 0x1f32, 0x1001: 0x1f37, 0x1002: 0x1f46, 0x1003: 0x1f4b, 0x1004: 0x1f5f, 0x1005: 0x1f64,
- 0x1006: 0x1f69, 0x1007: 0x1f6e, 0x1008: 0x1f73, 0x1009: 0x1f87, 0x100a: 0x1f8c, 0x100b: 0x1f91,
- 0x100c: 0x1f96, 0x100d: 0x1f9b, 0x100e: 0x1faf, 0x100f: 0x1fb4, 0x1010: 0x1fb9, 0x1011: 0x1fbe,
- 0x1012: 0x1fcd, 0x1013: 0x1fd2, 0x1014: 0x1fd7, 0x1015: 0x1fe6, 0x1016: 0x1ff0, 0x1017: 0x1fff,
- 0x1018: 0x2004, 0x1019: 0x4450, 0x101a: 0x2018, 0x101b: 0x201d, 0x101c: 0x2022, 0x101d: 0x2031,
- 0x101e: 0x203b, 0x101f: 0x25d4, 0x1020: 0x25e2, 0x1021: 0x1da2, 0x1022: 0x1dac, 0x1023: 0x1dd4,
- 0x1024: 0x1dde, 0x1025: 0x1dfc, 0x1026: 0x1e06, 0x1027: 0x1e6a, 0x1028: 0x1e6f, 0x1029: 0x1e92,
- 0x102a: 0x1e97, 0x102b: 0x1f6e, 0x102c: 0x1f73, 0x102d: 0x1f96, 0x102e: 0x1fe6, 0x102f: 0x1ff0,
- 0x1030: 0x2031, 0x1031: 0x203b, 0x1032: 0x4504, 0x1033: 0x450c, 0x1034: 0x4514, 0x1035: 0x1ef1,
- 0x1036: 0x1ef6, 0x1037: 0x1f0a, 0x1038: 0x1f0f, 0x1039: 0x1f1e, 0x103a: 0x1f23, 0x103b: 0x1e74,
- 0x103c: 0x1e79, 0x103d: 0x1e9c, 0x103e: 0x1ea1, 0x103f: 0x1e33,
+ 0x1000: 0x1f5a, 0x1001: 0x1f6e, 0x1002: 0x1f73, 0x1003: 0x1f78, 0x1004: 0x1f7d, 0x1005: 0x1f96,
+ 0x1006: 0x1fa0, 0x1007: 0x1fa5, 0x1008: 0x1faa, 0x1009: 0x1fbe, 0x100a: 0x1fdc, 0x100b: 0x1fe1,
+ 0x100c: 0x1fe6, 0x100d: 0x1feb, 0x100e: 0x1ff5, 0x100f: 0x1ffa, 0x1010: 0x445c, 0x1011: 0x2027,
+ 0x1012: 0x202c, 0x1013: 0x2031, 0x1014: 0x2036, 0x1015: 0x2040, 0x1016: 0x2045, 0x1017: 0x25b1,
+ 0x1018: 0x25b8, 0x1019: 0x25bf, 0x101a: 0x25d4, 0x101b: 0x25e2, 0x101c: 0x1d89, 0x101d: 0x1d8e,
+ 0x101e: 0x1d93, 0x101f: 0x1da2, 0x1020: 0x1dac, 0x1021: 0x1dbb, 0x1022: 0x1dc0, 0x1023: 0x1dc5,
+ 0x1024: 0x1dd4, 0x1025: 0x1dde, 0x1026: 0x1dfc, 0x1027: 0x1e15, 0x1028: 0x1e1a, 0x1029: 0x1e29,
+ 0x102a: 0x1e2e, 0x102b: 0x1e3d, 0x102c: 0x1e47, 0x102d: 0x1e56, 0x102e: 0x1e5b, 0x102f: 0x1e60,
+ 0x1030: 0x1e6a, 0x1031: 0x1ea6, 0x1032: 0x1eab, 0x1033: 0x1eb5, 0x1034: 0x1ec4, 0x1035: 0x1ec9,
+ 0x1036: 0x1ece, 0x1037: 0x1ed8, 0x1038: 0x1ee7, 0x1039: 0x1efb, 0x103a: 0x1f00, 0x103b: 0x1f05,
+ 0x103c: 0x1f14, 0x103d: 0x1f19, 0x103e: 0x1f28, 0x103f: 0x1f2d,
// Block 0x41, offset 0x1040
- 0x1040: 0x1e38, 0x1041: 0x1e1f, 0x1042: 0x1e24, 0x1043: 0x1e4c, 0x1044: 0x1e51, 0x1045: 0x1eba,
- 0x1046: 0x1ebf, 0x1047: 0x1edd, 0x1048: 0x1ee2, 0x1049: 0x1e7e, 0x104a: 0x1e83, 0x104b: 0x1e88,
- 0x104c: 0x1e92, 0x104d: 0x1e8d, 0x104e: 0x1e65, 0x104f: 0x1eb0, 0x1050: 0x1ed3, 0x1051: 0x1ef1,
- 0x1052: 0x1ef6, 0x1053: 0x1f0a, 0x1054: 0x1f0f, 0x1055: 0x1f1e, 0x1056: 0x1f23, 0x1057: 0x1e74,
- 0x1058: 0x1e79, 0x1059: 0x1e9c, 0x105a: 0x1ea1, 0x105b: 0x1e33, 0x105c: 0x1e38, 0x105d: 0x1e1f,
- 0x105e: 0x1e24, 0x105f: 0x1e4c, 0x1060: 0x1e51, 0x1061: 0x1eba, 0x1062: 0x1ebf, 0x1063: 0x1edd,
- 0x1064: 0x1ee2, 0x1065: 0x1e7e, 0x1066: 0x1e83, 0x1067: 0x1e88, 0x1068: 0x1e92, 0x1069: 0x1e8d,
- 0x106a: 0x1e65, 0x106b: 0x1eb0, 0x106c: 0x1ed3, 0x106d: 0x1e7e, 0x106e: 0x1e83, 0x106f: 0x1e88,
- 0x1070: 0x1e92, 0x1071: 0x1e6f, 0x1072: 0x1e97, 0x1073: 0x1eec, 0x1074: 0x1e56, 0x1075: 0x1e5b,
- 0x1076: 0x1e60, 0x1077: 0x1e7e, 0x1078: 0x1e83, 0x1079: 0x1e88, 0x107a: 0x1eec, 0x107b: 0x1efb,
- 0x107c: 0x4408, 0x107d: 0x4408,
+ 0x1040: 0x1f32, 0x1041: 0x1f37, 0x1042: 0x1f46, 0x1043: 0x1f4b, 0x1044: 0x1f5f, 0x1045: 0x1f64,
+ 0x1046: 0x1f69, 0x1047: 0x1f6e, 0x1048: 0x1f73, 0x1049: 0x1f87, 0x104a: 0x1f8c, 0x104b: 0x1f91,
+ 0x104c: 0x1f96, 0x104d: 0x1f9b, 0x104e: 0x1faf, 0x104f: 0x1fb4, 0x1050: 0x1fb9, 0x1051: 0x1fbe,
+ 0x1052: 0x1fcd, 0x1053: 0x1fd2, 0x1054: 0x1fd7, 0x1055: 0x1fe6, 0x1056: 0x1ff0, 0x1057: 0x1fff,
+ 0x1058: 0x2004, 0x1059: 0x4450, 0x105a: 0x2018, 0x105b: 0x201d, 0x105c: 0x2022, 0x105d: 0x2031,
+ 0x105e: 0x203b, 0x105f: 0x25d4, 0x1060: 0x25e2, 0x1061: 0x1da2, 0x1062: 0x1dac, 0x1063: 0x1dd4,
+ 0x1064: 0x1dde, 0x1065: 0x1dfc, 0x1066: 0x1e06, 0x1067: 0x1e6a, 0x1068: 0x1e6f, 0x1069: 0x1e92,
+ 0x106a: 0x1e97, 0x106b: 0x1f6e, 0x106c: 0x1f73, 0x106d: 0x1f96, 0x106e: 0x1fe6, 0x106f: 0x1ff0,
+ 0x1070: 0x2031, 0x1071: 0x203b, 0x1072: 0x4504, 0x1073: 0x450c, 0x1074: 0x4514, 0x1075: 0x1ef1,
+ 0x1076: 0x1ef6, 0x1077: 0x1f0a, 0x1078: 0x1f0f, 0x1079: 0x1f1e, 0x107a: 0x1f23, 0x107b: 0x1e74,
+ 0x107c: 0x1e79, 0x107d: 0x1e9c, 0x107e: 0x1ea1, 0x107f: 0x1e33,
// Block 0x42, offset 0x1080
- 0x1090: 0x2311, 0x1091: 0x2326,
- 0x1092: 0x2326, 0x1093: 0x232d, 0x1094: 0x2334, 0x1095: 0x2349, 0x1096: 0x2350, 0x1097: 0x2357,
- 0x1098: 0x237a, 0x1099: 0x237a, 0x109a: 0x239d, 0x109b: 0x2396, 0x109c: 0x23b2, 0x109d: 0x23a4,
- 0x109e: 0x23ab, 0x109f: 0x23ce, 0x10a0: 0x23ce, 0x10a1: 0x23c7, 0x10a2: 0x23d5, 0x10a3: 0x23d5,
- 0x10a4: 0x23ff, 0x10a5: 0x23ff, 0x10a6: 0x241b, 0x10a7: 0x23e3, 0x10a8: 0x23e3, 0x10a9: 0x23dc,
- 0x10aa: 0x23f1, 0x10ab: 0x23f1, 0x10ac: 0x23f8, 0x10ad: 0x23f8, 0x10ae: 0x2422, 0x10af: 0x2430,
- 0x10b0: 0x2430, 0x10b1: 0x2437, 0x10b2: 0x2437, 0x10b3: 0x243e, 0x10b4: 0x2445, 0x10b5: 0x244c,
- 0x10b6: 0x2453, 0x10b7: 0x2453, 0x10b8: 0x245a, 0x10b9: 0x2468, 0x10ba: 0x2476, 0x10bb: 0x246f,
- 0x10bc: 0x247d, 0x10bd: 0x247d, 0x10be: 0x2492, 0x10bf: 0x2499,
+ 0x1080: 0x1e38, 0x1081: 0x1e1f, 0x1082: 0x1e24, 0x1083: 0x1e4c, 0x1084: 0x1e51, 0x1085: 0x1eba,
+ 0x1086: 0x1ebf, 0x1087: 0x1edd, 0x1088: 0x1ee2, 0x1089: 0x1e7e, 0x108a: 0x1e83, 0x108b: 0x1e88,
+ 0x108c: 0x1e92, 0x108d: 0x1e8d, 0x108e: 0x1e65, 0x108f: 0x1eb0, 0x1090: 0x1ed3, 0x1091: 0x1ef1,
+ 0x1092: 0x1ef6, 0x1093: 0x1f0a, 0x1094: 0x1f0f, 0x1095: 0x1f1e, 0x1096: 0x1f23, 0x1097: 0x1e74,
+ 0x1098: 0x1e79, 0x1099: 0x1e9c, 0x109a: 0x1ea1, 0x109b: 0x1e33, 0x109c: 0x1e38, 0x109d: 0x1e1f,
+ 0x109e: 0x1e24, 0x109f: 0x1e4c, 0x10a0: 0x1e51, 0x10a1: 0x1eba, 0x10a2: 0x1ebf, 0x10a3: 0x1edd,
+ 0x10a4: 0x1ee2, 0x10a5: 0x1e7e, 0x10a6: 0x1e83, 0x10a7: 0x1e88, 0x10a8: 0x1e92, 0x10a9: 0x1e8d,
+ 0x10aa: 0x1e65, 0x10ab: 0x1eb0, 0x10ac: 0x1ed3, 0x10ad: 0x1e7e, 0x10ae: 0x1e83, 0x10af: 0x1e88,
+ 0x10b0: 0x1e92, 0x10b1: 0x1e6f, 0x10b2: 0x1e97, 0x10b3: 0x1eec, 0x10b4: 0x1e56, 0x10b5: 0x1e5b,
+ 0x10b6: 0x1e60, 0x10b7: 0x1e7e, 0x10b8: 0x1e83, 0x10b9: 0x1e88, 0x10ba: 0x1eec, 0x10bb: 0x1efb,
+ 0x10bc: 0x4408, 0x10bd: 0x4408,
// Block 0x43, offset 0x10c0
- 0x10c0: 0x24ca, 0x10c1: 0x24d8, 0x10c2: 0x24d1, 0x10c3: 0x24b5, 0x10c4: 0x24b5, 0x10c5: 0x24df,
- 0x10c6: 0x24df, 0x10c7: 0x24e6, 0x10c8: 0x24e6, 0x10c9: 0x2510, 0x10ca: 0x2517, 0x10cb: 0x251e,
- 0x10cc: 0x24f4, 0x10cd: 0x2502, 0x10ce: 0x2525, 0x10cf: 0x252c,
- 0x10d2: 0x24fb, 0x10d3: 0x2580, 0x10d4: 0x2587, 0x10d5: 0x255d, 0x10d6: 0x2564, 0x10d7: 0x2548,
- 0x10d8: 0x2548, 0x10d9: 0x254f, 0x10da: 0x2579, 0x10db: 0x2572, 0x10dc: 0x259c, 0x10dd: 0x259c,
- 0x10de: 0x230a, 0x10df: 0x231f, 0x10e0: 0x2318, 0x10e1: 0x2342, 0x10e2: 0x233b, 0x10e3: 0x2365,
- 0x10e4: 0x235e, 0x10e5: 0x2388, 0x10e6: 0x236c, 0x10e7: 0x2381, 0x10e8: 0x23b9, 0x10e9: 0x2406,
- 0x10ea: 0x23ea, 0x10eb: 0x2429, 0x10ec: 0x24c3, 0x10ed: 0x24ed, 0x10ee: 0x2595, 0x10ef: 0x258e,
- 0x10f0: 0x25a3, 0x10f1: 0x253a, 0x10f2: 0x24a0, 0x10f3: 0x256b, 0x10f4: 0x2492, 0x10f5: 0x24ca,
- 0x10f6: 0x2461, 0x10f7: 0x24ae, 0x10f8: 0x2541, 0x10f9: 0x2533, 0x10fa: 0x24bc, 0x10fb: 0x24a7,
- 0x10fc: 0x24bc, 0x10fd: 0x2541, 0x10fe: 0x2373, 0x10ff: 0x238f,
+ 0x10d0: 0x2311, 0x10d1: 0x2326,
+ 0x10d2: 0x2326, 0x10d3: 0x232d, 0x10d4: 0x2334, 0x10d5: 0x2349, 0x10d6: 0x2350, 0x10d7: 0x2357,
+ 0x10d8: 0x237a, 0x10d9: 0x237a, 0x10da: 0x239d, 0x10db: 0x2396, 0x10dc: 0x23b2, 0x10dd: 0x23a4,
+ 0x10de: 0x23ab, 0x10df: 0x23ce, 0x10e0: 0x23ce, 0x10e1: 0x23c7, 0x10e2: 0x23d5, 0x10e3: 0x23d5,
+ 0x10e4: 0x23ff, 0x10e5: 0x23ff, 0x10e6: 0x241b, 0x10e7: 0x23e3, 0x10e8: 0x23e3, 0x10e9: 0x23dc,
+ 0x10ea: 0x23f1, 0x10eb: 0x23f1, 0x10ec: 0x23f8, 0x10ed: 0x23f8, 0x10ee: 0x2422, 0x10ef: 0x2430,
+ 0x10f0: 0x2430, 0x10f1: 0x2437, 0x10f2: 0x2437, 0x10f3: 0x243e, 0x10f4: 0x2445, 0x10f5: 0x244c,
+ 0x10f6: 0x2453, 0x10f7: 0x2453, 0x10f8: 0x245a, 0x10f9: 0x2468, 0x10fa: 0x2476, 0x10fb: 0x246f,
+ 0x10fc: 0x247d, 0x10fd: 0x247d, 0x10fe: 0x2492, 0x10ff: 0x2499,
// Block 0x44, offset 0x1100
- 0x1100: 0x2509, 0x1101: 0x2484, 0x1102: 0x2303, 0x1103: 0x24a7, 0x1104: 0x244c, 0x1105: 0x241b,
- 0x1106: 0x23c0, 0x1107: 0x2556,
- 0x1130: 0x2414, 0x1131: 0x248b, 0x1132: 0x27bf, 0x1133: 0x27b6, 0x1134: 0x27ec, 0x1135: 0x27da,
- 0x1136: 0x27c8, 0x1137: 0x27e3, 0x1138: 0x27f5, 0x1139: 0x240d, 0x113a: 0x2c7c, 0x113b: 0x2afc,
- 0x113c: 0x27d1,
+ 0x1100: 0x24ca, 0x1101: 0x24d8, 0x1102: 0x24d1, 0x1103: 0x24b5, 0x1104: 0x24b5, 0x1105: 0x24df,
+ 0x1106: 0x24df, 0x1107: 0x24e6, 0x1108: 0x24e6, 0x1109: 0x2510, 0x110a: 0x2517, 0x110b: 0x251e,
+ 0x110c: 0x24f4, 0x110d: 0x2502, 0x110e: 0x2525, 0x110f: 0x252c,
+ 0x1112: 0x24fb, 0x1113: 0x2580, 0x1114: 0x2587, 0x1115: 0x255d, 0x1116: 0x2564, 0x1117: 0x2548,
+ 0x1118: 0x2548, 0x1119: 0x254f, 0x111a: 0x2579, 0x111b: 0x2572, 0x111c: 0x259c, 0x111d: 0x259c,
+ 0x111e: 0x230a, 0x111f: 0x231f, 0x1120: 0x2318, 0x1121: 0x2342, 0x1122: 0x233b, 0x1123: 0x2365,
+ 0x1124: 0x235e, 0x1125: 0x2388, 0x1126: 0x236c, 0x1127: 0x2381, 0x1128: 0x23b9, 0x1129: 0x2406,
+ 0x112a: 0x23ea, 0x112b: 0x2429, 0x112c: 0x24c3, 0x112d: 0x24ed, 0x112e: 0x2595, 0x112f: 0x258e,
+ 0x1130: 0x25a3, 0x1131: 0x253a, 0x1132: 0x24a0, 0x1133: 0x256b, 0x1134: 0x2492, 0x1135: 0x24ca,
+ 0x1136: 0x2461, 0x1137: 0x24ae, 0x1138: 0x2541, 0x1139: 0x2533, 0x113a: 0x24bc, 0x113b: 0x24a7,
+ 0x113c: 0x24bc, 0x113d: 0x2541, 0x113e: 0x2373, 0x113f: 0x238f,
// Block 0x45, offset 0x1140
- 0x1150: 0x0019, 0x1151: 0x0483,
- 0x1152: 0x0487, 0x1153: 0x0035, 0x1154: 0x0037, 0x1155: 0x0003, 0x1156: 0x003f, 0x1157: 0x04bf,
- 0x1158: 0x04c3, 0x1159: 0x1b5c,
- 0x1160: 0x8132, 0x1161: 0x8132, 0x1162: 0x8132, 0x1163: 0x8132,
- 0x1164: 0x8132, 0x1165: 0x8132, 0x1166: 0x8132, 0x1167: 0x812d, 0x1168: 0x812d, 0x1169: 0x812d,
- 0x116a: 0x812d, 0x116b: 0x812d, 0x116c: 0x812d, 0x116d: 0x812d, 0x116e: 0x8132, 0x116f: 0x8132,
- 0x1170: 0x1873, 0x1171: 0x0443, 0x1172: 0x043f, 0x1173: 0x007f, 0x1174: 0x007f, 0x1175: 0x0011,
- 0x1176: 0x0013, 0x1177: 0x00b7, 0x1178: 0x00bb, 0x1179: 0x04b7, 0x117a: 0x04bb, 0x117b: 0x04ab,
- 0x117c: 0x04af, 0x117d: 0x0493, 0x117e: 0x0497, 0x117f: 0x048b,
+ 0x1140: 0x2509, 0x1141: 0x2484, 0x1142: 0x2303, 0x1143: 0x24a7, 0x1144: 0x244c, 0x1145: 0x241b,
+ 0x1146: 0x23c0, 0x1147: 0x2556,
+ 0x1170: 0x2414, 0x1171: 0x248b, 0x1172: 0x27bf, 0x1173: 0x27b6, 0x1174: 0x27ec, 0x1175: 0x27da,
+ 0x1176: 0x27c8, 0x1177: 0x27e3, 0x1178: 0x27f5, 0x1179: 0x240d, 0x117a: 0x2c7c, 0x117b: 0x2afc,
+ 0x117c: 0x27d1,
// Block 0x46, offset 0x1180
- 0x1180: 0x048f, 0x1181: 0x049b, 0x1182: 0x049f, 0x1183: 0x04a3, 0x1184: 0x04a7,
- 0x1187: 0x0077, 0x1188: 0x007b, 0x1189: 0x4269, 0x118a: 0x4269, 0x118b: 0x4269,
- 0x118c: 0x4269, 0x118d: 0x007f, 0x118e: 0x007f, 0x118f: 0x007f, 0x1190: 0x0019, 0x1191: 0x0483,
- 0x1192: 0x001d, 0x1194: 0x0037, 0x1195: 0x0035, 0x1196: 0x003f, 0x1197: 0x0003,
- 0x1198: 0x0443, 0x1199: 0x0011, 0x119a: 0x0013, 0x119b: 0x00b7, 0x119c: 0x00bb, 0x119d: 0x04b7,
- 0x119e: 0x04bb, 0x119f: 0x0007, 0x11a0: 0x000d, 0x11a1: 0x0015, 0x11a2: 0x0017, 0x11a3: 0x001b,
- 0x11a4: 0x0039, 0x11a5: 0x003d, 0x11a6: 0x003b, 0x11a8: 0x0079, 0x11a9: 0x0009,
- 0x11aa: 0x000b, 0x11ab: 0x0041,
- 0x11b0: 0x42aa, 0x11b1: 0x442c, 0x11b2: 0x42af, 0x11b4: 0x42b4,
- 0x11b6: 0x42b9, 0x11b7: 0x4432, 0x11b8: 0x42be, 0x11b9: 0x4438, 0x11ba: 0x42c3, 0x11bb: 0x443e,
- 0x11bc: 0x42c8, 0x11bd: 0x4444, 0x11be: 0x42cd, 0x11bf: 0x444a,
+ 0x1190: 0x0019, 0x1191: 0x0483,
+ 0x1192: 0x0487, 0x1193: 0x0035, 0x1194: 0x0037, 0x1195: 0x0003, 0x1196: 0x003f, 0x1197: 0x04bf,
+ 0x1198: 0x04c3, 0x1199: 0x1b5c,
+ 0x11a0: 0x8132, 0x11a1: 0x8132, 0x11a2: 0x8132, 0x11a3: 0x8132,
+ 0x11a4: 0x8132, 0x11a5: 0x8132, 0x11a6: 0x8132, 0x11a7: 0x812d, 0x11a8: 0x812d, 0x11a9: 0x812d,
+ 0x11aa: 0x812d, 0x11ab: 0x812d, 0x11ac: 0x812d, 0x11ad: 0x812d, 0x11ae: 0x8132, 0x11af: 0x8132,
+ 0x11b0: 0x1873, 0x11b1: 0x0443, 0x11b2: 0x043f, 0x11b3: 0x007f, 0x11b4: 0x007f, 0x11b5: 0x0011,
+ 0x11b6: 0x0013, 0x11b7: 0x00b7, 0x11b8: 0x00bb, 0x11b9: 0x04b7, 0x11ba: 0x04bb, 0x11bb: 0x04ab,
+ 0x11bc: 0x04af, 0x11bd: 0x0493, 0x11be: 0x0497, 0x11bf: 0x048b,
// Block 0x47, offset 0x11c0
- 0x11c0: 0x0236, 0x11c1: 0x440e, 0x11c2: 0x440e, 0x11c3: 0x4414, 0x11c4: 0x4414, 0x11c5: 0x4456,
- 0x11c6: 0x4456, 0x11c7: 0x441a, 0x11c8: 0x441a, 0x11c9: 0x4462, 0x11ca: 0x4462, 0x11cb: 0x4462,
- 0x11cc: 0x4462, 0x11cd: 0x0239, 0x11ce: 0x0239, 0x11cf: 0x023c, 0x11d0: 0x023c, 0x11d1: 0x023c,
- 0x11d2: 0x023c, 0x11d3: 0x023f, 0x11d4: 0x023f, 0x11d5: 0x0242, 0x11d6: 0x0242, 0x11d7: 0x0242,
- 0x11d8: 0x0242, 0x11d9: 0x0245, 0x11da: 0x0245, 0x11db: 0x0245, 0x11dc: 0x0245, 0x11dd: 0x0248,
- 0x11de: 0x0248, 0x11df: 0x0248, 0x11e0: 0x0248, 0x11e1: 0x024b, 0x11e2: 0x024b, 0x11e3: 0x024b,
- 0x11e4: 0x024b, 0x11e5: 0x024e, 0x11e6: 0x024e, 0x11e7: 0x024e, 0x11e8: 0x024e, 0x11e9: 0x0251,
- 0x11ea: 0x0251, 0x11eb: 0x0254, 0x11ec: 0x0254, 0x11ed: 0x0257, 0x11ee: 0x0257, 0x11ef: 0x025a,
- 0x11f0: 0x025a, 0x11f1: 0x025d, 0x11f2: 0x025d, 0x11f3: 0x025d, 0x11f4: 0x025d, 0x11f5: 0x0260,
- 0x11f6: 0x0260, 0x11f7: 0x0260, 0x11f8: 0x0260, 0x11f9: 0x0263, 0x11fa: 0x0263, 0x11fb: 0x0263,
- 0x11fc: 0x0263, 0x11fd: 0x0266, 0x11fe: 0x0266, 0x11ff: 0x0266,
+ 0x11c0: 0x048f, 0x11c1: 0x049b, 0x11c2: 0x049f, 0x11c3: 0x04a3, 0x11c4: 0x04a7,
+ 0x11c7: 0x0077, 0x11c8: 0x007b, 0x11c9: 0x4269, 0x11ca: 0x4269, 0x11cb: 0x4269,
+ 0x11cc: 0x4269, 0x11cd: 0x007f, 0x11ce: 0x007f, 0x11cf: 0x007f, 0x11d0: 0x0019, 0x11d1: 0x0483,
+ 0x11d2: 0x001d, 0x11d4: 0x0037, 0x11d5: 0x0035, 0x11d6: 0x003f, 0x11d7: 0x0003,
+ 0x11d8: 0x0443, 0x11d9: 0x0011, 0x11da: 0x0013, 0x11db: 0x00b7, 0x11dc: 0x00bb, 0x11dd: 0x04b7,
+ 0x11de: 0x04bb, 0x11df: 0x0007, 0x11e0: 0x000d, 0x11e1: 0x0015, 0x11e2: 0x0017, 0x11e3: 0x001b,
+ 0x11e4: 0x0039, 0x11e5: 0x003d, 0x11e6: 0x003b, 0x11e8: 0x0079, 0x11e9: 0x0009,
+ 0x11ea: 0x000b, 0x11eb: 0x0041,
+ 0x11f0: 0x42aa, 0x11f1: 0x442c, 0x11f2: 0x42af, 0x11f4: 0x42b4,
+ 0x11f6: 0x42b9, 0x11f7: 0x4432, 0x11f8: 0x42be, 0x11f9: 0x4438, 0x11fa: 0x42c3, 0x11fb: 0x443e,
+ 0x11fc: 0x42c8, 0x11fd: 0x4444, 0x11fe: 0x42cd, 0x11ff: 0x444a,
// Block 0x48, offset 0x1200
- 0x1200: 0x0266, 0x1201: 0x0269, 0x1202: 0x0269, 0x1203: 0x0269, 0x1204: 0x0269, 0x1205: 0x026c,
- 0x1206: 0x026c, 0x1207: 0x026c, 0x1208: 0x026c, 0x1209: 0x026f, 0x120a: 0x026f, 0x120b: 0x026f,
- 0x120c: 0x026f, 0x120d: 0x0272, 0x120e: 0x0272, 0x120f: 0x0272, 0x1210: 0x0272, 0x1211: 0x0275,
- 0x1212: 0x0275, 0x1213: 0x0275, 0x1214: 0x0275, 0x1215: 0x0278, 0x1216: 0x0278, 0x1217: 0x0278,
- 0x1218: 0x0278, 0x1219: 0x027b, 0x121a: 0x027b, 0x121b: 0x027b, 0x121c: 0x027b, 0x121d: 0x027e,
- 0x121e: 0x027e, 0x121f: 0x027e, 0x1220: 0x027e, 0x1221: 0x0281, 0x1222: 0x0281, 0x1223: 0x0281,
- 0x1224: 0x0281, 0x1225: 0x0284, 0x1226: 0x0284, 0x1227: 0x0284, 0x1228: 0x0284, 0x1229: 0x0287,
- 0x122a: 0x0287, 0x122b: 0x0287, 0x122c: 0x0287, 0x122d: 0x028a, 0x122e: 0x028a, 0x122f: 0x028d,
- 0x1230: 0x028d, 0x1231: 0x0290, 0x1232: 0x0290, 0x1233: 0x0290, 0x1234: 0x0290, 0x1235: 0x2e00,
- 0x1236: 0x2e00, 0x1237: 0x2e08, 0x1238: 0x2e08, 0x1239: 0x2e10, 0x123a: 0x2e10, 0x123b: 0x1f82,
- 0x123c: 0x1f82,
+ 0x1200: 0x0236, 0x1201: 0x440e, 0x1202: 0x440e, 0x1203: 0x4414, 0x1204: 0x4414, 0x1205: 0x4456,
+ 0x1206: 0x4456, 0x1207: 0x441a, 0x1208: 0x441a, 0x1209: 0x4462, 0x120a: 0x4462, 0x120b: 0x4462,
+ 0x120c: 0x4462, 0x120d: 0x0239, 0x120e: 0x0239, 0x120f: 0x023c, 0x1210: 0x023c, 0x1211: 0x023c,
+ 0x1212: 0x023c, 0x1213: 0x023f, 0x1214: 0x023f, 0x1215: 0x0242, 0x1216: 0x0242, 0x1217: 0x0242,
+ 0x1218: 0x0242, 0x1219: 0x0245, 0x121a: 0x0245, 0x121b: 0x0245, 0x121c: 0x0245, 0x121d: 0x0248,
+ 0x121e: 0x0248, 0x121f: 0x0248, 0x1220: 0x0248, 0x1221: 0x024b, 0x1222: 0x024b, 0x1223: 0x024b,
+ 0x1224: 0x024b, 0x1225: 0x024e, 0x1226: 0x024e, 0x1227: 0x024e, 0x1228: 0x024e, 0x1229: 0x0251,
+ 0x122a: 0x0251, 0x122b: 0x0254, 0x122c: 0x0254, 0x122d: 0x0257, 0x122e: 0x0257, 0x122f: 0x025a,
+ 0x1230: 0x025a, 0x1231: 0x025d, 0x1232: 0x025d, 0x1233: 0x025d, 0x1234: 0x025d, 0x1235: 0x0260,
+ 0x1236: 0x0260, 0x1237: 0x0260, 0x1238: 0x0260, 0x1239: 0x0263, 0x123a: 0x0263, 0x123b: 0x0263,
+ 0x123c: 0x0263, 0x123d: 0x0266, 0x123e: 0x0266, 0x123f: 0x0266,
// Block 0x49, offset 0x1240
- 0x1240: 0x0081, 0x1241: 0x0083, 0x1242: 0x0085, 0x1243: 0x0087, 0x1244: 0x0089, 0x1245: 0x008b,
- 0x1246: 0x008d, 0x1247: 0x008f, 0x1248: 0x0091, 0x1249: 0x0093, 0x124a: 0x0095, 0x124b: 0x0097,
- 0x124c: 0x0099, 0x124d: 0x009b, 0x124e: 0x009d, 0x124f: 0x009f, 0x1250: 0x00a1, 0x1251: 0x00a3,
- 0x1252: 0x00a5, 0x1253: 0x00a7, 0x1254: 0x00a9, 0x1255: 0x00ab, 0x1256: 0x00ad, 0x1257: 0x00af,
- 0x1258: 0x00b1, 0x1259: 0x00b3, 0x125a: 0x00b5, 0x125b: 0x00b7, 0x125c: 0x00b9, 0x125d: 0x00bb,
- 0x125e: 0x00bd, 0x125f: 0x0477, 0x1260: 0x047b, 0x1261: 0x0487, 0x1262: 0x049b, 0x1263: 0x049f,
- 0x1264: 0x0483, 0x1265: 0x05ab, 0x1266: 0x05a3, 0x1267: 0x04c7, 0x1268: 0x04cf, 0x1269: 0x04d7,
- 0x126a: 0x04df, 0x126b: 0x04e7, 0x126c: 0x056b, 0x126d: 0x0573, 0x126e: 0x057b, 0x126f: 0x051f,
- 0x1270: 0x05af, 0x1271: 0x04cb, 0x1272: 0x04d3, 0x1273: 0x04db, 0x1274: 0x04e3, 0x1275: 0x04eb,
- 0x1276: 0x04ef, 0x1277: 0x04f3, 0x1278: 0x04f7, 0x1279: 0x04fb, 0x127a: 0x04ff, 0x127b: 0x0503,
- 0x127c: 0x0507, 0x127d: 0x050b, 0x127e: 0x050f, 0x127f: 0x0513,
+ 0x1240: 0x0266, 0x1241: 0x0269, 0x1242: 0x0269, 0x1243: 0x0269, 0x1244: 0x0269, 0x1245: 0x026c,
+ 0x1246: 0x026c, 0x1247: 0x026c, 0x1248: 0x026c, 0x1249: 0x026f, 0x124a: 0x026f, 0x124b: 0x026f,
+ 0x124c: 0x026f, 0x124d: 0x0272, 0x124e: 0x0272, 0x124f: 0x0272, 0x1250: 0x0272, 0x1251: 0x0275,
+ 0x1252: 0x0275, 0x1253: 0x0275, 0x1254: 0x0275, 0x1255: 0x0278, 0x1256: 0x0278, 0x1257: 0x0278,
+ 0x1258: 0x0278, 0x1259: 0x027b, 0x125a: 0x027b, 0x125b: 0x027b, 0x125c: 0x027b, 0x125d: 0x027e,
+ 0x125e: 0x027e, 0x125f: 0x027e, 0x1260: 0x027e, 0x1261: 0x0281, 0x1262: 0x0281, 0x1263: 0x0281,
+ 0x1264: 0x0281, 0x1265: 0x0284, 0x1266: 0x0284, 0x1267: 0x0284, 0x1268: 0x0284, 0x1269: 0x0287,
+ 0x126a: 0x0287, 0x126b: 0x0287, 0x126c: 0x0287, 0x126d: 0x028a, 0x126e: 0x028a, 0x126f: 0x028d,
+ 0x1270: 0x028d, 0x1271: 0x0290, 0x1272: 0x0290, 0x1273: 0x0290, 0x1274: 0x0290, 0x1275: 0x2e00,
+ 0x1276: 0x2e00, 0x1277: 0x2e08, 0x1278: 0x2e08, 0x1279: 0x2e10, 0x127a: 0x2e10, 0x127b: 0x1f82,
+ 0x127c: 0x1f82,
// Block 0x4a, offset 0x1280
- 0x1280: 0x0517, 0x1281: 0x051b, 0x1282: 0x0523, 0x1283: 0x0527, 0x1284: 0x052b, 0x1285: 0x052f,
- 0x1286: 0x0533, 0x1287: 0x0537, 0x1288: 0x053b, 0x1289: 0x053f, 0x128a: 0x0543, 0x128b: 0x0547,
- 0x128c: 0x054b, 0x128d: 0x054f, 0x128e: 0x0553, 0x128f: 0x0557, 0x1290: 0x055b, 0x1291: 0x055f,
- 0x1292: 0x0563, 0x1293: 0x0567, 0x1294: 0x056f, 0x1295: 0x0577, 0x1296: 0x057f, 0x1297: 0x0583,
- 0x1298: 0x0587, 0x1299: 0x058b, 0x129a: 0x058f, 0x129b: 0x0593, 0x129c: 0x0597, 0x129d: 0x05a7,
- 0x129e: 0x4a78, 0x129f: 0x4a7e, 0x12a0: 0x03c3, 0x12a1: 0x0313, 0x12a2: 0x0317, 0x12a3: 0x4a3b,
- 0x12a4: 0x031b, 0x12a5: 0x4a41, 0x12a6: 0x4a47, 0x12a7: 0x031f, 0x12a8: 0x0323, 0x12a9: 0x0327,
- 0x12aa: 0x4a4d, 0x12ab: 0x4a53, 0x12ac: 0x4a59, 0x12ad: 0x4a5f, 0x12ae: 0x4a65, 0x12af: 0x4a6b,
- 0x12b0: 0x0367, 0x12b1: 0x032b, 0x12b2: 0x032f, 0x12b3: 0x0333, 0x12b4: 0x037b, 0x12b5: 0x0337,
- 0x12b6: 0x033b, 0x12b7: 0x033f, 0x12b8: 0x0343, 0x12b9: 0x0347, 0x12ba: 0x034b, 0x12bb: 0x034f,
- 0x12bc: 0x0353, 0x12bd: 0x0357, 0x12be: 0x035b,
+ 0x1280: 0x0081, 0x1281: 0x0083, 0x1282: 0x0085, 0x1283: 0x0087, 0x1284: 0x0089, 0x1285: 0x008b,
+ 0x1286: 0x008d, 0x1287: 0x008f, 0x1288: 0x0091, 0x1289: 0x0093, 0x128a: 0x0095, 0x128b: 0x0097,
+ 0x128c: 0x0099, 0x128d: 0x009b, 0x128e: 0x009d, 0x128f: 0x009f, 0x1290: 0x00a1, 0x1291: 0x00a3,
+ 0x1292: 0x00a5, 0x1293: 0x00a7, 0x1294: 0x00a9, 0x1295: 0x00ab, 0x1296: 0x00ad, 0x1297: 0x00af,
+ 0x1298: 0x00b1, 0x1299: 0x00b3, 0x129a: 0x00b5, 0x129b: 0x00b7, 0x129c: 0x00b9, 0x129d: 0x00bb,
+ 0x129e: 0x00bd, 0x129f: 0x0477, 0x12a0: 0x047b, 0x12a1: 0x0487, 0x12a2: 0x049b, 0x12a3: 0x049f,
+ 0x12a4: 0x0483, 0x12a5: 0x05ab, 0x12a6: 0x05a3, 0x12a7: 0x04c7, 0x12a8: 0x04cf, 0x12a9: 0x04d7,
+ 0x12aa: 0x04df, 0x12ab: 0x04e7, 0x12ac: 0x056b, 0x12ad: 0x0573, 0x12ae: 0x057b, 0x12af: 0x051f,
+ 0x12b0: 0x05af, 0x12b1: 0x04cb, 0x12b2: 0x04d3, 0x12b3: 0x04db, 0x12b4: 0x04e3, 0x12b5: 0x04eb,
+ 0x12b6: 0x04ef, 0x12b7: 0x04f3, 0x12b8: 0x04f7, 0x12b9: 0x04fb, 0x12ba: 0x04ff, 0x12bb: 0x0503,
+ 0x12bc: 0x0507, 0x12bd: 0x050b, 0x12be: 0x050f, 0x12bf: 0x0513,
// Block 0x4b, offset 0x12c0
- 0x12c2: 0x49bd, 0x12c3: 0x49c3, 0x12c4: 0x49c9, 0x12c5: 0x49cf,
- 0x12c6: 0x49d5, 0x12c7: 0x49db, 0x12ca: 0x49e1, 0x12cb: 0x49e7,
- 0x12cc: 0x49ed, 0x12cd: 0x49f3, 0x12ce: 0x49f9, 0x12cf: 0x49ff,
- 0x12d2: 0x4a05, 0x12d3: 0x4a0b, 0x12d4: 0x4a11, 0x12d5: 0x4a17, 0x12d6: 0x4a1d, 0x12d7: 0x4a23,
- 0x12da: 0x4a29, 0x12db: 0x4a2f, 0x12dc: 0x4a35,
- 0x12e0: 0x00bf, 0x12e1: 0x00c2, 0x12e2: 0x00cb, 0x12e3: 0x4264,
- 0x12e4: 0x00c8, 0x12e5: 0x00c5, 0x12e6: 0x0447, 0x12e8: 0x046b, 0x12e9: 0x044b,
- 0x12ea: 0x044f, 0x12eb: 0x0453, 0x12ec: 0x0457, 0x12ed: 0x046f, 0x12ee: 0x0473,
+ 0x12c0: 0x0517, 0x12c1: 0x051b, 0x12c2: 0x0523, 0x12c3: 0x0527, 0x12c4: 0x052b, 0x12c5: 0x052f,
+ 0x12c6: 0x0533, 0x12c7: 0x0537, 0x12c8: 0x053b, 0x12c9: 0x053f, 0x12ca: 0x0543, 0x12cb: 0x0547,
+ 0x12cc: 0x054b, 0x12cd: 0x054f, 0x12ce: 0x0553, 0x12cf: 0x0557, 0x12d0: 0x055b, 0x12d1: 0x055f,
+ 0x12d2: 0x0563, 0x12d3: 0x0567, 0x12d4: 0x056f, 0x12d5: 0x0577, 0x12d6: 0x057f, 0x12d7: 0x0583,
+ 0x12d8: 0x0587, 0x12d9: 0x058b, 0x12da: 0x058f, 0x12db: 0x0593, 0x12dc: 0x0597, 0x12dd: 0x05a7,
+ 0x12de: 0x4a78, 0x12df: 0x4a7e, 0x12e0: 0x03c3, 0x12e1: 0x0313, 0x12e2: 0x0317, 0x12e3: 0x4a3b,
+ 0x12e4: 0x031b, 0x12e5: 0x4a41, 0x12e6: 0x4a47, 0x12e7: 0x031f, 0x12e8: 0x0323, 0x12e9: 0x0327,
+ 0x12ea: 0x4a4d, 0x12eb: 0x4a53, 0x12ec: 0x4a59, 0x12ed: 0x4a5f, 0x12ee: 0x4a65, 0x12ef: 0x4a6b,
+ 0x12f0: 0x0367, 0x12f1: 0x032b, 0x12f2: 0x032f, 0x12f3: 0x0333, 0x12f4: 0x037b, 0x12f5: 0x0337,
+ 0x12f6: 0x033b, 0x12f7: 0x033f, 0x12f8: 0x0343, 0x12f9: 0x0347, 0x12fa: 0x034b, 0x12fb: 0x034f,
+ 0x12fc: 0x0353, 0x12fd: 0x0357, 0x12fe: 0x035b,
// Block 0x4c, offset 0x1300
- 0x1300: 0x0063, 0x1301: 0x0065, 0x1302: 0x0067, 0x1303: 0x0069, 0x1304: 0x006b, 0x1305: 0x006d,
- 0x1306: 0x006f, 0x1307: 0x0071, 0x1308: 0x0073, 0x1309: 0x0075, 0x130a: 0x0083, 0x130b: 0x0085,
- 0x130c: 0x0087, 0x130d: 0x0089, 0x130e: 0x008b, 0x130f: 0x008d, 0x1310: 0x008f, 0x1311: 0x0091,
- 0x1312: 0x0093, 0x1313: 0x0095, 0x1314: 0x0097, 0x1315: 0x0099, 0x1316: 0x009b, 0x1317: 0x009d,
- 0x1318: 0x009f, 0x1319: 0x00a1, 0x131a: 0x00a3, 0x131b: 0x00a5, 0x131c: 0x00a7, 0x131d: 0x00a9,
- 0x131e: 0x00ab, 0x131f: 0x00ad, 0x1320: 0x00af, 0x1321: 0x00b1, 0x1322: 0x00b3, 0x1323: 0x00b5,
- 0x1324: 0x00dd, 0x1325: 0x00f2, 0x1328: 0x0173, 0x1329: 0x0176,
- 0x132a: 0x0179, 0x132b: 0x017c, 0x132c: 0x017f, 0x132d: 0x0182, 0x132e: 0x0185, 0x132f: 0x0188,
- 0x1330: 0x018b, 0x1331: 0x018e, 0x1332: 0x0191, 0x1333: 0x0194, 0x1334: 0x0197, 0x1335: 0x019a,
- 0x1336: 0x019d, 0x1337: 0x01a0, 0x1338: 0x01a3, 0x1339: 0x0188, 0x133a: 0x01a6, 0x133b: 0x01a9,
- 0x133c: 0x01ac, 0x133d: 0x01af, 0x133e: 0x01b2, 0x133f: 0x01b5,
+ 0x1302: 0x49bd, 0x1303: 0x49c3, 0x1304: 0x49c9, 0x1305: 0x49cf,
+ 0x1306: 0x49d5, 0x1307: 0x49db, 0x130a: 0x49e1, 0x130b: 0x49e7,
+ 0x130c: 0x49ed, 0x130d: 0x49f3, 0x130e: 0x49f9, 0x130f: 0x49ff,
+ 0x1312: 0x4a05, 0x1313: 0x4a0b, 0x1314: 0x4a11, 0x1315: 0x4a17, 0x1316: 0x4a1d, 0x1317: 0x4a23,
+ 0x131a: 0x4a29, 0x131b: 0x4a2f, 0x131c: 0x4a35,
+ 0x1320: 0x00bf, 0x1321: 0x00c2, 0x1322: 0x00cb, 0x1323: 0x4264,
+ 0x1324: 0x00c8, 0x1325: 0x00c5, 0x1326: 0x0447, 0x1328: 0x046b, 0x1329: 0x044b,
+ 0x132a: 0x044f, 0x132b: 0x0453, 0x132c: 0x0457, 0x132d: 0x046f, 0x132e: 0x0473,
// Block 0x4d, offset 0x1340
- 0x1340: 0x01fd, 0x1341: 0x0200, 0x1342: 0x0203, 0x1343: 0x045b, 0x1344: 0x01c7, 0x1345: 0x01d0,
- 0x1346: 0x01d6, 0x1347: 0x01fa, 0x1348: 0x01eb, 0x1349: 0x01e8, 0x134a: 0x0206, 0x134b: 0x0209,
- 0x134e: 0x0021, 0x134f: 0x0023, 0x1350: 0x0025, 0x1351: 0x0027,
- 0x1352: 0x0029, 0x1353: 0x002b, 0x1354: 0x002d, 0x1355: 0x002f, 0x1356: 0x0031, 0x1357: 0x0033,
- 0x1358: 0x0021, 0x1359: 0x0023, 0x135a: 0x0025, 0x135b: 0x0027, 0x135c: 0x0029, 0x135d: 0x002b,
- 0x135e: 0x002d, 0x135f: 0x002f, 0x1360: 0x0031, 0x1361: 0x0033, 0x1362: 0x0021, 0x1363: 0x0023,
- 0x1364: 0x0025, 0x1365: 0x0027, 0x1366: 0x0029, 0x1367: 0x002b, 0x1368: 0x002d, 0x1369: 0x002f,
- 0x136a: 0x0031, 0x136b: 0x0033, 0x136c: 0x0021, 0x136d: 0x0023, 0x136e: 0x0025, 0x136f: 0x0027,
- 0x1370: 0x0029, 0x1371: 0x002b, 0x1372: 0x002d, 0x1373: 0x002f, 0x1374: 0x0031, 0x1375: 0x0033,
- 0x1376: 0x0021, 0x1377: 0x0023, 0x1378: 0x0025, 0x1379: 0x0027, 0x137a: 0x0029, 0x137b: 0x002b,
- 0x137c: 0x002d, 0x137d: 0x002f, 0x137e: 0x0031, 0x137f: 0x0033,
+ 0x1340: 0x0063, 0x1341: 0x0065, 0x1342: 0x0067, 0x1343: 0x0069, 0x1344: 0x006b, 0x1345: 0x006d,
+ 0x1346: 0x006f, 0x1347: 0x0071, 0x1348: 0x0073, 0x1349: 0x0075, 0x134a: 0x0083, 0x134b: 0x0085,
+ 0x134c: 0x0087, 0x134d: 0x0089, 0x134e: 0x008b, 0x134f: 0x008d, 0x1350: 0x008f, 0x1351: 0x0091,
+ 0x1352: 0x0093, 0x1353: 0x0095, 0x1354: 0x0097, 0x1355: 0x0099, 0x1356: 0x009b, 0x1357: 0x009d,
+ 0x1358: 0x009f, 0x1359: 0x00a1, 0x135a: 0x00a3, 0x135b: 0x00a5, 0x135c: 0x00a7, 0x135d: 0x00a9,
+ 0x135e: 0x00ab, 0x135f: 0x00ad, 0x1360: 0x00af, 0x1361: 0x00b1, 0x1362: 0x00b3, 0x1363: 0x00b5,
+ 0x1364: 0x00dd, 0x1365: 0x00f2, 0x1368: 0x0173, 0x1369: 0x0176,
+ 0x136a: 0x0179, 0x136b: 0x017c, 0x136c: 0x017f, 0x136d: 0x0182, 0x136e: 0x0185, 0x136f: 0x0188,
+ 0x1370: 0x018b, 0x1371: 0x018e, 0x1372: 0x0191, 0x1373: 0x0194, 0x1374: 0x0197, 0x1375: 0x019a,
+ 0x1376: 0x019d, 0x1377: 0x01a0, 0x1378: 0x01a3, 0x1379: 0x0188, 0x137a: 0x01a6, 0x137b: 0x01a9,
+ 0x137c: 0x01ac, 0x137d: 0x01af, 0x137e: 0x01b2, 0x137f: 0x01b5,
// Block 0x4e, offset 0x1380
- 0x1380: 0x0239, 0x1381: 0x023c, 0x1382: 0x0248, 0x1383: 0x0251, 0x1385: 0x028a,
- 0x1386: 0x025a, 0x1387: 0x024b, 0x1388: 0x0269, 0x1389: 0x0290, 0x138a: 0x027b, 0x138b: 0x027e,
- 0x138c: 0x0281, 0x138d: 0x0284, 0x138e: 0x025d, 0x138f: 0x026f, 0x1390: 0x0275, 0x1391: 0x0263,
- 0x1392: 0x0278, 0x1393: 0x0257, 0x1394: 0x0260, 0x1395: 0x0242, 0x1396: 0x0245, 0x1397: 0x024e,
- 0x1398: 0x0254, 0x1399: 0x0266, 0x139a: 0x026c, 0x139b: 0x0272, 0x139c: 0x0293, 0x139d: 0x02e4,
- 0x139e: 0x02cc, 0x139f: 0x0296, 0x13a1: 0x023c, 0x13a2: 0x0248,
- 0x13a4: 0x0287, 0x13a7: 0x024b, 0x13a9: 0x0290,
- 0x13aa: 0x027b, 0x13ab: 0x027e, 0x13ac: 0x0281, 0x13ad: 0x0284, 0x13ae: 0x025d, 0x13af: 0x026f,
- 0x13b0: 0x0275, 0x13b1: 0x0263, 0x13b2: 0x0278, 0x13b4: 0x0260, 0x13b5: 0x0242,
- 0x13b6: 0x0245, 0x13b7: 0x024e, 0x13b9: 0x0266, 0x13bb: 0x0272,
+ 0x1380: 0x01fd, 0x1381: 0x0200, 0x1382: 0x0203, 0x1383: 0x045b, 0x1384: 0x01c7, 0x1385: 0x01d0,
+ 0x1386: 0x01d6, 0x1387: 0x01fa, 0x1388: 0x01eb, 0x1389: 0x01e8, 0x138a: 0x0206, 0x138b: 0x0209,
+ 0x138e: 0x0021, 0x138f: 0x0023, 0x1390: 0x0025, 0x1391: 0x0027,
+ 0x1392: 0x0029, 0x1393: 0x002b, 0x1394: 0x002d, 0x1395: 0x002f, 0x1396: 0x0031, 0x1397: 0x0033,
+ 0x1398: 0x0021, 0x1399: 0x0023, 0x139a: 0x0025, 0x139b: 0x0027, 0x139c: 0x0029, 0x139d: 0x002b,
+ 0x139e: 0x002d, 0x139f: 0x002f, 0x13a0: 0x0031, 0x13a1: 0x0033, 0x13a2: 0x0021, 0x13a3: 0x0023,
+ 0x13a4: 0x0025, 0x13a5: 0x0027, 0x13a6: 0x0029, 0x13a7: 0x002b, 0x13a8: 0x002d, 0x13a9: 0x002f,
+ 0x13aa: 0x0031, 0x13ab: 0x0033, 0x13ac: 0x0021, 0x13ad: 0x0023, 0x13ae: 0x0025, 0x13af: 0x0027,
+ 0x13b0: 0x0029, 0x13b1: 0x002b, 0x13b2: 0x002d, 0x13b3: 0x002f, 0x13b4: 0x0031, 0x13b5: 0x0033,
+ 0x13b6: 0x0021, 0x13b7: 0x0023, 0x13b8: 0x0025, 0x13b9: 0x0027, 0x13ba: 0x0029, 0x13bb: 0x002b,
+ 0x13bc: 0x002d, 0x13bd: 0x002f, 0x13be: 0x0031, 0x13bf: 0x0033,
// Block 0x4f, offset 0x13c0
- 0x13c2: 0x0248,
- 0x13c7: 0x024b, 0x13c9: 0x0290, 0x13cb: 0x027e,
- 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d1: 0x0263,
- 0x13d2: 0x0278, 0x13d4: 0x0260, 0x13d7: 0x024e,
- 0x13d9: 0x0266, 0x13db: 0x0272, 0x13dd: 0x02e4,
- 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248,
- 0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e8: 0x0269, 0x13e9: 0x0290,
- 0x13ea: 0x027b, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f,
+ 0x13c0: 0x0239, 0x13c1: 0x023c, 0x13c2: 0x0248, 0x13c3: 0x0251, 0x13c5: 0x028a,
+ 0x13c6: 0x025a, 0x13c7: 0x024b, 0x13c8: 0x0269, 0x13c9: 0x0290, 0x13ca: 0x027b, 0x13cb: 0x027e,
+ 0x13cc: 0x0281, 0x13cd: 0x0284, 0x13ce: 0x025d, 0x13cf: 0x026f, 0x13d0: 0x0275, 0x13d1: 0x0263,
+ 0x13d2: 0x0278, 0x13d3: 0x0257, 0x13d4: 0x0260, 0x13d5: 0x0242, 0x13d6: 0x0245, 0x13d7: 0x024e,
+ 0x13d8: 0x0254, 0x13d9: 0x0266, 0x13da: 0x026c, 0x13db: 0x0272, 0x13dc: 0x0293, 0x13dd: 0x02e4,
+ 0x13de: 0x02cc, 0x13df: 0x0296, 0x13e1: 0x023c, 0x13e2: 0x0248,
+ 0x13e4: 0x0287, 0x13e7: 0x024b, 0x13e9: 0x0290,
+ 0x13ea: 0x027b, 0x13eb: 0x027e, 0x13ec: 0x0281, 0x13ed: 0x0284, 0x13ee: 0x025d, 0x13ef: 0x026f,
0x13f0: 0x0275, 0x13f1: 0x0263, 0x13f2: 0x0278, 0x13f4: 0x0260, 0x13f5: 0x0242,
- 0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fa: 0x026c, 0x13fb: 0x0272,
- 0x13fc: 0x0293, 0x13fe: 0x02cc,
+ 0x13f6: 0x0245, 0x13f7: 0x024e, 0x13f9: 0x0266, 0x13fb: 0x0272,
// Block 0x50, offset 0x1400
- 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1404: 0x0287, 0x1405: 0x028a,
- 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140b: 0x027e,
- 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263,
- 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e,
- 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272,
- 0x1421: 0x023c, 0x1422: 0x0248, 0x1423: 0x0251,
- 0x1425: 0x028a, 0x1426: 0x025a, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290,
- 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f,
- 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1433: 0x0257, 0x1434: 0x0260, 0x1435: 0x0242,
- 0x1436: 0x0245, 0x1437: 0x024e, 0x1438: 0x0254, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272,
+ 0x1402: 0x0248,
+ 0x1407: 0x024b, 0x1409: 0x0290, 0x140b: 0x027e,
+ 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1411: 0x0263,
+ 0x1412: 0x0278, 0x1414: 0x0260, 0x1417: 0x024e,
+ 0x1419: 0x0266, 0x141b: 0x0272, 0x141d: 0x02e4,
+ 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248,
+ 0x1424: 0x0287, 0x1427: 0x024b, 0x1428: 0x0269, 0x1429: 0x0290,
+ 0x142a: 0x027b, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f,
+ 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242,
+ 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143a: 0x026c, 0x143b: 0x0272,
+ 0x143c: 0x0293, 0x143e: 0x02cc,
// Block 0x51, offset 0x1440
- 0x1440: 0x1879, 0x1441: 0x1876, 0x1442: 0x187c, 0x1443: 0x18a0, 0x1444: 0x18c4, 0x1445: 0x18e8,
- 0x1446: 0x190c, 0x1447: 0x1915, 0x1448: 0x191b, 0x1449: 0x1921, 0x144a: 0x1927,
- 0x1450: 0x1a8c, 0x1451: 0x1a90,
- 0x1452: 0x1a94, 0x1453: 0x1a98, 0x1454: 0x1a9c, 0x1455: 0x1aa0, 0x1456: 0x1aa4, 0x1457: 0x1aa8,
- 0x1458: 0x1aac, 0x1459: 0x1ab0, 0x145a: 0x1ab4, 0x145b: 0x1ab8, 0x145c: 0x1abc, 0x145d: 0x1ac0,
- 0x145e: 0x1ac4, 0x145f: 0x1ac8, 0x1460: 0x1acc, 0x1461: 0x1ad0, 0x1462: 0x1ad4, 0x1463: 0x1ad8,
- 0x1464: 0x1adc, 0x1465: 0x1ae0, 0x1466: 0x1ae4, 0x1467: 0x1ae8, 0x1468: 0x1aec, 0x1469: 0x1af0,
- 0x146a: 0x271e, 0x146b: 0x0047, 0x146c: 0x0065, 0x146d: 0x193c, 0x146e: 0x19b1,
- 0x1470: 0x0043, 0x1471: 0x0045, 0x1472: 0x0047, 0x1473: 0x0049, 0x1474: 0x004b, 0x1475: 0x004d,
- 0x1476: 0x004f, 0x1477: 0x0051, 0x1478: 0x0053, 0x1479: 0x0055, 0x147a: 0x0057, 0x147b: 0x0059,
- 0x147c: 0x005b, 0x147d: 0x005d, 0x147e: 0x005f, 0x147f: 0x0061,
+ 0x1440: 0x0239, 0x1441: 0x023c, 0x1442: 0x0248, 0x1443: 0x0251, 0x1444: 0x0287, 0x1445: 0x028a,
+ 0x1446: 0x025a, 0x1447: 0x024b, 0x1448: 0x0269, 0x1449: 0x0290, 0x144b: 0x027e,
+ 0x144c: 0x0281, 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1450: 0x0275, 0x1451: 0x0263,
+ 0x1452: 0x0278, 0x1453: 0x0257, 0x1454: 0x0260, 0x1455: 0x0242, 0x1456: 0x0245, 0x1457: 0x024e,
+ 0x1458: 0x0254, 0x1459: 0x0266, 0x145a: 0x026c, 0x145b: 0x0272,
+ 0x1461: 0x023c, 0x1462: 0x0248, 0x1463: 0x0251,
+ 0x1465: 0x028a, 0x1466: 0x025a, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290,
+ 0x146b: 0x027e, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f,
+ 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1473: 0x0257, 0x1474: 0x0260, 0x1475: 0x0242,
+ 0x1476: 0x0245, 0x1477: 0x024e, 0x1478: 0x0254, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272,
// Block 0x52, offset 0x1480
- 0x1480: 0x26ad, 0x1481: 0x26c2, 0x1482: 0x0503,
- 0x1490: 0x0c0f, 0x1491: 0x0a47,
- 0x1492: 0x08d3, 0x1493: 0x45c4, 0x1494: 0x071b, 0x1495: 0x09ef, 0x1496: 0x132f, 0x1497: 0x09ff,
- 0x1498: 0x0727, 0x1499: 0x0cd7, 0x149a: 0x0eaf, 0x149b: 0x0caf, 0x149c: 0x0827, 0x149d: 0x0b6b,
- 0x149e: 0x07bf, 0x149f: 0x0cb7, 0x14a0: 0x0813, 0x14a1: 0x1117, 0x14a2: 0x0f83, 0x14a3: 0x138b,
- 0x14a4: 0x09d3, 0x14a5: 0x090b, 0x14a6: 0x0e63, 0x14a7: 0x0c1b, 0x14a8: 0x0c47, 0x14a9: 0x06bf,
- 0x14aa: 0x06cb, 0x14ab: 0x140b, 0x14ac: 0x0adb, 0x14ad: 0x06e7, 0x14ae: 0x08ef, 0x14af: 0x0c3b,
- 0x14b0: 0x13b3, 0x14b1: 0x0c13, 0x14b2: 0x106f, 0x14b3: 0x10ab, 0x14b4: 0x08f7, 0x14b5: 0x0e43,
- 0x14b6: 0x0d0b, 0x14b7: 0x0d07, 0x14b8: 0x0f97, 0x14b9: 0x082b, 0x14ba: 0x0957, 0x14bb: 0x1443,
+ 0x1480: 0x1879, 0x1481: 0x1876, 0x1482: 0x187c, 0x1483: 0x18a0, 0x1484: 0x18c4, 0x1485: 0x18e8,
+ 0x1486: 0x190c, 0x1487: 0x1915, 0x1488: 0x191b, 0x1489: 0x1921, 0x148a: 0x1927,
+ 0x1490: 0x1a8c, 0x1491: 0x1a90,
+ 0x1492: 0x1a94, 0x1493: 0x1a98, 0x1494: 0x1a9c, 0x1495: 0x1aa0, 0x1496: 0x1aa4, 0x1497: 0x1aa8,
+ 0x1498: 0x1aac, 0x1499: 0x1ab0, 0x149a: 0x1ab4, 0x149b: 0x1ab8, 0x149c: 0x1abc, 0x149d: 0x1ac0,
+ 0x149e: 0x1ac4, 0x149f: 0x1ac8, 0x14a0: 0x1acc, 0x14a1: 0x1ad0, 0x14a2: 0x1ad4, 0x14a3: 0x1ad8,
+ 0x14a4: 0x1adc, 0x14a5: 0x1ae0, 0x14a6: 0x1ae4, 0x14a7: 0x1ae8, 0x14a8: 0x1aec, 0x14a9: 0x1af0,
+ 0x14aa: 0x271e, 0x14ab: 0x0047, 0x14ac: 0x0065, 0x14ad: 0x193c, 0x14ae: 0x19b1,
+ 0x14b0: 0x0043, 0x14b1: 0x0045, 0x14b2: 0x0047, 0x14b3: 0x0049, 0x14b4: 0x004b, 0x14b5: 0x004d,
+ 0x14b6: 0x004f, 0x14b7: 0x0051, 0x14b8: 0x0053, 0x14b9: 0x0055, 0x14ba: 0x0057, 0x14bb: 0x0059,
+ 0x14bc: 0x005b, 0x14bd: 0x005d, 0x14be: 0x005f, 0x14bf: 0x0061,
// Block 0x53, offset 0x14c0
- 0x14c0: 0x06fb, 0x14c1: 0x06f3, 0x14c2: 0x0703, 0x14c3: 0x1647, 0x14c4: 0x0747, 0x14c5: 0x0757,
- 0x14c6: 0x075b, 0x14c7: 0x0763, 0x14c8: 0x076b, 0x14c9: 0x076f, 0x14ca: 0x077b, 0x14cb: 0x0773,
- 0x14cc: 0x05b3, 0x14cd: 0x165b, 0x14ce: 0x078f, 0x14cf: 0x0793, 0x14d0: 0x0797, 0x14d1: 0x07b3,
- 0x14d2: 0x164c, 0x14d3: 0x05b7, 0x14d4: 0x079f, 0x14d5: 0x07bf, 0x14d6: 0x1656, 0x14d7: 0x07cf,
- 0x14d8: 0x07d7, 0x14d9: 0x0737, 0x14da: 0x07df, 0x14db: 0x07e3, 0x14dc: 0x1831, 0x14dd: 0x07ff,
- 0x14de: 0x0807, 0x14df: 0x05bf, 0x14e0: 0x081f, 0x14e1: 0x0823, 0x14e2: 0x082b, 0x14e3: 0x082f,
- 0x14e4: 0x05c3, 0x14e5: 0x0847, 0x14e6: 0x084b, 0x14e7: 0x0857, 0x14e8: 0x0863, 0x14e9: 0x0867,
- 0x14ea: 0x086b, 0x14eb: 0x0873, 0x14ec: 0x0893, 0x14ed: 0x0897, 0x14ee: 0x089f, 0x14ef: 0x08af,
- 0x14f0: 0x08b7, 0x14f1: 0x08bb, 0x14f2: 0x08bb, 0x14f3: 0x08bb, 0x14f4: 0x166a, 0x14f5: 0x0e93,
- 0x14f6: 0x08cf, 0x14f7: 0x08d7, 0x14f8: 0x166f, 0x14f9: 0x08e3, 0x14fa: 0x08eb, 0x14fb: 0x08f3,
- 0x14fc: 0x091b, 0x14fd: 0x0907, 0x14fe: 0x0913, 0x14ff: 0x0917,
+ 0x14c0: 0x26ad, 0x14c1: 0x26c2, 0x14c2: 0x0503,
+ 0x14d0: 0x0c0f, 0x14d1: 0x0a47,
+ 0x14d2: 0x08d3, 0x14d3: 0x45c4, 0x14d4: 0x071b, 0x14d5: 0x09ef, 0x14d6: 0x132f, 0x14d7: 0x09ff,
+ 0x14d8: 0x0727, 0x14d9: 0x0cd7, 0x14da: 0x0eaf, 0x14db: 0x0caf, 0x14dc: 0x0827, 0x14dd: 0x0b6b,
+ 0x14de: 0x07bf, 0x14df: 0x0cb7, 0x14e0: 0x0813, 0x14e1: 0x1117, 0x14e2: 0x0f83, 0x14e3: 0x138b,
+ 0x14e4: 0x09d3, 0x14e5: 0x090b, 0x14e6: 0x0e63, 0x14e7: 0x0c1b, 0x14e8: 0x0c47, 0x14e9: 0x06bf,
+ 0x14ea: 0x06cb, 0x14eb: 0x140b, 0x14ec: 0x0adb, 0x14ed: 0x06e7, 0x14ee: 0x08ef, 0x14ef: 0x0c3b,
+ 0x14f0: 0x13b3, 0x14f1: 0x0c13, 0x14f2: 0x106f, 0x14f3: 0x10ab, 0x14f4: 0x08f7, 0x14f5: 0x0e43,
+ 0x14f6: 0x0d0b, 0x14f7: 0x0d07, 0x14f8: 0x0f97, 0x14f9: 0x082b, 0x14fa: 0x0957, 0x14fb: 0x1443,
// Block 0x54, offset 0x1500
- 0x1500: 0x091f, 0x1501: 0x0927, 0x1502: 0x092b, 0x1503: 0x0933, 0x1504: 0x093b, 0x1505: 0x093f,
- 0x1506: 0x093f, 0x1507: 0x0947, 0x1508: 0x094f, 0x1509: 0x0953, 0x150a: 0x095f, 0x150b: 0x0983,
- 0x150c: 0x0967, 0x150d: 0x0987, 0x150e: 0x096b, 0x150f: 0x0973, 0x1510: 0x080b, 0x1511: 0x09cf,
- 0x1512: 0x0997, 0x1513: 0x099b, 0x1514: 0x099f, 0x1515: 0x0993, 0x1516: 0x09a7, 0x1517: 0x09a3,
- 0x1518: 0x09bb, 0x1519: 0x1674, 0x151a: 0x09d7, 0x151b: 0x09db, 0x151c: 0x09e3, 0x151d: 0x09ef,
- 0x151e: 0x09f7, 0x151f: 0x0a13, 0x1520: 0x1679, 0x1521: 0x167e, 0x1522: 0x0a1f, 0x1523: 0x0a23,
- 0x1524: 0x0a27, 0x1525: 0x0a1b, 0x1526: 0x0a2f, 0x1527: 0x05c7, 0x1528: 0x05cb, 0x1529: 0x0a37,
- 0x152a: 0x0a3f, 0x152b: 0x0a3f, 0x152c: 0x1683, 0x152d: 0x0a5b, 0x152e: 0x0a5f, 0x152f: 0x0a63,
- 0x1530: 0x0a6b, 0x1531: 0x1688, 0x1532: 0x0a73, 0x1533: 0x0a77, 0x1534: 0x0b4f, 0x1535: 0x0a7f,
- 0x1536: 0x05cf, 0x1537: 0x0a8b, 0x1538: 0x0a9b, 0x1539: 0x0aa7, 0x153a: 0x0aa3, 0x153b: 0x1692,
- 0x153c: 0x0aaf, 0x153d: 0x1697, 0x153e: 0x0abb, 0x153f: 0x0ab7,
+ 0x1500: 0x06fb, 0x1501: 0x06f3, 0x1502: 0x0703, 0x1503: 0x1647, 0x1504: 0x0747, 0x1505: 0x0757,
+ 0x1506: 0x075b, 0x1507: 0x0763, 0x1508: 0x076b, 0x1509: 0x076f, 0x150a: 0x077b, 0x150b: 0x0773,
+ 0x150c: 0x05b3, 0x150d: 0x165b, 0x150e: 0x078f, 0x150f: 0x0793, 0x1510: 0x0797, 0x1511: 0x07b3,
+ 0x1512: 0x164c, 0x1513: 0x05b7, 0x1514: 0x079f, 0x1515: 0x07bf, 0x1516: 0x1656, 0x1517: 0x07cf,
+ 0x1518: 0x07d7, 0x1519: 0x0737, 0x151a: 0x07df, 0x151b: 0x07e3, 0x151c: 0x1831, 0x151d: 0x07ff,
+ 0x151e: 0x0807, 0x151f: 0x05bf, 0x1520: 0x081f, 0x1521: 0x0823, 0x1522: 0x082b, 0x1523: 0x082f,
+ 0x1524: 0x05c3, 0x1525: 0x0847, 0x1526: 0x084b, 0x1527: 0x0857, 0x1528: 0x0863, 0x1529: 0x0867,
+ 0x152a: 0x086b, 0x152b: 0x0873, 0x152c: 0x0893, 0x152d: 0x0897, 0x152e: 0x089f, 0x152f: 0x08af,
+ 0x1530: 0x08b7, 0x1531: 0x08bb, 0x1532: 0x08bb, 0x1533: 0x08bb, 0x1534: 0x166a, 0x1535: 0x0e93,
+ 0x1536: 0x08cf, 0x1537: 0x08d7, 0x1538: 0x166f, 0x1539: 0x08e3, 0x153a: 0x08eb, 0x153b: 0x08f3,
+ 0x153c: 0x091b, 0x153d: 0x0907, 0x153e: 0x0913, 0x153f: 0x0917,
// Block 0x55, offset 0x1540
- 0x1540: 0x0abf, 0x1541: 0x0acf, 0x1542: 0x0ad3, 0x1543: 0x05d3, 0x1544: 0x0ae3, 0x1545: 0x0aeb,
- 0x1546: 0x0aef, 0x1547: 0x0af3, 0x1548: 0x05d7, 0x1549: 0x169c, 0x154a: 0x05db, 0x154b: 0x0b0f,
- 0x154c: 0x0b13, 0x154d: 0x0b17, 0x154e: 0x0b1f, 0x154f: 0x1863, 0x1550: 0x0b37, 0x1551: 0x16a6,
- 0x1552: 0x16a6, 0x1553: 0x11d7, 0x1554: 0x0b47, 0x1555: 0x0b47, 0x1556: 0x05df, 0x1557: 0x16c9,
- 0x1558: 0x179b, 0x1559: 0x0b57, 0x155a: 0x0b5f, 0x155b: 0x05e3, 0x155c: 0x0b73, 0x155d: 0x0b83,
- 0x155e: 0x0b87, 0x155f: 0x0b8f, 0x1560: 0x0b9f, 0x1561: 0x05eb, 0x1562: 0x05e7, 0x1563: 0x0ba3,
- 0x1564: 0x16ab, 0x1565: 0x0ba7, 0x1566: 0x0bbb, 0x1567: 0x0bbf, 0x1568: 0x0bc3, 0x1569: 0x0bbf,
- 0x156a: 0x0bcf, 0x156b: 0x0bd3, 0x156c: 0x0be3, 0x156d: 0x0bdb, 0x156e: 0x0bdf, 0x156f: 0x0be7,
- 0x1570: 0x0beb, 0x1571: 0x0bef, 0x1572: 0x0bfb, 0x1573: 0x0bff, 0x1574: 0x0c17, 0x1575: 0x0c1f,
- 0x1576: 0x0c2f, 0x1577: 0x0c43, 0x1578: 0x16ba, 0x1579: 0x0c3f, 0x157a: 0x0c33, 0x157b: 0x0c4b,
- 0x157c: 0x0c53, 0x157d: 0x0c67, 0x157e: 0x16bf, 0x157f: 0x0c6f,
+ 0x1540: 0x091f, 0x1541: 0x0927, 0x1542: 0x092b, 0x1543: 0x0933, 0x1544: 0x093b, 0x1545: 0x093f,
+ 0x1546: 0x093f, 0x1547: 0x0947, 0x1548: 0x094f, 0x1549: 0x0953, 0x154a: 0x095f, 0x154b: 0x0983,
+ 0x154c: 0x0967, 0x154d: 0x0987, 0x154e: 0x096b, 0x154f: 0x0973, 0x1550: 0x080b, 0x1551: 0x09cf,
+ 0x1552: 0x0997, 0x1553: 0x099b, 0x1554: 0x099f, 0x1555: 0x0993, 0x1556: 0x09a7, 0x1557: 0x09a3,
+ 0x1558: 0x09bb, 0x1559: 0x1674, 0x155a: 0x09d7, 0x155b: 0x09db, 0x155c: 0x09e3, 0x155d: 0x09ef,
+ 0x155e: 0x09f7, 0x155f: 0x0a13, 0x1560: 0x1679, 0x1561: 0x167e, 0x1562: 0x0a1f, 0x1563: 0x0a23,
+ 0x1564: 0x0a27, 0x1565: 0x0a1b, 0x1566: 0x0a2f, 0x1567: 0x05c7, 0x1568: 0x05cb, 0x1569: 0x0a37,
+ 0x156a: 0x0a3f, 0x156b: 0x0a3f, 0x156c: 0x1683, 0x156d: 0x0a5b, 0x156e: 0x0a5f, 0x156f: 0x0a63,
+ 0x1570: 0x0a6b, 0x1571: 0x1688, 0x1572: 0x0a73, 0x1573: 0x0a77, 0x1574: 0x0b4f, 0x1575: 0x0a7f,
+ 0x1576: 0x05cf, 0x1577: 0x0a8b, 0x1578: 0x0a9b, 0x1579: 0x0aa7, 0x157a: 0x0aa3, 0x157b: 0x1692,
+ 0x157c: 0x0aaf, 0x157d: 0x1697, 0x157e: 0x0abb, 0x157f: 0x0ab7,
// Block 0x56, offset 0x1580
- 0x1580: 0x0c63, 0x1581: 0x0c5b, 0x1582: 0x05ef, 0x1583: 0x0c77, 0x1584: 0x0c7f, 0x1585: 0x0c87,
- 0x1586: 0x0c7b, 0x1587: 0x05f3, 0x1588: 0x0c97, 0x1589: 0x0c9f, 0x158a: 0x16c4, 0x158b: 0x0ccb,
- 0x158c: 0x0cff, 0x158d: 0x0cdb, 0x158e: 0x05ff, 0x158f: 0x0ce7, 0x1590: 0x05fb, 0x1591: 0x05f7,
- 0x1592: 0x07c3, 0x1593: 0x07c7, 0x1594: 0x0d03, 0x1595: 0x0ceb, 0x1596: 0x11ab, 0x1597: 0x0663,
- 0x1598: 0x0d0f, 0x1599: 0x0d13, 0x159a: 0x0d17, 0x159b: 0x0d2b, 0x159c: 0x0d23, 0x159d: 0x16dd,
- 0x159e: 0x0603, 0x159f: 0x0d3f, 0x15a0: 0x0d33, 0x15a1: 0x0d4f, 0x15a2: 0x0d57, 0x15a3: 0x16e7,
- 0x15a4: 0x0d5b, 0x15a5: 0x0d47, 0x15a6: 0x0d63, 0x15a7: 0x0607, 0x15a8: 0x0d67, 0x15a9: 0x0d6b,
- 0x15aa: 0x0d6f, 0x15ab: 0x0d7b, 0x15ac: 0x16ec, 0x15ad: 0x0d83, 0x15ae: 0x060b, 0x15af: 0x0d8f,
- 0x15b0: 0x16f1, 0x15b1: 0x0d93, 0x15b2: 0x060f, 0x15b3: 0x0d9f, 0x15b4: 0x0dab, 0x15b5: 0x0db7,
- 0x15b6: 0x0dbb, 0x15b7: 0x16f6, 0x15b8: 0x168d, 0x15b9: 0x16fb, 0x15ba: 0x0ddb, 0x15bb: 0x1700,
- 0x15bc: 0x0de7, 0x15bd: 0x0def, 0x15be: 0x0ddf, 0x15bf: 0x0dfb,
+ 0x1580: 0x0abf, 0x1581: 0x0acf, 0x1582: 0x0ad3, 0x1583: 0x05d3, 0x1584: 0x0ae3, 0x1585: 0x0aeb,
+ 0x1586: 0x0aef, 0x1587: 0x0af3, 0x1588: 0x05d7, 0x1589: 0x169c, 0x158a: 0x05db, 0x158b: 0x0b0f,
+ 0x158c: 0x0b13, 0x158d: 0x0b17, 0x158e: 0x0b1f, 0x158f: 0x1863, 0x1590: 0x0b37, 0x1591: 0x16a6,
+ 0x1592: 0x16a6, 0x1593: 0x11d7, 0x1594: 0x0b47, 0x1595: 0x0b47, 0x1596: 0x05df, 0x1597: 0x16c9,
+ 0x1598: 0x179b, 0x1599: 0x0b57, 0x159a: 0x0b5f, 0x159b: 0x05e3, 0x159c: 0x0b73, 0x159d: 0x0b83,
+ 0x159e: 0x0b87, 0x159f: 0x0b8f, 0x15a0: 0x0b9f, 0x15a1: 0x05eb, 0x15a2: 0x05e7, 0x15a3: 0x0ba3,
+ 0x15a4: 0x16ab, 0x15a5: 0x0ba7, 0x15a6: 0x0bbb, 0x15a7: 0x0bbf, 0x15a8: 0x0bc3, 0x15a9: 0x0bbf,
+ 0x15aa: 0x0bcf, 0x15ab: 0x0bd3, 0x15ac: 0x0be3, 0x15ad: 0x0bdb, 0x15ae: 0x0bdf, 0x15af: 0x0be7,
+ 0x15b0: 0x0beb, 0x15b1: 0x0bef, 0x15b2: 0x0bfb, 0x15b3: 0x0bff, 0x15b4: 0x0c17, 0x15b5: 0x0c1f,
+ 0x15b6: 0x0c2f, 0x15b7: 0x0c43, 0x15b8: 0x16ba, 0x15b9: 0x0c3f, 0x15ba: 0x0c33, 0x15bb: 0x0c4b,
+ 0x15bc: 0x0c53, 0x15bd: 0x0c67, 0x15be: 0x16bf, 0x15bf: 0x0c6f,
// Block 0x57, offset 0x15c0
- 0x15c0: 0x0e0b, 0x15c1: 0x0e1b, 0x15c2: 0x0e0f, 0x15c3: 0x0e13, 0x15c4: 0x0e1f, 0x15c5: 0x0e23,
- 0x15c6: 0x1705, 0x15c7: 0x0e07, 0x15c8: 0x0e3b, 0x15c9: 0x0e3f, 0x15ca: 0x0613, 0x15cb: 0x0e53,
- 0x15cc: 0x0e4f, 0x15cd: 0x170a, 0x15ce: 0x0e33, 0x15cf: 0x0e6f, 0x15d0: 0x170f, 0x15d1: 0x1714,
- 0x15d2: 0x0e73, 0x15d3: 0x0e87, 0x15d4: 0x0e83, 0x15d5: 0x0e7f, 0x15d6: 0x0617, 0x15d7: 0x0e8b,
- 0x15d8: 0x0e9b, 0x15d9: 0x0e97, 0x15da: 0x0ea3, 0x15db: 0x1651, 0x15dc: 0x0eb3, 0x15dd: 0x1719,
- 0x15de: 0x0ebf, 0x15df: 0x1723, 0x15e0: 0x0ed3, 0x15e1: 0x0edf, 0x15e2: 0x0ef3, 0x15e3: 0x1728,
- 0x15e4: 0x0f07, 0x15e5: 0x0f0b, 0x15e6: 0x172d, 0x15e7: 0x1732, 0x15e8: 0x0f27, 0x15e9: 0x0f37,
- 0x15ea: 0x061b, 0x15eb: 0x0f3b, 0x15ec: 0x061f, 0x15ed: 0x061f, 0x15ee: 0x0f53, 0x15ef: 0x0f57,
- 0x15f0: 0x0f5f, 0x15f1: 0x0f63, 0x15f2: 0x0f6f, 0x15f3: 0x0623, 0x15f4: 0x0f87, 0x15f5: 0x1737,
- 0x15f6: 0x0fa3, 0x15f7: 0x173c, 0x15f8: 0x0faf, 0x15f9: 0x16a1, 0x15fa: 0x0fbf, 0x15fb: 0x1741,
- 0x15fc: 0x1746, 0x15fd: 0x174b, 0x15fe: 0x0627, 0x15ff: 0x062b,
+ 0x15c0: 0x0c63, 0x15c1: 0x0c5b, 0x15c2: 0x05ef, 0x15c3: 0x0c77, 0x15c4: 0x0c7f, 0x15c5: 0x0c87,
+ 0x15c6: 0x0c7b, 0x15c7: 0x05f3, 0x15c8: 0x0c97, 0x15c9: 0x0c9f, 0x15ca: 0x16c4, 0x15cb: 0x0ccb,
+ 0x15cc: 0x0cff, 0x15cd: 0x0cdb, 0x15ce: 0x05ff, 0x15cf: 0x0ce7, 0x15d0: 0x05fb, 0x15d1: 0x05f7,
+ 0x15d2: 0x07c3, 0x15d3: 0x07c7, 0x15d4: 0x0d03, 0x15d5: 0x0ceb, 0x15d6: 0x11ab, 0x15d7: 0x0663,
+ 0x15d8: 0x0d0f, 0x15d9: 0x0d13, 0x15da: 0x0d17, 0x15db: 0x0d2b, 0x15dc: 0x0d23, 0x15dd: 0x16dd,
+ 0x15de: 0x0603, 0x15df: 0x0d3f, 0x15e0: 0x0d33, 0x15e1: 0x0d4f, 0x15e2: 0x0d57, 0x15e3: 0x16e7,
+ 0x15e4: 0x0d5b, 0x15e5: 0x0d47, 0x15e6: 0x0d63, 0x15e7: 0x0607, 0x15e8: 0x0d67, 0x15e9: 0x0d6b,
+ 0x15ea: 0x0d6f, 0x15eb: 0x0d7b, 0x15ec: 0x16ec, 0x15ed: 0x0d83, 0x15ee: 0x060b, 0x15ef: 0x0d8f,
+ 0x15f0: 0x16f1, 0x15f1: 0x0d93, 0x15f2: 0x060f, 0x15f3: 0x0d9f, 0x15f4: 0x0dab, 0x15f5: 0x0db7,
+ 0x15f6: 0x0dbb, 0x15f7: 0x16f6, 0x15f8: 0x168d, 0x15f9: 0x16fb, 0x15fa: 0x0ddb, 0x15fb: 0x1700,
+ 0x15fc: 0x0de7, 0x15fd: 0x0def, 0x15fe: 0x0ddf, 0x15ff: 0x0dfb,
// Block 0x58, offset 0x1600
- 0x1600: 0x0ff7, 0x1601: 0x1755, 0x1602: 0x1750, 0x1603: 0x175a, 0x1604: 0x175f, 0x1605: 0x0fff,
- 0x1606: 0x1003, 0x1607: 0x1003, 0x1608: 0x100b, 0x1609: 0x0633, 0x160a: 0x100f, 0x160b: 0x0637,
- 0x160c: 0x063b, 0x160d: 0x1769, 0x160e: 0x1023, 0x160f: 0x102b, 0x1610: 0x1037, 0x1611: 0x063f,
- 0x1612: 0x176e, 0x1613: 0x105b, 0x1614: 0x1773, 0x1615: 0x1778, 0x1616: 0x107b, 0x1617: 0x1093,
- 0x1618: 0x0643, 0x1619: 0x109b, 0x161a: 0x109f, 0x161b: 0x10a3, 0x161c: 0x177d, 0x161d: 0x1782,
- 0x161e: 0x1782, 0x161f: 0x10bb, 0x1620: 0x0647, 0x1621: 0x1787, 0x1622: 0x10cf, 0x1623: 0x10d3,
- 0x1624: 0x064b, 0x1625: 0x178c, 0x1626: 0x10ef, 0x1627: 0x064f, 0x1628: 0x10ff, 0x1629: 0x10f7,
- 0x162a: 0x1107, 0x162b: 0x1796, 0x162c: 0x111f, 0x162d: 0x0653, 0x162e: 0x112b, 0x162f: 0x1133,
- 0x1630: 0x1143, 0x1631: 0x0657, 0x1632: 0x17a0, 0x1633: 0x17a5, 0x1634: 0x065b, 0x1635: 0x17aa,
- 0x1636: 0x115b, 0x1637: 0x17af, 0x1638: 0x1167, 0x1639: 0x1173, 0x163a: 0x117b, 0x163b: 0x17b4,
- 0x163c: 0x17b9, 0x163d: 0x118f, 0x163e: 0x17be, 0x163f: 0x1197,
+ 0x1600: 0x0e0b, 0x1601: 0x0e1b, 0x1602: 0x0e0f, 0x1603: 0x0e13, 0x1604: 0x0e1f, 0x1605: 0x0e23,
+ 0x1606: 0x1705, 0x1607: 0x0e07, 0x1608: 0x0e3b, 0x1609: 0x0e3f, 0x160a: 0x0613, 0x160b: 0x0e53,
+ 0x160c: 0x0e4f, 0x160d: 0x170a, 0x160e: 0x0e33, 0x160f: 0x0e6f, 0x1610: 0x170f, 0x1611: 0x1714,
+ 0x1612: 0x0e73, 0x1613: 0x0e87, 0x1614: 0x0e83, 0x1615: 0x0e7f, 0x1616: 0x0617, 0x1617: 0x0e8b,
+ 0x1618: 0x0e9b, 0x1619: 0x0e97, 0x161a: 0x0ea3, 0x161b: 0x1651, 0x161c: 0x0eb3, 0x161d: 0x1719,
+ 0x161e: 0x0ebf, 0x161f: 0x1723, 0x1620: 0x0ed3, 0x1621: 0x0edf, 0x1622: 0x0ef3, 0x1623: 0x1728,
+ 0x1624: 0x0f07, 0x1625: 0x0f0b, 0x1626: 0x172d, 0x1627: 0x1732, 0x1628: 0x0f27, 0x1629: 0x0f37,
+ 0x162a: 0x061b, 0x162b: 0x0f3b, 0x162c: 0x061f, 0x162d: 0x061f, 0x162e: 0x0f53, 0x162f: 0x0f57,
+ 0x1630: 0x0f5f, 0x1631: 0x0f63, 0x1632: 0x0f6f, 0x1633: 0x0623, 0x1634: 0x0f87, 0x1635: 0x1737,
+ 0x1636: 0x0fa3, 0x1637: 0x173c, 0x1638: 0x0faf, 0x1639: 0x16a1, 0x163a: 0x0fbf, 0x163b: 0x1741,
+ 0x163c: 0x1746, 0x163d: 0x174b, 0x163e: 0x0627, 0x163f: 0x062b,
// Block 0x59, offset 0x1640
- 0x1640: 0x16ce, 0x1641: 0x065f, 0x1642: 0x11af, 0x1643: 0x11b3, 0x1644: 0x0667, 0x1645: 0x11b7,
- 0x1646: 0x0a33, 0x1647: 0x17c3, 0x1648: 0x17c8, 0x1649: 0x16d3, 0x164a: 0x16d8, 0x164b: 0x11d7,
- 0x164c: 0x11db, 0x164d: 0x13f3, 0x164e: 0x066b, 0x164f: 0x1207, 0x1650: 0x1203, 0x1651: 0x120b,
- 0x1652: 0x083f, 0x1653: 0x120f, 0x1654: 0x1213, 0x1655: 0x1217, 0x1656: 0x121f, 0x1657: 0x17cd,
- 0x1658: 0x121b, 0x1659: 0x1223, 0x165a: 0x1237, 0x165b: 0x123b, 0x165c: 0x1227, 0x165d: 0x123f,
- 0x165e: 0x1253, 0x165f: 0x1267, 0x1660: 0x1233, 0x1661: 0x1247, 0x1662: 0x124b, 0x1663: 0x124f,
- 0x1664: 0x17d2, 0x1665: 0x17dc, 0x1666: 0x17d7, 0x1667: 0x066f, 0x1668: 0x126f, 0x1669: 0x1273,
- 0x166a: 0x127b, 0x166b: 0x17f0, 0x166c: 0x127f, 0x166d: 0x17e1, 0x166e: 0x0673, 0x166f: 0x0677,
- 0x1670: 0x17e6, 0x1671: 0x17eb, 0x1672: 0x067b, 0x1673: 0x129f, 0x1674: 0x12a3, 0x1675: 0x12a7,
- 0x1676: 0x12ab, 0x1677: 0x12b7, 0x1678: 0x12b3, 0x1679: 0x12bf, 0x167a: 0x12bb, 0x167b: 0x12cb,
- 0x167c: 0x12c3, 0x167d: 0x12c7, 0x167e: 0x12cf, 0x167f: 0x067f,
+ 0x1640: 0x0ff7, 0x1641: 0x1755, 0x1642: 0x1750, 0x1643: 0x175a, 0x1644: 0x175f, 0x1645: 0x0fff,
+ 0x1646: 0x1003, 0x1647: 0x1003, 0x1648: 0x100b, 0x1649: 0x0633, 0x164a: 0x100f, 0x164b: 0x0637,
+ 0x164c: 0x063b, 0x164d: 0x1769, 0x164e: 0x1023, 0x164f: 0x102b, 0x1650: 0x1037, 0x1651: 0x063f,
+ 0x1652: 0x176e, 0x1653: 0x105b, 0x1654: 0x1773, 0x1655: 0x1778, 0x1656: 0x107b, 0x1657: 0x1093,
+ 0x1658: 0x0643, 0x1659: 0x109b, 0x165a: 0x109f, 0x165b: 0x10a3, 0x165c: 0x177d, 0x165d: 0x1782,
+ 0x165e: 0x1782, 0x165f: 0x10bb, 0x1660: 0x0647, 0x1661: 0x1787, 0x1662: 0x10cf, 0x1663: 0x10d3,
+ 0x1664: 0x064b, 0x1665: 0x178c, 0x1666: 0x10ef, 0x1667: 0x064f, 0x1668: 0x10ff, 0x1669: 0x10f7,
+ 0x166a: 0x1107, 0x166b: 0x1796, 0x166c: 0x111f, 0x166d: 0x0653, 0x166e: 0x112b, 0x166f: 0x1133,
+ 0x1670: 0x1143, 0x1671: 0x0657, 0x1672: 0x17a0, 0x1673: 0x17a5, 0x1674: 0x065b, 0x1675: 0x17aa,
+ 0x1676: 0x115b, 0x1677: 0x17af, 0x1678: 0x1167, 0x1679: 0x1173, 0x167a: 0x117b, 0x167b: 0x17b4,
+ 0x167c: 0x17b9, 0x167d: 0x118f, 0x167e: 0x17be, 0x167f: 0x1197,
// Block 0x5a, offset 0x1680
- 0x1680: 0x12d7, 0x1681: 0x12db, 0x1682: 0x0683, 0x1683: 0x12eb, 0x1684: 0x12ef, 0x1685: 0x17f5,
- 0x1686: 0x12fb, 0x1687: 0x12ff, 0x1688: 0x0687, 0x1689: 0x130b, 0x168a: 0x05bb, 0x168b: 0x17fa,
- 0x168c: 0x17ff, 0x168d: 0x068b, 0x168e: 0x068f, 0x168f: 0x1337, 0x1690: 0x134f, 0x1691: 0x136b,
- 0x1692: 0x137b, 0x1693: 0x1804, 0x1694: 0x138f, 0x1695: 0x1393, 0x1696: 0x13ab, 0x1697: 0x13b7,
- 0x1698: 0x180e, 0x1699: 0x1660, 0x169a: 0x13c3, 0x169b: 0x13bf, 0x169c: 0x13cb, 0x169d: 0x1665,
- 0x169e: 0x13d7, 0x169f: 0x13e3, 0x16a0: 0x1813, 0x16a1: 0x1818, 0x16a2: 0x1423, 0x16a3: 0x142f,
- 0x16a4: 0x1437, 0x16a5: 0x181d, 0x16a6: 0x143b, 0x16a7: 0x1467, 0x16a8: 0x1473, 0x16a9: 0x1477,
- 0x16aa: 0x146f, 0x16ab: 0x1483, 0x16ac: 0x1487, 0x16ad: 0x1822, 0x16ae: 0x1493, 0x16af: 0x0693,
- 0x16b0: 0x149b, 0x16b1: 0x1827, 0x16b2: 0x0697, 0x16b3: 0x14d3, 0x16b4: 0x0ac3, 0x16b5: 0x14eb,
- 0x16b6: 0x182c, 0x16b7: 0x1836, 0x16b8: 0x069b, 0x16b9: 0x069f, 0x16ba: 0x1513, 0x16bb: 0x183b,
- 0x16bc: 0x06a3, 0x16bd: 0x1840, 0x16be: 0x152b, 0x16bf: 0x152b,
+ 0x1680: 0x16ce, 0x1681: 0x065f, 0x1682: 0x11af, 0x1683: 0x11b3, 0x1684: 0x0667, 0x1685: 0x11b7,
+ 0x1686: 0x0a33, 0x1687: 0x17c3, 0x1688: 0x17c8, 0x1689: 0x16d3, 0x168a: 0x16d8, 0x168b: 0x11d7,
+ 0x168c: 0x11db, 0x168d: 0x13f3, 0x168e: 0x066b, 0x168f: 0x1207, 0x1690: 0x1203, 0x1691: 0x120b,
+ 0x1692: 0x083f, 0x1693: 0x120f, 0x1694: 0x1213, 0x1695: 0x1217, 0x1696: 0x121f, 0x1697: 0x17cd,
+ 0x1698: 0x121b, 0x1699: 0x1223, 0x169a: 0x1237, 0x169b: 0x123b, 0x169c: 0x1227, 0x169d: 0x123f,
+ 0x169e: 0x1253, 0x169f: 0x1267, 0x16a0: 0x1233, 0x16a1: 0x1247, 0x16a2: 0x124b, 0x16a3: 0x124f,
+ 0x16a4: 0x17d2, 0x16a5: 0x17dc, 0x16a6: 0x17d7, 0x16a7: 0x066f, 0x16a8: 0x126f, 0x16a9: 0x1273,
+ 0x16aa: 0x127b, 0x16ab: 0x17f0, 0x16ac: 0x127f, 0x16ad: 0x17e1, 0x16ae: 0x0673, 0x16af: 0x0677,
+ 0x16b0: 0x17e6, 0x16b1: 0x17eb, 0x16b2: 0x067b, 0x16b3: 0x129f, 0x16b4: 0x12a3, 0x16b5: 0x12a7,
+ 0x16b6: 0x12ab, 0x16b7: 0x12b7, 0x16b8: 0x12b3, 0x16b9: 0x12bf, 0x16ba: 0x12bb, 0x16bb: 0x12cb,
+ 0x16bc: 0x12c3, 0x16bd: 0x12c7, 0x16be: 0x12cf, 0x16bf: 0x067f,
// Block 0x5b, offset 0x16c0
- 0x16c0: 0x1533, 0x16c1: 0x1845, 0x16c2: 0x154b, 0x16c3: 0x06a7, 0x16c4: 0x155b, 0x16c5: 0x1567,
- 0x16c6: 0x156f, 0x16c7: 0x1577, 0x16c8: 0x06ab, 0x16c9: 0x184a, 0x16ca: 0x158b, 0x16cb: 0x15a7,
- 0x16cc: 0x15b3, 0x16cd: 0x06af, 0x16ce: 0x06b3, 0x16cf: 0x15b7, 0x16d0: 0x184f, 0x16d1: 0x06b7,
- 0x16d2: 0x1854, 0x16d3: 0x1859, 0x16d4: 0x185e, 0x16d5: 0x15db, 0x16d6: 0x06bb, 0x16d7: 0x15ef,
- 0x16d8: 0x15f7, 0x16d9: 0x15fb, 0x16da: 0x1603, 0x16db: 0x160b, 0x16dc: 0x1613, 0x16dd: 0x1868,
+ 0x16c0: 0x12d7, 0x16c1: 0x12db, 0x16c2: 0x0683, 0x16c3: 0x12eb, 0x16c4: 0x12ef, 0x16c5: 0x17f5,
+ 0x16c6: 0x12fb, 0x16c7: 0x12ff, 0x16c8: 0x0687, 0x16c9: 0x130b, 0x16ca: 0x05bb, 0x16cb: 0x17fa,
+ 0x16cc: 0x17ff, 0x16cd: 0x068b, 0x16ce: 0x068f, 0x16cf: 0x1337, 0x16d0: 0x134f, 0x16d1: 0x136b,
+ 0x16d2: 0x137b, 0x16d3: 0x1804, 0x16d4: 0x138f, 0x16d5: 0x1393, 0x16d6: 0x13ab, 0x16d7: 0x13b7,
+ 0x16d8: 0x180e, 0x16d9: 0x1660, 0x16da: 0x13c3, 0x16db: 0x13bf, 0x16dc: 0x13cb, 0x16dd: 0x1665,
+ 0x16de: 0x13d7, 0x16df: 0x13e3, 0x16e0: 0x1813, 0x16e1: 0x1818, 0x16e2: 0x1423, 0x16e3: 0x142f,
+ 0x16e4: 0x1437, 0x16e5: 0x181d, 0x16e6: 0x143b, 0x16e7: 0x1467, 0x16e8: 0x1473, 0x16e9: 0x1477,
+ 0x16ea: 0x146f, 0x16eb: 0x1483, 0x16ec: 0x1487, 0x16ed: 0x1822, 0x16ee: 0x1493, 0x16ef: 0x0693,
+ 0x16f0: 0x149b, 0x16f1: 0x1827, 0x16f2: 0x0697, 0x16f3: 0x14d3, 0x16f4: 0x0ac3, 0x16f5: 0x14eb,
+ 0x16f6: 0x182c, 0x16f7: 0x1836, 0x16f8: 0x069b, 0x16f9: 0x069f, 0x16fa: 0x1513, 0x16fb: 0x183b,
+ 0x16fc: 0x06a3, 0x16fd: 0x1840, 0x16fe: 0x152b, 0x16ff: 0x152b,
+ // Block 0x5c, offset 0x1700
+ 0x1700: 0x1533, 0x1701: 0x1845, 0x1702: 0x154b, 0x1703: 0x06a7, 0x1704: 0x155b, 0x1705: 0x1567,
+ 0x1706: 0x156f, 0x1707: 0x1577, 0x1708: 0x06ab, 0x1709: 0x184a, 0x170a: 0x158b, 0x170b: 0x15a7,
+ 0x170c: 0x15b3, 0x170d: 0x06af, 0x170e: 0x06b3, 0x170f: 0x15b7, 0x1710: 0x184f, 0x1711: 0x06b7,
+ 0x1712: 0x1854, 0x1713: 0x1859, 0x1714: 0x185e, 0x1715: 0x15db, 0x1716: 0x06bb, 0x1717: 0x15ef,
+ 0x1718: 0x15f7, 0x1719: 0x15fb, 0x171a: 0x1603, 0x171b: 0x160b, 0x171c: 0x1613, 0x171d: 0x1868,
}
// nfkcIndex: 22 blocks, 1408 entries, 1408 bytes
@@ -5548,36 +5570,36 @@ var nfkcIndex = [1408]uint8{
// Block 0x1, offset 0x40
// Block 0x2, offset 0x80
// Block 0x3, offset 0xc0
- 0xc2: 0x5a, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5b, 0xc7: 0x04,
- 0xc8: 0x05, 0xca: 0x5c, 0xcb: 0x5d, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09,
- 0xd0: 0x0a, 0xd1: 0x5e, 0xd2: 0x5f, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x60,
- 0xd8: 0x61, 0xd9: 0x0d, 0xdb: 0x62, 0xdc: 0x63, 0xdd: 0x64, 0xdf: 0x65,
+ 0xc2: 0x5b, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5c, 0xc7: 0x04,
+ 0xc8: 0x05, 0xca: 0x5d, 0xcb: 0x5e, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09,
+ 0xd0: 0x0a, 0xd1: 0x5f, 0xd2: 0x60, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x61,
+ 0xd8: 0x62, 0xd9: 0x0d, 0xdb: 0x63, 0xdc: 0x64, 0xdd: 0x65, 0xdf: 0x66,
0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05,
0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a,
0xf0: 0x13,
// Block 0x4, offset 0x100
- 0x120: 0x66, 0x121: 0x67, 0x123: 0x68, 0x124: 0x69, 0x125: 0x6a, 0x126: 0x6b, 0x127: 0x6c,
- 0x128: 0x6d, 0x129: 0x6e, 0x12a: 0x6f, 0x12b: 0x70, 0x12c: 0x6b, 0x12d: 0x71, 0x12e: 0x72, 0x12f: 0x73,
- 0x131: 0x74, 0x132: 0x75, 0x133: 0x76, 0x134: 0x77, 0x135: 0x78, 0x137: 0x79,
- 0x138: 0x7a, 0x139: 0x7b, 0x13a: 0x7c, 0x13b: 0x7d, 0x13c: 0x7e, 0x13d: 0x7f, 0x13e: 0x80, 0x13f: 0x81,
+ 0x120: 0x67, 0x121: 0x68, 0x123: 0x69, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d,
+ 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74,
+ 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a,
+ 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82,
// Block 0x5, offset 0x140
- 0x140: 0x82, 0x142: 0x83, 0x143: 0x84, 0x144: 0x85, 0x145: 0x86, 0x146: 0x87, 0x147: 0x88,
- 0x14d: 0x89,
- 0x15c: 0x8a, 0x15f: 0x8b,
- 0x162: 0x8c, 0x164: 0x8d,
- 0x168: 0x8e, 0x169: 0x8f, 0x16a: 0x90, 0x16c: 0x0e, 0x16d: 0x91, 0x16e: 0x92, 0x16f: 0x93,
- 0x170: 0x94, 0x173: 0x95, 0x174: 0x96, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x97,
- 0x178: 0x11, 0x179: 0x12, 0x17a: 0x13, 0x17b: 0x14, 0x17c: 0x15, 0x17d: 0x16, 0x17e: 0x17, 0x17f: 0x18,
+ 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89,
+ 0x14d: 0x8a,
+ 0x15c: 0x8b, 0x15f: 0x8c,
+ 0x162: 0x8d, 0x164: 0x8e,
+ 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0e, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94,
+ 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x0f, 0x176: 0x10, 0x177: 0x11,
+ 0x178: 0x12, 0x179: 0x13, 0x17a: 0x14, 0x17b: 0x15, 0x17c: 0x16, 0x17d: 0x17, 0x17e: 0x18, 0x17f: 0x19,
// Block 0x6, offset 0x180
- 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x19, 0x185: 0x1a, 0x186: 0x9c, 0x187: 0x9d,
- 0x188: 0x9e, 0x189: 0x1b, 0x18a: 0x1c, 0x18b: 0x9f, 0x18c: 0xa0,
- 0x191: 0x1d, 0x192: 0x1e, 0x193: 0xa1,
+ 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1a, 0x185: 0x1b, 0x186: 0x9c, 0x187: 0x9d,
+ 0x188: 0x9e, 0x189: 0x1c, 0x18a: 0x1d, 0x18b: 0x9f, 0x18c: 0xa0,
+ 0x191: 0x1e, 0x192: 0x1f, 0x193: 0xa1,
0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4,
0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8,
- 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x1f, 0x1bd: 0x20, 0x1be: 0x21, 0x1bf: 0xab,
+ 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x20, 0x1bd: 0x21, 0x1be: 0x22, 0x1bf: 0xab,
// Block 0x7, offset 0x1c0
- 0x1c0: 0xac, 0x1c1: 0x22, 0x1c2: 0x23, 0x1c3: 0x24, 0x1c4: 0xad, 0x1c5: 0x25, 0x1c6: 0x26,
- 0x1c8: 0x27, 0x1c9: 0x28, 0x1ca: 0x29, 0x1cb: 0x2a, 0x1cc: 0x2b, 0x1cd: 0x2c, 0x1ce: 0x2d, 0x1cf: 0x2e,
+ 0x1c0: 0xac, 0x1c1: 0x23, 0x1c2: 0x24, 0x1c3: 0x25, 0x1c4: 0xad, 0x1c5: 0x26, 0x1c6: 0x27,
+ 0x1c8: 0x28, 0x1c9: 0x29, 0x1ca: 0x2a, 0x1cb: 0x2b, 0x1cc: 0x2c, 0x1cd: 0x2d, 0x1ce: 0x2e, 0x1cf: 0x2f,
// Block 0x8, offset 0x200
0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2,
0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8,
@@ -5608,50 +5630,51 @@ var nfkcIndex = [1408]uint8{
0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3,
0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4,
// Block 0xc, offset 0x300
- 0x324: 0x2f, 0x325: 0x30, 0x326: 0x31, 0x327: 0x32,
- 0x328: 0x33, 0x329: 0x34, 0x32a: 0x35, 0x32b: 0x36, 0x32c: 0x37, 0x32d: 0x38, 0x32e: 0x39, 0x32f: 0x3a,
- 0x330: 0x3b, 0x331: 0x3c, 0x332: 0x3d, 0x333: 0x3e, 0x334: 0x3f, 0x335: 0x40, 0x336: 0x41, 0x337: 0x42,
- 0x338: 0x43, 0x339: 0x44, 0x33a: 0x45, 0x33b: 0x46, 0x33c: 0xc5, 0x33d: 0x47, 0x33e: 0x48, 0x33f: 0x49,
+ 0x324: 0x30, 0x325: 0x31, 0x326: 0x32, 0x327: 0x33,
+ 0x328: 0x34, 0x329: 0x35, 0x32a: 0x36, 0x32b: 0x37, 0x32c: 0x38, 0x32d: 0x39, 0x32e: 0x3a, 0x32f: 0x3b,
+ 0x330: 0x3c, 0x331: 0x3d, 0x332: 0x3e, 0x333: 0x3f, 0x334: 0x40, 0x335: 0x41, 0x336: 0x42, 0x337: 0x43,
+ 0x338: 0x44, 0x339: 0x45, 0x33a: 0x46, 0x33b: 0x47, 0x33c: 0xc5, 0x33d: 0x48, 0x33e: 0x49, 0x33f: 0x4a,
// Block 0xd, offset 0x340
0x347: 0xc6,
0x34b: 0xc7, 0x34d: 0xc8,
0x368: 0xc9, 0x36b: 0xca,
// Block 0xe, offset 0x380
0x381: 0xcb, 0x382: 0xcc, 0x384: 0xcd, 0x385: 0xb7, 0x387: 0xce,
- 0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6b, 0x38d: 0xd1,
+ 0x388: 0xcf, 0x38b: 0xd0, 0x38c: 0x6c, 0x38d: 0xd1,
0x391: 0xd2, 0x392: 0xd3, 0x393: 0xd4, 0x396: 0xd5, 0x397: 0xd6,
0x398: 0xd7, 0x39a: 0xd8, 0x39c: 0xd9,
- 0x3b0: 0xd7,
+ 0x3a8: 0xda, 0x3a9: 0xdb, 0x3aa: 0xdc,
+ 0x3b0: 0xd7, 0x3b5: 0xdd,
// Block 0xf, offset 0x3c0
- 0x3eb: 0xda, 0x3ec: 0xdb,
+ 0x3eb: 0xde, 0x3ec: 0xdf,
// Block 0x10, offset 0x400
- 0x432: 0xdc,
+ 0x432: 0xe0,
// Block 0x11, offset 0x440
- 0x445: 0xdd, 0x446: 0xde, 0x447: 0xdf,
- 0x449: 0xe0,
- 0x450: 0xe1, 0x451: 0xe2, 0x452: 0xe3, 0x453: 0xe4, 0x454: 0xe5, 0x455: 0xe6, 0x456: 0xe7, 0x457: 0xe8,
- 0x458: 0xe9, 0x459: 0xea, 0x45a: 0x4a, 0x45b: 0xeb, 0x45c: 0xec, 0x45d: 0xed, 0x45e: 0xee, 0x45f: 0x4b,
+ 0x445: 0xe1, 0x446: 0xe2, 0x447: 0xe3,
+ 0x449: 0xe4,
+ 0x450: 0xe5, 0x451: 0xe6, 0x452: 0xe7, 0x453: 0xe8, 0x454: 0xe9, 0x455: 0xea, 0x456: 0xeb, 0x457: 0xec,
+ 0x458: 0xed, 0x459: 0xee, 0x45a: 0x4b, 0x45b: 0xef, 0x45c: 0xf0, 0x45d: 0xf1, 0x45e: 0xf2, 0x45f: 0x4c,
// Block 0x12, offset 0x480
- 0x480: 0xef,
- 0x4a3: 0xf0, 0x4a5: 0xf1,
- 0x4b8: 0x4c, 0x4b9: 0x4d, 0x4ba: 0x4e,
+ 0x480: 0xf3,
+ 0x4a3: 0xf4, 0x4a5: 0xf5,
+ 0x4b8: 0x4d, 0x4b9: 0x4e, 0x4ba: 0x4f,
// Block 0x13, offset 0x4c0
- 0x4c4: 0x4f, 0x4c5: 0xf2, 0x4c6: 0xf3,
- 0x4c8: 0x50, 0x4c9: 0xf4,
+ 0x4c4: 0x50, 0x4c5: 0xf6, 0x4c6: 0xf7,
+ 0x4c8: 0x51, 0x4c9: 0xf8,
// Block 0x14, offset 0x500
- 0x520: 0x51, 0x521: 0x52, 0x522: 0x53, 0x523: 0x54, 0x524: 0x55, 0x525: 0x56, 0x526: 0x57, 0x527: 0x58,
- 0x528: 0x59,
+ 0x520: 0x52, 0x521: 0x53, 0x522: 0x54, 0x523: 0x55, 0x524: 0x56, 0x525: 0x57, 0x526: 0x58, 0x527: 0x59,
+ 0x528: 0x5a,
// Block 0x15, offset 0x540
0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d,
0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11,
0x56f: 0x12,
}
-// nfkcSparseOffset: 155 entries, 310 bytes
-var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd4, 0xdb, 0xe3, 0xe7, 0xe9, 0xec, 0xf0, 0xf6, 0x107, 0x113, 0x115, 0x11b, 0x11d, 0x11f, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12c, 0x12f, 0x131, 0x134, 0x137, 0x13b, 0x140, 0x149, 0x14b, 0x14e, 0x150, 0x15b, 0x166, 0x176, 0x184, 0x192, 0x1a2, 0x1b0, 0x1b7, 0x1bd, 0x1cc, 0x1d0, 0x1d2, 0x1d6, 0x1d8, 0x1db, 0x1dd, 0x1e0, 0x1e2, 0x1e5, 0x1e7, 0x1e9, 0x1eb, 0x1f7, 0x201, 0x20b, 0x20e, 0x212, 0x214, 0x216, 0x218, 0x21a, 0x21d, 0x21f, 0x221, 0x223, 0x225, 0x22b, 0x22e, 0x232, 0x234, 0x23b, 0x241, 0x247, 0x24f, 0x255, 0x25b, 0x261, 0x265, 0x267, 0x269, 0x26b, 0x26d, 0x273, 0x276, 0x279, 0x281, 0x288, 0x28b, 0x28e, 0x290, 0x298, 0x29b, 0x2a2, 0x2a5, 0x2ab, 0x2ad, 0x2af, 0x2b2, 0x2b4, 0x2b6, 0x2b8, 0x2ba, 0x2c7, 0x2d1, 0x2d3, 0x2d5, 0x2d9, 0x2de, 0x2ea, 0x2ef, 0x2f8, 0x2fe, 0x303, 0x307, 0x30c, 0x310, 0x320, 0x32e, 0x33c, 0x34a, 0x350, 0x352, 0x355, 0x35f, 0x361}
+// nfkcSparseOffset: 158 entries, 316 bytes
+var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x6f, 0x74, 0x76, 0x87, 0x8f, 0x96, 0x99, 0xa0, 0xa4, 0xa8, 0xaa, 0xac, 0xb5, 0xb9, 0xc0, 0xc5, 0xc8, 0xd2, 0xd5, 0xdc, 0xe4, 0xe8, 0xea, 0xed, 0xf1, 0xf7, 0x108, 0x114, 0x116, 0x11c, 0x11e, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12a, 0x12d, 0x130, 0x132, 0x135, 0x138, 0x13c, 0x141, 0x14a, 0x14c, 0x14f, 0x151, 0x15c, 0x167, 0x175, 0x183, 0x193, 0x1a1, 0x1a8, 0x1ae, 0x1bd, 0x1c1, 0x1c3, 0x1c7, 0x1c9, 0x1cc, 0x1ce, 0x1d1, 0x1d3, 0x1d6, 0x1d8, 0x1da, 0x1dc, 0x1e8, 0x1f2, 0x1fc, 0x1ff, 0x203, 0x205, 0x207, 0x209, 0x20b, 0x20e, 0x210, 0x212, 0x214, 0x216, 0x21c, 0x21f, 0x223, 0x225, 0x22c, 0x232, 0x238, 0x240, 0x246, 0x24c, 0x252, 0x256, 0x258, 0x25a, 0x25c, 0x25e, 0x264, 0x267, 0x26a, 0x272, 0x279, 0x27c, 0x27f, 0x281, 0x289, 0x28c, 0x293, 0x296, 0x29c, 0x29e, 0x2a0, 0x2a3, 0x2a5, 0x2a7, 0x2a9, 0x2ab, 0x2ae, 0x2b0, 0x2b2, 0x2b4, 0x2c1, 0x2cb, 0x2cd, 0x2cf, 0x2d3, 0x2d8, 0x2e4, 0x2e9, 0x2f2, 0x2f8, 0x2fd, 0x301, 0x306, 0x30a, 0x31a, 0x328, 0x336, 0x344, 0x34a, 0x34c, 0x34f, 0x359, 0x35b}
-// nfkcSparseValues: 875 entries, 3500 bytes
-var nfkcSparseValues = [875]valueRange{
+// nfkcSparseValues: 869 entries, 3476 bytes
+var nfkcSparseValues = [869]valueRange{
// Block 0x0, offset 0x0
{value: 0x0002, lo: 0x0d},
{value: 0x0001, lo: 0xa0, hi: 0xa0},
@@ -5892,9 +5915,10 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x8104, lo: 0x8d, hi: 0x8d},
{value: 0x9900, lo: 0x95, hi: 0x96},
// Block 0x1d, offset 0xd2
- {value: 0x0000, lo: 0x01},
+ {value: 0x0000, lo: 0x02},
+ {value: 0x8104, lo: 0xbb, hi: 0xbc},
{value: 0x9900, lo: 0xbe, hi: 0xbe},
- // Block 0x1e, offset 0xd4
+ // Block 0x1e, offset 0xd5
{value: 0x0000, lo: 0x06},
{value: 0xa000, lo: 0x86, hi: 0x87},
{value: 0x2cfe, lo: 0x8a, hi: 0x8a},
@@ -5902,7 +5926,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x2d06, lo: 0x8c, hi: 0x8c},
{value: 0x8104, lo: 0x8d, hi: 0x8d},
{value: 0x9900, lo: 0x97, hi: 0x97},
- // Block 0x1f, offset 0xdb
+ // Block 0x1f, offset 0xdc
{value: 0x6bea, lo: 0x07},
{value: 0x9904, lo: 0x8a, hi: 0x8a},
{value: 0x9900, lo: 0x8f, hi: 0x8f},
@@ -5911,31 +5935,31 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x2f58, lo: 0x9c, hi: 0x9c},
{value: 0x2de3, lo: 0x9d, hi: 0x9d},
{value: 0x2d16, lo: 0x9e, hi: 0x9f},
- // Block 0x20, offset 0xe3
+ // Block 0x20, offset 0xe4
{value: 0x0000, lo: 0x03},
{value: 0x2621, lo: 0xb3, hi: 0xb3},
{value: 0x8122, lo: 0xb8, hi: 0xb9},
{value: 0x8104, lo: 0xba, hi: 0xba},
- // Block 0x21, offset 0xe7
+ // Block 0x21, offset 0xe8
{value: 0x0000, lo: 0x01},
{value: 0x8123, lo: 0x88, hi: 0x8b},
- // Block 0x22, offset 0xe9
+ // Block 0x22, offset 0xea
{value: 0x0000, lo: 0x02},
{value: 0x2636, lo: 0xb3, hi: 0xb3},
{value: 0x8124, lo: 0xb8, hi: 0xb9},
- // Block 0x23, offset 0xec
+ // Block 0x23, offset 0xed
{value: 0x0000, lo: 0x03},
{value: 0x8125, lo: 0x88, hi: 0x8b},
{value: 0x2628, lo: 0x9c, hi: 0x9c},
{value: 0x262f, lo: 0x9d, hi: 0x9d},
- // Block 0x24, offset 0xf0
+ // Block 0x24, offset 0xf1
{value: 0x0000, lo: 0x05},
{value: 0x030b, lo: 0x8c, hi: 0x8c},
{value: 0x812d, lo: 0x98, hi: 0x99},
{value: 0x812d, lo: 0xb5, hi: 0xb5},
{value: 0x812d, lo: 0xb7, hi: 0xb7},
{value: 0x812b, lo: 0xb9, hi: 0xb9},
- // Block 0x25, offset 0xf6
+ // Block 0x25, offset 0xf7
{value: 0x0000, lo: 0x10},
{value: 0x2644, lo: 0x83, hi: 0x83},
{value: 0x264b, lo: 0x8d, hi: 0x8d},
@@ -5953,7 +5977,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x45bc, lo: 0xb8, hi: 0xb8},
{value: 0x45ff, lo: 0xb9, hi: 0xb9},
{value: 0x8127, lo: 0xba, hi: 0xbd},
- // Block 0x26, offset 0x107
+ // Block 0x26, offset 0x108
{value: 0x0000, lo: 0x0b},
{value: 0x8127, lo: 0x80, hi: 0x80},
{value: 0x4a96, lo: 0x81, hi: 0x81},
@@ -5966,68 +5990,68 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x2683, lo: 0xa7, hi: 0xa7},
{value: 0x268a, lo: 0xac, hi: 0xac},
{value: 0x2667, lo: 0xb9, hi: 0xb9},
- // Block 0x27, offset 0x113
+ // Block 0x27, offset 0x114
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0x86, hi: 0x86},
- // Block 0x28, offset 0x115
+ // Block 0x28, offset 0x116
{value: 0x0000, lo: 0x05},
{value: 0xa000, lo: 0xa5, hi: 0xa5},
{value: 0x2d1e, lo: 0xa6, hi: 0xa6},
{value: 0x9900, lo: 0xae, hi: 0xae},
{value: 0x8102, lo: 0xb7, hi: 0xb7},
{value: 0x8104, lo: 0xb9, hi: 0xba},
- // Block 0x29, offset 0x11b
+ // Block 0x29, offset 0x11c
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0x8d, hi: 0x8d},
- // Block 0x2a, offset 0x11d
+ // Block 0x2a, offset 0x11e
{value: 0x0000, lo: 0x01},
{value: 0x030f, lo: 0xbc, hi: 0xbc},
- // Block 0x2b, offset 0x11f
+ // Block 0x2b, offset 0x120
{value: 0x0000, lo: 0x01},
{value: 0xa000, lo: 0x80, hi: 0x92},
- // Block 0x2c, offset 0x121
+ // Block 0x2c, offset 0x122
{value: 0x0000, lo: 0x01},
{value: 0xb900, lo: 0xa1, hi: 0xb5},
- // Block 0x2d, offset 0x123
+ // Block 0x2d, offset 0x124
{value: 0x0000, lo: 0x01},
{value: 0x9900, lo: 0xa8, hi: 0xbf},
- // Block 0x2e, offset 0x125
+ // Block 0x2e, offset 0x126
{value: 0x0000, lo: 0x01},
{value: 0x9900, lo: 0x80, hi: 0x82},
- // Block 0x2f, offset 0x127
+ // Block 0x2f, offset 0x128
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0x9d, hi: 0x9f},
- // Block 0x30, offset 0x129
+ // Block 0x30, offset 0x12a
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x94, hi: 0x94},
{value: 0x8104, lo: 0xb4, hi: 0xb4},
- // Block 0x31, offset 0x12c
+ // Block 0x31, offset 0x12d
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x92, hi: 0x92},
{value: 0x8132, lo: 0x9d, hi: 0x9d},
- // Block 0x32, offset 0x12f
+ // Block 0x32, offset 0x130
{value: 0x0000, lo: 0x01},
{value: 0x8131, lo: 0xa9, hi: 0xa9},
- // Block 0x33, offset 0x131
+ // Block 0x33, offset 0x132
{value: 0x0004, lo: 0x02},
{value: 0x812e, lo: 0xb9, hi: 0xba},
{value: 0x812d, lo: 0xbb, hi: 0xbb},
- // Block 0x34, offset 0x134
+ // Block 0x34, offset 0x135
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0x97, hi: 0x97},
{value: 0x812d, lo: 0x98, hi: 0x98},
- // Block 0x35, offset 0x137
+ // Block 0x35, offset 0x138
{value: 0x0000, lo: 0x03},
{value: 0x8104, lo: 0xa0, hi: 0xa0},
{value: 0x8132, lo: 0xb5, hi: 0xbc},
{value: 0x812d, lo: 0xbf, hi: 0xbf},
- // Block 0x36, offset 0x13b
+ // Block 0x36, offset 0x13c
{value: 0x0000, lo: 0x04},
{value: 0x8132, lo: 0xb0, hi: 0xb4},
{value: 0x812d, lo: 0xb5, hi: 0xba},
{value: 0x8132, lo: 0xbb, hi: 0xbc},
{value: 0x812d, lo: 0xbd, hi: 0xbd},
- // Block 0x37, offset 0x140
+ // Block 0x37, offset 0x141
{value: 0x0000, lo: 0x08},
{value: 0x2d66, lo: 0x80, hi: 0x80},
{value: 0x2d6e, lo: 0x81, hi: 0x81},
@@ -6037,17 +6061,17 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x8132, lo: 0xab, hi: 0xab},
{value: 0x812d, lo: 0xac, hi: 0xac},
{value: 0x8132, lo: 0xad, hi: 0xb3},
- // Block 0x38, offset 0x149
+ // Block 0x38, offset 0x14a
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0xaa, hi: 0xab},
- // Block 0x39, offset 0x14b
+ // Block 0x39, offset 0x14c
{value: 0x0000, lo: 0x02},
{value: 0x8102, lo: 0xa6, hi: 0xa6},
{value: 0x8104, lo: 0xb2, hi: 0xb3},
- // Block 0x3a, offset 0x14e
+ // Block 0x3a, offset 0x14f
{value: 0x0000, lo: 0x01},
{value: 0x8102, lo: 0xb7, hi: 0xb7},
- // Block 0x3b, offset 0x150
+ // Block 0x3b, offset 0x151
{value: 0x0000, lo: 0x0a},
{value: 0x8132, lo: 0x90, hi: 0x92},
{value: 0x8101, lo: 0x94, hi: 0x94},
@@ -6059,7 +6083,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x812d, lo: 0xad, hi: 0xad},
{value: 0x8132, lo: 0xb4, hi: 0xb4},
{value: 0x8132, lo: 0xb8, hi: 0xb9},
- // Block 0x3c, offset 0x15b
+ // Block 0x3c, offset 0x15c
{value: 0x0002, lo: 0x0a},
{value: 0x0043, lo: 0xac, hi: 0xac},
{value: 0x00d1, lo: 0xad, hi: 0xad},
@@ -6071,24 +6095,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x00ef, lo: 0xbd, hi: 0xbd},
{value: 0x0061, lo: 0xbe, hi: 0xbe},
{value: 0x0065, lo: 0xbf, hi: 0xbf},
- // Block 0x3d, offset 0x166
- {value: 0x0000, lo: 0x0f},
- {value: 0x8132, lo: 0x80, hi: 0x81},
- {value: 0x812d, lo: 0x82, hi: 0x82},
- {value: 0x8132, lo: 0x83, hi: 0x89},
- {value: 0x812d, lo: 0x8a, hi: 0x8a},
- {value: 0x8132, lo: 0x8b, hi: 0x8c},
- {value: 0x8135, lo: 0x8d, hi: 0x8d},
- {value: 0x812a, lo: 0x8e, hi: 0x8e},
- {value: 0x812d, lo: 0x8f, hi: 0x8f},
- {value: 0x8129, lo: 0x90, hi: 0x90},
- {value: 0x8132, lo: 0x91, hi: 0xb5},
- {value: 0x8132, lo: 0xbb, hi: 0xbb},
- {value: 0x8134, lo: 0xbc, hi: 0xbc},
- {value: 0x812d, lo: 0xbd, hi: 0xbd},
- {value: 0x8132, lo: 0xbe, hi: 0xbe},
- {value: 0x812d, lo: 0xbf, hi: 0xbf},
- // Block 0x3e, offset 0x176
+ // Block 0x3d, offset 0x167
{value: 0x0000, lo: 0x0d},
{value: 0x0001, lo: 0x80, hi: 0x8a},
{value: 0x043b, lo: 0x91, hi: 0x91},
@@ -6103,7 +6110,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x2808, lo: 0xb7, hi: 0xb7},
{value: 0x186d, lo: 0xbc, hi: 0xbc},
{value: 0x4269, lo: 0xbe, hi: 0xbe},
- // Block 0x3f, offset 0x184
+ // Block 0x3e, offset 0x175
{value: 0x0002, lo: 0x0d},
{value: 0x1933, lo: 0x87, hi: 0x87},
{value: 0x1930, lo: 0x88, hi: 0x88},
@@ -6118,7 +6125,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x003b, lo: 0xbc, hi: 0xbc},
{value: 0x0011, lo: 0xbd, hi: 0xbe},
{value: 0x009d, lo: 0xbf, hi: 0xbf},
- // Block 0x40, offset 0x192
+ // Block 0x3f, offset 0x183
{value: 0x0002, lo: 0x0f},
{value: 0x0021, lo: 0x80, hi: 0x89},
{value: 0x0017, lo: 0x8a, hi: 0x8a},
@@ -6135,7 +6142,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x00a1, lo: 0x9a, hi: 0x9a},
{value: 0x00a7, lo: 0x9b, hi: 0x9c},
{value: 0x1999, lo: 0xa8, hi: 0xa8},
- // Block 0x41, offset 0x1a2
+ // Block 0x40, offset 0x193
{value: 0x0000, lo: 0x0d},
{value: 0x8132, lo: 0x90, hi: 0x91},
{value: 0x8101, lo: 0x92, hi: 0x93},
@@ -6150,7 +6157,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x8101, lo: 0xaa, hi: 0xab},
{value: 0x812d, lo: 0xac, hi: 0xaf},
{value: 0x8132, lo: 0xb0, hi: 0xb0},
- // Block 0x42, offset 0x1b0
+ // Block 0x41, offset 0x1a1
{value: 0x0007, lo: 0x06},
{value: 0x2180, lo: 0x89, hi: 0x89},
{value: 0xa000, lo: 0x90, hi: 0x90},
@@ -6158,14 +6165,14 @@ var nfkcSparseValues = [875]valueRange{
{value: 0xa000, lo: 0x94, hi: 0x94},
{value: 0x3bb9, lo: 0x9a, hi: 0x9b},
{value: 0x3bc7, lo: 0xae, hi: 0xae},
- // Block 0x43, offset 0x1b7
+ // Block 0x42, offset 0x1a8
{value: 0x000e, lo: 0x05},
{value: 0x3bce, lo: 0x8d, hi: 0x8e},
{value: 0x3bd5, lo: 0x8f, hi: 0x8f},
{value: 0xa000, lo: 0x90, hi: 0x90},
{value: 0xa000, lo: 0x92, hi: 0x92},
{value: 0xa000, lo: 0x94, hi: 0x94},
- // Block 0x44, offset 0x1bd
+ // Block 0x43, offset 0x1ae
{value: 0x0173, lo: 0x0e},
{value: 0xa000, lo: 0x83, hi: 0x83},
{value: 0x3be3, lo: 0x84, hi: 0x84},
@@ -6181,50 +6188,50 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x26a6, lo: 0xaf, hi: 0xaf},
{value: 0x281c, lo: 0xb0, hi: 0xb0},
{value: 0xa000, lo: 0xbc, hi: 0xbc},
- // Block 0x45, offset 0x1cc
+ // Block 0x44, offset 0x1bd
{value: 0x0007, lo: 0x03},
{value: 0x3c68, lo: 0xa0, hi: 0xa1},
{value: 0x3c92, lo: 0xa2, hi: 0xa3},
{value: 0x3cbc, lo: 0xaa, hi: 0xad},
- // Block 0x46, offset 0x1d0
+ // Block 0x45, offset 0x1c1
{value: 0x0004, lo: 0x01},
{value: 0x048b, lo: 0xa9, hi: 0xaa},
- // Block 0x47, offset 0x1d2
+ // Block 0x46, offset 0x1c3
{value: 0x0002, lo: 0x03},
{value: 0x0057, lo: 0x80, hi: 0x8f},
{value: 0x0083, lo: 0x90, hi: 0xa9},
{value: 0x0021, lo: 0xaa, hi: 0xaa},
- // Block 0x48, offset 0x1d6
+ // Block 0x47, offset 0x1c7
{value: 0x0000, lo: 0x01},
{value: 0x299b, lo: 0x8c, hi: 0x8c},
- // Block 0x49, offset 0x1d8
+ // Block 0x48, offset 0x1c9
{value: 0x0263, lo: 0x02},
{value: 0x1b8c, lo: 0xb4, hi: 0xb4},
{value: 0x192d, lo: 0xb5, hi: 0xb6},
- // Block 0x4a, offset 0x1db
+ // Block 0x49, offset 0x1cc
{value: 0x0000, lo: 0x01},
{value: 0x44dd, lo: 0x9c, hi: 0x9c},
- // Block 0x4b, offset 0x1dd
+ // Block 0x4a, offset 0x1ce
{value: 0x0000, lo: 0x02},
{value: 0x0095, lo: 0xbc, hi: 0xbc},
{value: 0x006d, lo: 0xbd, hi: 0xbd},
- // Block 0x4c, offset 0x1e0
+ // Block 0x4b, offset 0x1d1
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xaf, hi: 0xb1},
- // Block 0x4d, offset 0x1e2
+ // Block 0x4c, offset 0x1d3
{value: 0x0000, lo: 0x02},
{value: 0x047f, lo: 0xaf, hi: 0xaf},
{value: 0x8104, lo: 0xbf, hi: 0xbf},
- // Block 0x4e, offset 0x1e5
+ // Block 0x4d, offset 0x1d6
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xa0, hi: 0xbf},
- // Block 0x4f, offset 0x1e7
+ // Block 0x4e, offset 0x1d8
{value: 0x0000, lo: 0x01},
{value: 0x0dc3, lo: 0x9f, hi: 0x9f},
- // Block 0x50, offset 0x1e9
+ // Block 0x4f, offset 0x1da
{value: 0x0000, lo: 0x01},
{value: 0x162f, lo: 0xb3, hi: 0xb3},
- // Block 0x51, offset 0x1eb
+ // Block 0x50, offset 0x1dc
{value: 0x0004, lo: 0x0b},
{value: 0x1597, lo: 0x80, hi: 0x82},
{value: 0x15af, lo: 0x83, hi: 0x83},
@@ -6237,7 +6244,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x161b, lo: 0x91, hi: 0x93},
{value: 0x162b, lo: 0x94, hi: 0x94},
{value: 0x1633, lo: 0x95, hi: 0x95},
- // Block 0x52, offset 0x1f7
+ // Block 0x51, offset 0x1e8
{value: 0x0004, lo: 0x09},
{value: 0x0001, lo: 0x80, hi: 0x80},
{value: 0x812c, lo: 0xaa, hi: 0xaa},
@@ -6248,7 +6255,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x812f, lo: 0xaf, hi: 0xaf},
{value: 0x04b3, lo: 0xb6, hi: 0xb6},
{value: 0x0887, lo: 0xb8, hi: 0xba},
- // Block 0x53, offset 0x201
+ // Block 0x52, offset 0x1f2
{value: 0x0006, lo: 0x09},
{value: 0x0313, lo: 0xb1, hi: 0xb1},
{value: 0x0317, lo: 0xb2, hi: 0xb2},
@@ -6259,63 +6266,63 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x0323, lo: 0xb8, hi: 0xb8},
{value: 0x0327, lo: 0xb9, hi: 0xb9},
{value: 0x4a4d, lo: 0xba, hi: 0xbf},
- // Block 0x54, offset 0x20b
+ // Block 0x53, offset 0x1fc
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0xaf, hi: 0xaf},
{value: 0x8132, lo: 0xb4, hi: 0xbd},
- // Block 0x55, offset 0x20e
+ // Block 0x54, offset 0x1ff
{value: 0x0000, lo: 0x03},
{value: 0x020f, lo: 0x9c, hi: 0x9c},
{value: 0x0212, lo: 0x9d, hi: 0x9d},
{value: 0x8132, lo: 0x9e, hi: 0x9f},
- // Block 0x56, offset 0x212
+ // Block 0x55, offset 0x203
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xb0, hi: 0xb1},
- // Block 0x57, offset 0x214
+ // Block 0x56, offset 0x205
{value: 0x0000, lo: 0x01},
{value: 0x163b, lo: 0xb0, hi: 0xb0},
- // Block 0x58, offset 0x216
+ // Block 0x57, offset 0x207
{value: 0x000c, lo: 0x01},
{value: 0x00d7, lo: 0xb8, hi: 0xb9},
- // Block 0x59, offset 0x218
+ // Block 0x58, offset 0x209
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0x86, hi: 0x86},
- // Block 0x5a, offset 0x21a
+ // Block 0x59, offset 0x20b
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x84, hi: 0x84},
{value: 0x8132, lo: 0xa0, hi: 0xb1},
- // Block 0x5b, offset 0x21d
+ // Block 0x5a, offset 0x20e
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0xab, hi: 0xad},
- // Block 0x5c, offset 0x21f
+ // Block 0x5b, offset 0x210
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0x93, hi: 0x93},
- // Block 0x5d, offset 0x221
+ // Block 0x5c, offset 0x212
{value: 0x0000, lo: 0x01},
{value: 0x8102, lo: 0xb3, hi: 0xb3},
- // Block 0x5e, offset 0x223
+ // Block 0x5d, offset 0x214
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0x80, hi: 0x80},
- // Block 0x5f, offset 0x225
+ // Block 0x5e, offset 0x216
{value: 0x0000, lo: 0x05},
{value: 0x8132, lo: 0xb0, hi: 0xb0},
{value: 0x8132, lo: 0xb2, hi: 0xb3},
{value: 0x812d, lo: 0xb4, hi: 0xb4},
{value: 0x8132, lo: 0xb7, hi: 0xb8},
{value: 0x8132, lo: 0xbe, hi: 0xbf},
- // Block 0x60, offset 0x22b
+ // Block 0x5f, offset 0x21c
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0x81, hi: 0x81},
{value: 0x8104, lo: 0xb6, hi: 0xb6},
- // Block 0x61, offset 0x22e
+ // Block 0x60, offset 0x21f
{value: 0x0008, lo: 0x03},
{value: 0x1637, lo: 0x9c, hi: 0x9d},
{value: 0x0125, lo: 0x9e, hi: 0x9e},
{value: 0x1643, lo: 0x9f, hi: 0x9f},
- // Block 0x62, offset 0x232
+ // Block 0x61, offset 0x223
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0xad, hi: 0xad},
- // Block 0x63, offset 0x234
+ // Block 0x62, offset 0x225
{value: 0x0000, lo: 0x06},
{value: 0xe500, lo: 0x80, hi: 0x80},
{value: 0xc600, lo: 0x81, hi: 0x9b},
@@ -6323,21 +6330,21 @@ var nfkcSparseValues = [875]valueRange{
{value: 0xc600, lo: 0x9d, hi: 0xb7},
{value: 0xe500, lo: 0xb8, hi: 0xb8},
{value: 0xc600, lo: 0xb9, hi: 0xbf},
- // Block 0x64, offset 0x23b
+ // Block 0x63, offset 0x22c
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x93},
{value: 0xe500, lo: 0x94, hi: 0x94},
{value: 0xc600, lo: 0x95, hi: 0xaf},
{value: 0xe500, lo: 0xb0, hi: 0xb0},
{value: 0xc600, lo: 0xb1, hi: 0xbf},
- // Block 0x65, offset 0x241
+ // Block 0x64, offset 0x232
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x8b},
{value: 0xe500, lo: 0x8c, hi: 0x8c},
{value: 0xc600, lo: 0x8d, hi: 0xa7},
{value: 0xe500, lo: 0xa8, hi: 0xa8},
{value: 0xc600, lo: 0xa9, hi: 0xbf},
- // Block 0x66, offset 0x247
+ // Block 0x65, offset 0x238
{value: 0x0000, lo: 0x07},
{value: 0xc600, lo: 0x80, hi: 0x83},
{value: 0xe500, lo: 0x84, hi: 0x84},
@@ -6346,60 +6353,60 @@ var nfkcSparseValues = [875]valueRange{
{value: 0xc600, lo: 0xa1, hi: 0xbb},
{value: 0xe500, lo: 0xbc, hi: 0xbc},
{value: 0xc600, lo: 0xbd, hi: 0xbf},
- // Block 0x67, offset 0x24f
+ // Block 0x66, offset 0x240
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x97},
{value: 0xe500, lo: 0x98, hi: 0x98},
{value: 0xc600, lo: 0x99, hi: 0xb3},
{value: 0xe500, lo: 0xb4, hi: 0xb4},
{value: 0xc600, lo: 0xb5, hi: 0xbf},
- // Block 0x68, offset 0x255
+ // Block 0x67, offset 0x246
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x8f},
{value: 0xe500, lo: 0x90, hi: 0x90},
{value: 0xc600, lo: 0x91, hi: 0xab},
{value: 0xe500, lo: 0xac, hi: 0xac},
{value: 0xc600, lo: 0xad, hi: 0xbf},
- // Block 0x69, offset 0x25b
+ // Block 0x68, offset 0x24c
{value: 0x0000, lo: 0x05},
{value: 0xc600, lo: 0x80, hi: 0x87},
{value: 0xe500, lo: 0x88, hi: 0x88},
{value: 0xc600, lo: 0x89, hi: 0xa3},
{value: 0xe500, lo: 0xa4, hi: 0xa4},
{value: 0xc600, lo: 0xa5, hi: 0xbf},
- // Block 0x6a, offset 0x261
+ // Block 0x69, offset 0x252
{value: 0x0000, lo: 0x03},
{value: 0xc600, lo: 0x80, hi: 0x87},
{value: 0xe500, lo: 0x88, hi: 0x88},
{value: 0xc600, lo: 0x89, hi: 0xa3},
- // Block 0x6b, offset 0x265
+ // Block 0x6a, offset 0x256
{value: 0x0002, lo: 0x01},
{value: 0x0003, lo: 0x81, hi: 0xbf},
- // Block 0x6c, offset 0x267
+ // Block 0x6b, offset 0x258
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0xbd, hi: 0xbd},
- // Block 0x6d, offset 0x269
+ // Block 0x6c, offset 0x25a
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0xa0, hi: 0xa0},
- // Block 0x6e, offset 0x26b
+ // Block 0x6d, offset 0x25c
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xb6, hi: 0xba},
- // Block 0x6f, offset 0x26d
+ // Block 0x6e, offset 0x25e
{value: 0x002c, lo: 0x05},
{value: 0x812d, lo: 0x8d, hi: 0x8d},
{value: 0x8132, lo: 0x8f, hi: 0x8f},
{value: 0x8132, lo: 0xb8, hi: 0xb8},
{value: 0x8101, lo: 0xb9, hi: 0xba},
{value: 0x8104, lo: 0xbf, hi: 0xbf},
- // Block 0x70, offset 0x273
+ // Block 0x6f, offset 0x264
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0xa5, hi: 0xa5},
{value: 0x812d, lo: 0xa6, hi: 0xa6},
- // Block 0x71, offset 0x276
+ // Block 0x70, offset 0x267
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x86, hi: 0x86},
{value: 0x8104, lo: 0xbf, hi: 0xbf},
- // Block 0x72, offset 0x279
+ // Block 0x71, offset 0x26a
{value: 0x17fe, lo: 0x07},
{value: 0xa000, lo: 0x99, hi: 0x99},
{value: 0x4238, lo: 0x9a, hi: 0x9a},
@@ -6408,7 +6415,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0xa000, lo: 0xa5, hi: 0xa5},
{value: 0x424c, lo: 0xab, hi: 0xab},
{value: 0x8104, lo: 0xb9, hi: 0xba},
- // Block 0x73, offset 0x281
+ // Block 0x72, offset 0x272
{value: 0x0000, lo: 0x06},
{value: 0x8132, lo: 0x80, hi: 0x82},
{value: 0x9900, lo: 0xa7, hi: 0xa7},
@@ -6416,18 +6423,18 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x2d88, lo: 0xaf, hi: 0xaf},
{value: 0xa000, lo: 0xb1, hi: 0xb2},
{value: 0x8104, lo: 0xb3, hi: 0xb4},
- // Block 0x74, offset 0x288
+ // Block 0x73, offset 0x279
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x80, hi: 0x80},
{value: 0x8102, lo: 0x8a, hi: 0x8a},
- // Block 0x75, offset 0x28b
+ // Block 0x74, offset 0x27c
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0xb5, hi: 0xb5},
{value: 0x8102, lo: 0xb6, hi: 0xb6},
- // Block 0x76, offset 0x28e
+ // Block 0x75, offset 0x27f
{value: 0x0002, lo: 0x01},
{value: 0x8102, lo: 0xa9, hi: 0xaa},
- // Block 0x77, offset 0x290
+ // Block 0x76, offset 0x281
{value: 0x0000, lo: 0x07},
{value: 0xa000, lo: 0x87, hi: 0x87},
{value: 0x2d92, lo: 0x8b, hi: 0x8b},
@@ -6436,11 +6443,11 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x9900, lo: 0x97, hi: 0x97},
{value: 0x8132, lo: 0xa6, hi: 0xac},
{value: 0x8132, lo: 0xb0, hi: 0xb4},
- // Block 0x78, offset 0x298
+ // Block 0x77, offset 0x289
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x82, hi: 0x82},
{value: 0x8102, lo: 0x86, hi: 0x86},
- // Block 0x79, offset 0x29b
+ // Block 0x78, offset 0x28c
{value: 0x6b5a, lo: 0x06},
{value: 0x9900, lo: 0xb0, hi: 0xb0},
{value: 0xa000, lo: 0xb9, hi: 0xb9},
@@ -6448,40 +6455,53 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x2db0, lo: 0xbb, hi: 0xbb},
{value: 0x2da6, lo: 0xbc, hi: 0xbd},
{value: 0x2dba, lo: 0xbe, hi: 0xbe},
- // Block 0x7a, offset 0x2a2
+ // Block 0x79, offset 0x293
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0x82, hi: 0x82},
{value: 0x8102, lo: 0x83, hi: 0x83},
- // Block 0x7b, offset 0x2a5
+ // Block 0x7a, offset 0x296
{value: 0x0000, lo: 0x05},
{value: 0x9900, lo: 0xaf, hi: 0xaf},
{value: 0xa000, lo: 0xb8, hi: 0xb9},
{value: 0x2dc4, lo: 0xba, hi: 0xba},
{value: 0x2dce, lo: 0xbb, hi: 0xbb},
{value: 0x8104, lo: 0xbf, hi: 0xbf},
- // Block 0x7c, offset 0x2ab
+ // Block 0x7b, offset 0x29c
{value: 0x0000, lo: 0x01},
{value: 0x8102, lo: 0x80, hi: 0x80},
- // Block 0x7d, offset 0x2ad
+ // Block 0x7c, offset 0x29e
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0xbf, hi: 0xbf},
- // Block 0x7e, offset 0x2af
+ // Block 0x7d, offset 0x2a0
{value: 0x0000, lo: 0x02},
{value: 0x8104, lo: 0xb6, hi: 0xb6},
{value: 0x8102, lo: 0xb7, hi: 0xb7},
- // Block 0x7f, offset 0x2b2
+ // Block 0x7e, offset 0x2a3
{value: 0x0000, lo: 0x01},
{value: 0x8104, lo: 0xab, hi: 0xab},
- // Block 0x80, offset 0x2b4
+ // Block 0x7f, offset 0x2a5
+ {value: 0x0000, lo: 0x01},
+ {value: 0x8104, lo: 0xb4, hi: 0xb4},
+ // Block 0x80, offset 0x2a7
+ {value: 0x0000, lo: 0x01},
+ {value: 0x8104, lo: 0x87, hi: 0x87},
+ // Block 0x81, offset 0x2a9
+ {value: 0x0000, lo: 0x01},
+ {value: 0x8104, lo: 0x99, hi: 0x99},
+ // Block 0x82, offset 0x2ab
+ {value: 0x0000, lo: 0x02},
+ {value: 0x8102, lo: 0x82, hi: 0x82},
+ {value: 0x8104, lo: 0x84, hi: 0x85},
+ // Block 0x83, offset 0x2ae
{value: 0x0000, lo: 0x01},
{value: 0x8101, lo: 0xb0, hi: 0xb4},
- // Block 0x81, offset 0x2b6
+ // Block 0x84, offset 0x2b0
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0xb0, hi: 0xb6},
- // Block 0x82, offset 0x2b8
+ // Block 0x85, offset 0x2b2
{value: 0x0000, lo: 0x01},
{value: 0x8101, lo: 0x9e, hi: 0x9e},
- // Block 0x83, offset 0x2ba
+ // Block 0x86, offset 0x2b4
{value: 0x0000, lo: 0x0c},
{value: 0x45cc, lo: 0x9e, hi: 0x9e},
{value: 0x45d6, lo: 0x9f, hi: 0x9f},
@@ -6495,7 +6515,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x8130, lo: 0xad, hi: 0xad},
{value: 0x812b, lo: 0xae, hi: 0xb2},
{value: 0x812d, lo: 0xbb, hi: 0xbf},
- // Block 0x84, offset 0x2c7
+ // Block 0x87, offset 0x2c1
{value: 0x0000, lo: 0x09},
{value: 0x812d, lo: 0x80, hi: 0x82},
{value: 0x8132, lo: 0x85, hi: 0x89},
@@ -6506,24 +6526,24 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x4650, lo: 0xbd, hi: 0xbd},
{value: 0x466c, lo: 0xbe, hi: 0xbe},
{value: 0x465e, lo: 0xbf, hi: 0xbf},
- // Block 0x85, offset 0x2d1
+ // Block 0x88, offset 0x2cb
{value: 0x0000, lo: 0x01},
{value: 0x467a, lo: 0x80, hi: 0x80},
- // Block 0x86, offset 0x2d3
+ // Block 0x89, offset 0x2cd
{value: 0x0000, lo: 0x01},
{value: 0x8132, lo: 0x82, hi: 0x84},
- // Block 0x87, offset 0x2d5
+ // Block 0x8a, offset 0x2cf
{value: 0x0002, lo: 0x03},
{value: 0x0043, lo: 0x80, hi: 0x99},
{value: 0x0083, lo: 0x9a, hi: 0xb3},
{value: 0x0043, lo: 0xb4, hi: 0xbf},
- // Block 0x88, offset 0x2d9
+ // Block 0x8b, offset 0x2d3
{value: 0x0002, lo: 0x04},
{value: 0x005b, lo: 0x80, hi: 0x8d},
{value: 0x0083, lo: 0x8e, hi: 0x94},
{value: 0x0093, lo: 0x96, hi: 0xa7},
{value: 0x0043, lo: 0xa8, hi: 0xbf},
- // Block 0x89, offset 0x2de
+ // Block 0x8c, offset 0x2d8
{value: 0x0002, lo: 0x0b},
{value: 0x0073, lo: 0x80, hi: 0x81},
{value: 0x0083, lo: 0x82, hi: 0x9b},
@@ -6536,13 +6556,13 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x0083, lo: 0xb6, hi: 0xb9},
{value: 0x008d, lo: 0xbb, hi: 0xbb},
{value: 0x0091, lo: 0xbd, hi: 0xbf},
- // Block 0x8a, offset 0x2ea
+ // Block 0x8d, offset 0x2e4
{value: 0x0002, lo: 0x04},
{value: 0x0097, lo: 0x80, hi: 0x83},
{value: 0x00a1, lo: 0x85, hi: 0x8f},
{value: 0x0043, lo: 0x90, hi: 0xa9},
{value: 0x0083, lo: 0xaa, hi: 0xbf},
- // Block 0x8b, offset 0x2ef
+ // Block 0x8e, offset 0x2e9
{value: 0x0002, lo: 0x08},
{value: 0x00af, lo: 0x80, hi: 0x83},
{value: 0x0043, lo: 0x84, hi: 0x85},
@@ -6552,36 +6572,36 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x0083, lo: 0x9e, hi: 0xb7},
{value: 0x0043, lo: 0xb8, hi: 0xb9},
{value: 0x0049, lo: 0xbb, hi: 0xbe},
- // Block 0x8c, offset 0x2f8
+ // Block 0x8f, offset 0x2f2
{value: 0x0002, lo: 0x05},
{value: 0x0053, lo: 0x80, hi: 0x84},
{value: 0x005f, lo: 0x86, hi: 0x86},
{value: 0x0067, lo: 0x8a, hi: 0x90},
{value: 0x0083, lo: 0x92, hi: 0xab},
{value: 0x0043, lo: 0xac, hi: 0xbf},
- // Block 0x8d, offset 0x2fe
+ // Block 0x90, offset 0x2f8
{value: 0x0002, lo: 0x04},
{value: 0x006b, lo: 0x80, hi: 0x85},
{value: 0x0083, lo: 0x86, hi: 0x9f},
{value: 0x0043, lo: 0xa0, hi: 0xb9},
{value: 0x0083, lo: 0xba, hi: 0xbf},
- // Block 0x8e, offset 0x303
+ // Block 0x91, offset 0x2fd
{value: 0x0002, lo: 0x03},
{value: 0x008f, lo: 0x80, hi: 0x93},
{value: 0x0043, lo: 0x94, hi: 0xad},
{value: 0x0083, lo: 0xae, hi: 0xbf},
- // Block 0x8f, offset 0x307
+ // Block 0x92, offset 0x301
{value: 0x0002, lo: 0x04},
{value: 0x00a7, lo: 0x80, hi: 0x87},
{value: 0x0043, lo: 0x88, hi: 0xa1},
{value: 0x0083, lo: 0xa2, hi: 0xbb},
{value: 0x0043, lo: 0xbc, hi: 0xbf},
- // Block 0x90, offset 0x30c
+ // Block 0x93, offset 0x306
{value: 0x0002, lo: 0x03},
{value: 0x004b, lo: 0x80, hi: 0x95},
{value: 0x0083, lo: 0x96, hi: 0xaf},
{value: 0x0043, lo: 0xb0, hi: 0xbf},
- // Block 0x91, offset 0x310
+ // Block 0x94, offset 0x30a
{value: 0x0003, lo: 0x0f},
{value: 0x01b8, lo: 0x80, hi: 0x80},
{value: 0x045f, lo: 0x81, hi: 0x81},
@@ -6598,7 +6618,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x01a6, lo: 0xb4, hi: 0xba},
{value: 0x045f, lo: 0xbb, hi: 0xbb},
{value: 0x01bb, lo: 0xbc, hi: 0xbf},
- // Block 0x92, offset 0x320
+ // Block 0x95, offset 0x31a
{value: 0x0003, lo: 0x0d},
{value: 0x01c7, lo: 0x80, hi: 0x94},
{value: 0x045b, lo: 0x95, hi: 0x95},
@@ -6613,7 +6633,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x01a6, lo: 0xae, hi: 0xb4},
{value: 0x045f, lo: 0xb5, hi: 0xb5},
{value: 0x01bb, lo: 0xb6, hi: 0xbf},
- // Block 0x93, offset 0x32e
+ // Block 0x96, offset 0x328
{value: 0x0003, lo: 0x0d},
{value: 0x01d9, lo: 0x80, hi: 0x8e},
{value: 0x045b, lo: 0x8f, hi: 0x8f},
@@ -6628,7 +6648,7 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x01a6, lo: 0xa8, hi: 0xae},
{value: 0x045f, lo: 0xaf, hi: 0xaf},
{value: 0x01bb, lo: 0xb0, hi: 0xbf},
- // Block 0x94, offset 0x33c
+ // Block 0x97, offset 0x336
{value: 0x0003, lo: 0x0d},
{value: 0x01eb, lo: 0x80, hi: 0x88},
{value: 0x045b, lo: 0x89, hi: 0x89},
@@ -6643,21 +6663,21 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x01a6, lo: 0xa2, hi: 0xa8},
{value: 0x045f, lo: 0xa9, hi: 0xa9},
{value: 0x01bb, lo: 0xaa, hi: 0xbf},
- // Block 0x95, offset 0x34a
+ // Block 0x98, offset 0x344
{value: 0x0000, lo: 0x05},
{value: 0x8132, lo: 0x80, hi: 0x86},
{value: 0x8132, lo: 0x88, hi: 0x98},
{value: 0x8132, lo: 0x9b, hi: 0xa1},
{value: 0x8132, lo: 0xa3, hi: 0xa4},
{value: 0x8132, lo: 0xa6, hi: 0xaa},
- // Block 0x96, offset 0x350
+ // Block 0x99, offset 0x34a
{value: 0x0000, lo: 0x01},
{value: 0x812d, lo: 0x90, hi: 0x96},
- // Block 0x97, offset 0x352
+ // Block 0x9a, offset 0x34c
{value: 0x0000, lo: 0x02},
{value: 0x8132, lo: 0x84, hi: 0x89},
{value: 0x8102, lo: 0x8a, hi: 0x8a},
- // Block 0x98, offset 0x355
+ // Block 0x9b, offset 0x34f
{value: 0x0002, lo: 0x09},
{value: 0x0063, lo: 0x80, hi: 0x89},
{value: 0x1951, lo: 0x8a, hi: 0x8a},
@@ -6668,10 +6688,10 @@ var nfkcSparseValues = [875]valueRange{
{value: 0x19ae, lo: 0x8f, hi: 0x8f},
{value: 0x197b, lo: 0xaa, hi: 0xaa},
{value: 0x197e, lo: 0xab, hi: 0xab},
- // Block 0x99, offset 0x35f
+ // Block 0x9c, offset 0x359
{value: 0x0000, lo: 0x01},
{value: 0x193f, lo: 0x90, hi: 0x90},
- // Block 0x9a, offset 0x361
+ // Block 0x9d, offset 0x35b
{value: 0x0028, lo: 0x09},
{value: 0x2862, lo: 0x80, hi: 0x80},
{value: 0x2826, lo: 0x81, hi: 0x81},
@@ -7628,4 +7648,4 @@ var recompMap = map[uint32]rune{
0x15B915AF: 0x115BB,
}
-// Total size of tables: 53KB (54006 bytes)
+// Total size of tables: 53KB (54226 bytes)
diff --git a/vendor/golang.org/x/text/unicode/norm/transform.go b/vendor/golang.org/x/text/unicode/norm/transform.go
index 8589067cd..9f47efbaf 100644
--- a/vendor/golang.org/x/text/unicode/norm/transform.go
+++ b/vendor/golang.org/x/text/unicode/norm/transform.go
@@ -40,7 +40,7 @@ func (f Form) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)
}
func flushTransform(rb *reorderBuffer) bool {
- // Write out (must fully fit in dst, or else it is a ErrShortDst).
+ // Write out (must fully fit in dst, or else it is an ErrShortDst).
if len(rb.out) < rb.nrune*utf8.UTFMax {
return false
}
diff --git a/vendor/golang.org/x/text/unicode/rangetable/gen.go b/vendor/golang.org/x/text/unicode/rangetable/gen.go
index bea49dda1..6a64e42ab 100644
--- a/vendor/golang.org/x/text/unicode/rangetable/gen.go
+++ b/vendor/golang.org/x/text/unicode/rangetable/gen.go
@@ -13,12 +13,13 @@ import (
"io"
"log"
"reflect"
- "sort"
"strings"
"unicode"
+ "golang.org/x/text/collate"
"golang.org/x/text/internal/gen"
"golang.org/x/text/internal/ucd"
+ "golang.org/x/text/language"
"golang.org/x/text/unicode/rangetable"
)
@@ -37,8 +38,9 @@ func getVersions() []string {
log.Fatal(bootstrapMessage)
}
+ c := collate.New(language.Und, collate.Numeric)
versions := strings.Split(*versionList, ",")
- sort.Strings(versions)
+ c.SortStrings(versions)
// Ensure that at least the current version is included.
for _, v := range versions {
@@ -48,7 +50,7 @@ func getVersions() []string {
}
versions = append(versions, gen.UnicodeVersion())
- sort.Strings(versions)
+ c.SortStrings(versions)
return versions
}
diff --git a/vendor/golang.org/x/text/unicode/rangetable/tables.go b/vendor/golang.org/x/text/unicode/rangetable/tables.go
index 61c989b4c..73179c0e0 100644
--- a/vendor/golang.org/x/text/unicode/rangetable/tables.go
+++ b/vendor/golang.org/x/text/unicode/rangetable/tables.go
@@ -2,22 +2,23 @@
package rangetable
-//go:generate go run gen.go --versions=4.1.0,5.0.0,5.1.0,5.2.0,6.0.0,6.1.0,6.2.0,6.3.0,7.0.0,8.0.0,9.0.0
+//go:generate go run gen.go --versions=4.1.0,5.1.0,5.2.0,5.0.0,6.1.0,6.2.0,6.3.0,6.0.0,7.0.0,8.0.0,9.0.0,10.0.0
import "unicode"
var assigned = map[string]*unicode.RangeTable{
- "4.1.0": assigned4_1_0,
- "5.0.0": assigned5_0_0,
- "5.1.0": assigned5_1_0,
- "5.2.0": assigned5_2_0,
- "6.0.0": assigned6_0_0,
- "6.1.0": assigned6_1_0,
- "6.2.0": assigned6_2_0,
- "6.3.0": assigned6_3_0,
- "7.0.0": assigned7_0_0,
- "8.0.0": assigned8_0_0,
- "9.0.0": assigned9_0_0,
+ "4.1.0": assigned4_1_0,
+ "5.1.0": assigned5_1_0,
+ "5.2.0": assigned5_2_0,
+ "5.0.0": assigned5_0_0,
+ "6.1.0": assigned6_1_0,
+ "6.2.0": assigned6_2_0,
+ "6.3.0": assigned6_3_0,
+ "6.0.0": assigned6_0_0,
+ "7.0.0": assigned7_0_0,
+ "8.0.0": assigned8_0_0,
+ "9.0.0": assigned9_0_0,
+ "10.0.0": assigned10_0_0,
}
// size 2924 bytes (2 KiB)
@@ -443,18 +444,15 @@ var assigned4_1_0 = &unicode.RangeTable{
LatinOffset: 0,
}
-// size 3026 bytes (2 KiB)
-var assigned5_0_0 = &unicode.RangeTable{
+// size 3152 bytes (3 KiB)
+var assigned5_1_0 = &unicode.RangeTable{
R16: []unicode.Range16{
- {0x0000, 0x036f, 1},
- {0x0374, 0x0375, 1},
+ {0x0000, 0x0377, 1},
{0x037a, 0x037e, 1},
{0x0384, 0x038a, 1},
{0x038c, 0x038e, 2},
{0x038f, 0x03a1, 1},
- {0x03a3, 0x03ce, 1},
- {0x03d0, 0x0486, 1},
- {0x0488, 0x0513, 1},
+ {0x03a3, 0x0523, 1},
{0x0531, 0x0556, 1},
{0x0559, 0x055f, 1},
{0x0561, 0x0587, 1},
@@ -463,20 +461,17 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x05d0, 0x05ea, 1},
{0x05f0, 0x05f4, 1},
{0x0600, 0x0603, 1},
- {0x060b, 0x0615, 1},
- {0x061b, 0x061e, 3},
- {0x061f, 0x0621, 2},
- {0x0622, 0x063a, 1},
- {0x0640, 0x065e, 1},
+ {0x0606, 0x061b, 1},
+ {0x061e, 0x061f, 1},
+ {0x0621, 0x065e, 1},
{0x0660, 0x070d, 1},
{0x070f, 0x074a, 1},
- {0x074d, 0x076d, 1},
- {0x0780, 0x07b1, 1},
+ {0x074d, 0x07b1, 1},
{0x07c0, 0x07fa, 1},
{0x0901, 0x0939, 1},
{0x093c, 0x094d, 1},
{0x0950, 0x0954, 1},
- {0x0958, 0x0970, 1},
+ {0x0958, 0x0972, 1},
{0x097b, 0x097f, 1},
{0x0981, 0x0983, 1},
{0x0985, 0x098c, 1},
@@ -504,9 +499,10 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x0a3f, 0x0a42, 1},
{0x0a47, 0x0a48, 1},
{0x0a4b, 0x0a4d, 1},
- {0x0a59, 0x0a5c, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
{0x0a5e, 0x0a66, 8},
- {0x0a67, 0x0a74, 1},
+ {0x0a67, 0x0a75, 1},
{0x0a81, 0x0a83, 1},
{0x0a85, 0x0a8d, 1},
{0x0a8f, 0x0a91, 1},
@@ -528,12 +524,12 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x0b2a, 0x0b30, 1},
{0x0b32, 0x0b33, 1},
{0x0b35, 0x0b39, 1},
- {0x0b3c, 0x0b43, 1},
+ {0x0b3c, 0x0b44, 1},
{0x0b47, 0x0b48, 1},
{0x0b4b, 0x0b4d, 1},
{0x0b56, 0x0b57, 1},
{0x0b5c, 0x0b5d, 1},
- {0x0b5f, 0x0b61, 1},
+ {0x0b5f, 0x0b63, 1},
{0x0b66, 0x0b71, 1},
{0x0b82, 0x0b83, 1},
{0x0b85, 0x0b8a, 1},
@@ -548,20 +544,22 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x0bbe, 0x0bc2, 1},
{0x0bc6, 0x0bc8, 1},
{0x0bca, 0x0bcd, 1},
- {0x0bd7, 0x0be6, 15},
- {0x0be7, 0x0bfa, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
{0x0c01, 0x0c03, 1},
{0x0c05, 0x0c0c, 1},
{0x0c0e, 0x0c10, 1},
{0x0c12, 0x0c28, 1},
{0x0c2a, 0x0c33, 1},
{0x0c35, 0x0c39, 1},
- {0x0c3e, 0x0c44, 1},
+ {0x0c3d, 0x0c44, 1},
{0x0c46, 0x0c48, 1},
{0x0c4a, 0x0c4d, 1},
{0x0c55, 0x0c56, 1},
- {0x0c60, 0x0c61, 1},
+ {0x0c58, 0x0c59, 1},
+ {0x0c60, 0x0c63, 1},
{0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c7f, 1},
{0x0c82, 0x0c83, 1},
{0x0c85, 0x0c8c, 1},
{0x0c8e, 0x0c90, 1},
@@ -581,12 +579,13 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x0d0e, 0x0d10, 1},
{0x0d12, 0x0d28, 1},
{0x0d2a, 0x0d39, 1},
- {0x0d3e, 0x0d43, 1},
+ {0x0d3d, 0x0d44, 1},
{0x0d46, 0x0d48, 1},
{0x0d4a, 0x0d4d, 1},
{0x0d57, 0x0d60, 9},
- {0x0d61, 0x0d66, 5},
- {0x0d67, 0x0d6f, 1},
+ {0x0d61, 0x0d63, 1},
+ {0x0d66, 0x0d75, 1},
+ {0x0d79, 0x0d7f, 1},
{0x0d82, 0x0d83, 1},
{0x0d85, 0x0d96, 1},
{0x0d9a, 0x0db1, 1},
@@ -617,19 +616,14 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x0ed0, 0x0ed9, 1},
{0x0edc, 0x0edd, 1},
{0x0f00, 0x0f47, 1},
- {0x0f49, 0x0f6a, 1},
+ {0x0f49, 0x0f6c, 1},
{0x0f71, 0x0f8b, 1},
{0x0f90, 0x0f97, 1},
{0x0f99, 0x0fbc, 1},
{0x0fbe, 0x0fcc, 1},
- {0x0fcf, 0x0fd1, 1},
- {0x1000, 0x1021, 1},
- {0x1023, 0x1027, 1},
- {0x1029, 0x102a, 1},
- {0x102c, 0x1032, 1},
- {0x1036, 0x1039, 1},
- {0x1040, 0x1059, 1},
- {0x10a0, 0x10c5, 1},
+ {0x0fce, 0x0fd4, 1},
+ {0x1000, 0x1099, 1},
+ {0x109e, 0x10c5, 1},
{0x10d0, 0x10fc, 1},
{0x1100, 0x1159, 1},
{0x115f, 0x11a2, 1},
@@ -669,7 +663,7 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x1800, 0x180e, 1},
{0x1810, 0x1819, 1},
{0x1820, 0x1877, 1},
- {0x1880, 0x18a9, 1},
+ {0x1880, 0x18aa, 1},
{0x1900, 0x191c, 1},
{0x1920, 0x192b, 1},
{0x1930, 0x193b, 1},
@@ -683,10 +677,13 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x1a1e, 0x1a1f, 1},
{0x1b00, 0x1b4b, 1},
{0x1b50, 0x1b7c, 1},
- {0x1d00, 0x1dca, 1},
- {0x1dfe, 0x1e9b, 1},
- {0x1ea0, 0x1ef9, 1},
- {0x1f00, 0x1f15, 1},
+ {0x1b80, 0x1baa, 1},
+ {0x1bae, 0x1bb9, 1},
+ {0x1c00, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c7f, 1},
+ {0x1d00, 0x1de6, 1},
+ {0x1dfe, 0x1f15, 1},
{0x1f18, 0x1f1d, 1},
{0x1f20, 0x1f45, 1},
{0x1f48, 0x1f4d, 1},
@@ -700,19 +697,20 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x1fdd, 0x1fef, 1},
{0x1ff2, 0x1ff4, 1},
{0x1ff6, 0x1ffe, 1},
- {0x2000, 0x2063, 1},
+ {0x2000, 0x2064, 1},
{0x206a, 0x2071, 1},
{0x2074, 0x208e, 1},
{0x2090, 0x2094, 1},
{0x20a0, 0x20b5, 1},
- {0x20d0, 0x20ef, 1},
- {0x2100, 0x214e, 1},
- {0x2153, 0x2184, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x214f, 1},
+ {0x2153, 0x2188, 1},
{0x2190, 0x23e7, 1},
{0x2400, 0x2426, 1},
{0x2440, 0x244a, 1},
- {0x2460, 0x269c, 1},
- {0x26a0, 0x26b2, 1},
+ {0x2460, 0x269d, 1},
+ {0x26a0, 0x26bc, 1},
+ {0x26c0, 0x26c3, 1},
{0x2701, 0x2704, 1},
{0x2706, 0x2709, 1},
{0x270c, 0x2727, 1},
@@ -725,13 +723,13 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x2798, 0x27af, 1},
{0x27b1, 0x27be, 1},
{0x27c0, 0x27ca, 1},
- {0x27d0, 0x27eb, 1},
- {0x27f0, 0x2b1a, 1},
- {0x2b20, 0x2b23, 1},
+ {0x27cc, 0x27d0, 4},
+ {0x27d1, 0x2b4c, 1},
+ {0x2b50, 0x2b54, 1},
{0x2c00, 0x2c2e, 1},
{0x2c30, 0x2c5e, 1},
- {0x2c60, 0x2c6c, 1},
- {0x2c74, 0x2c77, 1},
+ {0x2c60, 0x2c6f, 1},
+ {0x2c71, 0x2c7d, 1},
{0x2c80, 0x2cea, 1},
{0x2cf9, 0x2d25, 1},
{0x2d30, 0x2d65, 1},
@@ -745,8 +743,7 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x2dc8, 0x2dce, 1},
{0x2dd0, 0x2dd6, 1},
{0x2dd8, 0x2dde, 1},
- {0x2e00, 0x2e17, 1},
- {0x2e1c, 0x2e1d, 1},
+ {0x2de0, 0x2e30, 1},
{0x2e80, 0x2e99, 1},
{0x2e9b, 0x2ef3, 1},
{0x2f00, 0x2fd5, 1},
@@ -754,21 +751,32 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x3000, 0x303f, 1},
{0x3041, 0x3096, 1},
{0x3099, 0x30ff, 1},
- {0x3105, 0x312c, 1},
+ {0x3105, 0x312d, 1},
{0x3131, 0x318e, 1},
{0x3190, 0x31b7, 1},
- {0x31c0, 0x31cf, 1},
+ {0x31c0, 0x31e3, 1},
{0x31f0, 0x321e, 1},
{0x3220, 0x3243, 1},
{0x3250, 0x32fe, 1},
{0x3300, 0x4db5, 1},
- {0x4dc0, 0x9fbb, 1},
+ {0x4dc0, 0x9fc3, 1},
{0xa000, 0xa48c, 1},
{0xa490, 0xa4c6, 1},
- {0xa700, 0xa71a, 1},
- {0xa720, 0xa721, 1},
- {0xa800, 0xa82b, 1},
+ {0xa500, 0xa62b, 1},
+ {0xa640, 0xa65f, 1},
+ {0xa662, 0xa673, 1},
+ {0xa67c, 0xa697, 1},
+ {0xa700, 0xa78c, 1},
+ {0xa7fb, 0xa82b, 1},
{0xa840, 0xa877, 1},
+ {0xa880, 0xa8c4, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xaa00, 161},
+ {0xaa01, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaa5f, 1},
{0xac00, 0xd7a3, 1},
{0xd800, 0xfa2d, 1},
{0xfa30, 0xfa6a, 1},
@@ -786,7 +794,7 @@ var assigned5_0_0 = &unicode.RangeTable{
{0xfd92, 0xfdc7, 1},
{0xfdf0, 0xfdfd, 1},
{0xfe00, 0xfe19, 1},
- {0xfe20, 0xfe23, 1},
+ {0xfe20, 0xfe26, 1},
{0xfe30, 0xfe52, 1},
{0xfe54, 0xfe66, 1},
{0xfe68, 0xfe6b, 1},
@@ -813,6 +821,10 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x00010100, 0x00010102, 1},
{0x00010107, 0x00010133, 1},
{0x00010137, 0x0001018a, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101d0, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
{0x00010300, 0x0001031e, 1},
{0x00010320, 0x00010323, 1},
{0x00010330, 0x0001034a, 1},
@@ -827,7 +839,8 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x00010837, 0x00010838, 1},
{0x0001083c, 0x0001083f, 3},
{0x00010900, 0x00010919, 1},
- {0x0001091f, 0x00010a00, 225},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010a00, 193},
{0x00010a01, 0x00010a03, 1},
{0x00010a05, 0x00010a06, 1},
{0x00010a0c, 0x00010a13, 1},
@@ -841,7 +854,7 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x00012470, 0x00012473, 1},
{0x0001d000, 0x0001d0f5, 1},
{0x0001d100, 0x0001d126, 1},
- {0x0001d12a, 0x0001d1dd, 1},
+ {0x0001d129, 0x0001d1dd, 1},
{0x0001d200, 0x0001d245, 1},
{0x0001d300, 0x0001d356, 1},
{0x0001d360, 0x0001d371, 1},
@@ -866,6 +879,8 @@ var assigned5_0_0 = &unicode.RangeTable{
{0x0001d552, 0x0001d6a5, 1},
{0x0001d6a8, 0x0001d7cb, 1},
{0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
{0x00020000, 0x0002a6d6, 1},
{0x0002f800, 0x0002fa1d, 1},
{0x000e0001, 0x000e0020, 31},
@@ -877,15 +892,15 @@ var assigned5_0_0 = &unicode.RangeTable{
LatinOffset: 0,
}
-// size 3152 bytes (3 KiB)
-var assigned5_1_0 = &unicode.RangeTable{
+// size 3518 bytes (3 KiB)
+var assigned5_2_0 = &unicode.RangeTable{
R16: []unicode.Range16{
{0x0000, 0x0377, 1},
{0x037a, 0x037e, 1},
{0x0384, 0x038a, 1},
{0x038c, 0x038e, 2},
{0x038f, 0x03a1, 1},
- {0x03a3, 0x0523, 1},
+ {0x03a3, 0x0525, 1},
{0x0531, 0x0556, 1},
{0x0559, 0x055f, 1},
{0x0561, 0x0587, 1},
@@ -901,11 +916,13 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x070f, 0x074a, 1},
{0x074d, 0x07b1, 1},
{0x07c0, 0x07fa, 1},
- {0x0901, 0x0939, 1},
- {0x093c, 0x094d, 1},
- {0x0950, 0x0954, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0900, 0x0939, 1},
+ {0x093c, 0x094e, 1},
+ {0x0950, 0x0955, 1},
{0x0958, 0x0972, 1},
- {0x097b, 0x097f, 1},
+ {0x0979, 0x097f, 1},
{0x0981, 0x0983, 1},
{0x0985, 0x098c, 1},
{0x098f, 0x0990, 1},
@@ -919,7 +936,7 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x09d7, 0x09dc, 5},
{0x09dd, 0x09df, 2},
{0x09e0, 0x09e3, 1},
- {0x09e6, 0x09fa, 1},
+ {0x09e6, 0x09fb, 1},
{0x0a01, 0x0a03, 1},
{0x0a05, 0x0a0a, 1},
{0x0a0f, 0x0a10, 1},
@@ -1054,14 +1071,10 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x0f90, 0x0f97, 1},
{0x0f99, 0x0fbc, 1},
{0x0fbe, 0x0fcc, 1},
- {0x0fce, 0x0fd4, 1},
- {0x1000, 0x1099, 1},
- {0x109e, 0x10c5, 1},
+ {0x0fce, 0x0fd8, 1},
+ {0x1000, 0x10c5, 1},
{0x10d0, 0x10fc, 1},
- {0x1100, 0x1159, 1},
- {0x115f, 0x11a2, 1},
- {0x11a8, 0x11f9, 1},
- {0x1200, 0x1248, 1},
+ {0x1100, 0x1248, 1},
{0x124a, 0x124d, 1},
{0x1250, 0x1256, 1},
{0x1258, 0x125a, 2},
@@ -1080,8 +1093,7 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x135f, 0x137c, 1},
{0x1380, 0x1399, 1},
{0x13a0, 0x13f4, 1},
- {0x1401, 0x1676, 1},
- {0x1680, 0x169c, 1},
+ {0x1400, 0x169c, 1},
{0x16a0, 0x16f0, 1},
{0x1700, 0x170c, 1},
{0x170e, 0x1714, 1},
@@ -1097,17 +1109,22 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x1810, 0x1819, 1},
{0x1820, 0x1877, 1},
{0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
{0x1900, 0x191c, 1},
{0x1920, 0x192b, 1},
{0x1930, 0x193b, 1},
{0x1940, 0x1944, 4},
{0x1945, 0x196d, 1},
{0x1970, 0x1974, 1},
- {0x1980, 0x19a9, 1},
+ {0x1980, 0x19ab, 1},
{0x19b0, 0x19c9, 1},
- {0x19d0, 0x19d9, 1},
+ {0x19d0, 0x19da, 1},
{0x19de, 0x1a1b, 1},
- {0x1a1e, 0x1a1f, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
{0x1b00, 0x1b4b, 1},
{0x1b50, 0x1b7c, 1},
{0x1b80, 0x1baa, 1},
@@ -1115,8 +1132,9 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x1c00, 0x1c37, 1},
{0x1c3b, 0x1c49, 1},
{0x1c4d, 0x1c7f, 1},
+ {0x1cd0, 0x1cf2, 1},
{0x1d00, 0x1de6, 1},
- {0x1dfe, 0x1f15, 1},
+ {0x1dfd, 0x1f15, 1},
{0x1f18, 0x1f1d, 1},
{0x1f20, 0x1f45, 1},
{0x1f48, 0x1f4d, 1},
@@ -1134,36 +1152,33 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x206a, 0x2071, 1},
{0x2074, 0x208e, 1},
{0x2090, 0x2094, 1},
- {0x20a0, 0x20b5, 1},
+ {0x20a0, 0x20b8, 1},
{0x20d0, 0x20f0, 1},
- {0x2100, 0x214f, 1},
- {0x2153, 0x2188, 1},
- {0x2190, 0x23e7, 1},
+ {0x2100, 0x2189, 1},
+ {0x2190, 0x23e8, 1},
{0x2400, 0x2426, 1},
{0x2440, 0x244a, 1},
- {0x2460, 0x269d, 1},
- {0x26a0, 0x26bc, 1},
- {0x26c0, 0x26c3, 1},
+ {0x2460, 0x26cd, 1},
+ {0x26cf, 0x26e1, 1},
+ {0x26e3, 0x26e8, 5},
+ {0x26e9, 0x26ff, 1},
{0x2701, 0x2704, 1},
{0x2706, 0x2709, 1},
{0x270c, 0x2727, 1},
{0x2729, 0x274b, 1},
{0x274d, 0x274f, 2},
{0x2750, 0x2752, 1},
- {0x2756, 0x2758, 2},
- {0x2759, 0x275e, 1},
+ {0x2756, 0x275e, 1},
{0x2761, 0x2794, 1},
{0x2798, 0x27af, 1},
{0x27b1, 0x27be, 1},
{0x27c0, 0x27ca, 1},
{0x27cc, 0x27d0, 4},
{0x27d1, 0x2b4c, 1},
- {0x2b50, 0x2b54, 1},
+ {0x2b50, 0x2b59, 1},
{0x2c00, 0x2c2e, 1},
{0x2c30, 0x2c5e, 1},
- {0x2c60, 0x2c6f, 1},
- {0x2c71, 0x2c7d, 1},
- {0x2c80, 0x2cea, 1},
+ {0x2c60, 0x2cf1, 1},
{0x2cf9, 0x2d25, 1},
{0x2d30, 0x2d65, 1},
{0x2d6f, 0x2d80, 17},
@@ -1176,7 +1191,7 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x2dc8, 0x2dce, 1},
{0x2dd0, 0x2dd6, 1},
{0x2dd8, 0x2dde, 1},
- {0x2de0, 0x2e30, 1},
+ {0x2de0, 0x2e31, 1},
{0x2e80, 0x2e99, 1},
{0x2e9b, 0x2ef3, 1},
{0x2f00, 0x2fd5, 1},
@@ -1189,30 +1204,41 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x3190, 0x31b7, 1},
{0x31c0, 0x31e3, 1},
{0x31f0, 0x321e, 1},
- {0x3220, 0x3243, 1},
- {0x3250, 0x32fe, 1},
+ {0x3220, 0x32fe, 1},
{0x3300, 0x4db5, 1},
- {0x4dc0, 0x9fc3, 1},
+ {0x4dc0, 0x9fcb, 1},
{0xa000, 0xa48c, 1},
{0xa490, 0xa4c6, 1},
- {0xa500, 0xa62b, 1},
+ {0xa4d0, 0xa62b, 1},
{0xa640, 0xa65f, 1},
{0xa662, 0xa673, 1},
{0xa67c, 0xa697, 1},
+ {0xa6a0, 0xa6f7, 1},
{0xa700, 0xa78c, 1},
{0xa7fb, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
{0xa840, 0xa877, 1},
{0xa880, 0xa8c4, 1},
{0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fb, 1},
{0xa900, 0xa953, 1},
- {0xa95f, 0xaa00, 161},
- {0xaa01, 0xaa36, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9df, 1},
+ {0xaa00, 0xaa36, 1},
{0xaa40, 0xaa4d, 1},
{0xaa50, 0xaa59, 1},
- {0xaa5c, 0xaa5f, 1},
+ {0xaa5c, 0xaa7b, 1},
+ {0xaa80, 0xaac2, 1},
+ {0xaadb, 0xaadf, 1},
+ {0xabc0, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
{0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
{0xd800, 0xfa2d, 1},
- {0xfa30, 0xfa6a, 1},
+ {0xfa30, 0xfa6d, 1},
{0xfa70, 0xfad9, 1},
{0xfb00, 0xfb06, 1},
{0xfb13, 0xfb17, 1},
@@ -1271,7 +1297,9 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x0001080b, 0x00010835, 1},
{0x00010837, 0x00010838, 1},
{0x0001083c, 0x0001083f, 3},
- {0x00010900, 0x00010919, 1},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001085f, 1},
+ {0x00010900, 0x0001091b, 1},
{0x0001091f, 0x00010939, 1},
{0x0001093f, 0x00010a00, 193},
{0x00010a01, 0x00010a03, 1},
@@ -1282,9 +1310,18 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x00010a38, 0x00010a3a, 1},
{0x00010a3f, 0x00010a47, 1},
{0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a7f, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b7f, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011080, 0x000110c1, 1},
{0x00012000, 0x0001236e, 1},
{0x00012400, 0x00012462, 1},
{0x00012470, 0x00012473, 1},
+ {0x00013000, 0x0001342e, 1},
{0x0001d000, 0x0001d0f5, 1},
{0x0001d100, 0x0001d126, 1},
{0x0001d129, 0x0001d1dd, 1},
@@ -1314,7 +1351,21 @@ var assigned5_1_0 = &unicode.RangeTable{
{0x0001d7ce, 0x0001d7ff, 1},
{0x0001f000, 0x0001f02b, 1},
{0x0001f030, 0x0001f093, 1},
+ {0x0001f100, 0x0001f10a, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f131, 0x0001f13d, 12},
+ {0x0001f13f, 0x0001f142, 3},
+ {0x0001f146, 0x0001f14a, 4},
+ {0x0001f14b, 0x0001f14e, 1},
+ {0x0001f157, 0x0001f15f, 8},
+ {0x0001f179, 0x0001f17b, 2},
+ {0x0001f17c, 0x0001f17f, 3},
+ {0x0001f18a, 0x0001f18d, 1},
+ {0x0001f190, 0x0001f200, 112},
+ {0x0001f210, 0x0001f231, 1},
+ {0x0001f240, 0x0001f248, 1},
{0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
{0x0002f800, 0x0002fa1d, 1},
{0x000e0001, 0x000e0020, 31},
{0x000e0021, 0x000e007f, 1},
@@ -1325,15 +1376,18 @@ var assigned5_1_0 = &unicode.RangeTable{
LatinOffset: 0,
}
-// size 3518 bytes (3 KiB)
-var assigned5_2_0 = &unicode.RangeTable{
+// size 3026 bytes (2 KiB)
+var assigned5_0_0 = &unicode.RangeTable{
R16: []unicode.Range16{
- {0x0000, 0x0377, 1},
+ {0x0000, 0x036f, 1},
+ {0x0374, 0x0375, 1},
{0x037a, 0x037e, 1},
{0x0384, 0x038a, 1},
{0x038c, 0x038e, 2},
{0x038f, 0x03a1, 1},
- {0x03a3, 0x0525, 1},
+ {0x03a3, 0x03ce, 1},
+ {0x03d0, 0x0486, 1},
+ {0x0488, 0x0513, 1},
{0x0531, 0x0556, 1},
{0x0559, 0x055f, 1},
{0x0561, 0x0587, 1},
@@ -1342,20 +1396,21 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x05d0, 0x05ea, 1},
{0x05f0, 0x05f4, 1},
{0x0600, 0x0603, 1},
- {0x0606, 0x061b, 1},
- {0x061e, 0x061f, 1},
- {0x0621, 0x065e, 1},
+ {0x060b, 0x0615, 1},
+ {0x061b, 0x061e, 3},
+ {0x061f, 0x0621, 2},
+ {0x0622, 0x063a, 1},
+ {0x0640, 0x065e, 1},
{0x0660, 0x070d, 1},
{0x070f, 0x074a, 1},
- {0x074d, 0x07b1, 1},
+ {0x074d, 0x076d, 1},
+ {0x0780, 0x07b1, 1},
{0x07c0, 0x07fa, 1},
- {0x0800, 0x082d, 1},
- {0x0830, 0x083e, 1},
- {0x0900, 0x0939, 1},
- {0x093c, 0x094e, 1},
- {0x0950, 0x0955, 1},
- {0x0958, 0x0972, 1},
- {0x0979, 0x097f, 1},
+ {0x0901, 0x0939, 1},
+ {0x093c, 0x094d, 1},
+ {0x0950, 0x0954, 1},
+ {0x0958, 0x0970, 1},
+ {0x097b, 0x097f, 1},
{0x0981, 0x0983, 1},
{0x0985, 0x098c, 1},
{0x098f, 0x0990, 1},
@@ -1369,7 +1424,7 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x09d7, 0x09dc, 5},
{0x09dd, 0x09df, 2},
{0x09e0, 0x09e3, 1},
- {0x09e6, 0x09fb, 1},
+ {0x09e6, 0x09fa, 1},
{0x0a01, 0x0a03, 1},
{0x0a05, 0x0a0a, 1},
{0x0a0f, 0x0a10, 1},
@@ -1382,10 +1437,9 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x0a3f, 0x0a42, 1},
{0x0a47, 0x0a48, 1},
{0x0a4b, 0x0a4d, 1},
- {0x0a51, 0x0a59, 8},
- {0x0a5a, 0x0a5c, 1},
+ {0x0a59, 0x0a5c, 1},
{0x0a5e, 0x0a66, 8},
- {0x0a67, 0x0a75, 1},
+ {0x0a67, 0x0a74, 1},
{0x0a81, 0x0a83, 1},
{0x0a85, 0x0a8d, 1},
{0x0a8f, 0x0a91, 1},
@@ -1407,12 +1461,12 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x0b2a, 0x0b30, 1},
{0x0b32, 0x0b33, 1},
{0x0b35, 0x0b39, 1},
- {0x0b3c, 0x0b44, 1},
+ {0x0b3c, 0x0b43, 1},
{0x0b47, 0x0b48, 1},
{0x0b4b, 0x0b4d, 1},
{0x0b56, 0x0b57, 1},
{0x0b5c, 0x0b5d, 1},
- {0x0b5f, 0x0b63, 1},
+ {0x0b5f, 0x0b61, 1},
{0x0b66, 0x0b71, 1},
{0x0b82, 0x0b83, 1},
{0x0b85, 0x0b8a, 1},
@@ -1427,22 +1481,20 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x0bbe, 0x0bc2, 1},
{0x0bc6, 0x0bc8, 1},
{0x0bca, 0x0bcd, 1},
- {0x0bd0, 0x0bd7, 7},
- {0x0be6, 0x0bfa, 1},
+ {0x0bd7, 0x0be6, 15},
+ {0x0be7, 0x0bfa, 1},
{0x0c01, 0x0c03, 1},
{0x0c05, 0x0c0c, 1},
{0x0c0e, 0x0c10, 1},
{0x0c12, 0x0c28, 1},
{0x0c2a, 0x0c33, 1},
{0x0c35, 0x0c39, 1},
- {0x0c3d, 0x0c44, 1},
+ {0x0c3e, 0x0c44, 1},
{0x0c46, 0x0c48, 1},
{0x0c4a, 0x0c4d, 1},
{0x0c55, 0x0c56, 1},
- {0x0c58, 0x0c59, 1},
- {0x0c60, 0x0c63, 1},
+ {0x0c60, 0x0c61, 1},
{0x0c66, 0x0c6f, 1},
- {0x0c78, 0x0c7f, 1},
{0x0c82, 0x0c83, 1},
{0x0c85, 0x0c8c, 1},
{0x0c8e, 0x0c90, 1},
@@ -1462,13 +1514,12 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x0d0e, 0x0d10, 1},
{0x0d12, 0x0d28, 1},
{0x0d2a, 0x0d39, 1},
- {0x0d3d, 0x0d44, 1},
+ {0x0d3e, 0x0d43, 1},
{0x0d46, 0x0d48, 1},
{0x0d4a, 0x0d4d, 1},
{0x0d57, 0x0d60, 9},
- {0x0d61, 0x0d63, 1},
- {0x0d66, 0x0d75, 1},
- {0x0d79, 0x0d7f, 1},
+ {0x0d61, 0x0d66, 5},
+ {0x0d67, 0x0d6f, 1},
{0x0d82, 0x0d83, 1},
{0x0d85, 0x0d96, 1},
{0x0d9a, 0x0db1, 1},
@@ -1499,15 +1550,24 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x0ed0, 0x0ed9, 1},
{0x0edc, 0x0edd, 1},
{0x0f00, 0x0f47, 1},
- {0x0f49, 0x0f6c, 1},
+ {0x0f49, 0x0f6a, 1},
{0x0f71, 0x0f8b, 1},
{0x0f90, 0x0f97, 1},
{0x0f99, 0x0fbc, 1},
{0x0fbe, 0x0fcc, 1},
- {0x0fce, 0x0fd8, 1},
- {0x1000, 0x10c5, 1},
+ {0x0fcf, 0x0fd1, 1},
+ {0x1000, 0x1021, 1},
+ {0x1023, 0x1027, 1},
+ {0x1029, 0x102a, 1},
+ {0x102c, 0x1032, 1},
+ {0x1036, 0x1039, 1},
+ {0x1040, 0x1059, 1},
+ {0x10a0, 0x10c5, 1},
{0x10d0, 0x10fc, 1},
- {0x1100, 0x1248, 1},
+ {0x1100, 0x1159, 1},
+ {0x115f, 0x11a2, 1},
+ {0x11a8, 0x11f9, 1},
+ {0x1200, 0x1248, 1},
{0x124a, 0x124d, 1},
{0x1250, 0x1256, 1},
{0x1258, 0x125a, 2},
@@ -1526,7 +1586,8 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x135f, 0x137c, 1},
{0x1380, 0x1399, 1},
{0x13a0, 0x13f4, 1},
- {0x1400, 0x169c, 1},
+ {0x1401, 0x1676, 1},
+ {0x1680, 0x169c, 1},
{0x16a0, 0x16f0, 1},
{0x1700, 0x170c, 1},
{0x170e, 0x1714, 1},
@@ -1541,33 +1602,24 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x1800, 0x180e, 1},
{0x1810, 0x1819, 1},
{0x1820, 0x1877, 1},
- {0x1880, 0x18aa, 1},
- {0x18b0, 0x18f5, 1},
+ {0x1880, 0x18a9, 1},
{0x1900, 0x191c, 1},
{0x1920, 0x192b, 1},
{0x1930, 0x193b, 1},
{0x1940, 0x1944, 4},
{0x1945, 0x196d, 1},
{0x1970, 0x1974, 1},
- {0x1980, 0x19ab, 1},
+ {0x1980, 0x19a9, 1},
{0x19b0, 0x19c9, 1},
- {0x19d0, 0x19da, 1},
+ {0x19d0, 0x19d9, 1},
{0x19de, 0x1a1b, 1},
- {0x1a1e, 0x1a5e, 1},
- {0x1a60, 0x1a7c, 1},
- {0x1a7f, 0x1a89, 1},
- {0x1a90, 0x1a99, 1},
- {0x1aa0, 0x1aad, 1},
+ {0x1a1e, 0x1a1f, 1},
{0x1b00, 0x1b4b, 1},
{0x1b50, 0x1b7c, 1},
- {0x1b80, 0x1baa, 1},
- {0x1bae, 0x1bb9, 1},
- {0x1c00, 0x1c37, 1},
- {0x1c3b, 0x1c49, 1},
- {0x1c4d, 0x1c7f, 1},
- {0x1cd0, 0x1cf2, 1},
- {0x1d00, 0x1de6, 1},
- {0x1dfd, 0x1f15, 1},
+ {0x1d00, 0x1dca, 1},
+ {0x1dfe, 0x1e9b, 1},
+ {0x1ea0, 0x1ef9, 1},
+ {0x1f00, 0x1f15, 1},
{0x1f18, 0x1f1d, 1},
{0x1f20, 0x1f45, 1},
{0x1f48, 0x1f4d, 1},
@@ -1581,37 +1633,39 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x1fdd, 0x1fef, 1},
{0x1ff2, 0x1ff4, 1},
{0x1ff6, 0x1ffe, 1},
- {0x2000, 0x2064, 1},
+ {0x2000, 0x2063, 1},
{0x206a, 0x2071, 1},
{0x2074, 0x208e, 1},
{0x2090, 0x2094, 1},
- {0x20a0, 0x20b8, 1},
- {0x20d0, 0x20f0, 1},
- {0x2100, 0x2189, 1},
- {0x2190, 0x23e8, 1},
+ {0x20a0, 0x20b5, 1},
+ {0x20d0, 0x20ef, 1},
+ {0x2100, 0x214e, 1},
+ {0x2153, 0x2184, 1},
+ {0x2190, 0x23e7, 1},
{0x2400, 0x2426, 1},
{0x2440, 0x244a, 1},
- {0x2460, 0x26cd, 1},
- {0x26cf, 0x26e1, 1},
- {0x26e3, 0x26e8, 5},
- {0x26e9, 0x26ff, 1},
+ {0x2460, 0x269c, 1},
+ {0x26a0, 0x26b2, 1},
{0x2701, 0x2704, 1},
{0x2706, 0x2709, 1},
{0x270c, 0x2727, 1},
{0x2729, 0x274b, 1},
{0x274d, 0x274f, 2},
{0x2750, 0x2752, 1},
- {0x2756, 0x275e, 1},
+ {0x2756, 0x2758, 2},
+ {0x2759, 0x275e, 1},
{0x2761, 0x2794, 1},
{0x2798, 0x27af, 1},
{0x27b1, 0x27be, 1},
{0x27c0, 0x27ca, 1},
- {0x27cc, 0x27d0, 4},
- {0x27d1, 0x2b4c, 1},
- {0x2b50, 0x2b59, 1},
+ {0x27d0, 0x27eb, 1},
+ {0x27f0, 0x2b1a, 1},
+ {0x2b20, 0x2b23, 1},
{0x2c00, 0x2c2e, 1},
{0x2c30, 0x2c5e, 1},
- {0x2c60, 0x2cf1, 1},
+ {0x2c60, 0x2c6c, 1},
+ {0x2c74, 0x2c77, 1},
+ {0x2c80, 0x2cea, 1},
{0x2cf9, 0x2d25, 1},
{0x2d30, 0x2d65, 1},
{0x2d6f, 0x2d80, 17},
@@ -1624,7 +1678,8 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x2dc8, 0x2dce, 1},
{0x2dd0, 0x2dd6, 1},
{0x2dd8, 0x2dde, 1},
- {0x2de0, 0x2e31, 1},
+ {0x2e00, 0x2e17, 1},
+ {0x2e1c, 0x2e1d, 1},
{0x2e80, 0x2e99, 1},
{0x2e9b, 0x2ef3, 1},
{0x2f00, 0x2fd5, 1},
@@ -1632,46 +1687,24 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x3000, 0x303f, 1},
{0x3041, 0x3096, 1},
{0x3099, 0x30ff, 1},
- {0x3105, 0x312d, 1},
+ {0x3105, 0x312c, 1},
{0x3131, 0x318e, 1},
{0x3190, 0x31b7, 1},
- {0x31c0, 0x31e3, 1},
+ {0x31c0, 0x31cf, 1},
{0x31f0, 0x321e, 1},
- {0x3220, 0x32fe, 1},
+ {0x3220, 0x3243, 1},
+ {0x3250, 0x32fe, 1},
{0x3300, 0x4db5, 1},
- {0x4dc0, 0x9fcb, 1},
+ {0x4dc0, 0x9fbb, 1},
{0xa000, 0xa48c, 1},
{0xa490, 0xa4c6, 1},
- {0xa4d0, 0xa62b, 1},
- {0xa640, 0xa65f, 1},
- {0xa662, 0xa673, 1},
- {0xa67c, 0xa697, 1},
- {0xa6a0, 0xa6f7, 1},
- {0xa700, 0xa78c, 1},
- {0xa7fb, 0xa82b, 1},
- {0xa830, 0xa839, 1},
+ {0xa700, 0xa71a, 1},
+ {0xa720, 0xa721, 1},
+ {0xa800, 0xa82b, 1},
{0xa840, 0xa877, 1},
- {0xa880, 0xa8c4, 1},
- {0xa8ce, 0xa8d9, 1},
- {0xa8e0, 0xa8fb, 1},
- {0xa900, 0xa953, 1},
- {0xa95f, 0xa97c, 1},
- {0xa980, 0xa9cd, 1},
- {0xa9cf, 0xa9d9, 1},
- {0xa9de, 0xa9df, 1},
- {0xaa00, 0xaa36, 1},
- {0xaa40, 0xaa4d, 1},
- {0xaa50, 0xaa59, 1},
- {0xaa5c, 0xaa7b, 1},
- {0xaa80, 0xaac2, 1},
- {0xaadb, 0xaadf, 1},
- {0xabc0, 0xabed, 1},
- {0xabf0, 0xabf9, 1},
{0xac00, 0xd7a3, 1},
- {0xd7b0, 0xd7c6, 1},
- {0xd7cb, 0xd7fb, 1},
{0xd800, 0xfa2d, 1},
- {0xfa30, 0xfa6d, 1},
+ {0xfa30, 0xfa6a, 1},
{0xfa70, 0xfad9, 1},
{0xfb00, 0xfb06, 1},
{0xfb13, 0xfb17, 1},
@@ -1686,7 +1719,7 @@ var assigned5_2_0 = &unicode.RangeTable{
{0xfd92, 0xfdc7, 1},
{0xfdf0, 0xfdfd, 1},
{0xfe00, 0xfe19, 1},
- {0xfe20, 0xfe26, 1},
+ {0xfe20, 0xfe23, 1},
{0xfe30, 0xfe52, 1},
{0xfe54, 0xfe66, 1},
{0xfe68, 0xfe6b, 1},
@@ -1713,10 +1746,6 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x00010100, 0x00010102, 1},
{0x00010107, 0x00010133, 1},
{0x00010137, 0x0001018a, 1},
- {0x00010190, 0x0001019b, 1},
- {0x000101d0, 0x000101fd, 1},
- {0x00010280, 0x0001029c, 1},
- {0x000102a0, 0x000102d0, 1},
{0x00010300, 0x0001031e, 1},
{0x00010320, 0x00010323, 1},
{0x00010330, 0x0001034a, 1},
@@ -1730,11 +1759,8 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x0001080b, 0x00010835, 1},
{0x00010837, 0x00010838, 1},
{0x0001083c, 0x0001083f, 3},
- {0x00010840, 0x00010855, 1},
- {0x00010857, 0x0001085f, 1},
- {0x00010900, 0x0001091b, 1},
- {0x0001091f, 0x00010939, 1},
- {0x0001093f, 0x00010a00, 193},
+ {0x00010900, 0x00010919, 1},
+ {0x0001091f, 0x00010a00, 225},
{0x00010a01, 0x00010a03, 1},
{0x00010a05, 0x00010a06, 1},
{0x00010a0c, 0x00010a13, 1},
@@ -1743,21 +1769,12 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x00010a38, 0x00010a3a, 1},
{0x00010a3f, 0x00010a47, 1},
{0x00010a50, 0x00010a58, 1},
- {0x00010a60, 0x00010a7f, 1},
- {0x00010b00, 0x00010b35, 1},
- {0x00010b39, 0x00010b55, 1},
- {0x00010b58, 0x00010b72, 1},
- {0x00010b78, 0x00010b7f, 1},
- {0x00010c00, 0x00010c48, 1},
- {0x00010e60, 0x00010e7e, 1},
- {0x00011080, 0x000110c1, 1},
{0x00012000, 0x0001236e, 1},
{0x00012400, 0x00012462, 1},
{0x00012470, 0x00012473, 1},
- {0x00013000, 0x0001342e, 1},
{0x0001d000, 0x0001d0f5, 1},
{0x0001d100, 0x0001d126, 1},
- {0x0001d129, 0x0001d1dd, 1},
+ {0x0001d12a, 0x0001d1dd, 1},
{0x0001d200, 0x0001d245, 1},
{0x0001d300, 0x0001d356, 1},
{0x0001d360, 0x0001d371, 1},
@@ -1782,23 +1799,7 @@ var assigned5_2_0 = &unicode.RangeTable{
{0x0001d552, 0x0001d6a5, 1},
{0x0001d6a8, 0x0001d7cb, 1},
{0x0001d7ce, 0x0001d7ff, 1},
- {0x0001f000, 0x0001f02b, 1},
- {0x0001f030, 0x0001f093, 1},
- {0x0001f100, 0x0001f10a, 1},
- {0x0001f110, 0x0001f12e, 1},
- {0x0001f131, 0x0001f13d, 12},
- {0x0001f13f, 0x0001f142, 3},
- {0x0001f146, 0x0001f14a, 4},
- {0x0001f14b, 0x0001f14e, 1},
- {0x0001f157, 0x0001f15f, 8},
- {0x0001f179, 0x0001f17b, 2},
- {0x0001f17c, 0x0001f17f, 3},
- {0x0001f18a, 0x0001f18d, 1},
- {0x0001f190, 0x0001f200, 112},
- {0x0001f210, 0x0001f231, 1},
- {0x0001f240, 0x0001f248, 1},
{0x00020000, 0x0002a6d6, 1},
- {0x0002a700, 0x0002b734, 1},
{0x0002f800, 0x0002fa1d, 1},
{0x000e0001, 0x000e0020, 31},
{0x000e0021, 0x000e007f, 1},
@@ -1809,8 +1810,8 @@ var assigned5_2_0 = &unicode.RangeTable{
LatinOffset: 0,
}
-// size 3812 bytes (3 KiB)
-var assigned6_0_0 = &unicode.RangeTable{
+// size 4160 bytes (4 KiB)
+var assigned6_1_0 = &unicode.RangeTable{
R16: []unicode.Range16{
{0x0000, 0x0377, 1},
{0x037a, 0x037e, 1},
@@ -1822,10 +1823,11 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x0559, 0x055f, 1},
{0x0561, 0x0587, 1},
{0x0589, 0x058a, 1},
- {0x0591, 0x05c7, 1},
+ {0x058f, 0x0591, 2},
+ {0x0592, 0x05c7, 1},
{0x05d0, 0x05ea, 1},
{0x05f0, 0x05f4, 1},
- {0x0600, 0x0603, 1},
+ {0x0600, 0x0604, 1},
{0x0606, 0x061b, 1},
{0x061e, 0x070d, 1},
{0x070f, 0x074a, 1},
@@ -1834,8 +1836,10 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x0800, 0x082d, 1},
{0x0830, 0x083e, 1},
{0x0840, 0x085b, 1},
- {0x085e, 0x0900, 162},
- {0x0901, 0x0977, 1},
+ {0x085e, 0x08a0, 66},
+ {0x08a2, 0x08ac, 1},
+ {0x08e4, 0x08fe, 1},
+ {0x0900, 0x0977, 1},
{0x0979, 0x097f, 1},
{0x0981, 0x0983, 1},
{0x0985, 0x098c, 1},
@@ -1879,9 +1883,8 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x0acb, 0x0acd, 1},
{0x0ad0, 0x0ae0, 16},
{0x0ae1, 0x0ae3, 1},
- {0x0ae6, 0x0aef, 1},
- {0x0af1, 0x0b01, 16},
- {0x0b02, 0x0b03, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0b01, 0x0b03, 1},
{0x0b05, 0x0b0c, 1},
{0x0b0f, 0x0b10, 1},
{0x0b13, 0x0b28, 1},
@@ -1977,7 +1980,7 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x0ec6, 0x0ec8, 2},
{0x0ec9, 0x0ecd, 1},
{0x0ed0, 0x0ed9, 1},
- {0x0edc, 0x0edd, 1},
+ {0x0edc, 0x0edf, 1},
{0x0f00, 0x0f47, 1},
{0x0f49, 0x0f6c, 1},
{0x0f71, 0x0f97, 1},
@@ -1985,8 +1988,8 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x0fbe, 0x0fcc, 1},
{0x0fce, 0x0fda, 1},
{0x1000, 0x10c5, 1},
- {0x10d0, 0x10fc, 1},
- {0x1100, 0x1248, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
{0x124a, 0x124d, 1},
{0x1250, 0x1256, 1},
{0x1258, 0x125a, 2},
@@ -2039,13 +2042,12 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x1aa0, 0x1aad, 1},
{0x1b00, 0x1b4b, 1},
{0x1b50, 0x1b7c, 1},
- {0x1b80, 0x1baa, 1},
- {0x1bae, 0x1bb9, 1},
- {0x1bc0, 0x1bf3, 1},
+ {0x1b80, 0x1bf3, 1},
{0x1bfc, 0x1c37, 1},
{0x1c3b, 0x1c49, 1},
{0x1c4d, 0x1c7f, 1},
- {0x1cd0, 0x1cf2, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf6, 1},
{0x1d00, 0x1de6, 1},
{0x1dfc, 0x1f15, 1},
{0x1f18, 0x1f1d, 1},
@@ -2072,15 +2074,14 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x2400, 0x2426, 1},
{0x2440, 0x244a, 1},
{0x2460, 0x26ff, 1},
- {0x2701, 0x27ca, 1},
- {0x27cc, 0x27ce, 2},
- {0x27cf, 0x2b4c, 1},
+ {0x2701, 0x2b4c, 1},
{0x2b50, 0x2b59, 1},
{0x2c00, 0x2c2e, 1},
{0x2c30, 0x2c5e, 1},
- {0x2c60, 0x2cf1, 1},
+ {0x2c60, 0x2cf3, 1},
{0x2cf9, 0x2d25, 1},
- {0x2d30, 0x2d65, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
{0x2d6f, 0x2d70, 1},
{0x2d7f, 0x2d96, 1},
{0x2da0, 0x2da6, 1},
@@ -2091,7 +2092,7 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x2dc8, 0x2dce, 1},
{0x2dd0, 0x2dd6, 1},
{0x2dd8, 0x2dde, 1},
- {0x2de0, 0x2e31, 1},
+ {0x2de0, 0x2e3b, 1},
{0x2e80, 0x2e99, 1},
{0x2e9b, 0x2ef3, 1},
{0x2f00, 0x2fd5, 1},
@@ -2106,17 +2107,16 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x31f0, 0x321e, 1},
{0x3220, 0x32fe, 1},
{0x3300, 0x4db5, 1},
- {0x4dc0, 0x9fcb, 1},
+ {0x4dc0, 0x9fcc, 1},
{0xa000, 0xa48c, 1},
{0xa490, 0xa4c6, 1},
{0xa4d0, 0xa62b, 1},
- {0xa640, 0xa673, 1},
- {0xa67c, 0xa697, 1},
- {0xa6a0, 0xa6f7, 1},
+ {0xa640, 0xa697, 1},
+ {0xa69f, 0xa6f7, 1},
{0xa700, 0xa78e, 1},
- {0xa790, 0xa791, 1},
- {0xa7a0, 0xa7a9, 1},
- {0xa7fa, 0xa82b, 1},
+ {0xa790, 0xa793, 1},
+ {0xa7a0, 0xa7aa, 1},
+ {0xa7f8, 0xa82b, 1},
{0xa830, 0xa839, 1},
{0xa840, 0xa877, 1},
{0xa880, 0xa8c4, 1},
@@ -2132,7 +2132,7 @@ var assigned6_0_0 = &unicode.RangeTable{
{0xaa50, 0xaa59, 1},
{0xaa5c, 0xaa7b, 1},
{0xaa80, 0xaac2, 1},
- {0xaadb, 0xaadf, 1},
+ {0xaadb, 0xaaf6, 1},
{0xab01, 0xab06, 1},
{0xab09, 0xab0e, 1},
{0xab11, 0xab16, 1},
@@ -2143,8 +2143,7 @@ var assigned6_0_0 = &unicode.RangeTable{
{0xac00, 0xd7a3, 1},
{0xd7b0, 0xd7c6, 1},
{0xd7cb, 0xd7fb, 1},
- {0xd800, 0xfa2d, 1},
- {0xfa30, 0xfa6d, 1},
+ {0xd800, 0xfa6d, 1},
{0xfa70, 0xfad9, 1},
{0xfb00, 0xfb06, 1},
{0xfb13, 0xfb17, 1},
@@ -2207,8 +2206,10 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x00010857, 0x0001085f, 1},
{0x00010900, 0x0001091b, 1},
{0x0001091f, 0x00010939, 1},
- {0x0001093f, 0x00010a00, 193},
- {0x00010a01, 0x00010a03, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109be, 0x000109bf, 1},
+ {0x00010a00, 0x00010a03, 1},
{0x00010a05, 0x00010a06, 1},
{0x00010a0c, 0x00010a13, 1},
{0x00010a15, 0x00010a17, 1},
@@ -2226,11 +2227,22 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x00011000, 0x0001104d, 1},
{0x00011052, 0x0001106f, 1},
{0x00011080, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011180, 0x000111c8, 1},
+ {0x000111d0, 0x000111d9, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
{0x00012000, 0x0001236e, 1},
{0x00012400, 0x00012462, 1},
{0x00012470, 0x00012473, 1},
{0x00013000, 0x0001342e, 1},
{0x00016800, 0x00016a38, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
{0x0001b000, 0x0001b001, 1},
{0x0001d000, 0x0001d0f5, 1},
{0x0001d100, 0x0001d126, 1},
@@ -2259,6 +2271,31 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x0001d552, 0x0001d6a5, 1},
{0x0001d6a8, 0x0001d7cb, 1},
{0x0001d7ce, 0x0001d7ff, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
{0x0001f000, 0x0001f02b, 1},
{0x0001f030, 0x0001f093, 1},
{0x0001f0a0, 0x0001f0ae, 1},
@@ -2267,7 +2304,7 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x0001f0d1, 0x0001f0df, 1},
{0x0001f100, 0x0001f10a, 1},
{0x0001f110, 0x0001f12e, 1},
- {0x0001f130, 0x0001f169, 1},
+ {0x0001f130, 0x0001f16b, 1},
{0x0001f170, 0x0001f19a, 1},
{0x0001f1e6, 0x0001f202, 1},
{0x0001f210, 0x0001f23a, 1},
@@ -2285,17 +2322,9 @@ var assigned6_0_0 = &unicode.RangeTable{
{0x0001f443, 0x0001f4f7, 1},
{0x0001f4f9, 0x0001f4fc, 1},
{0x0001f500, 0x0001f53d, 1},
+ {0x0001f540, 0x0001f543, 1},
{0x0001f550, 0x0001f567, 1},
- {0x0001f5fb, 0x0001f5ff, 1},
- {0x0001f601, 0x0001f610, 1},
- {0x0001f612, 0x0001f614, 1},
- {0x0001f616, 0x0001f61c, 2},
- {0x0001f61d, 0x0001f61e, 1},
- {0x0001f620, 0x0001f625, 1},
- {0x0001f628, 0x0001f62b, 1},
- {0x0001f62d, 0x0001f630, 3},
- {0x0001f631, 0x0001f633, 1},
- {0x0001f635, 0x0001f640, 1},
+ {0x0001f5fb, 0x0001f640, 1},
{0x0001f645, 0x0001f64f, 1},
{0x0001f680, 0x0001f6c5, 1},
{0x0001f700, 0x0001f773, 1},
@@ -2313,7 +2342,7 @@ var assigned6_0_0 = &unicode.RangeTable{
}
// size 4160 bytes (4 KiB)
-var assigned6_1_0 = &unicode.RangeTable{
+var assigned6_2_0 = &unicode.RangeTable{
R16: []unicode.Range16{
{0x0000, 0x0377, 1},
{0x037a, 0x037e, 1},
@@ -2569,7 +2598,7 @@ var assigned6_1_0 = &unicode.RangeTable{
{0x206a, 0x2071, 1},
{0x2074, 0x208e, 1},
{0x2090, 0x209c, 1},
- {0x20a0, 0x20b9, 1},
+ {0x20a0, 0x20ba, 1},
{0x20d0, 0x20f0, 1},
{0x2100, 0x2189, 1},
{0x2190, 0x23f3, 1},
@@ -2844,7 +2873,7 @@ var assigned6_1_0 = &unicode.RangeTable{
}
// size 4160 bytes (4 KiB)
-var assigned6_2_0 = &unicode.RangeTable{
+var assigned6_3_0 = &unicode.RangeTable{
R16: []unicode.Range16{
{0x0000, 0x0377, 1},
{0x037a, 0x037e, 1},
@@ -2861,7 +2890,7 @@ var assigned6_2_0 = &unicode.RangeTable{
{0x05d0, 0x05ea, 1},
{0x05f0, 0x05f4, 1},
{0x0600, 0x0604, 1},
- {0x0606, 0x061b, 1},
+ {0x0606, 0x061c, 1},
{0x061e, 0x070d, 1},
{0x070f, 0x074a, 1},
{0x074d, 0x07b1, 1},
@@ -3097,7 +3126,7 @@ var assigned6_2_0 = &unicode.RangeTable{
{0x1ff2, 0x1ff4, 1},
{0x1ff6, 0x1ffe, 1},
{0x2000, 0x2064, 1},
- {0x206a, 0x2071, 1},
+ {0x2066, 0x2071, 1},
{0x2074, 0x208e, 1},
{0x2090, 0x209c, 1},
{0x20a0, 0x20ba, 1},
@@ -3374,8 +3403,8 @@ var assigned6_2_0 = &unicode.RangeTable{
LatinOffset: 0,
}
-// size 4160 bytes (4 KiB)
-var assigned6_3_0 = &unicode.RangeTable{
+// size 3812 bytes (3 KiB)
+var assigned6_0_0 = &unicode.RangeTable{
R16: []unicode.Range16{
{0x0000, 0x0377, 1},
{0x037a, 0x037e, 1},
@@ -3387,12 +3416,11 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x0559, 0x055f, 1},
{0x0561, 0x0587, 1},
{0x0589, 0x058a, 1},
- {0x058f, 0x0591, 2},
- {0x0592, 0x05c7, 1},
+ {0x0591, 0x05c7, 1},
{0x05d0, 0x05ea, 1},
{0x05f0, 0x05f4, 1},
- {0x0600, 0x0604, 1},
- {0x0606, 0x061c, 1},
+ {0x0600, 0x0603, 1},
+ {0x0606, 0x061b, 1},
{0x061e, 0x070d, 1},
{0x070f, 0x074a, 1},
{0x074d, 0x07b1, 1},
@@ -3400,10 +3428,8 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x0800, 0x082d, 1},
{0x0830, 0x083e, 1},
{0x0840, 0x085b, 1},
- {0x085e, 0x08a0, 66},
- {0x08a2, 0x08ac, 1},
- {0x08e4, 0x08fe, 1},
- {0x0900, 0x0977, 1},
+ {0x085e, 0x0900, 162},
+ {0x0901, 0x0977, 1},
{0x0979, 0x097f, 1},
{0x0981, 0x0983, 1},
{0x0985, 0x098c, 1},
@@ -3447,8 +3473,9 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x0acb, 0x0acd, 1},
{0x0ad0, 0x0ae0, 16},
{0x0ae1, 0x0ae3, 1},
- {0x0ae6, 0x0af1, 1},
- {0x0b01, 0x0b03, 1},
+ {0x0ae6, 0x0aef, 1},
+ {0x0af1, 0x0b01, 16},
+ {0x0b02, 0x0b03, 1},
{0x0b05, 0x0b0c, 1},
{0x0b0f, 0x0b10, 1},
{0x0b13, 0x0b28, 1},
@@ -3544,7 +3571,7 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x0ec6, 0x0ec8, 2},
{0x0ec9, 0x0ecd, 1},
{0x0ed0, 0x0ed9, 1},
- {0x0edc, 0x0edf, 1},
+ {0x0edc, 0x0edd, 1},
{0x0f00, 0x0f47, 1},
{0x0f49, 0x0f6c, 1},
{0x0f71, 0x0f97, 1},
@@ -3552,8 +3579,8 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x0fbe, 0x0fcc, 1},
{0x0fce, 0x0fda, 1},
{0x1000, 0x10c5, 1},
- {0x10c7, 0x10cd, 6},
- {0x10d0, 0x1248, 1},
+ {0x10d0, 0x10fc, 1},
+ {0x1100, 0x1248, 1},
{0x124a, 0x124d, 1},
{0x1250, 0x1256, 1},
{0x1258, 0x125a, 2},
@@ -3606,12 +3633,13 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x1aa0, 0x1aad, 1},
{0x1b00, 0x1b4b, 1},
{0x1b50, 0x1b7c, 1},
- {0x1b80, 0x1bf3, 1},
+ {0x1b80, 0x1baa, 1},
+ {0x1bae, 0x1bb9, 1},
+ {0x1bc0, 0x1bf3, 1},
{0x1bfc, 0x1c37, 1},
{0x1c3b, 0x1c49, 1},
{0x1c4d, 0x1c7f, 1},
- {0x1cc0, 0x1cc7, 1},
- {0x1cd0, 0x1cf6, 1},
+ {0x1cd0, 0x1cf2, 1},
{0x1d00, 0x1de6, 1},
{0x1dfc, 0x1f15, 1},
{0x1f18, 0x1f1d, 1},
@@ -3628,24 +3656,25 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x1ff2, 0x1ff4, 1},
{0x1ff6, 0x1ffe, 1},
{0x2000, 0x2064, 1},
- {0x2066, 0x2071, 1},
+ {0x206a, 0x2071, 1},
{0x2074, 0x208e, 1},
{0x2090, 0x209c, 1},
- {0x20a0, 0x20ba, 1},
+ {0x20a0, 0x20b9, 1},
{0x20d0, 0x20f0, 1},
{0x2100, 0x2189, 1},
{0x2190, 0x23f3, 1},
{0x2400, 0x2426, 1},
{0x2440, 0x244a, 1},
{0x2460, 0x26ff, 1},
- {0x2701, 0x2b4c, 1},
+ {0x2701, 0x27ca, 1},
+ {0x27cc, 0x27ce, 2},
+ {0x27cf, 0x2b4c, 1},
{0x2b50, 0x2b59, 1},
{0x2c00, 0x2c2e, 1},
{0x2c30, 0x2c5e, 1},
- {0x2c60, 0x2cf3, 1},
+ {0x2c60, 0x2cf1, 1},
{0x2cf9, 0x2d25, 1},
- {0x2d27, 0x2d2d, 6},
- {0x2d30, 0x2d67, 1},
+ {0x2d30, 0x2d65, 1},
{0x2d6f, 0x2d70, 1},
{0x2d7f, 0x2d96, 1},
{0x2da0, 0x2da6, 1},
@@ -3656,7 +3685,7 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x2dc8, 0x2dce, 1},
{0x2dd0, 0x2dd6, 1},
{0x2dd8, 0x2dde, 1},
- {0x2de0, 0x2e3b, 1},
+ {0x2de0, 0x2e31, 1},
{0x2e80, 0x2e99, 1},
{0x2e9b, 0x2ef3, 1},
{0x2f00, 0x2fd5, 1},
@@ -3671,16 +3700,17 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x31f0, 0x321e, 1},
{0x3220, 0x32fe, 1},
{0x3300, 0x4db5, 1},
- {0x4dc0, 0x9fcc, 1},
+ {0x4dc0, 0x9fcb, 1},
{0xa000, 0xa48c, 1},
{0xa490, 0xa4c6, 1},
{0xa4d0, 0xa62b, 1},
- {0xa640, 0xa697, 1},
- {0xa69f, 0xa6f7, 1},
+ {0xa640, 0xa673, 1},
+ {0xa67c, 0xa697, 1},
+ {0xa6a0, 0xa6f7, 1},
{0xa700, 0xa78e, 1},
- {0xa790, 0xa793, 1},
- {0xa7a0, 0xa7aa, 1},
- {0xa7f8, 0xa82b, 1},
+ {0xa790, 0xa791, 1},
+ {0xa7a0, 0xa7a9, 1},
+ {0xa7fa, 0xa82b, 1},
{0xa830, 0xa839, 1},
{0xa840, 0xa877, 1},
{0xa880, 0xa8c4, 1},
@@ -3696,7 +3726,7 @@ var assigned6_3_0 = &unicode.RangeTable{
{0xaa50, 0xaa59, 1},
{0xaa5c, 0xaa7b, 1},
{0xaa80, 0xaac2, 1},
- {0xaadb, 0xaaf6, 1},
+ {0xaadb, 0xaadf, 1},
{0xab01, 0xab06, 1},
{0xab09, 0xab0e, 1},
{0xab11, 0xab16, 1},
@@ -3707,7 +3737,8 @@ var assigned6_3_0 = &unicode.RangeTable{
{0xac00, 0xd7a3, 1},
{0xd7b0, 0xd7c6, 1},
{0xd7cb, 0xd7fb, 1},
- {0xd800, 0xfa6d, 1},
+ {0xd800, 0xfa2d, 1},
+ {0xfa30, 0xfa6d, 1},
{0xfa70, 0xfad9, 1},
{0xfb00, 0xfb06, 1},
{0xfb13, 0xfb17, 1},
@@ -3770,10 +3801,8 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x00010857, 0x0001085f, 1},
{0x00010900, 0x0001091b, 1},
{0x0001091f, 0x00010939, 1},
- {0x0001093f, 0x00010980, 65},
- {0x00010981, 0x000109b7, 1},
- {0x000109be, 0x000109bf, 1},
- {0x00010a00, 0x00010a03, 1},
+ {0x0001093f, 0x00010a00, 193},
+ {0x00010a01, 0x00010a03, 1},
{0x00010a05, 0x00010a06, 1},
{0x00010a0c, 0x00010a13, 1},
{0x00010a15, 0x00010a17, 1},
@@ -3791,22 +3820,11 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x00011000, 0x0001104d, 1},
{0x00011052, 0x0001106f, 1},
{0x00011080, 0x000110c1, 1},
- {0x000110d0, 0x000110e8, 1},
- {0x000110f0, 0x000110f9, 1},
- {0x00011100, 0x00011134, 1},
- {0x00011136, 0x00011143, 1},
- {0x00011180, 0x000111c8, 1},
- {0x000111d0, 0x000111d9, 1},
- {0x00011680, 0x000116b7, 1},
- {0x000116c0, 0x000116c9, 1},
{0x00012000, 0x0001236e, 1},
{0x00012400, 0x00012462, 1},
{0x00012470, 0x00012473, 1},
{0x00013000, 0x0001342e, 1},
{0x00016800, 0x00016a38, 1},
- {0x00016f00, 0x00016f44, 1},
- {0x00016f50, 0x00016f7e, 1},
- {0x00016f8f, 0x00016f9f, 1},
{0x0001b000, 0x0001b001, 1},
{0x0001d000, 0x0001d0f5, 1},
{0x0001d100, 0x0001d126, 1},
@@ -3835,31 +3853,6 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x0001d552, 0x0001d6a5, 1},
{0x0001d6a8, 0x0001d7cb, 1},
{0x0001d7ce, 0x0001d7ff, 1},
- {0x0001ee00, 0x0001ee03, 1},
- {0x0001ee05, 0x0001ee1f, 1},
- {0x0001ee21, 0x0001ee22, 1},
- {0x0001ee24, 0x0001ee27, 3},
- {0x0001ee29, 0x0001ee32, 1},
- {0x0001ee34, 0x0001ee37, 1},
- {0x0001ee39, 0x0001ee3b, 2},
- {0x0001ee42, 0x0001ee47, 5},
- {0x0001ee49, 0x0001ee4d, 2},
- {0x0001ee4e, 0x0001ee4f, 1},
- {0x0001ee51, 0x0001ee52, 1},
- {0x0001ee54, 0x0001ee57, 3},
- {0x0001ee59, 0x0001ee61, 2},
- {0x0001ee62, 0x0001ee64, 2},
- {0x0001ee67, 0x0001ee6a, 1},
- {0x0001ee6c, 0x0001ee72, 1},
- {0x0001ee74, 0x0001ee77, 1},
- {0x0001ee79, 0x0001ee7c, 1},
- {0x0001ee7e, 0x0001ee80, 2},
- {0x0001ee81, 0x0001ee89, 1},
- {0x0001ee8b, 0x0001ee9b, 1},
- {0x0001eea1, 0x0001eea3, 1},
- {0x0001eea5, 0x0001eea9, 1},
- {0x0001eeab, 0x0001eebb, 1},
- {0x0001eef0, 0x0001eef1, 1},
{0x0001f000, 0x0001f02b, 1},
{0x0001f030, 0x0001f093, 1},
{0x0001f0a0, 0x0001f0ae, 1},
@@ -3868,7 +3861,7 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x0001f0d1, 0x0001f0df, 1},
{0x0001f100, 0x0001f10a, 1},
{0x0001f110, 0x0001f12e, 1},
- {0x0001f130, 0x0001f16b, 1},
+ {0x0001f130, 0x0001f169, 1},
{0x0001f170, 0x0001f19a, 1},
{0x0001f1e6, 0x0001f202, 1},
{0x0001f210, 0x0001f23a, 1},
@@ -3886,9 +3879,17 @@ var assigned6_3_0 = &unicode.RangeTable{
{0x0001f443, 0x0001f4f7, 1},
{0x0001f4f9, 0x0001f4fc, 1},
{0x0001f500, 0x0001f53d, 1},
- {0x0001f540, 0x0001f543, 1},
{0x0001f550, 0x0001f567, 1},
- {0x0001f5fb, 0x0001f640, 1},
+ {0x0001f5fb, 0x0001f5ff, 1},
+ {0x0001f601, 0x0001f610, 1},
+ {0x0001f612, 0x0001f614, 1},
+ {0x0001f616, 0x0001f61c, 2},
+ {0x0001f61d, 0x0001f61e, 1},
+ {0x0001f620, 0x0001f625, 1},
+ {0x0001f628, 0x0001f62b, 1},
+ {0x0001f62d, 0x0001f630, 3},
+ {0x0001f631, 0x0001f633, 1},
+ {0x0001f635, 0x0001f640, 1},
{0x0001f645, 0x0001f64f, 1},
{0x0001f680, 0x0001f6c5, 1},
{0x0001f700, 0x0001f773, 1},
@@ -5732,4 +5733,644 @@ var assigned9_0_0 = &unicode.RangeTable{
LatinOffset: 0,
}
-// Total size 44206 bytes (43 KiB)
+// size 5492 bytes (5 KiB)
+var assigned10_0_0 = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x0000, 0x0377, 1},
+ {0x037a, 0x037f, 1},
+ {0x0384, 0x038a, 1},
+ {0x038c, 0x038e, 2},
+ {0x038f, 0x03a1, 1},
+ {0x03a3, 0x052f, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x055f, 1},
+ {0x0561, 0x0587, 1},
+ {0x0589, 0x058a, 1},
+ {0x058d, 0x058f, 1},
+ {0x0591, 0x05c7, 1},
+ {0x05d0, 0x05ea, 1},
+ {0x05f0, 0x05f4, 1},
+ {0x0600, 0x061c, 1},
+ {0x061e, 0x070d, 1},
+ {0x070f, 0x074a, 1},
+ {0x074d, 0x07b1, 1},
+ {0x07c0, 0x07fa, 1},
+ {0x0800, 0x082d, 1},
+ {0x0830, 0x083e, 1},
+ {0x0840, 0x085b, 1},
+ {0x085e, 0x0860, 2},
+ {0x0861, 0x086a, 1},
+ {0x08a0, 0x08b4, 1},
+ {0x08b6, 0x08bd, 1},
+ {0x08d4, 0x0983, 1},
+ {0x0985, 0x098c, 1},
+ {0x098f, 0x0990, 1},
+ {0x0993, 0x09a8, 1},
+ {0x09aa, 0x09b0, 1},
+ {0x09b2, 0x09b6, 4},
+ {0x09b7, 0x09b9, 1},
+ {0x09bc, 0x09c4, 1},
+ {0x09c7, 0x09c8, 1},
+ {0x09cb, 0x09ce, 1},
+ {0x09d7, 0x09dc, 5},
+ {0x09dd, 0x09df, 2},
+ {0x09e0, 0x09e3, 1},
+ {0x09e6, 0x09fd, 1},
+ {0x0a01, 0x0a03, 1},
+ {0x0a05, 0x0a0a, 1},
+ {0x0a0f, 0x0a10, 1},
+ {0x0a13, 0x0a28, 1},
+ {0x0a2a, 0x0a30, 1},
+ {0x0a32, 0x0a33, 1},
+ {0x0a35, 0x0a36, 1},
+ {0x0a38, 0x0a39, 1},
+ {0x0a3c, 0x0a3e, 2},
+ {0x0a3f, 0x0a42, 1},
+ {0x0a47, 0x0a48, 1},
+ {0x0a4b, 0x0a4d, 1},
+ {0x0a51, 0x0a59, 8},
+ {0x0a5a, 0x0a5c, 1},
+ {0x0a5e, 0x0a66, 8},
+ {0x0a67, 0x0a75, 1},
+ {0x0a81, 0x0a83, 1},
+ {0x0a85, 0x0a8d, 1},
+ {0x0a8f, 0x0a91, 1},
+ {0x0a93, 0x0aa8, 1},
+ {0x0aaa, 0x0ab0, 1},
+ {0x0ab2, 0x0ab3, 1},
+ {0x0ab5, 0x0ab9, 1},
+ {0x0abc, 0x0ac5, 1},
+ {0x0ac7, 0x0ac9, 1},
+ {0x0acb, 0x0acd, 1},
+ {0x0ad0, 0x0ae0, 16},
+ {0x0ae1, 0x0ae3, 1},
+ {0x0ae6, 0x0af1, 1},
+ {0x0af9, 0x0aff, 1},
+ {0x0b01, 0x0b03, 1},
+ {0x0b05, 0x0b0c, 1},
+ {0x0b0f, 0x0b10, 1},
+ {0x0b13, 0x0b28, 1},
+ {0x0b2a, 0x0b30, 1},
+ {0x0b32, 0x0b33, 1},
+ {0x0b35, 0x0b39, 1},
+ {0x0b3c, 0x0b44, 1},
+ {0x0b47, 0x0b48, 1},
+ {0x0b4b, 0x0b4d, 1},
+ {0x0b56, 0x0b57, 1},
+ {0x0b5c, 0x0b5d, 1},
+ {0x0b5f, 0x0b63, 1},
+ {0x0b66, 0x0b77, 1},
+ {0x0b82, 0x0b83, 1},
+ {0x0b85, 0x0b8a, 1},
+ {0x0b8e, 0x0b90, 1},
+ {0x0b92, 0x0b95, 1},
+ {0x0b99, 0x0b9a, 1},
+ {0x0b9c, 0x0b9e, 2},
+ {0x0b9f, 0x0ba3, 4},
+ {0x0ba4, 0x0ba8, 4},
+ {0x0ba9, 0x0baa, 1},
+ {0x0bae, 0x0bb9, 1},
+ {0x0bbe, 0x0bc2, 1},
+ {0x0bc6, 0x0bc8, 1},
+ {0x0bca, 0x0bcd, 1},
+ {0x0bd0, 0x0bd7, 7},
+ {0x0be6, 0x0bfa, 1},
+ {0x0c00, 0x0c03, 1},
+ {0x0c05, 0x0c0c, 1},
+ {0x0c0e, 0x0c10, 1},
+ {0x0c12, 0x0c28, 1},
+ {0x0c2a, 0x0c39, 1},
+ {0x0c3d, 0x0c44, 1},
+ {0x0c46, 0x0c48, 1},
+ {0x0c4a, 0x0c4d, 1},
+ {0x0c55, 0x0c56, 1},
+ {0x0c58, 0x0c5a, 1},
+ {0x0c60, 0x0c63, 1},
+ {0x0c66, 0x0c6f, 1},
+ {0x0c78, 0x0c83, 1},
+ {0x0c85, 0x0c8c, 1},
+ {0x0c8e, 0x0c90, 1},
+ {0x0c92, 0x0ca8, 1},
+ {0x0caa, 0x0cb3, 1},
+ {0x0cb5, 0x0cb9, 1},
+ {0x0cbc, 0x0cc4, 1},
+ {0x0cc6, 0x0cc8, 1},
+ {0x0cca, 0x0ccd, 1},
+ {0x0cd5, 0x0cd6, 1},
+ {0x0cde, 0x0ce0, 2},
+ {0x0ce1, 0x0ce3, 1},
+ {0x0ce6, 0x0cef, 1},
+ {0x0cf1, 0x0cf2, 1},
+ {0x0d00, 0x0d03, 1},
+ {0x0d05, 0x0d0c, 1},
+ {0x0d0e, 0x0d10, 1},
+ {0x0d12, 0x0d44, 1},
+ {0x0d46, 0x0d48, 1},
+ {0x0d4a, 0x0d4f, 1},
+ {0x0d54, 0x0d63, 1},
+ {0x0d66, 0x0d7f, 1},
+ {0x0d82, 0x0d83, 1},
+ {0x0d85, 0x0d96, 1},
+ {0x0d9a, 0x0db1, 1},
+ {0x0db3, 0x0dbb, 1},
+ {0x0dbd, 0x0dc0, 3},
+ {0x0dc1, 0x0dc6, 1},
+ {0x0dca, 0x0dcf, 5},
+ {0x0dd0, 0x0dd4, 1},
+ {0x0dd6, 0x0dd8, 2},
+ {0x0dd9, 0x0ddf, 1},
+ {0x0de6, 0x0def, 1},
+ {0x0df2, 0x0df4, 1},
+ {0x0e01, 0x0e3a, 1},
+ {0x0e3f, 0x0e5b, 1},
+ {0x0e81, 0x0e82, 1},
+ {0x0e84, 0x0e87, 3},
+ {0x0e88, 0x0e8a, 2},
+ {0x0e8d, 0x0e94, 7},
+ {0x0e95, 0x0e97, 1},
+ {0x0e99, 0x0e9f, 1},
+ {0x0ea1, 0x0ea3, 1},
+ {0x0ea5, 0x0ea7, 2},
+ {0x0eaa, 0x0eab, 1},
+ {0x0ead, 0x0eb9, 1},
+ {0x0ebb, 0x0ebd, 1},
+ {0x0ec0, 0x0ec4, 1},
+ {0x0ec6, 0x0ec8, 2},
+ {0x0ec9, 0x0ecd, 1},
+ {0x0ed0, 0x0ed9, 1},
+ {0x0edc, 0x0edf, 1},
+ {0x0f00, 0x0f47, 1},
+ {0x0f49, 0x0f6c, 1},
+ {0x0f71, 0x0f97, 1},
+ {0x0f99, 0x0fbc, 1},
+ {0x0fbe, 0x0fcc, 1},
+ {0x0fce, 0x0fda, 1},
+ {0x1000, 0x10c5, 1},
+ {0x10c7, 0x10cd, 6},
+ {0x10d0, 0x1248, 1},
+ {0x124a, 0x124d, 1},
+ {0x1250, 0x1256, 1},
+ {0x1258, 0x125a, 2},
+ {0x125b, 0x125d, 1},
+ {0x1260, 0x1288, 1},
+ {0x128a, 0x128d, 1},
+ {0x1290, 0x12b0, 1},
+ {0x12b2, 0x12b5, 1},
+ {0x12b8, 0x12be, 1},
+ {0x12c0, 0x12c2, 2},
+ {0x12c3, 0x12c5, 1},
+ {0x12c8, 0x12d6, 1},
+ {0x12d8, 0x1310, 1},
+ {0x1312, 0x1315, 1},
+ {0x1318, 0x135a, 1},
+ {0x135d, 0x137c, 1},
+ {0x1380, 0x1399, 1},
+ {0x13a0, 0x13f5, 1},
+ {0x13f8, 0x13fd, 1},
+ {0x1400, 0x169c, 1},
+ {0x16a0, 0x16f8, 1},
+ {0x1700, 0x170c, 1},
+ {0x170e, 0x1714, 1},
+ {0x1720, 0x1736, 1},
+ {0x1740, 0x1753, 1},
+ {0x1760, 0x176c, 1},
+ {0x176e, 0x1770, 1},
+ {0x1772, 0x1773, 1},
+ {0x1780, 0x17dd, 1},
+ {0x17e0, 0x17e9, 1},
+ {0x17f0, 0x17f9, 1},
+ {0x1800, 0x180e, 1},
+ {0x1810, 0x1819, 1},
+ {0x1820, 0x1877, 1},
+ {0x1880, 0x18aa, 1},
+ {0x18b0, 0x18f5, 1},
+ {0x1900, 0x191e, 1},
+ {0x1920, 0x192b, 1},
+ {0x1930, 0x193b, 1},
+ {0x1940, 0x1944, 4},
+ {0x1945, 0x196d, 1},
+ {0x1970, 0x1974, 1},
+ {0x1980, 0x19ab, 1},
+ {0x19b0, 0x19c9, 1},
+ {0x19d0, 0x19da, 1},
+ {0x19de, 0x1a1b, 1},
+ {0x1a1e, 0x1a5e, 1},
+ {0x1a60, 0x1a7c, 1},
+ {0x1a7f, 0x1a89, 1},
+ {0x1a90, 0x1a99, 1},
+ {0x1aa0, 0x1aad, 1},
+ {0x1ab0, 0x1abe, 1},
+ {0x1b00, 0x1b4b, 1},
+ {0x1b50, 0x1b7c, 1},
+ {0x1b80, 0x1bf3, 1},
+ {0x1bfc, 0x1c37, 1},
+ {0x1c3b, 0x1c49, 1},
+ {0x1c4d, 0x1c88, 1},
+ {0x1cc0, 0x1cc7, 1},
+ {0x1cd0, 0x1cf9, 1},
+ {0x1d00, 0x1df9, 1},
+ {0x1dfb, 0x1f15, 1},
+ {0x1f18, 0x1f1d, 1},
+ {0x1f20, 0x1f45, 1},
+ {0x1f48, 0x1f4d, 1},
+ {0x1f50, 0x1f57, 1},
+ {0x1f59, 0x1f5f, 2},
+ {0x1f60, 0x1f7d, 1},
+ {0x1f80, 0x1fb4, 1},
+ {0x1fb6, 0x1fc4, 1},
+ {0x1fc6, 0x1fd3, 1},
+ {0x1fd6, 0x1fdb, 1},
+ {0x1fdd, 0x1fef, 1},
+ {0x1ff2, 0x1ff4, 1},
+ {0x1ff6, 0x1ffe, 1},
+ {0x2000, 0x2064, 1},
+ {0x2066, 0x2071, 1},
+ {0x2074, 0x208e, 1},
+ {0x2090, 0x209c, 1},
+ {0x20a0, 0x20bf, 1},
+ {0x20d0, 0x20f0, 1},
+ {0x2100, 0x218b, 1},
+ {0x2190, 0x2426, 1},
+ {0x2440, 0x244a, 1},
+ {0x2460, 0x2b73, 1},
+ {0x2b76, 0x2b95, 1},
+ {0x2b98, 0x2bb9, 1},
+ {0x2bbd, 0x2bc8, 1},
+ {0x2bca, 0x2bd2, 1},
+ {0x2bec, 0x2bef, 1},
+ {0x2c00, 0x2c2e, 1},
+ {0x2c30, 0x2c5e, 1},
+ {0x2c60, 0x2cf3, 1},
+ {0x2cf9, 0x2d25, 1},
+ {0x2d27, 0x2d2d, 6},
+ {0x2d30, 0x2d67, 1},
+ {0x2d6f, 0x2d70, 1},
+ {0x2d7f, 0x2d96, 1},
+ {0x2da0, 0x2da6, 1},
+ {0x2da8, 0x2dae, 1},
+ {0x2db0, 0x2db6, 1},
+ {0x2db8, 0x2dbe, 1},
+ {0x2dc0, 0x2dc6, 1},
+ {0x2dc8, 0x2dce, 1},
+ {0x2dd0, 0x2dd6, 1},
+ {0x2dd8, 0x2dde, 1},
+ {0x2de0, 0x2e49, 1},
+ {0x2e80, 0x2e99, 1},
+ {0x2e9b, 0x2ef3, 1},
+ {0x2f00, 0x2fd5, 1},
+ {0x2ff0, 0x2ffb, 1},
+ {0x3000, 0x303f, 1},
+ {0x3041, 0x3096, 1},
+ {0x3099, 0x30ff, 1},
+ {0x3105, 0x312e, 1},
+ {0x3131, 0x318e, 1},
+ {0x3190, 0x31ba, 1},
+ {0x31c0, 0x31e3, 1},
+ {0x31f0, 0x321e, 1},
+ {0x3220, 0x32fe, 1},
+ {0x3300, 0x4db5, 1},
+ {0x4dc0, 0x9fea, 1},
+ {0xa000, 0xa48c, 1},
+ {0xa490, 0xa4c6, 1},
+ {0xa4d0, 0xa62b, 1},
+ {0xa640, 0xa6f7, 1},
+ {0xa700, 0xa7ae, 1},
+ {0xa7b0, 0xa7b7, 1},
+ {0xa7f7, 0xa82b, 1},
+ {0xa830, 0xa839, 1},
+ {0xa840, 0xa877, 1},
+ {0xa880, 0xa8c5, 1},
+ {0xa8ce, 0xa8d9, 1},
+ {0xa8e0, 0xa8fd, 1},
+ {0xa900, 0xa953, 1},
+ {0xa95f, 0xa97c, 1},
+ {0xa980, 0xa9cd, 1},
+ {0xa9cf, 0xa9d9, 1},
+ {0xa9de, 0xa9fe, 1},
+ {0xaa00, 0xaa36, 1},
+ {0xaa40, 0xaa4d, 1},
+ {0xaa50, 0xaa59, 1},
+ {0xaa5c, 0xaac2, 1},
+ {0xaadb, 0xaaf6, 1},
+ {0xab01, 0xab06, 1},
+ {0xab09, 0xab0e, 1},
+ {0xab11, 0xab16, 1},
+ {0xab20, 0xab26, 1},
+ {0xab28, 0xab2e, 1},
+ {0xab30, 0xab65, 1},
+ {0xab70, 0xabed, 1},
+ {0xabf0, 0xabf9, 1},
+ {0xac00, 0xd7a3, 1},
+ {0xd7b0, 0xd7c6, 1},
+ {0xd7cb, 0xd7fb, 1},
+ {0xd800, 0xfa6d, 1},
+ {0xfa70, 0xfad9, 1},
+ {0xfb00, 0xfb06, 1},
+ {0xfb13, 0xfb17, 1},
+ {0xfb1d, 0xfb36, 1},
+ {0xfb38, 0xfb3c, 1},
+ {0xfb3e, 0xfb40, 2},
+ {0xfb41, 0xfb43, 2},
+ {0xfb44, 0xfb46, 2},
+ {0xfb47, 0xfbc1, 1},
+ {0xfbd3, 0xfd3f, 1},
+ {0xfd50, 0xfd8f, 1},
+ {0xfd92, 0xfdc7, 1},
+ {0xfdf0, 0xfdfd, 1},
+ {0xfe00, 0xfe19, 1},
+ {0xfe20, 0xfe52, 1},
+ {0xfe54, 0xfe66, 1},
+ {0xfe68, 0xfe6b, 1},
+ {0xfe70, 0xfe74, 1},
+ {0xfe76, 0xfefc, 1},
+ {0xfeff, 0xff01, 2},
+ {0xff02, 0xffbe, 1},
+ {0xffc2, 0xffc7, 1},
+ {0xffca, 0xffcf, 1},
+ {0xffd2, 0xffd7, 1},
+ {0xffda, 0xffdc, 1},
+ {0xffe0, 0xffe6, 1},
+ {0xffe8, 0xffee, 1},
+ {0xfff9, 0xfffd, 1},
+ },
+ R32: []unicode.Range32{
+ {0x00010000, 0x0001000b, 1},
+ {0x0001000d, 0x00010026, 1},
+ {0x00010028, 0x0001003a, 1},
+ {0x0001003c, 0x0001003d, 1},
+ {0x0001003f, 0x0001004d, 1},
+ {0x00010050, 0x0001005d, 1},
+ {0x00010080, 0x000100fa, 1},
+ {0x00010100, 0x00010102, 1},
+ {0x00010107, 0x00010133, 1},
+ {0x00010137, 0x0001018e, 1},
+ {0x00010190, 0x0001019b, 1},
+ {0x000101a0, 0x000101d0, 48},
+ {0x000101d1, 0x000101fd, 1},
+ {0x00010280, 0x0001029c, 1},
+ {0x000102a0, 0x000102d0, 1},
+ {0x000102e0, 0x000102fb, 1},
+ {0x00010300, 0x00010323, 1},
+ {0x0001032d, 0x0001034a, 1},
+ {0x00010350, 0x0001037a, 1},
+ {0x00010380, 0x0001039d, 1},
+ {0x0001039f, 0x000103c3, 1},
+ {0x000103c8, 0x000103d5, 1},
+ {0x00010400, 0x0001049d, 1},
+ {0x000104a0, 0x000104a9, 1},
+ {0x000104b0, 0x000104d3, 1},
+ {0x000104d8, 0x000104fb, 1},
+ {0x00010500, 0x00010527, 1},
+ {0x00010530, 0x00010563, 1},
+ {0x0001056f, 0x00010600, 145},
+ {0x00010601, 0x00010736, 1},
+ {0x00010740, 0x00010755, 1},
+ {0x00010760, 0x00010767, 1},
+ {0x00010800, 0x00010805, 1},
+ {0x00010808, 0x0001080a, 2},
+ {0x0001080b, 0x00010835, 1},
+ {0x00010837, 0x00010838, 1},
+ {0x0001083c, 0x0001083f, 3},
+ {0x00010840, 0x00010855, 1},
+ {0x00010857, 0x0001089e, 1},
+ {0x000108a7, 0x000108af, 1},
+ {0x000108e0, 0x000108f2, 1},
+ {0x000108f4, 0x000108f5, 1},
+ {0x000108fb, 0x0001091b, 1},
+ {0x0001091f, 0x00010939, 1},
+ {0x0001093f, 0x00010980, 65},
+ {0x00010981, 0x000109b7, 1},
+ {0x000109bc, 0x000109cf, 1},
+ {0x000109d2, 0x00010a03, 1},
+ {0x00010a05, 0x00010a06, 1},
+ {0x00010a0c, 0x00010a13, 1},
+ {0x00010a15, 0x00010a17, 1},
+ {0x00010a19, 0x00010a33, 1},
+ {0x00010a38, 0x00010a3a, 1},
+ {0x00010a3f, 0x00010a47, 1},
+ {0x00010a50, 0x00010a58, 1},
+ {0x00010a60, 0x00010a9f, 1},
+ {0x00010ac0, 0x00010ae6, 1},
+ {0x00010aeb, 0x00010af6, 1},
+ {0x00010b00, 0x00010b35, 1},
+ {0x00010b39, 0x00010b55, 1},
+ {0x00010b58, 0x00010b72, 1},
+ {0x00010b78, 0x00010b91, 1},
+ {0x00010b99, 0x00010b9c, 1},
+ {0x00010ba9, 0x00010baf, 1},
+ {0x00010c00, 0x00010c48, 1},
+ {0x00010c80, 0x00010cb2, 1},
+ {0x00010cc0, 0x00010cf2, 1},
+ {0x00010cfa, 0x00010cff, 1},
+ {0x00010e60, 0x00010e7e, 1},
+ {0x00011000, 0x0001104d, 1},
+ {0x00011052, 0x0001106f, 1},
+ {0x0001107f, 0x000110c1, 1},
+ {0x000110d0, 0x000110e8, 1},
+ {0x000110f0, 0x000110f9, 1},
+ {0x00011100, 0x00011134, 1},
+ {0x00011136, 0x00011143, 1},
+ {0x00011150, 0x00011176, 1},
+ {0x00011180, 0x000111cd, 1},
+ {0x000111d0, 0x000111df, 1},
+ {0x000111e1, 0x000111f4, 1},
+ {0x00011200, 0x00011211, 1},
+ {0x00011213, 0x0001123e, 1},
+ {0x00011280, 0x00011286, 1},
+ {0x00011288, 0x0001128a, 2},
+ {0x0001128b, 0x0001128d, 1},
+ {0x0001128f, 0x0001129d, 1},
+ {0x0001129f, 0x000112a9, 1},
+ {0x000112b0, 0x000112ea, 1},
+ {0x000112f0, 0x000112f9, 1},
+ {0x00011300, 0x00011303, 1},
+ {0x00011305, 0x0001130c, 1},
+ {0x0001130f, 0x00011310, 1},
+ {0x00011313, 0x00011328, 1},
+ {0x0001132a, 0x00011330, 1},
+ {0x00011332, 0x00011333, 1},
+ {0x00011335, 0x00011339, 1},
+ {0x0001133c, 0x00011344, 1},
+ {0x00011347, 0x00011348, 1},
+ {0x0001134b, 0x0001134d, 1},
+ {0x00011350, 0x00011357, 7},
+ {0x0001135d, 0x00011363, 1},
+ {0x00011366, 0x0001136c, 1},
+ {0x00011370, 0x00011374, 1},
+ {0x00011400, 0x00011459, 1},
+ {0x0001145b, 0x0001145d, 2},
+ {0x00011480, 0x000114c7, 1},
+ {0x000114d0, 0x000114d9, 1},
+ {0x00011580, 0x000115b5, 1},
+ {0x000115b8, 0x000115dd, 1},
+ {0x00011600, 0x00011644, 1},
+ {0x00011650, 0x00011659, 1},
+ {0x00011660, 0x0001166c, 1},
+ {0x00011680, 0x000116b7, 1},
+ {0x000116c0, 0x000116c9, 1},
+ {0x00011700, 0x00011719, 1},
+ {0x0001171d, 0x0001172b, 1},
+ {0x00011730, 0x0001173f, 1},
+ {0x000118a0, 0x000118f2, 1},
+ {0x000118ff, 0x00011a00, 257},
+ {0x00011a01, 0x00011a47, 1},
+ {0x00011a50, 0x00011a83, 1},
+ {0x00011a86, 0x00011a9c, 1},
+ {0x00011a9e, 0x00011aa2, 1},
+ {0x00011ac0, 0x00011af8, 1},
+ {0x00011c00, 0x00011c08, 1},
+ {0x00011c0a, 0x00011c36, 1},
+ {0x00011c38, 0x00011c45, 1},
+ {0x00011c50, 0x00011c6c, 1},
+ {0x00011c70, 0x00011c8f, 1},
+ {0x00011c92, 0x00011ca7, 1},
+ {0x00011ca9, 0x00011cb6, 1},
+ {0x00011d00, 0x00011d06, 1},
+ {0x00011d08, 0x00011d09, 1},
+ {0x00011d0b, 0x00011d36, 1},
+ {0x00011d3a, 0x00011d3c, 2},
+ {0x00011d3d, 0x00011d3f, 2},
+ {0x00011d40, 0x00011d47, 1},
+ {0x00011d50, 0x00011d59, 1},
+ {0x00012000, 0x00012399, 1},
+ {0x00012400, 0x0001246e, 1},
+ {0x00012470, 0x00012474, 1},
+ {0x00012480, 0x00012543, 1},
+ {0x00013000, 0x0001342e, 1},
+ {0x00014400, 0x00014646, 1},
+ {0x00016800, 0x00016a38, 1},
+ {0x00016a40, 0x00016a5e, 1},
+ {0x00016a60, 0x00016a69, 1},
+ {0x00016a6e, 0x00016a6f, 1},
+ {0x00016ad0, 0x00016aed, 1},
+ {0x00016af0, 0x00016af5, 1},
+ {0x00016b00, 0x00016b45, 1},
+ {0x00016b50, 0x00016b59, 1},
+ {0x00016b5b, 0x00016b61, 1},
+ {0x00016b63, 0x00016b77, 1},
+ {0x00016b7d, 0x00016b8f, 1},
+ {0x00016f00, 0x00016f44, 1},
+ {0x00016f50, 0x00016f7e, 1},
+ {0x00016f8f, 0x00016f9f, 1},
+ {0x00016fe0, 0x00016fe1, 1},
+ {0x00017000, 0x000187ec, 1},
+ {0x00018800, 0x00018af2, 1},
+ {0x0001b000, 0x0001b11e, 1},
+ {0x0001b170, 0x0001b2fb, 1},
+ {0x0001bc00, 0x0001bc6a, 1},
+ {0x0001bc70, 0x0001bc7c, 1},
+ {0x0001bc80, 0x0001bc88, 1},
+ {0x0001bc90, 0x0001bc99, 1},
+ {0x0001bc9c, 0x0001bca3, 1},
+ {0x0001d000, 0x0001d0f5, 1},
+ {0x0001d100, 0x0001d126, 1},
+ {0x0001d129, 0x0001d1e8, 1},
+ {0x0001d200, 0x0001d245, 1},
+ {0x0001d300, 0x0001d356, 1},
+ {0x0001d360, 0x0001d371, 1},
+ {0x0001d400, 0x0001d454, 1},
+ {0x0001d456, 0x0001d49c, 1},
+ {0x0001d49e, 0x0001d49f, 1},
+ {0x0001d4a2, 0x0001d4a5, 3},
+ {0x0001d4a6, 0x0001d4a9, 3},
+ {0x0001d4aa, 0x0001d4ac, 1},
+ {0x0001d4ae, 0x0001d4b9, 1},
+ {0x0001d4bb, 0x0001d4bd, 2},
+ {0x0001d4be, 0x0001d4c3, 1},
+ {0x0001d4c5, 0x0001d505, 1},
+ {0x0001d507, 0x0001d50a, 1},
+ {0x0001d50d, 0x0001d514, 1},
+ {0x0001d516, 0x0001d51c, 1},
+ {0x0001d51e, 0x0001d539, 1},
+ {0x0001d53b, 0x0001d53e, 1},
+ {0x0001d540, 0x0001d544, 1},
+ {0x0001d546, 0x0001d54a, 4},
+ {0x0001d54b, 0x0001d550, 1},
+ {0x0001d552, 0x0001d6a5, 1},
+ {0x0001d6a8, 0x0001d7cb, 1},
+ {0x0001d7ce, 0x0001da8b, 1},
+ {0x0001da9b, 0x0001da9f, 1},
+ {0x0001daa1, 0x0001daaf, 1},
+ {0x0001e000, 0x0001e006, 1},
+ {0x0001e008, 0x0001e018, 1},
+ {0x0001e01b, 0x0001e021, 1},
+ {0x0001e023, 0x0001e024, 1},
+ {0x0001e026, 0x0001e02a, 1},
+ {0x0001e800, 0x0001e8c4, 1},
+ {0x0001e8c7, 0x0001e8d6, 1},
+ {0x0001e900, 0x0001e94a, 1},
+ {0x0001e950, 0x0001e959, 1},
+ {0x0001e95e, 0x0001e95f, 1},
+ {0x0001ee00, 0x0001ee03, 1},
+ {0x0001ee05, 0x0001ee1f, 1},
+ {0x0001ee21, 0x0001ee22, 1},
+ {0x0001ee24, 0x0001ee27, 3},
+ {0x0001ee29, 0x0001ee32, 1},
+ {0x0001ee34, 0x0001ee37, 1},
+ {0x0001ee39, 0x0001ee3b, 2},
+ {0x0001ee42, 0x0001ee47, 5},
+ {0x0001ee49, 0x0001ee4d, 2},
+ {0x0001ee4e, 0x0001ee4f, 1},
+ {0x0001ee51, 0x0001ee52, 1},
+ {0x0001ee54, 0x0001ee57, 3},
+ {0x0001ee59, 0x0001ee61, 2},
+ {0x0001ee62, 0x0001ee64, 2},
+ {0x0001ee67, 0x0001ee6a, 1},
+ {0x0001ee6c, 0x0001ee72, 1},
+ {0x0001ee74, 0x0001ee77, 1},
+ {0x0001ee79, 0x0001ee7c, 1},
+ {0x0001ee7e, 0x0001ee80, 2},
+ {0x0001ee81, 0x0001ee89, 1},
+ {0x0001ee8b, 0x0001ee9b, 1},
+ {0x0001eea1, 0x0001eea3, 1},
+ {0x0001eea5, 0x0001eea9, 1},
+ {0x0001eeab, 0x0001eebb, 1},
+ {0x0001eef0, 0x0001eef1, 1},
+ {0x0001f000, 0x0001f02b, 1},
+ {0x0001f030, 0x0001f093, 1},
+ {0x0001f0a0, 0x0001f0ae, 1},
+ {0x0001f0b1, 0x0001f0bf, 1},
+ {0x0001f0c1, 0x0001f0cf, 1},
+ {0x0001f0d1, 0x0001f0f5, 1},
+ {0x0001f100, 0x0001f10c, 1},
+ {0x0001f110, 0x0001f12e, 1},
+ {0x0001f130, 0x0001f16b, 1},
+ {0x0001f170, 0x0001f1ac, 1},
+ {0x0001f1e6, 0x0001f202, 1},
+ {0x0001f210, 0x0001f23b, 1},
+ {0x0001f240, 0x0001f248, 1},
+ {0x0001f250, 0x0001f251, 1},
+ {0x0001f260, 0x0001f265, 1},
+ {0x0001f300, 0x0001f6d4, 1},
+ {0x0001f6e0, 0x0001f6ec, 1},
+ {0x0001f6f0, 0x0001f6f8, 1},
+ {0x0001f700, 0x0001f773, 1},
+ {0x0001f780, 0x0001f7d4, 1},
+ {0x0001f800, 0x0001f80b, 1},
+ {0x0001f810, 0x0001f847, 1},
+ {0x0001f850, 0x0001f859, 1},
+ {0x0001f860, 0x0001f887, 1},
+ {0x0001f890, 0x0001f8ad, 1},
+ {0x0001f900, 0x0001f90b, 1},
+ {0x0001f910, 0x0001f93e, 1},
+ {0x0001f940, 0x0001f94c, 1},
+ {0x0001f950, 0x0001f96b, 1},
+ {0x0001f980, 0x0001f997, 1},
+ {0x0001f9c0, 0x0001f9d0, 16},
+ {0x0001f9d1, 0x0001f9e6, 1},
+ {0x00020000, 0x0002a6d6, 1},
+ {0x0002a700, 0x0002b734, 1},
+ {0x0002b740, 0x0002b81d, 1},
+ {0x0002b820, 0x0002cea1, 1},
+ {0x0002ceb0, 0x0002ebe0, 1},
+ {0x0002f800, 0x0002fa1d, 1},
+ {0x000e0001, 0x000e0020, 31},
+ {0x000e0021, 0x000e007f, 1},
+ {0x000e0100, 0x000e01ef, 1},
+ {0x000f0000, 0x000ffffd, 1},
+ {0x00100000, 0x0010fffd, 1},
+ },
+ LatinOffset: 0,
+}
+
+// Total size 49698 bytes (48 KiB)
diff --git a/vendor/golang.org/x/text/width/tables.go b/vendor/golang.org/x/text/width/tables.go
index e21f0b838..710fd7525 100644
--- a/vendor/golang.org/x/text/width/tables.go
+++ b/vendor/golang.org/x/text/width/tables.go
@@ -3,7 +3,7 @@
package width
// UnicodeVersion is the Unicode version from which the tables in this package are derived.
-const UnicodeVersion = "9.0.0"
+const UnicodeVersion = "10.0.0"
// lookup returns the trie value for the first UTF-8 encoding in s and
// the width in bytes of this encoding. The size will be 0 if s does not
@@ -175,7 +175,7 @@ func (t *widthTrie) lookupStringUnsafe(s string) uint16 {
return 0
}
-// widthTrie. Total size: 14080 bytes (13.75 KiB). Checksum: 3b8aeb3dc03667a3.
+// widthTrie. Total size: 14336 bytes (14.00 KiB). Checksum: c59df54630d3dc4a.
type widthTrie struct{}
func newWidthTrie(i int) *widthTrie {
@@ -190,9 +190,9 @@ func (t *widthTrie) lookupValue(n uint32, b byte) uint16 {
}
}
-// widthValues: 99 blocks, 6336 entries, 12672 bytes
+// widthValues: 101 blocks, 6464 entries, 12928 bytes
// The third block is the zero block.
-var widthValues = [6336]uint16{
+var widthValues = [6464]uint16{
// Block 0x0, offset 0x0
0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002,
0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002,
@@ -606,7 +606,7 @@ var widthValues = [6336]uint16{
0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000,
0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000,
0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000,
- 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000,
+ 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, 0xdae: 0x4000,
0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e,
0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e,
0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e,
@@ -773,7 +773,7 @@ var widthValues = [6336]uint16{
0x11aa: 0xb092, 0x11ab: 0xb091, 0x11ac: 0xb093, 0x11ad: 0xb094, 0x11ae: 0xb095,
0x11bd: 0x2000,
// Block 0x47, offset 0x11c0
- 0x11e0: 0x4000,
+ 0x11e0: 0x4000, 0x11e1: 0x4000,
// Block 0x48, offset 0x1200
0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000,
0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000,
@@ -794,109 +794,108 @@ var widthValues = [6336]uint16{
0x126a: 0x4000, 0x126b: 0x4000, 0x126c: 0x4000, 0x126d: 0x4000, 0x126e: 0x4000, 0x126f: 0x4000,
0x1270: 0x4000, 0x1271: 0x4000, 0x1272: 0x4000,
// Block 0x4a, offset 0x1280
- 0x1280: 0x4000, 0x1281: 0x4000,
+ 0x1280: 0x4000, 0x1281: 0x4000, 0x1282: 0x4000, 0x1283: 0x4000, 0x1284: 0x4000, 0x1285: 0x4000,
+ 0x1286: 0x4000, 0x1287: 0x4000, 0x1288: 0x4000, 0x1289: 0x4000, 0x128a: 0x4000, 0x128b: 0x4000,
+ 0x128c: 0x4000, 0x128d: 0x4000, 0x128e: 0x4000, 0x128f: 0x4000, 0x1290: 0x4000, 0x1291: 0x4000,
+ 0x1292: 0x4000, 0x1293: 0x4000, 0x1294: 0x4000, 0x1295: 0x4000, 0x1296: 0x4000, 0x1297: 0x4000,
+ 0x1298: 0x4000, 0x1299: 0x4000, 0x129a: 0x4000, 0x129b: 0x4000, 0x129c: 0x4000, 0x129d: 0x4000,
+ 0x129e: 0x4000,
// Block 0x4b, offset 0x12c0
- 0x12c4: 0x4000,
+ 0x12f0: 0x4000, 0x12f1: 0x4000, 0x12f2: 0x4000, 0x12f3: 0x4000, 0x12f4: 0x4000, 0x12f5: 0x4000,
+ 0x12f6: 0x4000, 0x12f7: 0x4000, 0x12f8: 0x4000, 0x12f9: 0x4000, 0x12fa: 0x4000, 0x12fb: 0x4000,
+ 0x12fc: 0x4000, 0x12fd: 0x4000, 0x12fe: 0x4000, 0x12ff: 0x4000,
// Block 0x4c, offset 0x1300
- 0x130f: 0x4000,
+ 0x1300: 0x4000, 0x1301: 0x4000, 0x1302: 0x4000, 0x1303: 0x4000, 0x1304: 0x4000, 0x1305: 0x4000,
+ 0x1306: 0x4000, 0x1307: 0x4000, 0x1308: 0x4000, 0x1309: 0x4000, 0x130a: 0x4000, 0x130b: 0x4000,
+ 0x130c: 0x4000, 0x130d: 0x4000, 0x130e: 0x4000, 0x130f: 0x4000, 0x1310: 0x4000, 0x1311: 0x4000,
+ 0x1312: 0x4000, 0x1313: 0x4000, 0x1314: 0x4000, 0x1315: 0x4000, 0x1316: 0x4000, 0x1317: 0x4000,
+ 0x1318: 0x4000, 0x1319: 0x4000, 0x131a: 0x4000, 0x131b: 0x4000, 0x131c: 0x4000, 0x131d: 0x4000,
+ 0x131e: 0x4000, 0x131f: 0x4000, 0x1320: 0x4000, 0x1321: 0x4000, 0x1322: 0x4000, 0x1323: 0x4000,
+ 0x1324: 0x4000, 0x1325: 0x4000, 0x1326: 0x4000, 0x1327: 0x4000, 0x1328: 0x4000, 0x1329: 0x4000,
+ 0x132a: 0x4000, 0x132b: 0x4000, 0x132c: 0x4000, 0x132d: 0x4000, 0x132e: 0x4000, 0x132f: 0x4000,
+ 0x1330: 0x4000, 0x1331: 0x4000, 0x1332: 0x4000, 0x1333: 0x4000, 0x1334: 0x4000, 0x1335: 0x4000,
+ 0x1336: 0x4000, 0x1337: 0x4000, 0x1338: 0x4000, 0x1339: 0x4000, 0x133a: 0x4000, 0x133b: 0x4000,
// Block 0x4d, offset 0x1340
- 0x1340: 0x2000, 0x1341: 0x2000, 0x1342: 0x2000, 0x1343: 0x2000, 0x1344: 0x2000, 0x1345: 0x2000,
- 0x1346: 0x2000, 0x1347: 0x2000, 0x1348: 0x2000, 0x1349: 0x2000, 0x134a: 0x2000,
- 0x1350: 0x2000, 0x1351: 0x2000,
- 0x1352: 0x2000, 0x1353: 0x2000, 0x1354: 0x2000, 0x1355: 0x2000, 0x1356: 0x2000, 0x1357: 0x2000,
- 0x1358: 0x2000, 0x1359: 0x2000, 0x135a: 0x2000, 0x135b: 0x2000, 0x135c: 0x2000, 0x135d: 0x2000,
- 0x135e: 0x2000, 0x135f: 0x2000, 0x1360: 0x2000, 0x1361: 0x2000, 0x1362: 0x2000, 0x1363: 0x2000,
- 0x1364: 0x2000, 0x1365: 0x2000, 0x1366: 0x2000, 0x1367: 0x2000, 0x1368: 0x2000, 0x1369: 0x2000,
- 0x136a: 0x2000, 0x136b: 0x2000, 0x136c: 0x2000, 0x136d: 0x2000,
- 0x1370: 0x2000, 0x1371: 0x2000, 0x1372: 0x2000, 0x1373: 0x2000, 0x1374: 0x2000, 0x1375: 0x2000,
- 0x1376: 0x2000, 0x1377: 0x2000, 0x1378: 0x2000, 0x1379: 0x2000, 0x137a: 0x2000, 0x137b: 0x2000,
- 0x137c: 0x2000, 0x137d: 0x2000, 0x137e: 0x2000, 0x137f: 0x2000,
+ 0x1344: 0x4000,
// Block 0x4e, offset 0x1380
- 0x1380: 0x2000, 0x1381: 0x2000, 0x1382: 0x2000, 0x1383: 0x2000, 0x1384: 0x2000, 0x1385: 0x2000,
- 0x1386: 0x2000, 0x1387: 0x2000, 0x1388: 0x2000, 0x1389: 0x2000, 0x138a: 0x2000, 0x138b: 0x2000,
- 0x138c: 0x2000, 0x138d: 0x2000, 0x138e: 0x2000, 0x138f: 0x2000, 0x1390: 0x2000, 0x1391: 0x2000,
- 0x1392: 0x2000, 0x1393: 0x2000, 0x1394: 0x2000, 0x1395: 0x2000, 0x1396: 0x2000, 0x1397: 0x2000,
- 0x1398: 0x2000, 0x1399: 0x2000, 0x139a: 0x2000, 0x139b: 0x2000, 0x139c: 0x2000, 0x139d: 0x2000,
- 0x139e: 0x2000, 0x139f: 0x2000, 0x13a0: 0x2000, 0x13a1: 0x2000, 0x13a2: 0x2000, 0x13a3: 0x2000,
- 0x13a4: 0x2000, 0x13a5: 0x2000, 0x13a6: 0x2000, 0x13a7: 0x2000, 0x13a8: 0x2000, 0x13a9: 0x2000,
- 0x13b0: 0x2000, 0x13b1: 0x2000, 0x13b2: 0x2000, 0x13b3: 0x2000, 0x13b4: 0x2000, 0x13b5: 0x2000,
- 0x13b6: 0x2000, 0x13b7: 0x2000, 0x13b8: 0x2000, 0x13b9: 0x2000, 0x13ba: 0x2000, 0x13bb: 0x2000,
- 0x13bc: 0x2000, 0x13bd: 0x2000, 0x13be: 0x2000, 0x13bf: 0x2000,
+ 0x138f: 0x4000,
// Block 0x4f, offset 0x13c0
0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000,
- 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, 0x13cb: 0x2000,
- 0x13cc: 0x2000, 0x13cd: 0x2000, 0x13ce: 0x4000, 0x13cf: 0x2000, 0x13d0: 0x2000, 0x13d1: 0x4000,
- 0x13d2: 0x4000, 0x13d3: 0x4000, 0x13d4: 0x4000, 0x13d5: 0x4000, 0x13d6: 0x4000, 0x13d7: 0x4000,
- 0x13d8: 0x4000, 0x13d9: 0x4000, 0x13da: 0x4000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000,
+ 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000,
+ 0x13d0: 0x2000, 0x13d1: 0x2000,
+ 0x13d2: 0x2000, 0x13d3: 0x2000, 0x13d4: 0x2000, 0x13d5: 0x2000, 0x13d6: 0x2000, 0x13d7: 0x2000,
+ 0x13d8: 0x2000, 0x13d9: 0x2000, 0x13da: 0x2000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000,
0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000,
0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000,
- 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000,
+ 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, 0x13ed: 0x2000,
+ 0x13f0: 0x2000, 0x13f1: 0x2000, 0x13f2: 0x2000, 0x13f3: 0x2000, 0x13f4: 0x2000, 0x13f5: 0x2000,
+ 0x13f6: 0x2000, 0x13f7: 0x2000, 0x13f8: 0x2000, 0x13f9: 0x2000, 0x13fa: 0x2000, 0x13fb: 0x2000,
+ 0x13fc: 0x2000, 0x13fd: 0x2000, 0x13fe: 0x2000, 0x13ff: 0x2000,
// Block 0x50, offset 0x1400
- 0x1400: 0x4000, 0x1401: 0x4000, 0x1402: 0x4000,
- 0x1410: 0x4000, 0x1411: 0x4000,
- 0x1412: 0x4000, 0x1413: 0x4000, 0x1414: 0x4000, 0x1415: 0x4000, 0x1416: 0x4000, 0x1417: 0x4000,
- 0x1418: 0x4000, 0x1419: 0x4000, 0x141a: 0x4000, 0x141b: 0x4000, 0x141c: 0x4000, 0x141d: 0x4000,
- 0x141e: 0x4000, 0x141f: 0x4000, 0x1420: 0x4000, 0x1421: 0x4000, 0x1422: 0x4000, 0x1423: 0x4000,
- 0x1424: 0x4000, 0x1425: 0x4000, 0x1426: 0x4000, 0x1427: 0x4000, 0x1428: 0x4000, 0x1429: 0x4000,
- 0x142a: 0x4000, 0x142b: 0x4000, 0x142c: 0x4000, 0x142d: 0x4000, 0x142e: 0x4000, 0x142f: 0x4000,
- 0x1430: 0x4000, 0x1431: 0x4000, 0x1432: 0x4000, 0x1433: 0x4000, 0x1434: 0x4000, 0x1435: 0x4000,
- 0x1436: 0x4000, 0x1437: 0x4000, 0x1438: 0x4000, 0x1439: 0x4000, 0x143a: 0x4000, 0x143b: 0x4000,
+ 0x1400: 0x2000, 0x1401: 0x2000, 0x1402: 0x2000, 0x1403: 0x2000, 0x1404: 0x2000, 0x1405: 0x2000,
+ 0x1406: 0x2000, 0x1407: 0x2000, 0x1408: 0x2000, 0x1409: 0x2000, 0x140a: 0x2000, 0x140b: 0x2000,
+ 0x140c: 0x2000, 0x140d: 0x2000, 0x140e: 0x2000, 0x140f: 0x2000, 0x1410: 0x2000, 0x1411: 0x2000,
+ 0x1412: 0x2000, 0x1413: 0x2000, 0x1414: 0x2000, 0x1415: 0x2000, 0x1416: 0x2000, 0x1417: 0x2000,
+ 0x1418: 0x2000, 0x1419: 0x2000, 0x141a: 0x2000, 0x141b: 0x2000, 0x141c: 0x2000, 0x141d: 0x2000,
+ 0x141e: 0x2000, 0x141f: 0x2000, 0x1420: 0x2000, 0x1421: 0x2000, 0x1422: 0x2000, 0x1423: 0x2000,
+ 0x1424: 0x2000, 0x1425: 0x2000, 0x1426: 0x2000, 0x1427: 0x2000, 0x1428: 0x2000, 0x1429: 0x2000,
+ 0x1430: 0x2000, 0x1431: 0x2000, 0x1432: 0x2000, 0x1433: 0x2000, 0x1434: 0x2000, 0x1435: 0x2000,
+ 0x1436: 0x2000, 0x1437: 0x2000, 0x1438: 0x2000, 0x1439: 0x2000, 0x143a: 0x2000, 0x143b: 0x2000,
+ 0x143c: 0x2000, 0x143d: 0x2000, 0x143e: 0x2000, 0x143f: 0x2000,
// Block 0x51, offset 0x1440
- 0x1440: 0x4000, 0x1441: 0x4000, 0x1442: 0x4000, 0x1443: 0x4000, 0x1444: 0x4000, 0x1445: 0x4000,
- 0x1446: 0x4000, 0x1447: 0x4000, 0x1448: 0x4000,
- 0x1450: 0x4000, 0x1451: 0x4000,
+ 0x1440: 0x2000, 0x1441: 0x2000, 0x1442: 0x2000, 0x1443: 0x2000, 0x1444: 0x2000, 0x1445: 0x2000,
+ 0x1446: 0x2000, 0x1447: 0x2000, 0x1448: 0x2000, 0x1449: 0x2000, 0x144a: 0x2000, 0x144b: 0x2000,
+ 0x144c: 0x2000, 0x144d: 0x2000, 0x144e: 0x4000, 0x144f: 0x2000, 0x1450: 0x2000, 0x1451: 0x4000,
+ 0x1452: 0x4000, 0x1453: 0x4000, 0x1454: 0x4000, 0x1455: 0x4000, 0x1456: 0x4000, 0x1457: 0x4000,
+ 0x1458: 0x4000, 0x1459: 0x4000, 0x145a: 0x4000, 0x145b: 0x2000, 0x145c: 0x2000, 0x145d: 0x2000,
+ 0x145e: 0x2000, 0x145f: 0x2000, 0x1460: 0x2000, 0x1461: 0x2000, 0x1462: 0x2000, 0x1463: 0x2000,
+ 0x1464: 0x2000, 0x1465: 0x2000, 0x1466: 0x2000, 0x1467: 0x2000, 0x1468: 0x2000, 0x1469: 0x2000,
+ 0x146a: 0x2000, 0x146b: 0x2000, 0x146c: 0x2000,
// Block 0x52, offset 0x1480
- 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, 0x1483: 0x4000, 0x1484: 0x4000, 0x1485: 0x4000,
- 0x1486: 0x4000, 0x1487: 0x4000, 0x1488: 0x4000, 0x1489: 0x4000, 0x148a: 0x4000, 0x148b: 0x4000,
- 0x148c: 0x4000, 0x148d: 0x4000, 0x148e: 0x4000, 0x148f: 0x4000, 0x1490: 0x4000, 0x1491: 0x4000,
+ 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000,
+ 0x1490: 0x4000, 0x1491: 0x4000,
0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000,
0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000,
- 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000,
- 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000,
+ 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, 0x14a1: 0x4000, 0x14a2: 0x4000, 0x14a3: 0x4000,
+ 0x14a4: 0x4000, 0x14a5: 0x4000, 0x14a6: 0x4000, 0x14a7: 0x4000, 0x14a8: 0x4000, 0x14a9: 0x4000,
+ 0x14aa: 0x4000, 0x14ab: 0x4000, 0x14ac: 0x4000, 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000,
0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000,
- 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000,
- 0x14bc: 0x4000, 0x14bd: 0x4000, 0x14be: 0x4000, 0x14bf: 0x4000,
+ 0x14b6: 0x4000, 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000,
// Block 0x53, offset 0x14c0
0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000,
- 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, 0x14c9: 0x4000, 0x14ca: 0x4000, 0x14cb: 0x4000,
- 0x14cc: 0x4000, 0x14cd: 0x4000, 0x14ce: 0x4000, 0x14cf: 0x4000, 0x14d0: 0x4000, 0x14d1: 0x4000,
- 0x14d2: 0x4000, 0x14d3: 0x4000, 0x14d4: 0x4000, 0x14d5: 0x4000, 0x14d6: 0x4000, 0x14d7: 0x4000,
- 0x14d8: 0x4000, 0x14d9: 0x4000, 0x14da: 0x4000, 0x14db: 0x4000, 0x14dc: 0x4000, 0x14dd: 0x4000,
- 0x14de: 0x4000, 0x14df: 0x4000, 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000,
- 0x14e4: 0x4000, 0x14e5: 0x4000, 0x14e6: 0x4000, 0x14e7: 0x4000, 0x14e8: 0x4000, 0x14e9: 0x4000,
- 0x14ea: 0x4000, 0x14eb: 0x4000, 0x14ec: 0x4000, 0x14ed: 0x4000, 0x14ee: 0x4000, 0x14ef: 0x4000,
- 0x14f0: 0x4000, 0x14f1: 0x4000, 0x14f2: 0x4000, 0x14f3: 0x4000, 0x14f4: 0x4000, 0x14f5: 0x4000,
- 0x14f6: 0x4000, 0x14f7: 0x4000, 0x14f8: 0x4000, 0x14f9: 0x4000, 0x14fa: 0x4000, 0x14fb: 0x4000,
- 0x14fc: 0x4000, 0x14fe: 0x4000, 0x14ff: 0x4000,
+ 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000,
+ 0x14d0: 0x4000, 0x14d1: 0x4000,
+ 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000,
+ 0x14e4: 0x4000, 0x14e5: 0x4000,
// Block 0x54, offset 0x1500
0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000,
0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000,
0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000,
- 0x1512: 0x4000, 0x1513: 0x4000,
- 0x1520: 0x4000, 0x1521: 0x4000, 0x1522: 0x4000, 0x1523: 0x4000,
- 0x1524: 0x4000, 0x1525: 0x4000, 0x1526: 0x4000, 0x1527: 0x4000, 0x1528: 0x4000, 0x1529: 0x4000,
- 0x152a: 0x4000, 0x152b: 0x4000, 0x152c: 0x4000, 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000,
+ 0x1512: 0x4000, 0x1513: 0x4000, 0x1514: 0x4000, 0x1515: 0x4000, 0x1516: 0x4000, 0x1517: 0x4000,
+ 0x1518: 0x4000, 0x1519: 0x4000, 0x151a: 0x4000, 0x151b: 0x4000, 0x151c: 0x4000, 0x151d: 0x4000,
+ 0x151e: 0x4000, 0x151f: 0x4000, 0x1520: 0x4000,
+ 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000,
0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000,
- 0x1536: 0x4000, 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000,
+ 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000,
0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000,
// Block 0x55, offset 0x1540
0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000,
- 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000,
- 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000,
- 0x1552: 0x4000, 0x1553: 0x4000,
- 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000,
+ 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, 0x154b: 0x4000,
+ 0x154c: 0x4000, 0x154d: 0x4000, 0x154e: 0x4000, 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000,
+ 0x1552: 0x4000, 0x1553: 0x4000, 0x1554: 0x4000, 0x1555: 0x4000, 0x1556: 0x4000, 0x1557: 0x4000,
+ 0x1558: 0x4000, 0x1559: 0x4000, 0x155a: 0x4000, 0x155b: 0x4000, 0x155c: 0x4000, 0x155d: 0x4000,
+ 0x155e: 0x4000, 0x155f: 0x4000, 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000,
0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000,
0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000,
- 0x1570: 0x4000, 0x1574: 0x4000,
- 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000,
- 0x157c: 0x4000, 0x157d: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000,
+ 0x1570: 0x4000, 0x1571: 0x4000, 0x1572: 0x4000, 0x1573: 0x4000, 0x1574: 0x4000, 0x1575: 0x4000,
+ 0x1576: 0x4000, 0x1577: 0x4000, 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000,
+ 0x157c: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000,
// Block 0x56, offset 0x1580
- 0x1580: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000,
+ 0x1580: 0x4000, 0x1581: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000,
0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000,
0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000,
- 0x1592: 0x4000, 0x1593: 0x4000, 0x1594: 0x4000, 0x1595: 0x4000, 0x1596: 0x4000, 0x1597: 0x4000,
- 0x1598: 0x4000, 0x1599: 0x4000, 0x159a: 0x4000, 0x159b: 0x4000, 0x159c: 0x4000, 0x159d: 0x4000,
- 0x159e: 0x4000, 0x159f: 0x4000, 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000,
+ 0x1592: 0x4000, 0x1593: 0x4000,
+ 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000,
0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000,
0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000,
0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000,
@@ -904,18 +903,17 @@ var widthValues = [6336]uint16{
0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000,
// Block 0x57, offset 0x15c0
0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000,
- 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, 0x15cb: 0x4000,
- 0x15cc: 0x4000, 0x15cd: 0x4000, 0x15ce: 0x4000, 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000,
- 0x15d2: 0x4000, 0x15d3: 0x4000, 0x15d4: 0x4000, 0x15d5: 0x4000, 0x15d6: 0x4000, 0x15d7: 0x4000,
- 0x15d8: 0x4000, 0x15d9: 0x4000, 0x15da: 0x4000, 0x15db: 0x4000, 0x15dc: 0x4000, 0x15dd: 0x4000,
- 0x15de: 0x4000, 0x15df: 0x4000, 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000,
+ 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000,
+ 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000,
+ 0x15d2: 0x4000, 0x15d3: 0x4000,
+ 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000,
0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000,
0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000,
- 0x15f0: 0x4000, 0x15f1: 0x4000, 0x15f2: 0x4000, 0x15f3: 0x4000, 0x15f4: 0x4000, 0x15f5: 0x4000,
- 0x15f6: 0x4000, 0x15f7: 0x4000, 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000,
- 0x15fc: 0x4000, 0x15ff: 0x4000,
+ 0x15f0: 0x4000, 0x15f4: 0x4000,
+ 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000,
+ 0x15fc: 0x4000, 0x15fd: 0x4000, 0x15fe: 0x4000, 0x15ff: 0x4000,
// Block 0x58, offset 0x1600
- 0x1600: 0x4000, 0x1601: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000,
+ 0x1600: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000,
0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000,
0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000,
0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000,
@@ -925,66 +923,99 @@ var widthValues = [6336]uint16{
0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000,
0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000,
0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000,
- 0x163c: 0x4000, 0x163d: 0x4000,
+ 0x163c: 0x4000, 0x163d: 0x4000, 0x163e: 0x4000, 0x163f: 0x4000,
// Block 0x59, offset 0x1640
- 0x164b: 0x4000,
- 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000,
+ 0x1640: 0x4000, 0x1641: 0x4000, 0x1642: 0x4000, 0x1643: 0x4000, 0x1644: 0x4000, 0x1645: 0x4000,
+ 0x1646: 0x4000, 0x1647: 0x4000, 0x1648: 0x4000, 0x1649: 0x4000, 0x164a: 0x4000, 0x164b: 0x4000,
+ 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x164f: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000,
0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000,
0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000,
0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000,
- 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000,
- 0x167a: 0x4000,
+ 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, 0x1668: 0x4000, 0x1669: 0x4000,
+ 0x166a: 0x4000, 0x166b: 0x4000, 0x166c: 0x4000, 0x166d: 0x4000, 0x166e: 0x4000, 0x166f: 0x4000,
+ 0x1670: 0x4000, 0x1671: 0x4000, 0x1672: 0x4000, 0x1673: 0x4000, 0x1674: 0x4000, 0x1675: 0x4000,
+ 0x1676: 0x4000, 0x1677: 0x4000, 0x1678: 0x4000, 0x1679: 0x4000, 0x167a: 0x4000, 0x167b: 0x4000,
+ 0x167c: 0x4000, 0x167f: 0x4000,
// Block 0x5a, offset 0x1680
- 0x1695: 0x4000, 0x1696: 0x4000,
- 0x16a4: 0x4000,
+ 0x1680: 0x4000, 0x1681: 0x4000, 0x1682: 0x4000, 0x1683: 0x4000, 0x1684: 0x4000, 0x1685: 0x4000,
+ 0x1686: 0x4000, 0x1687: 0x4000, 0x1688: 0x4000, 0x1689: 0x4000, 0x168a: 0x4000, 0x168b: 0x4000,
+ 0x168c: 0x4000, 0x168d: 0x4000, 0x168e: 0x4000, 0x168f: 0x4000, 0x1690: 0x4000, 0x1691: 0x4000,
+ 0x1692: 0x4000, 0x1693: 0x4000, 0x1694: 0x4000, 0x1695: 0x4000, 0x1696: 0x4000, 0x1697: 0x4000,
+ 0x1698: 0x4000, 0x1699: 0x4000, 0x169a: 0x4000, 0x169b: 0x4000, 0x169c: 0x4000, 0x169d: 0x4000,
+ 0x169e: 0x4000, 0x169f: 0x4000, 0x16a0: 0x4000, 0x16a1: 0x4000, 0x16a2: 0x4000, 0x16a3: 0x4000,
+ 0x16a4: 0x4000, 0x16a5: 0x4000, 0x16a6: 0x4000, 0x16a7: 0x4000, 0x16a8: 0x4000, 0x16a9: 0x4000,
+ 0x16aa: 0x4000, 0x16ab: 0x4000, 0x16ac: 0x4000, 0x16ad: 0x4000, 0x16ae: 0x4000, 0x16af: 0x4000,
+ 0x16b0: 0x4000, 0x16b1: 0x4000, 0x16b2: 0x4000, 0x16b3: 0x4000, 0x16b4: 0x4000, 0x16b5: 0x4000,
+ 0x16b6: 0x4000, 0x16b7: 0x4000, 0x16b8: 0x4000, 0x16b9: 0x4000, 0x16ba: 0x4000, 0x16bb: 0x4000,
+ 0x16bc: 0x4000, 0x16bd: 0x4000,
// Block 0x5b, offset 0x16c0
- 0x16fb: 0x4000,
- 0x16fc: 0x4000, 0x16fd: 0x4000, 0x16fe: 0x4000, 0x16ff: 0x4000,
+ 0x16cb: 0x4000,
+ 0x16cc: 0x4000, 0x16cd: 0x4000, 0x16ce: 0x4000, 0x16d0: 0x4000, 0x16d1: 0x4000,
+ 0x16d2: 0x4000, 0x16d3: 0x4000, 0x16d4: 0x4000, 0x16d5: 0x4000, 0x16d6: 0x4000, 0x16d7: 0x4000,
+ 0x16d8: 0x4000, 0x16d9: 0x4000, 0x16da: 0x4000, 0x16db: 0x4000, 0x16dc: 0x4000, 0x16dd: 0x4000,
+ 0x16de: 0x4000, 0x16df: 0x4000, 0x16e0: 0x4000, 0x16e1: 0x4000, 0x16e2: 0x4000, 0x16e3: 0x4000,
+ 0x16e4: 0x4000, 0x16e5: 0x4000, 0x16e6: 0x4000, 0x16e7: 0x4000,
+ 0x16fa: 0x4000,
// Block 0x5c, offset 0x1700
- 0x1700: 0x4000, 0x1701: 0x4000, 0x1702: 0x4000, 0x1703: 0x4000, 0x1704: 0x4000, 0x1705: 0x4000,
- 0x1706: 0x4000, 0x1707: 0x4000, 0x1708: 0x4000, 0x1709: 0x4000, 0x170a: 0x4000, 0x170b: 0x4000,
- 0x170c: 0x4000, 0x170d: 0x4000, 0x170e: 0x4000, 0x170f: 0x4000,
+ 0x1715: 0x4000, 0x1716: 0x4000,
+ 0x1724: 0x4000,
// Block 0x5d, offset 0x1740
- 0x1740: 0x4000, 0x1741: 0x4000, 0x1742: 0x4000, 0x1743: 0x4000, 0x1744: 0x4000, 0x1745: 0x4000,
- 0x174c: 0x4000, 0x1750: 0x4000, 0x1751: 0x4000,
- 0x1752: 0x4000,
- 0x176b: 0x4000, 0x176c: 0x4000,
- 0x1774: 0x4000, 0x1775: 0x4000,
- 0x1776: 0x4000,
+ 0x177b: 0x4000,
+ 0x177c: 0x4000, 0x177d: 0x4000, 0x177e: 0x4000, 0x177f: 0x4000,
// Block 0x5e, offset 0x1780
- 0x1790: 0x4000, 0x1791: 0x4000,
- 0x1792: 0x4000, 0x1793: 0x4000, 0x1794: 0x4000, 0x1795: 0x4000, 0x1796: 0x4000, 0x1797: 0x4000,
- 0x1798: 0x4000, 0x1799: 0x4000, 0x179a: 0x4000, 0x179b: 0x4000, 0x179c: 0x4000, 0x179d: 0x4000,
- 0x179e: 0x4000, 0x17a0: 0x4000, 0x17a1: 0x4000, 0x17a2: 0x4000, 0x17a3: 0x4000,
- 0x17a4: 0x4000, 0x17a5: 0x4000, 0x17a6: 0x4000, 0x17a7: 0x4000,
- 0x17b0: 0x4000, 0x17b3: 0x4000, 0x17b4: 0x4000, 0x17b5: 0x4000,
- 0x17b6: 0x4000, 0x17b7: 0x4000, 0x17b8: 0x4000, 0x17b9: 0x4000, 0x17ba: 0x4000, 0x17bb: 0x4000,
- 0x17bc: 0x4000, 0x17bd: 0x4000, 0x17be: 0x4000,
+ 0x1780: 0x4000, 0x1781: 0x4000, 0x1782: 0x4000, 0x1783: 0x4000, 0x1784: 0x4000, 0x1785: 0x4000,
+ 0x1786: 0x4000, 0x1787: 0x4000, 0x1788: 0x4000, 0x1789: 0x4000, 0x178a: 0x4000, 0x178b: 0x4000,
+ 0x178c: 0x4000, 0x178d: 0x4000, 0x178e: 0x4000, 0x178f: 0x4000,
// Block 0x5f, offset 0x17c0
0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000,
- 0x17c6: 0x4000, 0x17c7: 0x4000, 0x17c8: 0x4000, 0x17c9: 0x4000, 0x17ca: 0x4000, 0x17cb: 0x4000,
- 0x17d0: 0x4000, 0x17d1: 0x4000,
- 0x17d2: 0x4000, 0x17d3: 0x4000, 0x17d4: 0x4000, 0x17d5: 0x4000, 0x17d6: 0x4000, 0x17d7: 0x4000,
- 0x17d8: 0x4000, 0x17d9: 0x4000, 0x17da: 0x4000, 0x17db: 0x4000, 0x17dc: 0x4000, 0x17dd: 0x4000,
- 0x17de: 0x4000,
+ 0x17cc: 0x4000, 0x17d0: 0x4000, 0x17d1: 0x4000,
+ 0x17d2: 0x4000,
+ 0x17eb: 0x4000, 0x17ec: 0x4000,
+ 0x17f4: 0x4000, 0x17f5: 0x4000,
+ 0x17f6: 0x4000, 0x17f7: 0x4000, 0x17f8: 0x4000,
// Block 0x60, offset 0x1800
- 0x1800: 0x4000, 0x1801: 0x4000, 0x1802: 0x4000, 0x1803: 0x4000, 0x1804: 0x4000, 0x1805: 0x4000,
- 0x1806: 0x4000, 0x1807: 0x4000, 0x1808: 0x4000, 0x1809: 0x4000, 0x180a: 0x4000, 0x180b: 0x4000,
- 0x180c: 0x4000, 0x180d: 0x4000, 0x180e: 0x4000, 0x180f: 0x4000, 0x1810: 0x4000, 0x1811: 0x4000,
+ 0x1810: 0x4000, 0x1811: 0x4000,
+ 0x1812: 0x4000, 0x1813: 0x4000, 0x1814: 0x4000, 0x1815: 0x4000, 0x1816: 0x4000, 0x1817: 0x4000,
+ 0x1818: 0x4000, 0x1819: 0x4000, 0x181a: 0x4000, 0x181b: 0x4000, 0x181c: 0x4000, 0x181d: 0x4000,
+ 0x181e: 0x4000, 0x181f: 0x4000, 0x1820: 0x4000, 0x1821: 0x4000, 0x1822: 0x4000, 0x1823: 0x4000,
+ 0x1824: 0x4000, 0x1825: 0x4000, 0x1826: 0x4000, 0x1827: 0x4000, 0x1828: 0x4000, 0x1829: 0x4000,
+ 0x182a: 0x4000, 0x182b: 0x4000, 0x182c: 0x4000, 0x182d: 0x4000, 0x182e: 0x4000, 0x182f: 0x4000,
+ 0x1830: 0x4000, 0x1831: 0x4000, 0x1832: 0x4000, 0x1833: 0x4000, 0x1834: 0x4000, 0x1835: 0x4000,
+ 0x1836: 0x4000, 0x1837: 0x4000, 0x1838: 0x4000, 0x1839: 0x4000, 0x183a: 0x4000, 0x183b: 0x4000,
+ 0x183c: 0x4000, 0x183d: 0x4000, 0x183e: 0x4000,
// Block 0x61, offset 0x1840
- 0x1840: 0x4000,
+ 0x1840: 0x4000, 0x1841: 0x4000, 0x1842: 0x4000, 0x1843: 0x4000, 0x1844: 0x4000, 0x1845: 0x4000,
+ 0x1846: 0x4000, 0x1847: 0x4000, 0x1848: 0x4000, 0x1849: 0x4000, 0x184a: 0x4000, 0x184b: 0x4000,
+ 0x184c: 0x4000, 0x1850: 0x4000, 0x1851: 0x4000,
+ 0x1852: 0x4000, 0x1853: 0x4000, 0x1854: 0x4000, 0x1855: 0x4000, 0x1856: 0x4000, 0x1857: 0x4000,
+ 0x1858: 0x4000, 0x1859: 0x4000, 0x185a: 0x4000, 0x185b: 0x4000, 0x185c: 0x4000, 0x185d: 0x4000,
+ 0x185e: 0x4000, 0x185f: 0x4000, 0x1860: 0x4000, 0x1861: 0x4000, 0x1862: 0x4000, 0x1863: 0x4000,
+ 0x1864: 0x4000, 0x1865: 0x4000, 0x1866: 0x4000, 0x1867: 0x4000, 0x1868: 0x4000, 0x1869: 0x4000,
+ 0x186a: 0x4000, 0x186b: 0x4000,
// Block 0x62, offset 0x1880
- 0x1880: 0x2000, 0x1881: 0x2000, 0x1882: 0x2000, 0x1883: 0x2000, 0x1884: 0x2000, 0x1885: 0x2000,
- 0x1886: 0x2000, 0x1887: 0x2000, 0x1888: 0x2000, 0x1889: 0x2000, 0x188a: 0x2000, 0x188b: 0x2000,
- 0x188c: 0x2000, 0x188d: 0x2000, 0x188e: 0x2000, 0x188f: 0x2000, 0x1890: 0x2000, 0x1891: 0x2000,
- 0x1892: 0x2000, 0x1893: 0x2000, 0x1894: 0x2000, 0x1895: 0x2000, 0x1896: 0x2000, 0x1897: 0x2000,
- 0x1898: 0x2000, 0x1899: 0x2000, 0x189a: 0x2000, 0x189b: 0x2000, 0x189c: 0x2000, 0x189d: 0x2000,
- 0x189e: 0x2000, 0x189f: 0x2000, 0x18a0: 0x2000, 0x18a1: 0x2000, 0x18a2: 0x2000, 0x18a3: 0x2000,
- 0x18a4: 0x2000, 0x18a5: 0x2000, 0x18a6: 0x2000, 0x18a7: 0x2000, 0x18a8: 0x2000, 0x18a9: 0x2000,
- 0x18aa: 0x2000, 0x18ab: 0x2000, 0x18ac: 0x2000, 0x18ad: 0x2000, 0x18ae: 0x2000, 0x18af: 0x2000,
- 0x18b0: 0x2000, 0x18b1: 0x2000, 0x18b2: 0x2000, 0x18b3: 0x2000, 0x18b4: 0x2000, 0x18b5: 0x2000,
- 0x18b6: 0x2000, 0x18b7: 0x2000, 0x18b8: 0x2000, 0x18b9: 0x2000, 0x18ba: 0x2000, 0x18bb: 0x2000,
- 0x18bc: 0x2000, 0x18bd: 0x2000,
+ 0x1880: 0x4000, 0x1881: 0x4000, 0x1882: 0x4000, 0x1883: 0x4000, 0x1884: 0x4000, 0x1885: 0x4000,
+ 0x1886: 0x4000, 0x1887: 0x4000, 0x1888: 0x4000, 0x1889: 0x4000, 0x188a: 0x4000, 0x188b: 0x4000,
+ 0x188c: 0x4000, 0x188d: 0x4000, 0x188e: 0x4000, 0x188f: 0x4000, 0x1890: 0x4000, 0x1891: 0x4000,
+ 0x1892: 0x4000, 0x1893: 0x4000, 0x1894: 0x4000, 0x1895: 0x4000, 0x1896: 0x4000, 0x1897: 0x4000,
+ // Block 0x63, offset 0x18c0
+ 0x18c0: 0x4000,
+ 0x18d0: 0x4000, 0x18d1: 0x4000,
+ 0x18d2: 0x4000, 0x18d3: 0x4000, 0x18d4: 0x4000, 0x18d5: 0x4000, 0x18d6: 0x4000, 0x18d7: 0x4000,
+ 0x18d8: 0x4000, 0x18d9: 0x4000, 0x18da: 0x4000, 0x18db: 0x4000, 0x18dc: 0x4000, 0x18dd: 0x4000,
+ 0x18de: 0x4000, 0x18df: 0x4000, 0x18e0: 0x4000, 0x18e1: 0x4000, 0x18e2: 0x4000, 0x18e3: 0x4000,
+ 0x18e4: 0x4000, 0x18e5: 0x4000, 0x18e6: 0x4000,
+ // Block 0x64, offset 0x1900
+ 0x1900: 0x2000, 0x1901: 0x2000, 0x1902: 0x2000, 0x1903: 0x2000, 0x1904: 0x2000, 0x1905: 0x2000,
+ 0x1906: 0x2000, 0x1907: 0x2000, 0x1908: 0x2000, 0x1909: 0x2000, 0x190a: 0x2000, 0x190b: 0x2000,
+ 0x190c: 0x2000, 0x190d: 0x2000, 0x190e: 0x2000, 0x190f: 0x2000, 0x1910: 0x2000, 0x1911: 0x2000,
+ 0x1912: 0x2000, 0x1913: 0x2000, 0x1914: 0x2000, 0x1915: 0x2000, 0x1916: 0x2000, 0x1917: 0x2000,
+ 0x1918: 0x2000, 0x1919: 0x2000, 0x191a: 0x2000, 0x191b: 0x2000, 0x191c: 0x2000, 0x191d: 0x2000,
+ 0x191e: 0x2000, 0x191f: 0x2000, 0x1920: 0x2000, 0x1921: 0x2000, 0x1922: 0x2000, 0x1923: 0x2000,
+ 0x1924: 0x2000, 0x1925: 0x2000, 0x1926: 0x2000, 0x1927: 0x2000, 0x1928: 0x2000, 0x1929: 0x2000,
+ 0x192a: 0x2000, 0x192b: 0x2000, 0x192c: 0x2000, 0x192d: 0x2000, 0x192e: 0x2000, 0x192f: 0x2000,
+ 0x1930: 0x2000, 0x1931: 0x2000, 0x1932: 0x2000, 0x1933: 0x2000, 0x1934: 0x2000, 0x1935: 0x2000,
+ 0x1936: 0x2000, 0x1937: 0x2000, 0x1938: 0x2000, 0x1939: 0x2000, 0x193a: 0x2000, 0x193b: 0x2000,
+ 0x193c: 0x2000, 0x193d: 0x2000,
}
// widthIndex: 22 blocks, 1408 entries, 1408 bytes
@@ -1076,13 +1107,14 @@ var widthIndex = [1408]uint8{
0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e,
0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x47,
// Block 0xf, offset 0x3c0
- 0x3c0: 0x48,
+ 0x3c0: 0x0e, 0x3c1: 0x0e, 0x3c2: 0x0e, 0x3c3: 0x0e, 0x3c4: 0x48, 0x3c5: 0x49, 0x3c6: 0x0e, 0x3c7: 0x0e,
+ 0x3c8: 0x0e, 0x3c9: 0x0e, 0x3ca: 0x0e, 0x3cb: 0x4a,
// Block 0x10, offset 0x400
- 0x400: 0x49, 0x403: 0x4a, 0x404: 0x4b, 0x405: 0x4c, 0x406: 0x4d,
- 0x408: 0x4e, 0x409: 0x4f, 0x40c: 0x50, 0x40d: 0x51, 0x40e: 0x52, 0x40f: 0x53,
- 0x410: 0x3a, 0x411: 0x54, 0x412: 0x0e, 0x413: 0x55, 0x414: 0x56, 0x415: 0x57, 0x416: 0x58, 0x417: 0x59,
- 0x418: 0x0e, 0x419: 0x5a, 0x41a: 0x0e, 0x41b: 0x5b,
- 0x424: 0x5c, 0x425: 0x5d, 0x426: 0x5e, 0x427: 0x5f,
+ 0x400: 0x4b, 0x403: 0x4c, 0x404: 0x4d, 0x405: 0x4e, 0x406: 0x4f,
+ 0x408: 0x50, 0x409: 0x51, 0x40c: 0x52, 0x40d: 0x53, 0x40e: 0x54, 0x40f: 0x55,
+ 0x410: 0x3a, 0x411: 0x56, 0x412: 0x0e, 0x413: 0x57, 0x414: 0x58, 0x415: 0x59, 0x416: 0x5a, 0x417: 0x5b,
+ 0x418: 0x0e, 0x419: 0x5c, 0x41a: 0x0e, 0x41b: 0x5d,
+ 0x424: 0x5e, 0x425: 0x5f, 0x426: 0x60, 0x427: 0x61,
// Block 0x11, offset 0x440
0x456: 0x0b, 0x457: 0x06,
0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e,
@@ -1100,7 +1132,7 @@ var widthIndex = [1408]uint8{
0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08,
0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08,
0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08,
- 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x60,
+ 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x62,
// Block 0x14, offset 0x500
0x520: 0x10,
0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09,
@@ -1281,4 +1313,4 @@ var inverseData = [150][4]byte{
{0x03, 0xe2, 0x97, 0x25},
}
-// Total table size 14680 bytes (14KiB)
+// Total table size 14936 bytes (14KiB)
diff --git a/vendor/golang.org/x/time/README b/vendor/golang.org/x/time/README
deleted file mode 100644
index 144e347b4..000000000
--- a/vendor/golang.org/x/time/README
+++ /dev/null
@@ -1 +0,0 @@
-This repository provides supplementary Go time packages.
diff --git a/vendor/golang.org/x/time/README.md b/vendor/golang.org/x/time/README.md
new file mode 100644
index 000000000..ce9becdde
--- /dev/null
+++ b/vendor/golang.org/x/time/README.md
@@ -0,0 +1,17 @@
+# Go Time
+
+This repository provides supplementary Go time packages.
+
+## Download/Install
+
+The easiest way to install is to run `go get -u golang.org/x/time`. You can
+also manually git clone the repository to `$GOPATH/src/golang.org/x/time`.
+
+## Report Issues / Send Patches
+
+This repository uses Gerrit for code changes. To learn how to submit changes to
+this repository, see https://golang.org/doc/contribute.html.
+
+The main issue tracker for the time repository is located at
+https://github.com/golang/go/issues. Prefix your issue with "x/time:" in the
+subject line, so it is easy to find.
diff --git a/vendor/gopkg.in/olivere/elastic.v5/.gitignore b/vendor/gopkg.in/olivere/elastic.v5/.gitignore
index 89340bbe7..47140b99b 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/.gitignore
+++ b/vendor/gopkg.in/olivere/elastic.v5/.gitignore
@@ -21,6 +21,7 @@ _testmain.go
*.exe
+/.vscode/
/generator
/cluster-test/cluster-test
/cluster-test/*.log
diff --git a/vendor/gopkg.in/olivere/elastic.v5/.travis.yml b/vendor/gopkg.in/olivere/elastic.v5/.travis.yml
index e1466aa79..703fa01be 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/.travis.yml
+++ b/vendor/gopkg.in/olivere/elastic.v5/.travis.yml
@@ -2,15 +2,15 @@ sudo: required
language: go
script: go test -race -v . ./config
go:
- - 1.7
- - 1.8
- - tip
+ - 1.8.x
+ - 1.9.x
+ # - tip
matrix:
allow_failures:
- go: tip
services:
- docker
-before_script:
+before_install:
- sudo sysctl -w vm.max_map_count=262144
- - docker run --rm --privileged=true -p 9200:9200 -p 9300:9300 -e "bootstrap.memory_lock=true" -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" docker.elastic.co/elasticsearch/elasticsearch:5.5.0 elasticsearch -Expack.security.enabled=false -Escript.inline=true -Escript.stored=true -Escript.file=true -Enetwork.host=_local_,_site_ -Enetwork.publish_host=_local_ >& /dev/null &
+ - docker run --rm --privileged=true -p 9200:9200 -p 9300:9300 -e "bootstrap.memory_lock=true" -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" docker.elastic.co/elasticsearch/elasticsearch:5.6.1 elasticsearch -Expack.security.enabled=false -Escript.inline=true -Escript.stored=true -Escript.file=true -Enetwork.host=_local_,_site_ -Enetwork.publish_host=_local_ >& /dev/null &
- sleep 30
diff --git a/vendor/gopkg.in/olivere/elastic.v5/CONTRIBUTORS b/vendor/gopkg.in/olivere/elastic.v5/CONTRIBUTORS
index 0098a0d2d..572caf62d 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/CONTRIBUTORS
+++ b/vendor/gopkg.in/olivere/elastic.v5/CONTRIBUTORS
@@ -29,6 +29,7 @@ Bruce Zhou [@brucez-isell](https://github.com/brucez-isell)
cforbes [@cforbes](https://github.com/cforbes)
Chris M [@tebriel](https://github.com/tebriel)
Chris Rice [@donutmonger](https://github.com/donutmonger)
+Claudiu Olteanu [@claudiuolteanu](https://github.com/claudiuolteanu)
Christophe Courtaut [@kri5](https://github.com/kri5)
Connor Peet [@connor4312](https://github.com/connor4312)
Conrad Pankoff [@deoxxa](https://github.com/deoxxa)
@@ -40,14 +41,17 @@ Dwayne Schultz [@myshkin5](https://github.com/myshkin5)
Ellison Leão [@ellisonleao](https://github.com/ellisonleao)
Erwin [@eticzon](https://github.com/eticzon)
Eugene Egorov [@EugeneEgorov](https://github.com/EugeneEgorov)
+Evan Shaw [@edsrzf](https://github.com/edsrzf)
Fanfan [@wenpos](https://github.com/wenpos)
Faolan C-P [@fcheslack](https://github.com/fcheslack)
Filip Tepper [@filiptepper](https://github.com/filiptepper)
+Gaylord Aulke [@blafasel42](https://github.com/blafasel42)
Gerhard Häring [@ghaering](https://github.com/ghaering)
Guilherme Silveira [@guilherme-santos](https://github.com/guilherme-santos)
Guillaume J. Charmes [@creack](https://github.com/creack)
Guiseppe [@gm42](https://github.com/gm42)
Han Yu [@MoonighT](https://github.com/MoonighT)
+Harmen [@alicebob](https://github.com/alicebob)
Harrison Wright [@wright8191](https://github.com/wright8191)
Henry Clifford [@hcliff](https://github.com/hcliff)
Igor Dubinskiy [@idubinskiy](https://github.com/idubinskiy)
diff --git a/vendor/gopkg.in/olivere/elastic.v5/README.md b/vendor/gopkg.in/olivere/elastic.v5/README.md
index ececd2769..45b84dab8 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/README.md
+++ b/vendor/gopkg.in/olivere/elastic.v5/README.md
@@ -107,101 +107,9 @@ The client connects to Elasticsearch on `http://127.0.0.1:9200` by default.
You typically create one client for your app. Here's a complete example of
creating a client, creating an index, adding a document, executing a search etc.
-```go
-// Create a context
-ctx := context.Background()
-
-// Create a client
-client, err := elastic.NewClient()
-if err != nil {
- // Handle error
- panic(err)
-}
-
-// Create an index
-_, err = client.CreateIndex("twitter").Do(ctx)
-if err != nil {
- // Handle error
- panic(err)
-}
-
-// Add a document to the index
-tweet := Tweet{User: "olivere", Message: "Take Five"}
-_, err = client.Index().
- Index("twitter").
- Type("tweet").
- Id("1").
- BodyJson(tweet).
- Refresh("true").
- Do(ctx)
-if err != nil {
- // Handle error
- panic(err)
-}
-
-// Search with a term query
-termQuery := elastic.NewTermQuery("user", "olivere")
-searchResult, err := client.Search().
- Index("twitter"). // search in index "twitter"
- Query(termQuery). // specify the query
- Sort("user", true). // sort by "user" field, ascending
- From(0).Size(10). // take documents 0-9
- Pretty(true). // pretty print request and response JSON
- Do(ctx) // execute
-if err != nil {
- // Handle error
- panic(err)
-}
-
-// searchResult is of type SearchResult and returns hits, suggestions,
-// and all kinds of other information from Elasticsearch.
-fmt.Printf("Query took %d milliseconds\n", searchResult.TookInMillis)
-
-// Each is a convenience function that iterates over hits in a search result.
-// It makes sure you don't need to check for nil values in the response.
-// However, it ignores errors in serialization. If you want full control
-// over iterating the hits, see below.
-var ttyp Tweet
-for _, item := range searchResult.Each(reflect.TypeOf(ttyp)) {
- if t, ok := item.(Tweet); ok {
- fmt.Printf("Tweet by %s: %s\n", t.User, t.Message)
- }
-}
-// TotalHits is another convenience function that works even when something goes wrong.
-fmt.Printf("Found a total of %d tweets\n", searchResult.TotalHits())
-
-// Here's how you iterate through results with full control over each step.
-if searchResult.Hits.TotalHits > 0 {
- fmt.Printf("Found a total of %d tweets\n", searchResult.Hits.TotalHits)
-
- // Iterate through results
- for _, hit := range searchResult.Hits.Hits {
- // hit.Index contains the name of the index
-
- // Deserialize hit.Source into a Tweet (could also be just a map[string]interface{}).
- var t Tweet
- err := json.Unmarshal(*hit.Source, &t)
- if err != nil {
- // Deserialization failed
- }
-
- // Work with tweet
- fmt.Printf("Tweet by %s: %s\n", t.User, t.Message)
- }
-} else {
- // No hits
- fmt.Print("Found no tweets\n")
-}
-
-// Delete the index again
-_, err = client.DeleteIndex("twitter").Do(ctx)
-if err != nil {
- // Handle error
- panic(err)
-}
-```
+An example is available [here](https://olivere.github.io/elastic/)
-Here's a [link to a complete working example](https://gist.github.com/olivere/114347ff9d9cfdca7bdc0ecea8b82263).
+Here's a [link to a complete working example for v3](https://gist.github.com/olivere/114347ff9d9cfdca7bdc0ecea8b82263).
See the [wiki](https://github.com/olivere/elastic/wiki) for more details.
diff --git a/vendor/gopkg.in/olivere/elastic.v5/backoff_test.go b/vendor/gopkg.in/olivere/elastic.v5/backoff_test.go
index aba7dcf76..eae168a12 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/backoff_test.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/backoff_test.go
@@ -130,13 +130,11 @@ func TestExponentialBackoff(t *testing.T) {
t.Errorf("expected [%v..%v], got %v", 8, 256, got)
}
- got, ok = b.Next(5)
- if ok {
+ if _, ok := b.Next(5); ok {
t.Fatalf("expected %v, got %v", false, ok)
}
- got, ok = b.Next(6)
- if ok {
+ if _, ok = b.Next(6); ok {
t.Fatalf("expected %v, got %v", false, ok)
}
}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/client.go b/vendor/gopkg.in/olivere/elastic.v5/client.go
index e517a7fa8..13b45d831 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/client.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/client.go
@@ -26,7 +26,7 @@ import (
const (
// Version is the current version of Elastic.
- Version = "5.0.45"
+ Version = "5.0.48"
// DefaultURL is the default endpoint of Elasticsearch on the local machine.
// It is used e.g. when initializing a new Client without a specific URL.
@@ -1059,7 +1059,6 @@ func (c *Client) healthcheck(timeout time.Duration, force bool) {
case <-ctx.Done(): // timeout
c.errorf("elastic: %s is dead", conn.URL())
conn.MarkAsDead()
- break
case err := <-errc:
if err != nil {
c.errorf("elastic: %s is dead", conn.URL())
@@ -1072,7 +1071,6 @@ func (c *Client) healthcheck(timeout time.Duration, force bool) {
conn.MarkAsDead()
c.errorf("elastic: %s is dead [status=%d]", conn.URL(), status)
}
- break
}
}
}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/docker-compose.yml b/vendor/gopkg.in/olivere/elastic.v5/docker-compose.yml
new file mode 100644
index 000000000..046096db2
--- /dev/null
+++ b/vendor/gopkg.in/olivere/elastic.v5/docker-compose.yml
@@ -0,0 +1,23 @@
+version: '3'
+
+services:
+ elasticsearch:
+ image: docker.elastic.co/elasticsearch/elasticsearch:5.6.0
+ # container_name: elasticsearch
+ hostname: elasticsearch
+ environment:
+ - bootstrap.memory_lock=true
+ - xpack.security.enabled=false
+ - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
+ ulimits:
+ nproc: 65536
+ nofile:
+ soft: 65536
+ hard: 65536
+ memlock:
+ soft: -1
+ hard: -1
+ volumes:
+ - ./etc:/usr/share/elasticsearch/config
+ ports:
+ - 9200:9200
diff --git a/vendor/gopkg.in/olivere/elastic.v5/etc/ingest-geoip/.gitkeep b/vendor/gopkg.in/olivere/elastic.v5/etc/ingest-geoip/.gitkeep
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/vendor/gopkg.in/olivere/elastic.v5/etc/ingest-geoip/.gitkeep
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_fsq.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_fsq.go
index 46f3e78ca..ec34302f8 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/search_queries_fsq.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_fsq.go
@@ -35,13 +35,11 @@ func NewFunctionScoreQuery() *FunctionScoreQuery {
// Query sets the query for the function score query.
func (q *FunctionScoreQuery) Query(query Query) *FunctionScoreQuery {
q.query = query
- q.filter = nil
return q
}
// Filter sets the filter for the function score query.
func (q *FunctionScoreQuery) Filter(filter Query) *FunctionScoreQuery {
- q.query = nil
q.filter = filter
return q
}
@@ -107,7 +105,8 @@ func (q *FunctionScoreQuery) Source() (interface{}, error) {
return nil, err
}
query["query"] = src
- } else if q.filter != nil {
+ }
+ if q.filter != nil {
src, err := q.filter.Source()
if err != nil {
return nil, err
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match.go
index 0c44c5d57..1f2f16f69 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match.go
@@ -16,16 +16,13 @@ package elastic
type MatchQuery struct {
name string
text interface{}
- typ string // boolean, phrase, phrase_prefix
operator string // or / and
analyzer string
boost *float64
- slop *int
fuzziness string
prefixLength *int
maxExpansions *int
minimumShouldMatch string
- rewrite string
fuzzyRewrite string
lenient *bool
fuzzyTranspositions *bool
@@ -39,22 +36,6 @@ func NewMatchQuery(name string, text interface{}) *MatchQuery {
return &MatchQuery{name: name, text: text}
}
-// NewMatchPhraseQuery creates and initializes a new MatchQuery of type phrase.
-func NewMatchPhraseQuery(name string, text interface{}) *MatchQuery {
- return &MatchQuery{name: name, text: text, typ: "phrase"}
-}
-
-// NewMatchPhrasePrefixQuery creates and initializes a new MatchQuery of type phrase_prefix.
-func NewMatchPhrasePrefixQuery(name string, text interface{}) *MatchQuery {
- return &MatchQuery{name: name, text: text, typ: "phrase_prefix"}
-}
-
-// Type can be "boolean", "phrase", or "phrase_prefix". Defaults to "boolean".
-func (q *MatchQuery) Type(typ string) *MatchQuery {
- q.typ = typ
- return q
-}
-
// Operator sets the operator to use when using a boolean query.
// Can be "AND" or "OR" (default).
func (q *MatchQuery) Operator(operator string) *MatchQuery {
@@ -69,18 +50,6 @@ func (q *MatchQuery) Analyzer(analyzer string) *MatchQuery {
return q
}
-// Boost sets the boost to apply to this query.
-func (q *MatchQuery) Boost(boost float64) *MatchQuery {
- q.boost = &boost
- return q
-}
-
-// Slop sets the phrase slop if evaluated to a phrase query type.
-func (q *MatchQuery) Slop(slop int) *MatchQuery {
- q.slop = &slop
- return q
-}
-
// Fuzziness sets the fuzziness when evaluated to a fuzzy query type.
// Defaults to "AUTO".
func (q *MatchQuery) Fuzziness(fuzziness string) *MatchQuery {
@@ -88,6 +57,8 @@ func (q *MatchQuery) Fuzziness(fuzziness string) *MatchQuery {
return q
}
+// PrefixLength sets the length of a length of common (non-fuzzy)
+// prefix for fuzzy match queries. It must be non-negative.
func (q *MatchQuery) PrefixLength(prefixLength int) *MatchQuery {
q.prefixLength = &prefixLength
return q
@@ -109,21 +80,28 @@ func (q *MatchQuery) CutoffFrequency(cutoff float64) *MatchQuery {
return q
}
+// MinimumShouldMatch sets the optional minimumShouldMatch value to
+// apply to the query.
func (q *MatchQuery) MinimumShouldMatch(minimumShouldMatch string) *MatchQuery {
q.minimumShouldMatch = minimumShouldMatch
return q
}
-func (q *MatchQuery) Rewrite(rewrite string) *MatchQuery {
- q.rewrite = rewrite
- return q
-}
-
+// FuzzyRewrite sets the fuzzy_rewrite parameter controlling how the
+// fuzzy query will get rewritten.
func (q *MatchQuery) FuzzyRewrite(fuzzyRewrite string) *MatchQuery {
q.fuzzyRewrite = fuzzyRewrite
return q
}
+// FuzzyTranspositions sets whether transpositions are supported in
+// fuzzy queries.
+//
+// The default metric used by fuzzy queries to determine a match is
+// the Damerau-Levenshtein distance formula which supports transpositions.
+// Setting transposition to false will
+// * switch to classic Levenshtein distance.
+// * If not set, Damerau-Levenshtein distance metric will be used.
func (q *MatchQuery) FuzzyTranspositions(fuzzyTranspositions bool) *MatchQuery {
q.fuzzyTranspositions = &fuzzyTranspositions
return q
@@ -141,6 +119,12 @@ func (q *MatchQuery) ZeroTermsQuery(zeroTermsQuery string) *MatchQuery {
return q
}
+// Boost sets the boost to apply to this query.
+func (q *MatchQuery) Boost(boost float64) *MatchQuery {
+ q.boost = &boost
+ return q
+}
+
// QueryName sets the query name for the filter that can be used when
// searching for matched filters per hit.
func (q *MatchQuery) QueryName(queryName string) *MatchQuery {
@@ -161,21 +145,12 @@ func (q *MatchQuery) Source() (interface{}, error) {
query["query"] = q.text
- if q.typ != "" {
- query["type"] = q.typ
- }
if q.operator != "" {
query["operator"] = q.operator
}
if q.analyzer != "" {
query["analyzer"] = q.analyzer
}
- if q.boost != nil {
- query["boost"] = *q.boost
- }
- if q.slop != nil {
- query["slop"] = *q.slop
- }
if q.fuzziness != "" {
query["fuzziness"] = q.fuzziness
}
@@ -188,9 +163,6 @@ func (q *MatchQuery) Source() (interface{}, error) {
if q.minimumShouldMatch != "" {
query["minimum_should_match"] = q.minimumShouldMatch
}
- if q.rewrite != "" {
- query["rewrite"] = q.rewrite
- }
if q.fuzzyRewrite != "" {
query["fuzzy_rewrite"] = q.fuzzyRewrite
}
@@ -206,6 +178,9 @@ func (q *MatchQuery) Source() (interface{}, error) {
if q.cutoffFrequency != nil {
query["cutoff_frequency"] = q.cutoffFrequency
}
+ if q.boost != nil {
+ query["boost"] = *q.boost
+ }
if q.queryName != "" {
query["_name"] = q.queryName
}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all.go
index d681ba237..5551eea30 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all.go
@@ -10,7 +10,8 @@ package elastic
// For more details, see
// https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-match-all-query.html
type MatchAllQuery struct {
- boost *float64
+ boost *float64
+ queryName string
}
// NewMatchAllQuery creates and initializes a new match all query.
@@ -26,7 +27,13 @@ func (q *MatchAllQuery) Boost(boost float64) *MatchAllQuery {
return q
}
-// Source returns JSON for the function score query.
+// QueryName sets the query name.
+func (q *MatchAllQuery) QueryName(name string) *MatchAllQuery {
+ q.queryName = name
+ return q
+}
+
+// Source returns JSON for the match all query.
func (q MatchAllQuery) Source() (interface{}, error) {
// {
// "match_all" : { ... }
@@ -37,5 +44,8 @@ func (q MatchAllQuery) Source() (interface{}, error) {
if q.boost != nil {
params["boost"] = *q.boost
}
+ if q.queryName != "" {
+ params["_name"] = q.queryName
+ }
return source, nil
}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all_test.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all_test.go
index 11cf5c5f7..5d8671025 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all_test.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_all_test.go
@@ -42,3 +42,20 @@ func TestMatchAllQueryWithBoost(t *testing.T) {
t.Errorf("expected\n%s\n,got:\n%s", expected, got)
}
}
+
+func TestMatchAllQueryWithQueryName(t *testing.T) {
+ q := NewMatchAllQuery().QueryName("qname")
+ src, err := q.Source()
+ if err != nil {
+ t.Fatal(err)
+ }
+ data, err := json.Marshal(src)
+ if err != nil {
+ t.Fatalf("marshaling to JSON failed: %v", err)
+ }
+ got := string(data)
+ expected := `{"match_all":{"_name":"qname"}}`
+ if got != expected {
+ t.Errorf("expected\n%s\n,got:\n%s", expected, got)
+ }
+}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_none.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_none.go
new file mode 100644
index 000000000..06d036e71
--- /dev/null
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_none.go
@@ -0,0 +1,39 @@
+// Copyright 2012-present Oliver Eilhard. All rights reserved.
+// Use of this source code is governed by a MIT-license.
+// See http://olivere.mit-license.org/license.txt for details.
+
+package elastic
+
+// MatchNoneQuery returns no documents. It is the inverse of
+// MatchAllQuery.
+//
+// For more details, see
+// https://www.elastic.co/guide/en/elasticsearch/reference/5.6/query-dsl-match-all-query.html
+type MatchNoneQuery struct {
+ queryName string
+}
+
+// NewMatchNoneQuery creates and initializes a new match none query.
+func NewMatchNoneQuery() *MatchNoneQuery {
+ return &MatchNoneQuery{}
+}
+
+// QueryName sets the query name.
+func (q *MatchNoneQuery) QueryName(name string) *MatchNoneQuery {
+ q.queryName = name
+ return q
+}
+
+// Source returns JSON for the match none query.
+func (q MatchNoneQuery) Source() (interface{}, error) {
+ // {
+ // "match_none" : { ... }
+ // }
+ source := make(map[string]interface{})
+ params := make(map[string]interface{})
+ source["match_none"] = params
+ if q.queryName != "" {
+ params["_name"] = q.queryName
+ }
+ return source, nil
+}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_none_test.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_none_test.go
new file mode 100644
index 000000000..6463452da
--- /dev/null
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_none_test.go
@@ -0,0 +1,44 @@
+// Copyright 2012-present Oliver Eilhard. All rights reserved.
+// Use of this source code is governed by a MIT-license.
+// See http://olivere.mit-license.org/license.txt for details.
+
+package elastic
+
+import (
+ "encoding/json"
+ "testing"
+)
+
+func TestMatchNoneQuery(t *testing.T) {
+ q := NewMatchNoneQuery()
+ src, err := q.Source()
+ if err != nil {
+ t.Fatal(err)
+ }
+ data, err := json.Marshal(src)
+ if err != nil {
+ t.Fatalf("marshaling to JSON failed: %v", err)
+ }
+ got := string(data)
+ expected := `{"match_none":{}}`
+ if got != expected {
+ t.Errorf("expected\n%s\n,got:\n%s", expected, got)
+ }
+}
+
+func TestMatchNoneQueryWithQueryName(t *testing.T) {
+ q := NewMatchNoneQuery().QueryName("qname")
+ src, err := q.Source()
+ if err != nil {
+ t.Fatal(err)
+ }
+ data, err := json.Marshal(src)
+ if err != nil {
+ t.Fatalf("marshaling to JSON failed: %v", err)
+ }
+ got := string(data)
+ expected := `{"match_none":{"_name":"qname"}}`
+ if got != expected {
+ t.Errorf("expected\n%s\n,got:\n%s", expected, got)
+ }
+}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase.go
new file mode 100644
index 000000000..fdded2e76
--- /dev/null
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase.go
@@ -0,0 +1,79 @@
+// Copyright 2012-present Oliver Eilhard. All rights reserved.
+// Use of this source code is governed by a MIT-license.
+// See http://olivere.mit-license.org/license.txt for details.
+
+package elastic
+
+// MatchPhraseQuery analyzes the text and creates a phrase query out of
+// the analyzed text.
+//
+// For more details, see
+// https://www.elastic.co/guide/en/elasticsearch/reference/5.6/query-dsl-match-query-phrase.html
+type MatchPhraseQuery struct {
+ name string
+ value interface{}
+ analyzer string
+ slop *int
+ boost *float64
+ queryName string
+}
+
+// NewMatchPhraseQuery creates and initializes a new MatchPhraseQuery.
+func NewMatchPhraseQuery(name string, value interface{}) *MatchPhraseQuery {
+ return &MatchPhraseQuery{name: name, value: value}
+}
+
+// Analyzer explicitly sets the analyzer to use. It defaults to use explicit
+// mapping config for the field, or, if not set, the default search analyzer.
+func (q *MatchPhraseQuery) Analyzer(analyzer string) *MatchPhraseQuery {
+ q.analyzer = analyzer
+ return q
+}
+
+// Slop sets the phrase slop if evaluated to a phrase query type.
+func (q *MatchPhraseQuery) Slop(slop int) *MatchPhraseQuery {
+ q.slop = &slop
+ return q
+}
+
+// Boost sets the boost to apply to this query.
+func (q *MatchPhraseQuery) Boost(boost float64) *MatchPhraseQuery {
+ q.boost = &boost
+ return q
+}
+
+// QueryName sets the query name for the filter that can be used when
+// searching for matched filters per hit.
+func (q *MatchPhraseQuery) QueryName(queryName string) *MatchPhraseQuery {
+ q.queryName = queryName
+ return q
+}
+
+// Source returns JSON for the function score query.
+func (q *MatchPhraseQuery) Source() (interface{}, error) {
+ // {"match_phrase":{"name":{"query":"value","analyzer":"my_analyzer"}}}
+ source := make(map[string]interface{})
+
+ match := make(map[string]interface{})
+ source["match_phrase"] = match
+
+ query := make(map[string]interface{})
+ match[q.name] = query
+
+ query["query"] = q.value
+
+ if q.analyzer != "" {
+ query["analyzer"] = q.analyzer
+ }
+ if q.slop != nil {
+ query["slop"] = *q.slop
+ }
+ if q.boost != nil {
+ query["boost"] = *q.boost
+ }
+ if q.queryName != "" {
+ query["_name"] = q.queryName
+ }
+
+ return source, nil
+}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_prefix.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_prefix.go
new file mode 100644
index 000000000..1eeba8af5
--- /dev/null
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_prefix.go
@@ -0,0 +1,89 @@
+// Copyright 2012-present Oliver Eilhard. All rights reserved.
+// Use of this source code is governed by a MIT-license.
+// See http://olivere.mit-license.org/license.txt for details.
+
+package elastic
+
+// MatchPhrasePrefixQuery is the same as match_phrase, except that it allows for
+// prefix matches on the last term in the text.
+//
+// For more details, see
+// https://www.elastic.co/guide/en/elasticsearch/reference/5.6/query-dsl-match-query-phrase-prefix.html
+type MatchPhrasePrefixQuery struct {
+ name string
+ value interface{}
+ analyzer string
+ slop *int
+ maxExpansions *int
+ boost *float64
+ queryName string
+}
+
+// NewMatchPhrasePrefixQuery creates and initializes a new MatchPhrasePrefixQuery.
+func NewMatchPhrasePrefixQuery(name string, value interface{}) *MatchPhrasePrefixQuery {
+ return &MatchPhrasePrefixQuery{name: name, value: value}
+}
+
+// Analyzer explicitly sets the analyzer to use. It defaults to use explicit
+// mapping config for the field, or, if not set, the default search analyzer.
+func (q *MatchPhrasePrefixQuery) Analyzer(analyzer string) *MatchPhrasePrefixQuery {
+ q.analyzer = analyzer
+ return q
+}
+
+// Slop sets the phrase slop if evaluated to a phrase query type.
+func (q *MatchPhrasePrefixQuery) Slop(slop int) *MatchPhrasePrefixQuery {
+ q.slop = &slop
+ return q
+}
+
+// MaxExpansions sets the number of term expansions to use.
+func (q *MatchPhrasePrefixQuery) MaxExpansions(n int) *MatchPhrasePrefixQuery {
+ q.maxExpansions = &n
+ return q
+}
+
+// Boost sets the boost to apply to this query.
+func (q *MatchPhrasePrefixQuery) Boost(boost float64) *MatchPhrasePrefixQuery {
+ q.boost = &boost
+ return q
+}
+
+// QueryName sets the query name for the filter that can be used when
+// searching for matched filters per hit.
+func (q *MatchPhrasePrefixQuery) QueryName(queryName string) *MatchPhrasePrefixQuery {
+ q.queryName = queryName
+ return q
+}
+
+// Source returns JSON for the function score query.
+func (q *MatchPhrasePrefixQuery) Source() (interface{}, error) {
+ // {"match_phrase_prefix":{"name":{"query":"value","max_expansions":10}}}
+ source := make(map[string]interface{})
+
+ match := make(map[string]interface{})
+ source["match_phrase_prefix"] = match
+
+ query := make(map[string]interface{})
+ match[q.name] = query
+
+ query["query"] = q.value
+
+ if q.analyzer != "" {
+ query["analyzer"] = q.analyzer
+ }
+ if q.slop != nil {
+ query["slop"] = *q.slop
+ }
+ if q.maxExpansions != nil {
+ query["max_expansions"] = *q.maxExpansions
+ }
+ if q.boost != nil {
+ query["boost"] = *q.boost
+ }
+ if q.queryName != "" {
+ query["_name"] = q.queryName
+ }
+
+ return source, nil
+}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_prefix_test.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_prefix_test.go
new file mode 100644
index 000000000..82a02f17d
--- /dev/null
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_prefix_test.go
@@ -0,0 +1,27 @@
+// Copyright 2012-present Oliver Eilhard. All rights reserved.
+// Use of this source code is governed by a MIT-license.
+// See http://olivere.mit-license.org/license.txt for details.
+
+package elastic
+
+import (
+ "encoding/json"
+ "testing"
+)
+
+func TestMatchPhrasePrefixQuery(t *testing.T) {
+ q := NewMatchPhrasePrefixQuery("message", "this is a test").Boost(0.3).MaxExpansions(5)
+ src, err := q.Source()
+ if err != nil {
+ t.Fatal(err)
+ }
+ data, err := json.Marshal(src)
+ if err != nil {
+ t.Fatalf("marshaling to JSON failed: %v", err)
+ }
+ got := string(data)
+ expected := `{"match_phrase_prefix":{"message":{"boost":0.3,"max_expansions":5,"query":"this is a test"}}}`
+ if got != expected {
+ t.Errorf("expected\n%s\n,got:\n%s", expected, got)
+ }
+}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_test.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_test.go
new file mode 100644
index 000000000..85e60d8b5
--- /dev/null
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_phrase_test.go
@@ -0,0 +1,29 @@
+// Copyright 2012-present Oliver Eilhard. All rights reserved.
+// Use of this source code is governed by a MIT-license.
+// See http://olivere.mit-license.org/license.txt for details.
+
+package elastic
+
+import (
+ "encoding/json"
+ "testing"
+)
+
+func TestMatchPhraseQuery(t *testing.T) {
+ q := NewMatchPhraseQuery("message", "this is a test").
+ Analyzer("my_analyzer").
+ Boost(0.7)
+ src, err := q.Source()
+ if err != nil {
+ t.Fatal(err)
+ }
+ data, err := json.Marshal(src)
+ if err != nil {
+ t.Fatalf("marshaling to JSON failed: %v", err)
+ }
+ got := string(data)
+ expected := `{"match_phrase":{"message":{"analyzer":"my_analyzer","boost":0.7,"query":"this is a test"}}}`
+ if got != expected {
+ t.Errorf("expected\n%s\n,got:\n%s", expected, got)
+ }
+}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_test.go b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_test.go
index af3fe688a..dd750cf93 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_test.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_queries_match_test.go
@@ -26,40 +26,6 @@ func TestMatchQuery(t *testing.T) {
}
}
-func TestMatchPhraseQuery(t *testing.T) {
- q := NewMatchPhraseQuery("message", "this is a test")
- src, err := q.Source()
- if err != nil {
- t.Fatal(err)
- }
- data, err := json.Marshal(src)
- if err != nil {
- t.Fatalf("marshaling to JSON failed: %v", err)
- }
- got := string(data)
- expected := `{"match":{"message":{"query":"this is a test","type":"phrase"}}}`
- if got != expected {
- t.Errorf("expected\n%s\n,got:\n%s", expected, got)
- }
-}
-
-func TestMatchPhrasePrefixQuery(t *testing.T) {
- q := NewMatchPhrasePrefixQuery("message", "this is a test")
- src, err := q.Source()
- if err != nil {
- t.Fatal(err)
- }
- data, err := json.Marshal(src)
- if err != nil {
- t.Fatalf("marshaling to JSON failed: %v", err)
- }
- got := string(data)
- expected := `{"match":{"message":{"query":"this is a test","type":"phrase_prefix"}}}`
- if got != expected {
- t.Errorf("expected\n%s\n,got:\n%s", expected, got)
- }
-}
-
func TestMatchQueryWithOptions(t *testing.T) {
q := NewMatchQuery("message", "this is a test").Analyzer("whitespace").Operator("or").Boost(2.5)
src, err := q.Source()
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_source.go b/vendor/gopkg.in/olivere/elastic.v5/search_source.go
index 9bc7a4a80..6a8efd229 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/search_source.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_source.go
@@ -536,6 +536,7 @@ func (s *SearchSource) Source() (interface{}, error) {
}
} else {
// TODO the Java client throws here, because either path or typ must be specified
+ _ = m
}
}
source["inner_hits"] = m
diff --git a/vendor/gopkg.in/olivere/elastic.v5/search_source_test.go b/vendor/gopkg.in/olivere/elastic.v5/search_source_test.go
index 1e4c814f4..49e52f660 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/search_source_test.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/search_source_test.go
@@ -178,7 +178,7 @@ func TestSearchSourceHighlight(t *testing.T) {
func TestSearchSourceRescoring(t *testing.T) {
matchAllQ := NewMatchAllQuery()
- rescorerQuery := NewMatchQuery("field1", "the quick brown fox").Type("phrase").Slop(2)
+ rescorerQuery := NewMatchPhraseQuery("field1", "the quick brown fox").Slop(2)
rescorer := NewQueryRescorer(rescorerQuery)
rescorer = rescorer.QueryWeight(0.7)
rescorer = rescorer.RescoreQueryWeight(1.2)
@@ -193,7 +193,7 @@ func TestSearchSourceRescoring(t *testing.T) {
t.Fatalf("marshaling to JSON failed: %v", err)
}
got := string(data)
- expected := `{"query":{"match_all":{}},"rescore":{"query":{"query_weight":0.7,"rescore_query":{"match":{"field1":{"query":"the quick brown fox","slop":2,"type":"phrase"}}},"rescore_query_weight":1.2},"window_size":50}}`
+ expected := `{"query":{"match_all":{}},"rescore":{"query":{"query_weight":0.7,"rescore_query":{"match_phrase":{"field1":{"query":"the quick brown fox","slop":2}}},"rescore_query_weight":1.2},"window_size":50}}`
if got != expected {
t.Errorf("expected\n%s\n,got:\n%s", expected, got)
}
diff --git a/vendor/gopkg.in/olivere/elastic.v5/update.go b/vendor/gopkg.in/olivere/elastic.v5/update.go
index d3446ff7f..1718bc585 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/update.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/update.go
@@ -313,7 +313,7 @@ type UpdateResponse struct {
Id string `json:"_id"`
Version int `json:"_version"`
Shards *shardsInfo `json:"_shards"`
- Result bool `json:"string,omitempty"`
+ Result string `json:"result,omitempty"`
ForcedRefresh bool `json:"forced_refresh,omitempty"`
GetResult *GetResult `json:"get,omitempty"`
}