summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/Makefile.in67
-rw-r--r--tools/README22
-rwxr-xr-xtools/addVerToFile.tcl9
-rw-r--r--tools/checkLibraryDoc.tcl34
-rw-r--r--tools/configure2170
-rw-r--r--tools/configure.in35
-rw-r--r--tools/encoding/Makefile17
-rw-r--r--tools/encoding/big5.txt109
-rw-r--r--tools/encoding/cns11643.txt17796
-rw-r--r--tools/encoding/cp1250.txt4
-rw-r--r--tools/encoding/cp1251.txt4
-rw-r--r--tools/encoding/cp1252.txt4
-rw-r--r--tools/encoding/cp1253.txt4
-rw-r--r--tools/encoding/cp1254.txt4
-rw-r--r--tools/encoding/cp1255.txt4
-rw-r--r--tools/encoding/cp1256.txt4
-rw-r--r--tools/encoding/cp1257.txt4
-rw-r--r--tools/encoding/cp1258.txt4
-rw-r--r--tools/encoding/cp874.txt4
-rw-r--r--tools/encoding/cp932.txt4
-rw-r--r--tools/encoding/cp936.txt4
-rw-r--r--tools/encoding/cp949.txt4
-rw-r--r--tools/encoding/cp950.txt4
-rw-r--r--tools/encoding/gb2312.txt2
-rw-r--r--tools/encoding/iso8859-1.txt41
-rw-r--r--tools/encoding/iso8859-10.txt39
-rw-r--r--tools/encoding/iso8859-11.txt286
-rw-r--r--tools/encoding/iso8859-13.txt40
-rw-r--r--tools/encoding/iso8859-14.txt41
-rw-r--r--tools/encoding/iso8859-15.txt41
-rw-r--r--tools/encoding/iso8859-16.txt38
-rw-r--r--tools/encoding/iso8859-2.txt41
-rw-r--r--tools/encoding/iso8859-3.txt41
-rw-r--r--tools/encoding/iso8859-4.txt41
-rw-r--r--tools/encoding/iso8859-5.txt41
-rw-r--r--tools/encoding/iso8859-6.txt45
-rw-r--r--tools/encoding/iso8859-7.txt53
-rw-r--r--tools/encoding/iso8859-8.txt38
-rw-r--r--tools/encoding/iso8859-9.txt40
-rw-r--r--tools/encoding/jis0201.txt52
-rw-r--r--tools/encoding/jis0208.txt66
-rw-r--r--tools/encoding/jis0212.txt75
-rw-r--r--tools/encoding/ksc5601.txt6
-rw-r--r--tools/encoding/macCentEuro.txt2
-rw-r--r--tools/encoding/macCroatian.txt2
-rw-r--r--tools/encoding/macCyrillic.txt2
-rw-r--r--tools/encoding/macGreek.txt2
-rw-r--r--tools/encoding/macIceland.txt2
-rw-r--r--tools/encoding/macRoman.txt2
-rw-r--r--tools/encoding/macTurkish.txt2
-rw-r--r--tools/encoding/shiftjis.txt68
-rw-r--r--tools/encoding/tis-620.txt2
-rw-r--r--tools/encoding/txt2enc.c12
-rw-r--r--tools/eolFix.tcl78
-rwxr-xr-xtools/findBadExternals.tcl6
-rwxr-xr-xtools/fix_tommath_h.tcl98
-rw-r--r--tools/genStubs.tcl176
-rw-r--r--tools/index.tcl12
-rw-r--r--tools/installData.tcl6
-rw-r--r--tools/installVfs.tcl54
-rwxr-xr-xtools/loadICU.tcl17
-rw-r--r--tools/makeHeader.tcl182
-rwxr-xr-xtools/makeTestCases.tcl134
-rw-r--r--tools/man2help.tcl141
-rw-r--r--tools/man2help2.tcl1029
-rw-r--r--tools/man2html.tcl187
-rw-r--r--tools/man2html1.tcl260
-rw-r--r--tools/man2html2.tcl929
-rw-r--r--tools/man2tcl.c424
-rw-r--r--tools/mkVfs.tcl99
-rw-r--r--tools/mkdepend.tcl24
-rw-r--r--tools/regexpTestLib.tcl44
-rw-r--r--tools/str2c59
-rw-r--r--tools/tcl.hpj.in19
-rw-r--r--tools/tcl.wse.in2376
-rw-r--r--tools/tclOOScript.tcl798
-rw-r--r--tools/tclSplash.bmpbin0 -> 162030 bytes
-rwxr-xr-xtools/tclZIC.tcl24
-rw-r--r--tools/tclmin.wse247
-rw-r--r--tools/tclsh.svg67
-rw-r--r--tools/tcltk-man2html-utils.tcl1704
-rwxr-xr-xtools/tcltk-man2html.tcl2354
-rw-r--r--tools/tsdPerf.c59
-rw-r--r--tools/tsdPerf.tcl24
-rw-r--r--tools/ucm2tests.tcl352
-rw-r--r--tools/uniClass.tcl32
-rw-r--r--tools/uniParse.tcl45
-rw-r--r--tools/valgrind_check_success30
-rw-r--r--tools/valgrind_suppress263
89 files changed, 10716 insertions, 23115 deletions
diff --git a/tools/Makefile.in b/tools/Makefile.in
new file mode 100644
index 0000000..5e9f88e
--- /dev/null
+++ b/tools/Makefile.in
@@ -0,0 +1,67 @@
+# This makefile is used to convert Tcl manual pages into various
+# alternate formats:
+#
+# Windows help file: 1. Build the winhelp target on Unix
+# 2. Build the helpfile target on Windows
+#
+# HTML: 1. Build the html target on Unix
+
+TCL = tcl@TCL_VERSION@
+TK = tk@TCL_VERSION@
+VER = @TCL_WIN_VERSION@
+
+TCL_BIN_DIR = @TCL_BIN_DIR@
+TCL_SOURCE = @TCL_SRC_DIR@
+TK_SOURCE = $(TCL_SOURCE)/../$(TK)
+PRO_SOURCE = $(TCL_SOURCE)/../pro
+ITCL_SOURCE = $(TCL_SOURCE)/../itcl3.1.0
+
+TCL_DOCS = $(TCL_SOURCE)/doc/*.[13n]
+
+TK_DOCS = $(TK_SOURCE)/doc/*.[13n]
+
+PRO_DOCS = \
+ $(PRO_SOURCE)/doc/man/procheck.1 \
+ $(PRO_SOURCE)/doc/man/prodebug.1 \
+ $(PRO_SOURCE)/doc/man/prodebug.n \
+ $(PRO_SOURCE)/doc/man/prolicense.1
+
+ITCL_DOCS = \
+ $(ITCL_SOURCE)/itcl/doc/*.[13n] \
+ $(ITCL_SOURCE)/itk/doc/*.[13n]
+
+# $(ITCL_SOURCE)/iwidgets3.0.0/doc/*.[13n]
+
+COREDOCS = $(TCL_DOCS) $(TK_DOCS)
+#PRODOCS = $(COREDOCS) $(PRO_DOCS) $(ITCL_DOCS)
+PRODOCS = $(COREDOCS) $(PRO_DOCS)
+TCLSH = $(TCL_BIN_DIR)/tclsh
+CC = @CC@
+
+#
+# Targets
+#
+
+all: core
+
+pro:
+ $(MAKE) DOCS="$(PRODOCS)" VER="" rtf
+
+core:
+ $(MAKE) DOCS="$(COREDOCS)" rtf
+
+rtf: $(TCL_SOURCE)/tools/man2help.tcl man2tcl $(DOCS)
+ LD_LIBRARY_PATH=$(TCL_BIN_DIR) \
+ TCL_LIBRARY=$(TCL_SOURCE)/library \
+ $(TCLSH) $(TCL_SOURCE)/tools/man2help.tcl tcl "$(VER)" $(DOCS)
+
+winhelp: tcl.rtf
+
+man2tcl: $(TCL_SOURCE)/tools/man2tcl.c
+ $(CC) $(CFLAGS) -o man2tcl $(TCL_SOURCE)/tools/man2tcl.c
+
+clean:
+ -rm -f man2tcl *.o *.cnt *.rtf
+
+helpfile:
+ hcw /c /e tcl.hpj
diff --git a/tools/README b/tools/README
index a37c2f4..821b2b3 100644
--- a/tools/README
+++ b/tools/README
@@ -9,12 +9,20 @@ uniClass.tcl -- Script for generating regexp class tables from the Tcl
"string is" classes
Generating HTML files.
-The tcltk-man2html.tcl script generates a nice set of HTML with
-good cross references. Use it like
- cd unix
- ./configure
- make html
+The tcl-tk-man-html.tcl script from Robert Critchlow
+generates a nice set of HTML with good cross references.
+Use it like
+ tclsh tcl-tk-man-html.tcl --htmldir=/tmp/tcl8.2
This script is very picky about the organization of man pages,
effectively acting as a style enforcer.
-The resulting documentation can be found at
- /tmp/dist/tcl<version>/html
+
+Generating Windows Help Files:
+1) Build tcl in the ../unix directory
+2) On UNIX, (after autoconf and configure), do
+ make
+ this converts the Nroff to RTF files.
+2) On Windows, convert the RTF to a Help doc, do
+ nmake helpfile
+
+Generating Windows binary distribution.
+Update and compile the WYSE tcl.wse configuration.
diff --git a/tools/addVerToFile.tcl b/tools/addVerToFile.tcl
deleted file mode 100755
index bfc39e2..0000000
--- a/tools/addVerToFile.tcl
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env tclsh
-if {$argc < 1} {
- error "need a filename argument"
-}
-lassign $argv filename
-set f [open $filename a]
-puts $f "TCL_VERSION=[info tclversion]"
-puts $f "TCL_PATCHLEVEL=[info patchlevel]"
-close $f
diff --git a/tools/checkLibraryDoc.tcl b/tools/checkLibraryDoc.tcl
index 36d82b2..cd08c2a 100644
--- a/tools/checkLibraryDoc.tcl
+++ b/tools/checkLibraryDoc.tcl
@@ -1,9 +1,9 @@
# checkLibraryDoc.tcl --
#
-# This script attempts to determine what APIs exist in the source base that
-# have not been documented. By grepping through all of the doc/*.3 man
+# This script attempts to determine what APIs exist in the source base that
+# have not been documented. By grepping through all of the doc/*.3 man
# pages, looking for "Pkg_*" (e.g., Tcl_ or Tk_), and comparing this list
-# against the list of Pkg_ APIs found in the source (e.g., tcl8.7/*/*.[ch])
+# against the list of Pkg_ APIs found in the source (e.g., tcl8.2/*/*.[ch])
# we create six lists:
# 1) APIs in Source not in Docs.
# 2) APIs in Docs not in Source.
@@ -11,12 +11,12 @@
# 4) Misc APIs and structs that we are not documenting.
# 5) Command APIs (e.g., Tcl_ArrayObjCmd.)
# 6) Proc pointers (e.g., Tcl_CloseProc.)
-#
+#
# Note: Each list is "a best guess" approximation. If developers write
# non-standard code, this script will produce erroneous results. Each
-# list should be carefully checked for accuracy.
+# list should be carefully checked for accuracy.
#
-# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright (c) 1998-1999 by Scriptics Corporation.
# All rights reserved.
@@ -69,7 +69,6 @@ set StructList {
Tk_GeomMgr \
Tk_Image \
Tk_ImageMaster \
- Tk_ImageModel \
Tk_ImageType \
Tk_Item \
Tk_ItemType \
@@ -87,7 +86,7 @@ set StructList {
Tk_Window \
}
-# Misc junk that appears in the comments of the source. This just
+# Misc junk that appears in the comments of the source. This just
# allows us to filter comments that "fool" the script.
set CommentList {
@@ -100,13 +99,14 @@ set CommentList {
# Main entry point to this script.
proc main {} {
- global argv0
- global argv
+ global argv0
+ global argv
set len [llength $argv]
if {($len != 2) && ($len != 3)} {
puts "usage: $argv0 pkgName pkgDir \[outFile\]"
puts " pkgName == Tcl,Tk"
+ puts " pkgDir == /home/surles/cvs/tcl8.2"
exit 1
}
@@ -121,12 +121,12 @@ proc main {} {
foreach {c d} [compare [grepCode $dir $pkg] [grepDocs $dir $pkg]] {}
filter $c $d $dir $pkg $file
- if {$file ne "stdout"} {
+ if {$file != "stdout"} {
close $file
}
return
}
-
+
# Intersect the two list and write out the sets of APIs in one
# list that is not in the other.
@@ -145,7 +145,7 @@ proc filter {code docs dir pkg {outFile stdout}} {
# This list should just be verified for accuracy.
set cmds {}
-
+
# A list of proc pointer structs. These are not documented.
# This list should just be verified for accuracy.
@@ -162,7 +162,7 @@ proc filter {code docs dir pkg {outFile stdout}} {
set misc [grepMisc $dir $pkg]
set pat1 ".*(${pkg}_\[A-z0-9]+).*$"
-
+
# A list of APIs in the source, not in the docs.
# This list should just be verified for accuracy.
@@ -196,7 +196,7 @@ proc filter {code docs dir pkg {outFile stdout}} {
# Print the list of APIs if the list is not null.
proc dump {list title file} {
- if {$list ne ""} {
+ if {$list != {}} {
puts $file ""
puts $file $title
puts $file "---------------------------------------------------------"
@@ -240,7 +240,7 @@ proc grepDocs {dir pkg} {
# (e.g., Tcl_Export). Return a list of APIs.
proc grepDecl {dir pkg} {
- set file [file join $dir generic "[string tolower $pkg]IntDecls.h"]
+ set file [file join $dir generic "[string tolower $pkg]IntDecls.h"]
set apis [myGrep "^EXTERN.*\[ \t\]${pkg}_.*" $file]
set pat1 ".*(${pkg}_\[A-z0-9]+).*$"
@@ -258,7 +258,7 @@ proc grepDecl {dir pkg} {
proc grepMisc {dir pkg} {
global CommentList
global StructList
-
+
set apis [myGrep "^EXTERN.*\[ \t\]${pkg}_Db.*" "${dir}/\*/\*\.\[ch\]"]
set pat1 ".*(${pkg}_\[A-z0-9]+).*$"
diff --git a/tools/configure b/tools/configure
new file mode 100644
index 0000000..98b5867
--- /dev/null
+++ b/tools/configure
@@ -0,0 +1,2170 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="man2tcl.c"
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TCL_WIN_VERSION CC TCL_VERSION TCL_PATCH_LEVEL TCL_SRC_DIR TCL_BIN_DIR LIBOBJS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+ cat <<_ACEOF
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
+_ACEOF
+
+ cat <<\_ACEOF
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\_ACEOF
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-tcl=DIR use Tcl $DEF_VER binaries from DIR
+
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d $ac_dir || continue
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd $ac_popdir
+ done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+ cat <<\_ACEOF
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+{
+ (set) 2>&1 |
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ sed -n \
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
+ *)
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+}
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ sed "/^$/d" confdefs.h | sort
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+ ' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Recover information that Tcl computed with its configure script.
+
+#--------------------------------------------------------------------
+# See if there was a command-line option for where Tcl is; if
+# not, assume that its top-level directory is a sibling of ours.
+#--------------------------------------------------------------------
+
+DEF_VER=8.5
+
+
+# Check whether --with-tcl or --without-tcl was given.
+if test "${with_tcl+set}" = set; then
+ withval="$with_tcl"
+ TCL_BIN_DIR=$withval
+else
+ TCL_BIN_DIR=`cd ../../tcl$DEF_VER$TCL_PATCH_LEVEL/unix; pwd`
+fi;
+if test ! -d $TCL_BIN_DIR; then
+ { { echo "$as_me:$LINENO: error: Tcl directory $TCL_BIN_DIR doesn't exist" >&5
+echo "$as_me: error: Tcl directory $TCL_BIN_DIR doesn't exist" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test ! -f $TCL_BIN_DIR/tclConfig.sh; then
+ { { echo "$as_me:$LINENO: error: There's no tclConfig.sh in $TCL_BIN_DIR; perhaps you didn't specify the Tcl *build* directory (not the toplevel Tcl directory) or you forgot to configure Tcl?" >&5
+echo "$as_me: error: There's no tclConfig.sh in $TCL_BIN_DIR; perhaps you didn't specify the Tcl *build* directory (not the toplevel Tcl directory) or you forgot to configure Tcl?" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+. $TCL_BIN_DIR/tclConfig.sh
+
+TCL_WIN_VERSION=$TCL_MAJOR_VERSION$TCL_MINOR_VERSION
+
+CC=$TCL_CC
+
+
+
+
+
+
+ ac_config_files="$ac_config_files Makefile tcl.hpj"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
+t quote
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ -*)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "tcl.hpj" ) CONFIG_FILES="$CONFIG_FILES tcl.hpj" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@TCL_WIN_VERSION@,$TCL_WIN_VERSION,;t t
+s,@CC@,$CC,;t t
+s,@TCL_VERSION@,$TCL_VERSION,;t t
+s,@TCL_PATCH_LEVEL@,$TCL_PATCH_LEVEL,;t t
+s,@TCL_SRC_DIR@,$TCL_SRC_DIR,;t t
+s,@TCL_BIN_DIR@,$TCL_BIN_DIR,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/tools/configure.in b/tools/configure.in
new file mode 100644
index 0000000..542c1d3
--- /dev/null
+++ b/tools/configure.in
@@ -0,0 +1,35 @@
+dnl This file is an input file used by the GNU "autoconf" program to
+dnl generate the file "configure", which is run to configure the
+dnl Makefile in this directory.
+AC_INIT(man2tcl.c)
+AC_PREREQ(2.57)
+
+# Recover information that Tcl computed with its configure script.
+
+#--------------------------------------------------------------------
+# See if there was a command-line option for where Tcl is; if
+# not, assume that its top-level directory is a sibling of ours.
+#--------------------------------------------------------------------
+
+DEF_VER=8.5
+
+AC_ARG_WITH(tcl, [ --with-tcl=DIR use Tcl $DEF_VER binaries from DIR], TCL_BIN_DIR=$withval, TCL_BIN_DIR=`cd ../../tcl$DEF_VER$TCL_PATCH_LEVEL/unix; pwd`)
+if test ! -d $TCL_BIN_DIR; then
+ AC_MSG_ERROR(Tcl directory $TCL_BIN_DIR doesn't exist)
+fi
+if test ! -f $TCL_BIN_DIR/tclConfig.sh; then
+ AC_MSG_ERROR(There's no tclConfig.sh in $TCL_BIN_DIR; perhaps you didn't specify the Tcl *build* directory (not the toplevel Tcl directory) or you forgot to configure Tcl?)
+fi
+
+. $TCL_BIN_DIR/tclConfig.sh
+
+TCL_WIN_VERSION=$TCL_MAJOR_VERSION$TCL_MINOR_VERSION
+AC_SUBST(TCL_WIN_VERSION)
+CC=$TCL_CC
+AC_SUBST(CC)
+AC_SUBST(TCL_VERSION)
+AC_SUBST(TCL_PATCH_LEVEL)
+AC_SUBST(TCL_SRC_DIR)
+AC_SUBST(TCL_BIN_DIR)
+
+AC_OUTPUT(Makefile tcl.hpj)
diff --git a/tools/encoding/Makefile b/tools/encoding/Makefile
index ff19492..4c10673 100644
--- a/tools/encoding/Makefile
+++ b/tools/encoding/Makefile
@@ -1,5 +1,5 @@
#
-# This file is a Makefile to compile all the encoding files.
+# This file is a Makefile to compile all the encoding files.
#
# Run "make" to compile all the encoding files (*.txt,*.esc) into the
# format that Tcl can use (*.enc). It is your responsibility to move the
@@ -26,16 +26,16 @@
# specifically excludes the right to re-distribute this file directly
# to third parties or other organizations whether for profit or not.
#
-# In other words: Don't put this file on the Internet. People who want to
+# In other words: Don't put this file on the Internet. People who want to
# get it over the Internet should do so directly from ftp://unicode.org. They
# can therefore be assured of getting the most recent and accurate version.
#
#----------------------------------------------------------------------------
#
# The txt2enc program built by this makefile is used to compile individual
-# .txt files into .enc files, the format that Tcl understands for encoding
+# .txt files into .enc files, the format that Tcl understands for encoding
# files. This compilation to a different format is allowed by the above
-# restriction.
+# restriction.
#
# The files shiftjis.txt and jis0208.txt were modified from the original
# ones provided on the Unicode CD. The double-width backslash character
@@ -53,7 +53,7 @@
# SCCS: @(#) Makefile 1.1 98/01/28 11:41:36
#
-EUC_ENCODINGS = euc-cn.txt euc-kr.txt euc-jp.txt
+EUC_ENCODINGS = euc-cn.txt euc-kr.txt euc-jp.txt
encodings: clean txt2enc $(EUC_ENCODINGS)
@echo Compiling encoding files.
@@ -69,8 +69,13 @@ encodings: clean txt2enc $(EUC_ENCODINGS)
echo $$enc; \
./txt2enc -e 0 -u 1 $$p > $$enc; \
done
- @echo
+ @echo
@echo Compiling special versions of encoding files.
+ @for p in ascii.txt; do \
+ enc=`echo $$p | sed 's/\..*$$/\.enc/'`; \
+ echo $$enc; \
+ ./txt2enc -m $$p > $$enc; \
+ done
@for p in jis0208.txt; do \
enc=`echo $$p | sed 's/\..*$$/\.enc/'`; \
echo $$enc; \
diff --git a/tools/encoding/big5.txt b/tools/encoding/big5.txt
index 58cdfe2..5cc9e81 100644
--- a/tools/encoding/big5.txt
+++ b/tools/encoding/big5.txt
@@ -1,28 +1,47 @@
-# BIG5.TXT
-# Date: 2015-12-02 23:52:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
+# big5.txt --
+#
+# BIG5 to Unicode table (modified)
+#
+# Copyright (c) 1998-1999 by Scriptics Corporation.
+#
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+# NOTE: this table has been modified to include the 7-bit ASCII
+# characters that are allowed in BIG5 files.
+#
#
# Name: BIG5 to Unicode table (complete)
# Unicode version: 1.1
-# Table version: 2.0
+# Table version: 0.0d3
# Table format: Format A
-# Date: 2011 October 14 (header updated: 2015 December 02)
+# Date: 11 February 1994
+# Authors: Glenn Adams <glenn@metis.com>
+# John H. Jenkins <John_Jenkins@taligent.com>
#
-# General notes:
+# Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved.
#
-# NOTE: this table has been modified to include the 7-bit ASCII
-# characters that are allowed in BIG5 files.
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on magnetic media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Recipient is granted the right to make copies in any form for
+# internal distribution and to freely use the information supplied
+# in the creation of products supporting Unicode. Unicode, Inc.
+# specifically excludes the right to re-distribute this file directly
+# to third parties or other organizations whether for profit or not.
+#
+# General notes:
#
-# This table contains one set of mappings from BIG5 into Unicode.
-# Note that these data are *possible* mappings only and may not be the
-# same as those used by actual products, nor may they be the best suited
-# for all uses. For more information on the mappings between various code
-# pages incorporating the repertoire of BIG5 and Unicode, consult the
-# VENDORS mapping data.
+# This table contains the data Metis and Taligent currently have on how
+# BIG5 characters map into Unicode.
#
# WARNING! It is currently impossible to provide round-trip compatibility
-# between BIG5 and Unicode.
+# between BIG5 and Unicode.
#
# A number of characters are not currently mapped because
# of conflicts with other mappings. They are as follows:
@@ -39,56 +58,44 @@
#
# We currently map all of these characters to U+FFFD REPLACEMENT CHARACTER.
# It is also possible to map these characters to their duplicates, or to
-# the user zone.
-#
+# the user zone.
+#
# Notes:
#
# 1. In addition to the above, there is some uncertainty about the
# mappings in the range C6A1 - C8FE, and F9DD - F9FE. The ETEN
-# version of BIG5 organizes the former range differently, and adds
-# additional characters in the latter range. The correct mappings
-# these ranges need to be determined.
+# version of BIG5 organizes the former range differently, and adds
+# additional characters in the latter range. The correct mappings
+# these ranges need to be determined.
#
# 2. There is an uncertainty in the mapping of the Big Five character
-# 0xA3BC. This character occurs within the Big Five block of tone marks
-# for bopomofo and is intended to be the tone mark for the first tone in
-# Mandarin Chinese. We have selected the mapping U+02C9 MODIFIER LETTER
-# MACRON (Mandarin Chinese first tone) to reflect this semantic.
-# However, because bopomofo uses the absense of a tone mark to indicate
-# the first Mandarin tone, most implementations of Big Five represent
-# this character with a blank space, and so a mapping such as U+2003 EM
-# SPACE might be preferred.
+# 0xA3BC. This character occurs within the Big Five block of tone marks
+# for bopomofo and is intended to be the tone mark for the first tone in
+# Mandarin Chinese. We have selected the mapping U+02C9 MODIFIER LETTER
+# MACRON (Mandarin Chinese first tone) to reflect this semantic.
+# However, because bopomofo uses the absense of a tone mark to indicate
+# the first Mandarin tone, most implementations of Big Five represent
+# this character with a blank space, and so a mapping such as U+2003 EM SPACE
+# might be preferred.
+#
+#
#
# Format: Three tab-separated columns
# Column #1 is the BIG5 code (in hex as 0xXXXX)
# Column #2 is the Unicode (in hex as 0xXXXX)
# Column #3 is the Unicode name (follows a comment sign, '#')
-# The official names for Unicode characters U+4E00
-# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
-# where XXXX is the code point. Including all these
-# names in this file increases its size substantially
-# and needlessly. The token "<CJK>" is used for the
-# name of these characters. If necessary, it can be
-# expanded algorithmically by a parser or editor.
+# The official names for Unicode characters U+4E00
+# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
+# where XXXX is the code point. Including all these
+# names in this file increases its size substantially
+# and needlessly. The token "<CJK>" is used for the
+# name of these characters. If necessary, it can be
+# expanded algorithmically by a parser or editor.
#
# The entries are in BIG5 order
#
-# Revision History:
-#
-# [v2.0, 2015 December 02]
-# updates to copyright notice and terms of use
-# no changes to character mappings
-#
-# [v1.0, 2011 October 14]
-# Updated terms of use to current wording.
-# Updated contact information.
-# No changes to the mapping data.
-#
-# [v0.0d3, 11 February 1994]
-# First release.
+# Any comments or problems, contact <John_Jenkins@taligent.com>
#
-# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
-# for any questions or comments or to report errors in the data.
#
0x20 0x0020 # SPACE
0x21 0x0021 # EXCLAMATION MARK
diff --git a/tools/encoding/cns11643.txt b/tools/encoding/cns11643.txt
deleted file mode 100644
index d6ce3c1..0000000
--- a/tools/encoding/cns11643.txt
+++ /dev/null
@@ -1,17796 +0,0 @@
-# CNS11643.TXT
-# Date: 2015-12-02 23:53:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# Name: CNS 11643-1986 to Unicode table (complete)
-# Unicode version: 1.1
-# Table version: 2.0
-# Table format: Format A
-# Date: 2011 October 14 (header updated: 2015 December 02)
-#
-# General notes:
-#
-#
-# This table contains one set of mappings from CNS 11643-1986 into Unicode.
-# Note that these data are *possible* mappings only and may not be the
-# same as those used by actual products, nor may they be the best suited
-# for all uses. For more information on the mappings between various code
-# pages incorporating the repertoire of CNS 11643-1986 and Unicode, consult the
-# VENDORS mapping data.
-#
-#
-# WARNING! It is currently impossible to provide round-trip compatibility
-# between CNS 11643-1986 and Unicode.
-#
-# (1) Some characters are not currently mapped because
-# of conflicts with other mappings. They include the following:
-#
-# CNS Description Comments
-#
-# 0x12224 SPACING HEAVY OVERSCORE not in Unicode
-# 0x12226 SPACING HEAVY UNDERSCORE not in Unicode
-#
-# (2) Some characters are not currently mapped because CNS 11643-1986 includes
-# duplicate versions of some ideographs which are included in Unicode only
-# once. They include the following:
-#
-# 0x1243E through 0x12440, HANGZHOU NUMERAL TEN, TWENTY, and THIRTY
-# 0x12721 through 0x12939, KangXi radical set
-#
-# Entries for these characters are not included in this table.
-#
-# Notes:
-#
-# 1. There is an uncertainty in the mapping of the CNS 11643-1986 character
-# 0x1256D. This character occurs within the CNS 11643-1986 block of tone marks
-# for bopomofo and is intended to be the tone mark for the first tone in
-# Mandarin Chinese. We have selected the mapping U+02C9 MODIFIER LETTER
-# MACRON (Mandarin Chinese first tone) to reflect this semantic.
-# However, because bopomofo uses the absense of a tone mark to indicate
-# the first Mandarin tone, most implementations of CNS 11643-1986
-# represent this character with a blank space, and so a mapping such as
-# U+2003 EM SPACE might be preferred.
-#
-# Format: Three tab-separated columns
-# Column #1 is the CNS 11643-1986 code (in hex as 0xXXXXX)
-# Column #2 is the Unicode (in hex as 0xXXXX)
-# Column #3 is the Unicode name (follows a comment sign, '#')
-# The official names for Unicode characters U+4E00
-# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
-# where XXXX is the code point. Including all these
-# names in this file increases its size substantially
-# and needlessly. The token "<CJK>" is used for the
-# name of these characters. If necessary, it can be
-# expanded algorithmically by a parser or editor.
-#
-# The entries are in CNS 11643-1986 order
-#
-# Revision History:
-#
-# [v2.0, 2015 December 02]
-# updates to copyright notice and terms of use
-# no changes to character mappings
-#
-# [v1.0, 2011 October 14]
-# Updated terms of use to current wording.
-# Updated contact information.
-# No changes to the mapping data.
-#
-# [v0.0d1, 21 October 1994]
-# First release.
-#
-# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
-# for any questions or comments or to report errors in the data.
-#
-0x12121 0x3000 # IDEOGRAPHIC SPACE
-0x12122 0xFF0C # FULLWIDTH COMMA
-0x12123 0x3001 # IDEOGRAPHIC COMMA
-0x12124 0x3002 # IDEOGRAPHIC FULL STOP
-0x12125 0xFF0E # FULLWIDTH FULL STOP
-0x12126 0x30FB # KATAKANA MIDDLE DOT
-0x12127 0xFF1B # FULLWIDTH SEMICOLON
-0x12128 0xFF1A # FULLWIDTH COLON
-0x12129 0xFF1F # FULLWIDTH QUESTION MARK
-0x1212A 0xFF01 # FULLWIDTH EXCLAMATION MARK
-0x1212B 0xFE30 # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
-0x1212C 0x2026 # HORIZONTAL ELLIPSIS
-0x1212D 0x2025 # TWO DOT LEADER
-0x1212E 0xFE50 # SMALL COMMA
-0x1212F 0xFE51 # SMALL IDEOGRAPHIC COMMA
-0x12130 0xFE52 # SMALL FULL STOP
-0x12131 0x00B7 # MIDDLE DOT
-0x12132 0xFE54 # SMALL SEMICOLON
-0x12133 0xFE55 # SMALL COLON
-0x12134 0xFE56 # SMALL QUESTION MARK
-0x12135 0xFE57 # SMALL EXCLAMATION MARK
-0x12136 0xFE31 # PRESENTATION FORM FOR VERTICAL EM DASH
-0x12137 0x2014 # EM DASH
-0x12138 0xFE32 # PRESENTATION FORM FOR VERTICAL EN DASH
-0x12139 0x2013 # EN DASH
-0x1213E 0xFF08 # FULLWIDTH LEFT PARENTHESIS
-0x1213F 0xFF09 # FULLWIDTH RIGHT PARENTHESIS
-0x12140 0xFE35 # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-0x12141 0xFE36 # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-0x12142 0xFF5B # FULLWIDTH LEFT CURLY BRACKET
-0x12143 0xFF5D # FULLWIDTH RIGHT CURLY BRACKET
-0x12144 0xFE37 # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-0x12145 0xFE38 # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-0x12146 0x3014 # LEFT TORTOISE SHELL BRACKET
-0x12147 0x3015 # RIGHT TORTOISE SHELL BRACKET
-0x12148 0xFE39 # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-0x12149 0xFE3A # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-0x1214A 0x3010 # LEFT BLACK LENTICULAR BRACKET
-0x1214B 0x3011 # RIGHT BLACK LENTICULAR BRACKET
-0x1214C 0xFE3B # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-0x1214D 0xFE3C # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-0x1214E 0x300A # LEFT DOUBLE ANGLE BRACKET
-0x1214F 0x300B # RIGHT DOUBLE ANGLE BRACKET
-0x12150 0xFE3D # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-0x12151 0xFE3E # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-0x12152 0x3008 # LEFT ANGLE BRACKET
-0x12153 0x3009 # RIGHT ANGLE BRACKET
-0x12154 0xFE3F # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-0x12155 0xFE40 # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-0x12156 0x300C # LEFT CORNER BRACKET
-0x12157 0x300D # RIGHT CORNER BRACKET
-0x12158 0xFE41 # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-0x12159 0xFE42 # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-0x1215A 0x300E # LEFT WHITE CORNER BRACKET
-0x1215B 0x300F # RIGHT WHITE CORNER BRACKET
-0x1215C 0xFE43 # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-0x1215D 0xFE44 # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-0x1215E 0xFE59 # SMALL LEFT PARENTHESIS
-0x1215F 0xFE5A # SMALL RIGHT PARENTHESIS
-0x12160 0xFE5B # SMALL LEFT CURLY BRACKET
-0x12161 0xFE5C # SMALL RIGHT CURLY BRACKET
-0x12162 0xFE5D # SMALL LEFT TORTOISE SHELL BRACKET
-0x12163 0xFE5E # SMALL RIGHT TORTOISE SHELL BRACKET
-0x12164 0x2018 # LEFT SINGLE QUOTATION MARK
-0x12165 0x2019 # RIGHT SINGLE QUOTATION MARK
-0x12166 0x201C # LEFT DOUBLE QUOTATION MARK
-0x12167 0x201D # RIGHT DOUBLE QUOTATION MARK
-0x12168 0x301D # REVERSED DOUBLE PRIME QUOTATION MARK
-0x12169 0x301E # DOUBLE PRIME QUOTATION MARK
-0x1216A 0x2032 # PRIME
-0x1216B 0x2035 # REVERSED PRIME
-0x1216C 0xFF03 # FULLWIDTH NUMBER SIGN
-0x1216D 0xFF06 # FULLWIDTH AMPERSAND
-0x1216E 0xFF0A # FULLWIDTH ASTERISK
-0x1216F 0x203B # REFERENCE MARK
-0x12170 0x00A7 # SECTION SIGN
-0x12171 0x3003 # DITTO MARK
-0x12172 0x25CB # WHITE CIRCLE
-0x12173 0x25CF # BLACK CIRCLE
-0x12174 0x25B3 # WHITE UP-POINTING TRIANGLE
-0x12175 0x25B2 # BLACK UP-POINTING TRIANGLE
-0x12176 0x25CE # BULLSEYE
-0x12177 0x2606 # WHITE STAR
-0x12178 0x2605 # BLACK STAR
-0x12179 0x25C7 # WHITE DIAMOND
-0x1217A 0x25C6 # BLACK DIAMOND
-0x1217B 0x25A1 # WHITE SQUARE
-0x1217C 0x25A0 # BLACK SQUARE
-0x1217D 0x25BD # WHITE DOWN-POINTING TRIANGLE
-0x1217E 0x25BC # BLACK DOWN-POINTING TRIANGLE
-0x12221 0x32A3 # CIRCLED IDEOGRAPH CORRECT
-0x12222 0x2105 # CARE OF
-0x12223 0x203E # OVERLINE
-0x12225 0xFF3F # FULLWIDTH LOW LINE
-0x12227 0xFE49 # DASHED OVERLINE
-0x12228 0xFE4A # CENTRELINE OVERLINE
-0x12229 0xFE4D # DASHED LOW LINE
-0x1222A 0xFE4E # CENTRELINE LOW LINE
-0x1222B 0xFE4B # WAVY OVERLINE
-0x1222C 0xFE4C # DOUBLE WAVY OVERLINE
-0x1222D 0xFE5F # SMALL NUMBER SIGN
-0x1222E 0xFE60 # SMALL AMPERSAND
-0x1222F 0xFE61 # SMALL ASTERISK
-0x12230 0xFF0B # FULLWIDTH PLUS SIGN
-0x12231 0xFF0D # FULLWIDTH HYPHEN-MINUS
-0x12232 0x00D7 # MULTIPLICATION SIGN
-0x12233 0x00F7 # DIVISION SIGN
-0x12234 0x00B1 # PLUS-MINUS SIGN
-0x12235 0x221A # SQUARE ROOT
-0x12236 0xFF1C # FULLWIDTH LESS-THAN SIGN
-0x12237 0xFF1E # FULLWIDTH GREATER-THAN SIGN
-0x12238 0xFF1D # FULLWIDTH EQUALS SIGN
-0x12239 0x2266 # LESS-THAN OVER EQUAL TO
-0x1223A 0x2267 # GREATER-THAN OVER EQUAL TO
-0x1223B 0x2260 # NOT EQUAL TO
-0x1223C 0x221E # INFINITY
-0x1223D 0x2252 # APPROXIMATELY EQUAL TO OR THE IMAGE OF
-0x1223E 0x2261 # IDENTICAL TO
-0x1223F 0xFE62 # SMALL PLUS SIGN
-0x12240 0xFE63 # SMALL HYPHEN-MINUS
-0x12241 0xFE64 # SMALL LESS-THAN SIGN
-0x12242 0xFE66 # SMALL EQUALS SIGN
-0x12243 0xFE65 # SMALL GREATER-THAN SIGN
-0x12244 0x223C # TILDE OPERATOR
-0x12245 0x2229 # INTERSECTION
-0x12246 0x222A # UNION
-0x12247 0x22A5 # UP TACK
-0x12248 0x2220 # ANGLE
-0x12249 0x221F # RIGHT ANGLE
-0x1224A 0x22BF # RIGHT TRIANGLE
-0x1224B 0x33D2 # SQUARE LOG
-0x1224C 0x33D1 # SQUARE LN
-0x1224D 0x222B # INTEGRAL
-0x1224E 0x222E # CONTOUR INTEGRAL
-0x1224F 0x2235 # BECAUSE
-0x12250 0x2234 # THEREFORE
-0x12251 0x2640 # FEMALE SIGN
-0x12252 0x2642 # MALE SIGN
-0x12253 0x2641 # EARTH
-0x12254 0x2609 # SUN
-0x12255 0x2191 # UPWARDS ARROW
-0x12256 0x2193 # DOWNWARDS ARROW
-0x12257 0x2192 # RIGHTWARDS ARROW
-0x12258 0x2190 # LEFTWARDS ARROW
-0x12259 0x2196 # NORTH WEST ARROW
-0x1225A 0x2197 # NORTH EAST ARROW
-0x1225B 0x2199 # SOUTH WEST ARROW
-0x1225C 0x2198 # SOUTH EAST ARROW
-0x1225D 0x2016 # DOUBLE VERTICAL LINE
-0x1225E 0xFF5C # FULLWIDTH VERTICAL LINE
-0x1225F 0xFF0F # FULLWIDTH SOLIDUS
-0x12260 0xFF3C # FULLWIDTH REVERSE SOLIDUS
-0x12261 0x2215 # DIVISION SLASH
-0x12262 0xFE68 # SMALL REVERSE SOLIDUS
-0x12263 0xFF04 # FULLWIDTH DOLLAR SIGN
-0x12264 0xFFE5 # FULLWIDTH YEN SIGN
-0x12265 0x3012 # POSTAL MARK
-0x12266 0xFFE0 # FULLWIDTH CENT SIGN
-0x12267 0xFFE1 # FULLWIDTH POUND SIGN
-0x12268 0xFF05 # FULLWIDTH PERCENT SIGN
-0x12269 0xFF20 # FULLWIDTH COMMERCIAL AT
-0x1226A 0x2103 # DEGREE CELSIUS
-0x1226B 0x2109 # DEGREE FAHRENHEIT
-0x1226C 0xFE69 # SMALL DOLLAR SIGN
-0x1226D 0xFE6A # SMALL PERCENT SIGN
-0x1226E 0xFE6B # SMALL COMMERCIAL AT
-0x1226F 0x33D5 # SQUARE MIL
-0x12270 0x339C # SQUARE MM
-0x12271 0x339D # SQUARE CM
-0x12272 0x339E # SQUARE KM
-0x12273 0x33CE # SQUARE KM CAPITAL
-0x12274 0x33A1 # SQUARE M SQUARED
-0x12275 0x338E # SQUARE MG
-0x12276 0x338F # SQUARE KG
-0x12277 0x33C4 # SQUARE CC
-0x12278 0x00B0 # DEGREE SIGN
-0x12279 0x5159 # <CJK>
-0x1227A 0x515B # <CJK>
-0x1227B 0x515E # <CJK>
-0x1227C 0x515D # <CJK>
-0x1227D 0x5161 # <CJK>
-0x1227E 0x5163 # <CJK>
-0x12321 0x55E7 # <CJK>
-0x12322 0x74E9 # <CJK>
-0x12323 0x7CCE # <CJK>
-0x12324 0x2581 # LOWER ONE EIGHTH BLOCK
-0x12325 0x2582 # LOWER ONE QUARTER BLOCK
-0x12326 0x2583 # LOWER THREE EIGHTHS BLOCK
-0x12327 0x2584 # LOWER HALF BLOCK
-0x12328 0x2585 # LOWER FIVE EIGHTHS BLOCK
-0x12329 0x2586 # LOWER THREE QUARTERS BLOCK
-0x1232A 0x2587 # LOWER SEVEN EIGHTHS BLOCK
-0x1232B 0x2588 # FULL BLOCK
-0x1232C 0x258F # LEFT ONE EIGHTH BLOCK
-0x1232D 0x258E # LEFT ONE QUARTER BLOCK
-0x1232E 0x258D # LEFT THREE EIGHTHS BLOCK
-0x1232F 0x258C # LEFT HALF BLOCK
-0x12330 0x258B # LEFT FIVE EIGHTHS BLOCK
-0x12331 0x258A # LEFT THREE QUARTERS BLOCK
-0x12332 0x2589 # LEFT SEVEN EIGHTHS BLOCK
-0x12333 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-0x12334 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL
-0x12335 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-0x12336 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT
-0x12337 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-0x12338 0x2594 # UPPER ONE EIGHTH BLOCK
-0x12339 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL
-0x1233A 0x2502 # BOX DRAWINGS LIGHT VERTICAL
-0x1233B 0x2595 # RIGHT ONE EIGHTH BLOCK
-0x1233C 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT
-0x1233D 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT
-0x1233E 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT
-0x1233F 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT
-0x12340 0x256D # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-0x12341 0x256E # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-0x12342 0x2570 # BOX DRAWINGS LIGHT ARC UP AND RIGHT
-0x12343 0x256F # BOX DRAWINGS LIGHT ARC UP AND LEFT
-0x12344 0x2550 # BOX DRAWINGS DOUBLE HORIZONTAL
-0x12345 0x255E # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-0x12346 0x256A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-0x12347 0x2561 # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-0x12348 0x25E2 # BLACK LOWER RIGHT TRIANGLE
-0x12349 0x25E3 # BLACK LOWER LEFT TRIANGLE
-0x1234A 0x25E5 # BLACK UPPER RIGHT TRIANGLE
-0x1234B 0x25E4 # BLACK UPPER LEFT TRIANGLE
-0x1234C 0x2571 # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-0x1234D 0x2572 # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-0x1234E 0x2573 # BOX DRAWINGS LIGHT DIAGONAL CROSS
-0x12421 0xFF10 # FULLWIDTH DIGIT ZERO
-0x12422 0xFF11 # FULLWIDTH DIGIT ONE
-0x12423 0xFF12 # FULLWIDTH DIGIT TWO
-0x12424 0xFF13 # FULLWIDTH DIGIT THREE
-0x12425 0xFF14 # FULLWIDTH DIGIT FOUR
-0x12426 0xFF15 # FULLWIDTH DIGIT FIVE
-0x12427 0xFF16 # FULLWIDTH DIGIT SIX
-0x12428 0xFF17 # FULLWIDTH DIGIT SEVEN
-0x12429 0xFF18 # FULLWIDTH DIGIT EIGHT
-0x1242A 0xFF19 # FULLWIDTH DIGIT NINE
-0x1242B 0x2160 # ROMAN NUMERAL ONE
-0x1242C 0x2161 # ROMAN NUMERAL TWO
-0x1242D 0x2162 # ROMAN NUMERAL THREE
-0x1242E 0x2163 # ROMAN NUMERAL FOUR
-0x1242F 0x2164 # ROMAN NUMERAL FIVE
-0x12430 0x2165 # ROMAN NUMERAL SIX
-0x12431 0x2166 # ROMAN NUMERAL SEVEN
-0x12432 0x2167 # ROMAN NUMERAL EIGHT
-0x12433 0x2168 # ROMAN NUMERAL NINE
-0x12434 0x2169 # ROMAN NUMERAL TEN
-0x12435 0x3021 # HANGZHOU NUMERAL ONE
-0x12436 0x3022 # HANGZHOU NUMERAL TWO
-0x12437 0x3023 # HANGZHOU NUMERAL THREE
-0x12438 0x3024 # HANGZHOU NUMERAL FOUR
-0x12439 0x3025 # HANGZHOU NUMERAL FIVE
-0x1243A 0x3026 # HANGZHOU NUMERAL SIX
-0x1243B 0x3027 # HANGZHOU NUMERAL SEVEN
-0x1243C 0x3028 # HANGZHOU NUMERAL EIGHT
-0x1243D 0x3029 # HANGZHOU NUMERAL NINE
-0x1243F 0x5344 # <CJK>
-0x12441 0xFF21 # FULLWIDTH LATIN CAPITAL LETTER A
-0x12442 0xFF22 # FULLWIDTH LATIN CAPITAL LETTER B
-0x12443 0xFF23 # FULLWIDTH LATIN CAPITAL LETTER C
-0x12444 0xFF24 # FULLWIDTH LATIN CAPITAL LETTER D
-0x12445 0xFF25 # FULLWIDTH LATIN CAPITAL LETTER E
-0x12446 0xFF26 # FULLWIDTH LATIN CAPITAL LETTER F
-0x12447 0xFF27 # FULLWIDTH LATIN CAPITAL LETTER G
-0x12448 0xFF28 # FULLWIDTH LATIN CAPITAL LETTER H
-0x12449 0xFF29 # FULLWIDTH LATIN CAPITAL LETTER I
-0x1244A 0xFF2A # FULLWIDTH LATIN CAPITAL LETTER J
-0x1244B 0xFF2B # FULLWIDTH LATIN CAPITAL LETTER K
-0x1244C 0xFF2C # FULLWIDTH LATIN CAPITAL LETTER L
-0x1244D 0xFF2D # FULLWIDTH LATIN CAPITAL LETTER M
-0x1244E 0xFF2E # FULLWIDTH LATIN CAPITAL LETTER N
-0x1244F 0xFF2F # FULLWIDTH LATIN CAPITAL LETTER O
-0x12450 0xFF30 # FULLWIDTH LATIN CAPITAL LETTER P
-0x12451 0xFF31 # FULLWIDTH LATIN CAPITAL LETTER Q
-0x12452 0xFF32 # FULLWIDTH LATIN CAPITAL LETTER R
-0x12453 0xFF33 # FULLWIDTH LATIN CAPITAL LETTER S
-0x12454 0xFF34 # FULLWIDTH LATIN CAPITAL LETTER T
-0x12455 0xFF35 # FULLWIDTH LATIN CAPITAL LETTER U
-0x12456 0xFF36 # FULLWIDTH LATIN CAPITAL LETTER V
-0x12457 0xFF37 # FULLWIDTH LATIN CAPITAL LETTER W
-0x12458 0xFF38 # FULLWIDTH LATIN CAPITAL LETTER X
-0x12459 0xFF39 # FULLWIDTH LATIN CAPITAL LETTER Y
-0x1245A 0xFF3A # FULLWIDTH LATIN CAPITAL LETTER Z
-0x1245B 0xFF41 # FULLWIDTH LATIN SMALL LETTER A
-0x1245C 0xFF42 # FULLWIDTH LATIN SMALL LETTER B
-0x1245D 0xFF43 # FULLWIDTH LATIN SMALL LETTER C
-0x1245E 0xFF44 # FULLWIDTH LATIN SMALL LETTER D
-0x1245F 0xFF45 # FULLWIDTH LATIN SMALL LETTER E
-0x12460 0xFF46 # FULLWIDTH LATIN SMALL LETTER F
-0x12461 0xFF47 # FULLWIDTH LATIN SMALL LETTER G
-0x12462 0xFF48 # FULLWIDTH LATIN SMALL LETTER H
-0x12463 0xFF49 # FULLWIDTH LATIN SMALL LETTER I
-0x12464 0xFF4A # FULLWIDTH LATIN SMALL LETTER J
-0x12465 0xFF4B # FULLWIDTH LATIN SMALL LETTER K
-0x12466 0xFF4C # FULLWIDTH LATIN SMALL LETTER L
-0x12467 0xFF4D # FULLWIDTH LATIN SMALL LETTER M
-0x12468 0xFF4E # FULLWIDTH LATIN SMALL LETTER N
-0x12469 0xFF4F # FULLWIDTH LATIN SMALL LETTER O
-0x1246A 0xFF50 # FULLWIDTH LATIN SMALL LETTER P
-0x1246B 0xFF51 # FULLWIDTH LATIN SMALL LETTER Q
-0x1246C 0xFF52 # FULLWIDTH LATIN SMALL LETTER R
-0x1246D 0xFF53 # FULLWIDTH LATIN SMALL LETTER S
-0x1246E 0xFF54 # FULLWIDTH LATIN SMALL LETTER T
-0x1246F 0xFF55 # FULLWIDTH LATIN SMALL LETTER U
-0x12470 0xFF56 # FULLWIDTH LATIN SMALL LETTER V
-0x12471 0xFF57 # FULLWIDTH LATIN SMALL LETTER W
-0x12472 0xFF58 # FULLWIDTH LATIN SMALL LETTER X
-0x12473 0xFF59 # FULLWIDTH LATIN SMALL LETTER Y
-0x12474 0xFF5A # FULLWIDTH LATIN SMALL LETTER Z
-0x12475 0x0391 # GREEK CAPITAL LETTER ALPHA
-0x12476 0x0392 # GREEK CAPITAL LETTER BETA
-0x12477 0x0393 # GREEK CAPITAL LETTER GAMMA
-0x12478 0x0394 # GREEK CAPITAL LETTER DELTA
-0x12479 0x0395 # GREEK CAPITAL LETTER EPSILON
-0x1247A 0x0396 # GREEK CAPITAL LETTER ZETA
-0x1247B 0x0397 # GREEK CAPITAL LETTER ETA
-0x1247C 0x0398 # GREEK CAPITAL LETTER THETA
-0x1247D 0x0399 # GREEK CAPITAL LETTER IOTA
-0x1247E 0x039A # GREEK CAPITAL LETTER KAPPA
-0x12521 0x039B # GREEK CAPITAL LETTER LAMDA
-0x12522 0x039C # GREEK CAPITAL LETTER MU
-0x12523 0x039D # GREEK CAPITAL LETTER NU
-0x12524 0x039E # GREEK CAPITAL LETTER XI
-0x12525 0x039F # GREEK CAPITAL LETTER OMICRON
-0x12526 0x03A0 # GREEK CAPITAL LETTER PI
-0x12527 0x03A1 # GREEK CAPITAL LETTER RHO
-0x12528 0x03A3 # GREEK CAPITAL LETTER SIGMA
-0x12529 0x03A4 # GREEK CAPITAL LETTER TAU
-0x1252A 0x03A5 # GREEK CAPITAL LETTER UPSILON
-0x1252B 0x03A6 # GREEK CAPITAL LETTER PHI
-0x1252C 0x03A7 # GREEK CAPITAL LETTER CHI
-0x1252D 0x03A8 # GREEK CAPITAL LETTER PSI
-0x1252E 0x03A9 # GREEK CAPITAL LETTER OMEGA
-0x1252F 0x03B1 # GREEK SMALL LETTER ALPHA
-0x12530 0x03B2 # GREEK SMALL LETTER BETA
-0x12531 0x03B3 # GREEK SMALL LETTER GAMMA
-0x12532 0x03B4 # GREEK SMALL LETTER DELTA
-0x12533 0x03B5 # GREEK SMALL LETTER EPSILON
-0x12534 0x03B6 # GREEK SMALL LETTER ZETA
-0x12535 0x03B7 # GREEK SMALL LETTER ETA
-0x12536 0x03B8 # GREEK SMALL LETTER THETA
-0x12537 0x03B9 # GREEK SMALL LETTER IOTA
-0x12538 0x03BA # GREEK SMALL LETTER KAPPA
-0x12539 0x03BB # GREEK SMALL LETTER LAMDA
-0x1253A 0x03BC # GREEK SMALL LETTER MU
-0x1253B 0x03BD # GREEK SMALL LETTER NU
-0x1253C 0x03BE # GREEK SMALL LETTER XI
-0x1253D 0x03BF # GREEK SMALL LETTER OMICRON
-0x1253E 0x03C0 # GREEK SMALL LETTER PI
-0x1253F 0x03C1 # GREEK SMALL LETTER RHO
-0x12540 0x03C3 # GREEK SMALL LETTER SIGMA
-0x12541 0x03C4 # GREEK SMALL LETTER TAU
-0x12542 0x03C5 # GREEK SMALL LETTER UPSILON
-0x12543 0x03C6 # GREEK SMALL LETTER PHI
-0x12544 0x03C7 # GREEK SMALL LETTER CHI
-0x12545 0x03C8 # GREEK SMALL LETTER PSI
-0x12546 0x03C9 # GREEK SMALL LETTER OMEGA
-0x12547 0x3105 # BOPOMOFO LETTER B
-0x12548 0x3106 # BOPOMOFO LETTER P
-0x12549 0x3107 # BOPOMOFO LETTER M
-0x1254A 0x3108 # BOPOMOFO LETTER F
-0x1254B 0x3109 # BOPOMOFO LETTER D
-0x1254C 0x310A # BOPOMOFO LETTER T
-0x1254D 0x310B # BOPOMOFO LETTER N
-0x1254E 0x310C # BOPOMOFO LETTER L
-0x1254F 0x310D # BOPOMOFO LETTER G
-0x12550 0x310E # BOPOMOFO LETTER K
-0x12551 0x310F # BOPOMOFO LETTER H
-0x12552 0x3110 # BOPOMOFO LETTER J
-0x12553 0x3111 # BOPOMOFO LETTER Q
-0x12554 0x3112 # BOPOMOFO LETTER X
-0x12555 0x3113 # BOPOMOFO LETTER ZH
-0x12556 0x3114 # BOPOMOFO LETTER CH
-0x12557 0x3115 # BOPOMOFO LETTER SH
-0x12558 0x3116 # BOPOMOFO LETTER R
-0x12559 0x3117 # BOPOMOFO LETTER Z
-0x1255A 0x3118 # BOPOMOFO LETTER C
-0x1255B 0x3119 # BOPOMOFO LETTER S
-0x1255C 0x311A # BOPOMOFO LETTER A
-0x1255D 0x311B # BOPOMOFO LETTER O
-0x1255E 0x311C # BOPOMOFO LETTER E
-0x1255F 0x311D # BOPOMOFO LETTER EH
-0x12560 0x311E # BOPOMOFO LETTER AI
-0x12561 0x311F # BOPOMOFO LETTER EI
-0x12562 0x3120 # BOPOMOFO LETTER AU
-0x12563 0x3121 # BOPOMOFO LETTER OU
-0x12564 0x3122 # BOPOMOFO LETTER AN
-0x12565 0x3123 # BOPOMOFO LETTER EN
-0x12566 0x3124 # BOPOMOFO LETTER ANG
-0x12567 0x3125 # BOPOMOFO LETTER ENG
-0x12568 0x3126 # BOPOMOFO LETTER ER
-0x12569 0x3127 # BOPOMOFO LETTER I
-0x1256A 0x3128 # BOPOMOFO LETTER U
-0x1256B 0x3129 # BOPOMOFO LETTER IU
-0x1256C 0x02D9 # DOT ABOVE
-0x1256D 0x02C9 # MODIFIER LETTER MACRON
-0x1256E 0x02CA # MODIFIER LETTER ACUTE ACCENT
-0x1256F 0x02C7 # CARON
-0x12570 0x02CB # MODIFIER LETTER GRAVE ACCENT
-0x12621 0x2460 # CIRCLED DIGIT ONE
-0x12622 0x2461 # CIRCLED DIGIT TWO
-0x12623 0x2462 # CIRCLED DIGIT THREE
-0x12624 0x2463 # CIRCLED DIGIT FOUR
-0x12625 0x2464 # CIRCLED DIGIT FIVE
-0x12626 0x2465 # CIRCLED DIGIT SIX
-0x12627 0x2466 # CIRCLED DIGIT SEVEN
-0x12628 0x2467 # CIRCLED DIGIT EIGHT
-0x12629 0x2468 # CIRCLED DIGIT NINE
-0x1262A 0x2469 # CIRCLED NUMBER TEN
-0x1262B 0x2474 # PARENTHESIZED DIGIT ONE
-0x1262C 0x2475 # PARENTHESIZED DIGIT TWO
-0x1262D 0x2476 # PARENTHESIZED DIGIT THREE
-0x1262E 0x2477 # PARENTHESIZED DIGIT FOUR
-0x1262F 0x2478 # PARENTHESIZED DIGIT FIVE
-0x12630 0x2479 # PARENTHESIZED DIGIT SIX
-0x12631 0x247A # PARENTHESIZED DIGIT SEVEN
-0x12632 0x247B # PARENTHESIZED DIGIT EIGHT
-0x12633 0x247C # PARENTHESIZED DIGIT NINE
-0x12634 0x247D # PARENTHESIZED NUMBER TEN
-0x12635 0x2170 # SMALL ROMAN NUMERAL ONE
-0x12636 0x2171 # SMALL ROMAN NUMERAL TWO
-0x12637 0x2172 # SMALL ROMAN NUMERAL THREE
-0x12638 0x2173 # SMALL ROMAN NUMERAL FOUR
-0x12639 0x2174 # SMALL ROMAN NUMERAL FIVE
-0x1263A 0x2175 # SMALL ROMAN NUMERAL SIX
-0x1263B 0x2176 # SMALL ROMAN NUMERAL SEVEN
-0x1263C 0x2177 # SMALL ROMAN NUMERAL EIGHT
-0x1263D 0x2178 # SMALL ROMAN NUMERAL NINE
-0x1263E 0x2179 # SMALL ROMAN NUMERAL TEN
-0x14221 0x2400 # SYMBOL FOR NULL
-0x14222 0x2401 # SYMBOL FOR START OF HEADING
-0x14223 0x2402 # SYMBOL FOR START OF TEXT
-0x14224 0x2403 # SYMBOL FOR END OF TEXT
-0x14225 0x2404 # SYMBOL FOR END OF TRANSMISSION
-0x14226 0x2405 # SYMBOL FOR ENQUIRY
-0x14227 0x2406 # SYMBOL FOR ACKNOWLEDGE
-0x14228 0x2407 # SYMBOL FOR BELL
-0x14229 0x2408 # SYMBOL FOR BACKSPACE
-0x1422A 0x2409 # SYMBOL FOR HORIZONTAL TABULATION
-0x1422B 0x240A # SYMBOL FOR LINE FEED
-0x1422C 0x240B # SYMBOL FOR VERTICAL TABULATION
-0x1422D 0x240C # SYMBOL FOR FORM FEED
-0x1422E 0x240D # SYMBOL FOR CARRIAGE RETURN
-0x1422F 0x240E # SYMBOL FOR SHIFT OUT
-0x14230 0x240F # SYMBOL FOR SHIFT IN
-0x14231 0x2410 # SYMBOL FOR DATA LINK ESCAPE
-0x14232 0x2411 # SYMBOL FOR DEVICE CONTROL ONE
-0x14233 0x2412 # SYMBOL FOR DEVICE CONTROL TWO
-0x14234 0x2413 # SYMBOL FOR DEVICE CONTROL THREE
-0x14235 0x2414 # SYMBOL FOR DEVICE CONTROL FOUR
-0x14236 0x2415 # SYMBOL FOR NEGATIVE ACKNOWLEDGE
-0x14237 0x2416 # SYMBOL FOR SYNCHRONOUS IDLE
-0x14238 0x2417 # SYMBOL FOR END OF TRANSMISSION BLOCK
-0x14239 0x2418 # SYMBOL FOR CANCEL
-0x1423A 0x2419 # SYMBOL FOR END OF MEDIUM
-0x1423B 0x241A # SYMBOL FOR SUBSTITUTE
-0x1423C 0x241B # SYMBOL FOR ESCAPE
-0x1423D 0x241C # SYMBOL FOR FILE SEPARATOR
-0x1423E 0x241D # SYMBOL FOR GROUP SEPARATOR
-0x1423F 0x241E # SYMBOL FOR RECORD SEPARATOR
-0x14240 0x241F # SYMBOL FOR UNIT SEPARATOR
-0x14241 0x2421 # SYMBOL FOR DELETE
-0x14421 0x4E00 # <CJK>
-0x14422 0x4E59 # <CJK>
-0x14423 0x4E01 # <CJK>
-0x14424 0x4E03 # <CJK>
-0x14425 0x4E43 # <CJK>
-0x14426 0x4E5D # <CJK>
-0x14427 0x4E86 # <CJK>
-0x14428 0x4E8C # <CJK>
-0x14429 0x4EBA # <CJK>
-0x1442A 0x513F # <CJK>
-0x1442B 0x5165 # <CJK>
-0x1442C 0x516B # <CJK>
-0x1442D 0x51E0 # <CJK>
-0x1442E 0x5200 # <CJK>
-0x1442F 0x5201 # <CJK>
-0x14430 0x529B # <CJK>
-0x14431 0x5315 # <CJK>
-0x14432 0x5341 # <CJK>
-0x14433 0x535C # <CJK>
-0x14434 0x53C8 # <CJK>
-0x14435 0x4E09 # <CJK>
-0x14436 0x4E0B # <CJK>
-0x14437 0x4E08 # <CJK>
-0x14438 0x4E0A # <CJK>
-0x14439 0x4E2B # <CJK>
-0x1443A 0x4E38 # <CJK>
-0x1443B 0x51E1 # <CJK>
-0x1443C 0x4E45 # <CJK>
-0x1443D 0x4E48 # <CJK>
-0x1443E 0x4E5F # <CJK>
-0x1443F 0x4E5E # <CJK>
-0x14440 0x4E8E # <CJK>
-0x14441 0x4EA1 # <CJK>
-0x14442 0x5140 # <CJK>
-0x14443 0x5203 # <CJK>
-0x14444 0x52FA # <CJK>
-0x14445 0x5343 # <CJK>
-0x14446 0x53C9 # <CJK>
-0x14447 0x53E3 # <CJK>
-0x14448 0x571F # <CJK>
-0x14449 0x58EB # <CJK>
-0x1444A 0x5915 # <CJK>
-0x1444B 0x5927 # <CJK>
-0x1444C 0x5973 # <CJK>
-0x1444D 0x5B50 # <CJK>
-0x1444E 0x5B51 # <CJK>
-0x1444F 0x5B53 # <CJK>
-0x14450 0x5BF8 # <CJK>
-0x14451 0x5C0F # <CJK>
-0x14452 0x5C22 # <CJK>
-0x14453 0x5C38 # <CJK>
-0x14454 0x5C71 # <CJK>
-0x14455 0x5DDD # <CJK>
-0x14456 0x5DE5 # <CJK>
-0x14457 0x5DF1 # <CJK>
-0x14458 0x5DF2 # <CJK>
-0x14459 0x5DF3 # <CJK>
-0x1445A 0x5DFE # <CJK>
-0x1445B 0x5E72 # <CJK>
-0x1445C 0x5EFE # <CJK>
-0x1445D 0x5F0B # <CJK>
-0x1445E 0x5F13 # <CJK>
-0x1445F 0x624D # <CJK>
-0x14460 0x4E11 # <CJK>
-0x14461 0x4E10 # <CJK>
-0x14462 0x4E0D # <CJK>
-0x14463 0x4E2D # <CJK>
-0x14464 0x4E30 # <CJK>
-0x14465 0x4E39 # <CJK>
-0x14466 0x4E4B # <CJK>
-0x14467 0x5C39 # <CJK>
-0x14468 0x4E88 # <CJK>
-0x14469 0x4E91 # <CJK>
-0x1446A 0x4E95 # <CJK>
-0x1446B 0x4E92 # <CJK>
-0x1446C 0x4E94 # <CJK>
-0x1446D 0x4EA2 # <CJK>
-0x1446E 0x4EC1 # <CJK>
-0x1446F 0x4EC0 # <CJK>
-0x14470 0x4EC3 # <CJK>
-0x14471 0x4EC6 # <CJK>
-0x14472 0x4EC7 # <CJK>
-0x14473 0x4ECD # <CJK>
-0x14474 0x4ECA # <CJK>
-0x14475 0x4ECB # <CJK>
-0x14476 0x4EC4 # <CJK>
-0x14477 0x5143 # <CJK>
-0x14478 0x5141 # <CJK>
-0x14479 0x5167 # <CJK>
-0x1447A 0x516D # <CJK>
-0x1447B 0x516E # <CJK>
-0x1447C 0x516C # <CJK>
-0x1447D 0x5197 # <CJK>
-0x1447E 0x51F6 # <CJK>
-0x14521 0x5206 # <CJK>
-0x14522 0x5207 # <CJK>
-0x14523 0x5208 # <CJK>
-0x14524 0x52FB # <CJK>
-0x14525 0x52FE # <CJK>
-0x14526 0x52FF # <CJK>
-0x14527 0x5316 # <CJK>
-0x14528 0x5339 # <CJK>
-0x14529 0x5348 # <CJK>
-0x1452A 0x5347 # <CJK>
-0x1452B 0x5345 # <CJK>
-0x1452C 0x535E # <CJK>
-0x1452D 0x5384 # <CJK>
-0x1452E 0x53CB # <CJK>
-0x1452F 0x53CA # <CJK>
-0x14530 0x53CD # <CJK>
-0x14531 0x58EC # <CJK>
-0x14532 0x5929 # <CJK>
-0x14533 0x592B # <CJK>
-0x14534 0x592A # <CJK>
-0x14535 0x592D # <CJK>
-0x14536 0x5B54 # <CJK>
-0x14537 0x5C11 # <CJK>
-0x14538 0x5C24 # <CJK>
-0x14539 0x5C3A # <CJK>
-0x1453A 0x5C6F # <CJK>
-0x1453B 0x5DF4 # <CJK>
-0x1453C 0x5E7B # <CJK>
-0x1453D 0x5EFF # <CJK>
-0x1453E 0x5F14 # <CJK>
-0x1453F 0x5F15 # <CJK>
-0x14540 0x5FC3 # <CJK>
-0x14541 0x6208 # <CJK>
-0x14542 0x6236 # <CJK>
-0x14543 0x624B # <CJK>
-0x14544 0x624E # <CJK>
-0x14545 0x652F # <CJK>
-0x14546 0x6587 # <CJK>
-0x14547 0x6597 # <CJK>
-0x14548 0x65A4 # <CJK>
-0x14549 0x65B9 # <CJK>
-0x1454A 0x65E5 # <CJK>
-0x1454B 0x66F0 # <CJK>
-0x1454C 0x6708 # <CJK>
-0x1454D 0x6728 # <CJK>
-0x1454E 0x6B20 # <CJK>
-0x1454F 0x6B62 # <CJK>
-0x14550 0x6B79 # <CJK>
-0x14551 0x6BCB # <CJK>
-0x14552 0x6BD4 # <CJK>
-0x14553 0x6BDB # <CJK>
-0x14554 0x6C0F # <CJK>
-0x14555 0x6C34 # <CJK>
-0x14556 0x706B # <CJK>
-0x14557 0x722A # <CJK>
-0x14558 0x7236 # <CJK>
-0x14559 0x723B # <CJK>
-0x1455A 0x7247 # <CJK>
-0x1455B 0x7259 # <CJK>
-0x1455C 0x725B # <CJK>
-0x1455D 0x72AC # <CJK>
-0x1455E 0x738B # <CJK>
-0x1455F 0x4E19 # <CJK>
-0x14560 0x4E16 # <CJK>
-0x14561 0x4E15 # <CJK>
-0x14562 0x4E14 # <CJK>
-0x14563 0x4E18 # <CJK>
-0x14564 0x4E3B # <CJK>
-0x14565 0x4E4D # <CJK>
-0x14566 0x4E4F # <CJK>
-0x14567 0x4E4E # <CJK>
-0x14568 0x4EE5 # <CJK>
-0x14569 0x4ED8 # <CJK>
-0x1456A 0x4ED4 # <CJK>
-0x1456B 0x4ED5 # <CJK>
-0x1456C 0x4ED6 # <CJK>
-0x1456D 0x4ED7 # <CJK>
-0x1456E 0x4EE3 # <CJK>
-0x1456F 0x4EE4 # <CJK>
-0x14570 0x4ED9 # <CJK>
-0x14571 0x4EDE # <CJK>
-0x14572 0x5145 # <CJK>
-0x14573 0x5144 # <CJK>
-0x14574 0x5189 # <CJK>
-0x14575 0x518A # <CJK>
-0x14576 0x51AC # <CJK>
-0x14577 0x51F9 # <CJK>
-0x14578 0x51FA # <CJK>
-0x14579 0x51F8 # <CJK>
-0x1457A 0x520A # <CJK>
-0x1457B 0x52A0 # <CJK>
-0x1457C 0x529F # <CJK>
-0x1457D 0x5305 # <CJK>
-0x1457E 0x5306 # <CJK>
-0x14621 0x5317 # <CJK>
-0x14622 0x531D # <CJK>
-0x14623 0x4EDF # <CJK>
-0x14624 0x534A # <CJK>
-0x14625 0x5349 # <CJK>
-0x14626 0x5361 # <CJK>
-0x14627 0x5360 # <CJK>
-0x14628 0x536F # <CJK>
-0x14629 0x536E # <CJK>
-0x1462A 0x53BB # <CJK>
-0x1462B 0x53EF # <CJK>
-0x1462C 0x53E4 # <CJK>
-0x1462D 0x53F3 # <CJK>
-0x1462E 0x53EC # <CJK>
-0x1462F 0x53EE # <CJK>
-0x14630 0x53E9 # <CJK>
-0x14631 0x53E8 # <CJK>
-0x14632 0x53FC # <CJK>
-0x14633 0x53F8 # <CJK>
-0x14634 0x53F5 # <CJK>
-0x14635 0x53EB # <CJK>
-0x14636 0x53E6 # <CJK>
-0x14637 0x53EA # <CJK>
-0x14638 0x53F2 # <CJK>
-0x14639 0x53F1 # <CJK>
-0x1463A 0x53F0 # <CJK>
-0x1463B 0x53E5 # <CJK>
-0x1463C 0x53ED # <CJK>
-0x1463D 0x53FB # <CJK>
-0x1463E 0x56DB # <CJK>
-0x1463F 0x56DA # <CJK>
-0x14640 0x5916 # <CJK>
-0x14641 0x592E # <CJK>
-0x14642 0x5931 # <CJK>
-0x14643 0x5974 # <CJK>
-0x14644 0x5976 # <CJK>
-0x14645 0x5B55 # <CJK>
-0x14646 0x5B83 # <CJK>
-0x14647 0x5C3C # <CJK>
-0x14648 0x5DE8 # <CJK>
-0x14649 0x5DE7 # <CJK>
-0x1464A 0x5DE6 # <CJK>
-0x1464B 0x5E02 # <CJK>
-0x1464C 0x5E03 # <CJK>
-0x1464D 0x5E73 # <CJK>
-0x1464E 0x5E7C # <CJK>
-0x1464F 0x5F01 # <CJK>
-0x14650 0x5F18 # <CJK>
-0x14651 0x5F17 # <CJK>
-0x14652 0x5FC5 # <CJK>
-0x14653 0x620A # <CJK>
-0x14654 0x6253 # <CJK>
-0x14655 0x6254 # <CJK>
-0x14656 0x6252 # <CJK>
-0x14657 0x6251 # <CJK>
-0x14658 0x65A5 # <CJK>
-0x14659 0x65E6 # <CJK>
-0x1465A 0x672E # <CJK>
-0x1465B 0x672C # <CJK>
-0x1465C 0x672A # <CJK>
-0x1465D 0x672B # <CJK>
-0x1465E 0x672D # <CJK>
-0x1465F 0x6B63 # <CJK>
-0x14660 0x6BCD # <CJK>
-0x14661 0x6C11 # <CJK>
-0x14662 0x6C10 # <CJK>
-0x14663 0x6C38 # <CJK>
-0x14664 0x6C41 # <CJK>
-0x14665 0x6C40 # <CJK>
-0x14666 0x6C3E # <CJK>
-0x14667 0x72AF # <CJK>
-0x14668 0x7384 # <CJK>
-0x14669 0x7389 # <CJK>
-0x1466A 0x74DC # <CJK>
-0x1466B 0x74E6 # <CJK>
-0x1466C 0x7518 # <CJK>
-0x1466D 0x751F # <CJK>
-0x1466E 0x7528 # <CJK>
-0x1466F 0x7529 # <CJK>
-0x14670 0x7530 # <CJK>
-0x14671 0x7531 # <CJK>
-0x14672 0x7532 # <CJK>
-0x14673 0x7533 # <CJK>
-0x14674 0x758B # <CJK>
-0x14675 0x767D # <CJK>
-0x14676 0x76AE # <CJK>
-0x14677 0x76BF # <CJK>
-0x14678 0x76EE # <CJK>
-0x14679 0x77DB # <CJK>
-0x1467A 0x77E2 # <CJK>
-0x1467B 0x77F3 # <CJK>
-0x1467C 0x793A # <CJK>
-0x1467D 0x79BE # <CJK>
-0x1467E 0x7A74 # <CJK>
-0x14721 0x7ACB # <CJK>
-0x14722 0x4E1E # <CJK>
-0x14723 0x4E1F # <CJK>
-0x14724 0x4E52 # <CJK>
-0x14725 0x4E53 # <CJK>
-0x14726 0x4E69 # <CJK>
-0x14727 0x4E99 # <CJK>
-0x14728 0x4EA4 # <CJK>
-0x14729 0x4EA6 # <CJK>
-0x1472A 0x4EA5 # <CJK>
-0x1472B 0x4EFF # <CJK>
-0x1472C 0x4F09 # <CJK>
-0x1472D 0x4F19 # <CJK>
-0x1472E 0x4F0A # <CJK>
-0x1472F 0x4F15 # <CJK>
-0x14730 0x4F0D # <CJK>
-0x14731 0x4F10 # <CJK>
-0x14732 0x4F11 # <CJK>
-0x14733 0x4F0F # <CJK>
-0x14734 0x4EF2 # <CJK>
-0x14735 0x4EF6 # <CJK>
-0x14736 0x4EFB # <CJK>
-0x14737 0x4EF0 # <CJK>
-0x14738 0x4EF3 # <CJK>
-0x14739 0x4EFD # <CJK>
-0x1473A 0x4F01 # <CJK>
-0x1473B 0x4F0B # <CJK>
-0x1473C 0x5149 # <CJK>
-0x1473D 0x5147 # <CJK>
-0x1473E 0x5146 # <CJK>
-0x1473F 0x5148 # <CJK>
-0x14740 0x5168 # <CJK>
-0x14741 0x5171 # <CJK>
-0x14742 0x518D # <CJK>
-0x14743 0x51B0 # <CJK>
-0x14744 0x5217 # <CJK>
-0x14745 0x5211 # <CJK>
-0x14746 0x5212 # <CJK>
-0x14747 0x520E # <CJK>
-0x14748 0x5216 # <CJK>
-0x14749 0x52A3 # <CJK>
-0x1474A 0x5308 # <CJK>
-0x1474B 0x5321 # <CJK>
-0x1474C 0x5320 # <CJK>
-0x1474D 0x5370 # <CJK>
-0x1474E 0x5371 # <CJK>
-0x1474F 0x5409 # <CJK>
-0x14750 0x540F # <CJK>
-0x14751 0x540C # <CJK>
-0x14752 0x540A # <CJK>
-0x14753 0x5410 # <CJK>
-0x14754 0x5401 # <CJK>
-0x14755 0x540B # <CJK>
-0x14756 0x5404 # <CJK>
-0x14757 0x5411 # <CJK>
-0x14758 0x540D # <CJK>
-0x14759 0x5408 # <CJK>
-0x1475A 0x5403 # <CJK>
-0x1475B 0x540E # <CJK>
-0x1475C 0x5406 # <CJK>
-0x1475D 0x5412 # <CJK>
-0x1475E 0x56E0 # <CJK>
-0x1475F 0x56DE # <CJK>
-0x14760 0x56DD # <CJK>
-0x14761 0x5733 # <CJK>
-0x14762 0x5730 # <CJK>
-0x14763 0x5728 # <CJK>
-0x14764 0x572D # <CJK>
-0x14765 0x572C # <CJK>
-0x14766 0x572F # <CJK>
-0x14767 0x5729 # <CJK>
-0x14768 0x5919 # <CJK>
-0x14769 0x591A # <CJK>
-0x1476A 0x5937 # <CJK>
-0x1476B 0x5938 # <CJK>
-0x1476C 0x5984 # <CJK>
-0x1476D 0x5978 # <CJK>
-0x1476E 0x5983 # <CJK>
-0x1476F 0x597D # <CJK>
-0x14770 0x5979 # <CJK>
-0x14771 0x5982 # <CJK>
-0x14772 0x5981 # <CJK>
-0x14773 0x5B57 # <CJK>
-0x14774 0x5B58 # <CJK>
-0x14775 0x5B87 # <CJK>
-0x14776 0x5B88 # <CJK>
-0x14777 0x5B85 # <CJK>
-0x14778 0x5B89 # <CJK>
-0x14779 0x5BFA # <CJK>
-0x1477A 0x5C16 # <CJK>
-0x1477B 0x5C79 # <CJK>
-0x1477C 0x5DDE # <CJK>
-0x1477D 0x5E06 # <CJK>
-0x1477E 0x5E76 # <CJK>
-0x14821 0x5E74 # <CJK>
-0x14822 0x5F0F # <CJK>
-0x14823 0x5F1B # <CJK>
-0x14824 0x5FD9 # <CJK>
-0x14825 0x5FD6 # <CJK>
-0x14826 0x620E # <CJK>
-0x14827 0x620C # <CJK>
-0x14828 0x620D # <CJK>
-0x14829 0x6210 # <CJK>
-0x1482A 0x6263 # <CJK>
-0x1482B 0x625B # <CJK>
-0x1482C 0x6258 # <CJK>
-0x1482D 0x6536 # <CJK>
-0x1482E 0x65E9 # <CJK>
-0x1482F 0x65E8 # <CJK>
-0x14830 0x65EC # <CJK>
-0x14831 0x65ED # <CJK>
-0x14832 0x66F2 # <CJK>
-0x14833 0x66F3 # <CJK>
-0x14834 0x6709 # <CJK>
-0x14835 0x673D # <CJK>
-0x14836 0x6734 # <CJK>
-0x14837 0x6731 # <CJK>
-0x14838 0x6735 # <CJK>
-0x14839 0x6B21 # <CJK>
-0x1483A 0x6B64 # <CJK>
-0x1483B 0x6B7B # <CJK>
-0x1483C 0x6C16 # <CJK>
-0x1483D 0x6C5D # <CJK>
-0x1483E 0x6C57 # <CJK>
-0x1483F 0x6C59 # <CJK>
-0x14840 0x6C5F # <CJK>
-0x14841 0x6C60 # <CJK>
-0x14842 0x6C50 # <CJK>
-0x14843 0x6C55 # <CJK>
-0x14844 0x6C61 # <CJK>
-0x14845 0x6C5B # <CJK>
-0x14846 0x6C4D # <CJK>
-0x14847 0x6C4E # <CJK>
-0x14848 0x7070 # <CJK>
-0x14849 0x725F # <CJK>
-0x1484A 0x725D # <CJK>
-0x1484B 0x767E # <CJK>
-0x1484C 0x7AF9 # <CJK>
-0x1484D 0x7C73 # <CJK>
-0x1484E 0x7CF8 # <CJK>
-0x1484F 0x7F36 # <CJK>
-0x14850 0x7F8A # <CJK>
-0x14851 0x7FBD # <CJK>
-0x14852 0x8001 # <CJK>
-0x14853 0x8003 # <CJK>
-0x14854 0x800C # <CJK>
-0x14855 0x8012 # <CJK>
-0x14856 0x8033 # <CJK>
-0x14857 0x807F # <CJK>
-0x14858 0x8089 # <CJK>
-0x14859 0x808B # <CJK>
-0x1485A 0x808C # <CJK>
-0x1485B 0x81E3 # <CJK>
-0x1485C 0x81EA # <CJK>
-0x1485D 0x81F3 # <CJK>
-0x1485E 0x81FC # <CJK>
-0x1485F 0x820C # <CJK>
-0x14860 0x821B # <CJK>
-0x14861 0x821F # <CJK>
-0x14862 0x826E # <CJK>
-0x14863 0x8272 # <CJK>
-0x14864 0x827E # <CJK>
-0x14865 0x866B # <CJK>
-0x14866 0x8840 # <CJK>
-0x14867 0x884C # <CJK>
-0x14868 0x8863 # <CJK>
-0x14869 0x897F # <CJK>
-0x1486A 0x9621 # <CJK>
-0x1486B 0x4E32 # <CJK>
-0x1486C 0x4EA8 # <CJK>
-0x1486D 0x4F4D # <CJK>
-0x1486E 0x4F4F # <CJK>
-0x1486F 0x4F47 # <CJK>
-0x14870 0x4F57 # <CJK>
-0x14871 0x4F5E # <CJK>
-0x14872 0x4F34 # <CJK>
-0x14873 0x4F5B # <CJK>
-0x14874 0x4F55 # <CJK>
-0x14875 0x4F30 # <CJK>
-0x14876 0x4F50 # <CJK>
-0x14877 0x4F51 # <CJK>
-0x14878 0x4F3D # <CJK>
-0x14879 0x4F3A # <CJK>
-0x1487A 0x4F38 # <CJK>
-0x1487B 0x4F43 # <CJK>
-0x1487C 0x4F54 # <CJK>
-0x1487D 0x4F3C # <CJK>
-0x1487E 0x4F46 # <CJK>
-0x14921 0x4F63 # <CJK>
-0x14922 0x4F5C # <CJK>
-0x14923 0x4F60 # <CJK>
-0x14924 0x4F2F # <CJK>
-0x14925 0x4F4E # <CJK>
-0x14926 0x4F36 # <CJK>
-0x14927 0x4F59 # <CJK>
-0x14928 0x4F5D # <CJK>
-0x14929 0x4F48 # <CJK>
-0x1492A 0x4F5A # <CJK>
-0x1492B 0x514C # <CJK>
-0x1492C 0x514B # <CJK>
-0x1492D 0x514D # <CJK>
-0x1492E 0x5175 # <CJK>
-0x1492F 0x51B6 # <CJK>
-0x14930 0x51B7 # <CJK>
-0x14931 0x5225 # <CJK>
-0x14932 0x5224 # <CJK>
-0x14933 0x5229 # <CJK>
-0x14934 0x522A # <CJK>
-0x14935 0x5228 # <CJK>
-0x14936 0x52AB # <CJK>
-0x14937 0x52A9 # <CJK>
-0x14938 0x52AA # <CJK>
-0x14939 0x52AC # <CJK>
-0x1493A 0x5323 # <CJK>
-0x1493B 0x5373 # <CJK>
-0x1493C 0x5375 # <CJK>
-0x1493D 0x541D # <CJK>
-0x1493E 0x542D # <CJK>
-0x1493F 0x541E # <CJK>
-0x14940 0x543E # <CJK>
-0x14941 0x5426 # <CJK>
-0x14942 0x544E # <CJK>
-0x14943 0x5427 # <CJK>
-0x14944 0x5446 # <CJK>
-0x14945 0x5443 # <CJK>
-0x14946 0x5433 # <CJK>
-0x14947 0x5448 # <CJK>
-0x14948 0x5442 # <CJK>
-0x14949 0x541B # <CJK>
-0x1494A 0x5429 # <CJK>
-0x1494B 0x544A # <CJK>
-0x1494C 0x5439 # <CJK>
-0x1494D 0x543B # <CJK>
-0x1494E 0x5438 # <CJK>
-0x1494F 0x542E # <CJK>
-0x14950 0x5435 # <CJK>
-0x14951 0x5436 # <CJK>
-0x14952 0x5420 # <CJK>
-0x14953 0x543C # <CJK>
-0x14954 0x5440 # <CJK>
-0x14955 0x5431 # <CJK>
-0x14956 0x542B # <CJK>
-0x14957 0x541F # <CJK>
-0x14958 0x542C # <CJK>
-0x14959 0x56EA # <CJK>
-0x1495A 0x56F0 # <CJK>
-0x1495B 0x56E4 # <CJK>
-0x1495C 0x56EB # <CJK>
-0x1495D 0x574A # <CJK>
-0x1495E 0x5751 # <CJK>
-0x1495F 0x5740 # <CJK>
-0x14960 0x574D # <CJK>
-0x14961 0x5747 # <CJK>
-0x14962 0x574E # <CJK>
-0x14963 0x573E # <CJK>
-0x14964 0x5750 # <CJK>
-0x14965 0x574F # <CJK>
-0x14966 0x573B # <CJK>
-0x14967 0x58EF # <CJK>
-0x14968 0x593E # <CJK>
-0x14969 0x599D # <CJK>
-0x1496A 0x5992 # <CJK>
-0x1496B 0x59A8 # <CJK>
-0x1496C 0x599E # <CJK>
-0x1496D 0x59A3 # <CJK>
-0x1496E 0x5999 # <CJK>
-0x1496F 0x5996 # <CJK>
-0x14970 0x598D # <CJK>
-0x14971 0x59A4 # <CJK>
-0x14972 0x5993 # <CJK>
-0x14973 0x598A # <CJK>
-0x14974 0x59A5 # <CJK>
-0x14975 0x5B5D # <CJK>
-0x14976 0x5B5C # <CJK>
-0x14977 0x5B5A # <CJK>
-0x14978 0x5B5B # <CJK>
-0x14979 0x5B8C # <CJK>
-0x1497A 0x5B8B # <CJK>
-0x1497B 0x5B8F # <CJK>
-0x1497C 0x5C2C # <CJK>
-0x1497D 0x5C40 # <CJK>
-0x1497E 0x5C41 # <CJK>
-0x14A21 0x5C3F # <CJK>
-0x14A22 0x5C3E # <CJK>
-0x14A23 0x5C90 # <CJK>
-0x14A24 0x5C91 # <CJK>
-0x14A25 0x5C94 # <CJK>
-0x14A26 0x5C8C # <CJK>
-0x14A27 0x5DEB # <CJK>
-0x14A28 0x5E0C # <CJK>
-0x14A29 0x5E8F # <CJK>
-0x14A2A 0x5E87 # <CJK>
-0x14A2B 0x5E8A # <CJK>
-0x14A2C 0x5EF7 # <CJK>
-0x14A2D 0x5F04 # <CJK>
-0x14A2E 0x5F1F # <CJK>
-0x14A2F 0x5F64 # <CJK>
-0x14A30 0x5F62 # <CJK>
-0x14A31 0x5F77 # <CJK>
-0x14A32 0x5F79 # <CJK>
-0x14A33 0x5FD8 # <CJK>
-0x14A34 0x5FCC # <CJK>
-0x14A35 0x5FD7 # <CJK>
-0x14A36 0x5FCD # <CJK>
-0x14A37 0x5FF1 # <CJK>
-0x14A38 0x5FEB # <CJK>
-0x14A39 0x5FF8 # <CJK>
-0x14A3A 0x5FEA # <CJK>
-0x14A3B 0x6212 # <CJK>
-0x14A3C 0x6211 # <CJK>
-0x14A3D 0x6284 # <CJK>
-0x14A3E 0x6297 # <CJK>
-0x14A3F 0x6296 # <CJK>
-0x14A40 0x6280 # <CJK>
-0x14A41 0x6276 # <CJK>
-0x14A42 0x6289 # <CJK>
-0x14A43 0x626D # <CJK>
-0x14A44 0x628A # <CJK>
-0x14A45 0x627C # <CJK>
-0x14A46 0x627E # <CJK>
-0x14A47 0x6279 # <CJK>
-0x14A48 0x6273 # <CJK>
-0x14A49 0x6292 # <CJK>
-0x14A4A 0x626F # <CJK>
-0x14A4B 0x6298 # <CJK>
-0x14A4C 0x626E # <CJK>
-0x14A4D 0x6295 # <CJK>
-0x14A4E 0x6293 # <CJK>
-0x14A4F 0x6291 # <CJK>
-0x14A50 0x6286 # <CJK>
-0x14A51 0x6539 # <CJK>
-0x14A52 0x653B # <CJK>
-0x14A53 0x6538 # <CJK>
-0x14A54 0x65F1 # <CJK>
-0x14A55 0x66F4 # <CJK>
-0x14A56 0x675F # <CJK>
-0x14A57 0x674E # <CJK>
-0x14A58 0x674F # <CJK>
-0x14A59 0x6750 # <CJK>
-0x14A5A 0x6751 # <CJK>
-0x14A5B 0x675C # <CJK>
-0x14A5C 0x6756 # <CJK>
-0x14A5D 0x675E # <CJK>
-0x14A5E 0x6749 # <CJK>
-0x14A5F 0x6746 # <CJK>
-0x14A60 0x6760 # <CJK>
-0x14A61 0x6753 # <CJK>
-0x14A62 0x6757 # <CJK>
-0x14A63 0x6B65 # <CJK>
-0x14A64 0x6BCF # <CJK>
-0x14A65 0x6C42 # <CJK>
-0x14A66 0x6C5E # <CJK>
-0x14A67 0x6C99 # <CJK>
-0x14A68 0x6C81 # <CJK>
-0x14A69 0x6C88 # <CJK>
-0x14A6A 0x6C89 # <CJK>
-0x14A6B 0x6C85 # <CJK>
-0x14A6C 0x6C9B # <CJK>
-0x14A6D 0x6C6A # <CJK>
-0x14A6E 0x6C7A # <CJK>
-0x14A6F 0x6C90 # <CJK>
-0x14A70 0x6C70 # <CJK>
-0x14A71 0x6C8C # <CJK>
-0x14A72 0x6C68 # <CJK>
-0x14A73 0x6C96 # <CJK>
-0x14A74 0x6C92 # <CJK>
-0x14A75 0x6C7D # <CJK>
-0x14A76 0x6C83 # <CJK>
-0x14A77 0x6C72 # <CJK>
-0x14A78 0x6C7E # <CJK>
-0x14A79 0x6C74 # <CJK>
-0x14A7A 0x6C86 # <CJK>
-0x14A7B 0x6C76 # <CJK>
-0x14A7C 0x6C8D # <CJK>
-0x14A7D 0x6C94 # <CJK>
-0x14A7E 0x6C98 # <CJK>
-0x14B21 0x6C82 # <CJK>
-0x14B22 0x7076 # <CJK>
-0x14B23 0x707C # <CJK>
-0x14B24 0x707D # <CJK>
-0x14B25 0x7078 # <CJK>
-0x14B26 0x7262 # <CJK>
-0x14B27 0x7261 # <CJK>
-0x14B28 0x7260 # <CJK>
-0x14B29 0x72C4 # <CJK>
-0x14B2A 0x72C2 # <CJK>
-0x14B2B 0x7396 # <CJK>
-0x14B2C 0x752C # <CJK>
-0x14B2D 0x752B # <CJK>
-0x14B2E 0x7537 # <CJK>
-0x14B2F 0x7538 # <CJK>
-0x14B30 0x7682 # <CJK>
-0x14B31 0x76EF # <CJK>
-0x14B32 0x77E3 # <CJK>
-0x14B33 0x79C1 # <CJK>
-0x14B34 0x79C0 # <CJK>
-0x14B35 0x79BF # <CJK>
-0x14B36 0x7A76 # <CJK>
-0x14B37 0x7CFB # <CJK>
-0x14B38 0x7F55 # <CJK>
-0x14B39 0x8096 # <CJK>
-0x14B3A 0x8093 # <CJK>
-0x14B3B 0x809D # <CJK>
-0x14B3C 0x8098 # <CJK>
-0x14B3D 0x809B # <CJK>
-0x14B3E 0x809A # <CJK>
-0x14B3F 0x80B2 # <CJK>
-0x14B40 0x826F # <CJK>
-0x14B41 0x8292 # <CJK>
-0x14B42 0x828B # <CJK>
-0x14B43 0x828D # <CJK>
-0x14B44 0x898B # <CJK>
-0x14B45 0x89D2 # <CJK>
-0x14B46 0x8A00 # <CJK>
-0x14B47 0x8C37 # <CJK>
-0x14B48 0x8C46 # <CJK>
-0x14B49 0x8C55 # <CJK>
-0x14B4A 0x8C9D # <CJK>
-0x14B4B 0x8D64 # <CJK>
-0x14B4C 0x8D70 # <CJK>
-0x14B4D 0x8DB3 # <CJK>
-0x14B4E 0x8EAB # <CJK>
-0x14B4F 0x8ECA # <CJK>
-0x14B50 0x8F9B # <CJK>
-0x14B51 0x8FB0 # <CJK>
-0x14B52 0x8FC2 # <CJK>
-0x14B53 0x8FC6 # <CJK>
-0x14B54 0x8FC5 # <CJK>
-0x14B55 0x8FC4 # <CJK>
-0x14B56 0x5DE1 # <CJK>
-0x14B57 0x9091 # <CJK>
-0x14B58 0x90A2 # <CJK>
-0x14B59 0x90AA # <CJK>
-0x14B5A 0x90A6 # <CJK>
-0x14B5B 0x90A3 # <CJK>
-0x14B5C 0x9149 # <CJK>
-0x14B5D 0x91C6 # <CJK>
-0x14B5E 0x91CC # <CJK>
-0x14B5F 0x9632 # <CJK>
-0x14B60 0x962E # <CJK>
-0x14B61 0x9631 # <CJK>
-0x14B62 0x962A # <CJK>
-0x14B63 0x962C # <CJK>
-0x14B64 0x4E26 # <CJK>
-0x14B65 0x4E56 # <CJK>
-0x14B66 0x4E73 # <CJK>
-0x14B67 0x4E8B # <CJK>
-0x14B68 0x4E9B # <CJK>
-0x14B69 0x4E9E # <CJK>
-0x14B6A 0x4EAB # <CJK>
-0x14B6B 0x4EAC # <CJK>
-0x14B6C 0x4F6F # <CJK>
-0x14B6D 0x4F9D # <CJK>
-0x14B6E 0x4F8D # <CJK>
-0x14B6F 0x4F73 # <CJK>
-0x14B70 0x4F7F # <CJK>
-0x14B71 0x4F6C # <CJK>
-0x14B72 0x4F9B # <CJK>
-0x14B73 0x4F8B # <CJK>
-0x14B74 0x4F86 # <CJK>
-0x14B75 0x4F83 # <CJK>
-0x14B76 0x4F70 # <CJK>
-0x14B77 0x4F75 # <CJK>
-0x14B78 0x4F88 # <CJK>
-0x14B79 0x4F69 # <CJK>
-0x14B7A 0x4F7B # <CJK>
-0x14B7B 0x4F96 # <CJK>
-0x14B7C 0x4F7E # <CJK>
-0x14B7D 0x4F8F # <CJK>
-0x14B7E 0x4F91 # <CJK>
-0x14C21 0x4F7A # <CJK>
-0x14C22 0x5154 # <CJK>
-0x14C23 0x5152 # <CJK>
-0x14C24 0x5155 # <CJK>
-0x14C25 0x5169 # <CJK>
-0x14C26 0x5177 # <CJK>
-0x14C27 0x5176 # <CJK>
-0x14C28 0x5178 # <CJK>
-0x14C29 0x51BD # <CJK>
-0x14C2A 0x51FD # <CJK>
-0x14C2B 0x523B # <CJK>
-0x14C2C 0x5238 # <CJK>
-0x14C2D 0x5237 # <CJK>
-0x14C2E 0x523A # <CJK>
-0x14C2F 0x5230 # <CJK>
-0x14C30 0x522E # <CJK>
-0x14C31 0x5236 # <CJK>
-0x14C32 0x5241 # <CJK>
-0x14C33 0x52BE # <CJK>
-0x14C34 0x52BB # <CJK>
-0x14C35 0x5352 # <CJK>
-0x14C36 0x5354 # <CJK>
-0x14C37 0x5353 # <CJK>
-0x14C38 0x5351 # <CJK>
-0x14C39 0x5366 # <CJK>
-0x14C3A 0x5377 # <CJK>
-0x14C3B 0x5378 # <CJK>
-0x14C3C 0x5379 # <CJK>
-0x14C3D 0x53D6 # <CJK>
-0x14C3E 0x53D4 # <CJK>
-0x14C3F 0x53D7 # <CJK>
-0x14C40 0x5473 # <CJK>
-0x14C41 0x5475 # <CJK>
-0x14C42 0x5496 # <CJK>
-0x14C43 0x5478 # <CJK>
-0x14C44 0x5495 # <CJK>
-0x14C45 0x5480 # <CJK>
-0x14C46 0x547B # <CJK>
-0x14C47 0x5477 # <CJK>
-0x14C48 0x5484 # <CJK>
-0x14C49 0x5492 # <CJK>
-0x14C4A 0x5486 # <CJK>
-0x14C4B 0x547C # <CJK>
-0x14C4C 0x5490 # <CJK>
-0x14C4D 0x5471 # <CJK>
-0x14C4E 0x5476 # <CJK>
-0x14C4F 0x548C # <CJK>
-0x14C50 0x549A # <CJK>
-0x14C51 0x5462 # <CJK>
-0x14C52 0x5468 # <CJK>
-0x14C53 0x548B # <CJK>
-0x14C54 0x547D # <CJK>
-0x14C55 0x548E # <CJK>
-0x14C56 0x56FA # <CJK>
-0x14C57 0x5783 # <CJK>
-0x14C58 0x5777 # <CJK>
-0x14C59 0x576A # <CJK>
-0x14C5A 0x5769 # <CJK>
-0x14C5B 0x5761 # <CJK>
-0x14C5C 0x5766 # <CJK>
-0x14C5D 0x5764 # <CJK>
-0x14C5E 0x577C # <CJK>
-0x14C5F 0x591C # <CJK>
-0x14C60 0x5949 # <CJK>
-0x14C61 0x5947 # <CJK>
-0x14C62 0x5948 # <CJK>
-0x14C63 0x5944 # <CJK>
-0x14C64 0x5954 # <CJK>
-0x14C65 0x59BE # <CJK>
-0x14C66 0x59BB # <CJK>
-0x14C67 0x59D4 # <CJK>
-0x14C68 0x59B9 # <CJK>
-0x14C69 0x59AE # <CJK>
-0x14C6A 0x59D1 # <CJK>
-0x14C6B 0x59C6 # <CJK>
-0x14C6C 0x59D0 # <CJK>
-0x14C6D 0x59CD # <CJK>
-0x14C6E 0x59CB # <CJK>
-0x14C6F 0x59D3 # <CJK>
-0x14C70 0x59CA # <CJK>
-0x14C71 0x59AF # <CJK>
-0x14C72 0x59B3 # <CJK>
-0x14C73 0x59D2 # <CJK>
-0x14C74 0x59C5 # <CJK>
-0x14C75 0x5B5F # <CJK>
-0x14C76 0x5B64 # <CJK>
-0x14C77 0x5B63 # <CJK>
-0x14C78 0x5B97 # <CJK>
-0x14C79 0x5B9A # <CJK>
-0x14C7A 0x5B98 # <CJK>
-0x14C7B 0x5B9C # <CJK>
-0x14C7C 0x5B99 # <CJK>
-0x14C7D 0x5B9B # <CJK>
-0x14C7E 0x5C1A # <CJK>
-0x14D21 0x5C48 # <CJK>
-0x14D22 0x5C45 # <CJK>
-0x14D23 0x5C46 # <CJK>
-0x14D24 0x5CB7 # <CJK>
-0x14D25 0x5CA1 # <CJK>
-0x14D26 0x5CB8 # <CJK>
-0x14D27 0x5CA9 # <CJK>
-0x14D28 0x5CAB # <CJK>
-0x14D29 0x5CB1 # <CJK>
-0x14D2A 0x5CB3 # <CJK>
-0x14D2B 0x5E18 # <CJK>
-0x14D2C 0x5E1A # <CJK>
-0x14D2D 0x5E16 # <CJK>
-0x14D2E 0x5E15 # <CJK>
-0x14D2F 0x5E1B # <CJK>
-0x14D30 0x5E11 # <CJK>
-0x14D31 0x5E78 # <CJK>
-0x14D32 0x5E9A # <CJK>
-0x14D33 0x5E97 # <CJK>
-0x14D34 0x5E9C # <CJK>
-0x14D35 0x5E95 # <CJK>
-0x14D36 0x5E96 # <CJK>
-0x14D37 0x5EF6 # <CJK>
-0x14D38 0x5F26 # <CJK>
-0x14D39 0x5F27 # <CJK>
-0x14D3A 0x5F29 # <CJK>
-0x14D3B 0x5F80 # <CJK>
-0x14D3C 0x5F81 # <CJK>
-0x14D3D 0x5F7F # <CJK>
-0x14D3E 0x5F7C # <CJK>
-0x14D3F 0x5FDD # <CJK>
-0x14D40 0x5FE0 # <CJK>
-0x14D41 0x5FFD # <CJK>
-0x14D42 0x5FF5 # <CJK>
-0x14D43 0x5FFF # <CJK>
-0x14D44 0x600F # <CJK>
-0x14D45 0x6014 # <CJK>
-0x14D46 0x602F # <CJK>
-0x14D47 0x6035 # <CJK>
-0x14D48 0x6016 # <CJK>
-0x14D49 0x602A # <CJK>
-0x14D4A 0x6015 # <CJK>
-0x14D4B 0x6021 # <CJK>
-0x14D4C 0x6027 # <CJK>
-0x14D4D 0x6029 # <CJK>
-0x14D4E 0x602B # <CJK>
-0x14D4F 0x601B # <CJK>
-0x14D50 0x6216 # <CJK>
-0x14D51 0x6215 # <CJK>
-0x14D52 0x623F # <CJK>
-0x14D53 0x623E # <CJK>
-0x14D54 0x6240 # <CJK>
-0x14D55 0x627F # <CJK>
-0x14D56 0x62C9 # <CJK>
-0x14D57 0x62CC # <CJK>
-0x14D58 0x62C4 # <CJK>
-0x14D59 0x62BF # <CJK>
-0x14D5A 0x62C2 # <CJK>
-0x14D5B 0x62B9 # <CJK>
-0x14D5C 0x62D2 # <CJK>
-0x14D5D 0x62DB # <CJK>
-0x14D5E 0x62AB # <CJK>
-0x14D5F 0x62D3 # <CJK>
-0x14D60 0x62D4 # <CJK>
-0x14D61 0x62CB # <CJK>
-0x14D62 0x62C8 # <CJK>
-0x14D63 0x62A8 # <CJK>
-0x14D64 0x62BD # <CJK>
-0x14D65 0x62BC # <CJK>
-0x14D66 0x62D0 # <CJK>
-0x14D67 0x62D9 # <CJK>
-0x14D68 0x62C7 # <CJK>
-0x14D69 0x62CD # <CJK>
-0x14D6A 0x62B5 # <CJK>
-0x14D6B 0x62DA # <CJK>
-0x14D6C 0x62B1 # <CJK>
-0x14D6D 0x62D8 # <CJK>
-0x14D6E 0x62D6 # <CJK>
-0x14D6F 0x62D7 # <CJK>
-0x14D70 0x62C6 # <CJK>
-0x14D71 0x62AC # <CJK>
-0x14D72 0x62CE # <CJK>
-0x14D73 0x653E # <CJK>
-0x14D74 0x65A7 # <CJK>
-0x14D75 0x65BC # <CJK>
-0x14D76 0x65FA # <CJK>
-0x14D77 0x6614 # <CJK>
-0x14D78 0x6613 # <CJK>
-0x14D79 0x660C # <CJK>
-0x14D7A 0x6606 # <CJK>
-0x14D7B 0x6602 # <CJK>
-0x14D7C 0x660E # <CJK>
-0x14D7D 0x6600 # <CJK>
-0x14D7E 0x660F # <CJK>
-0x14E21 0x6615 # <CJK>
-0x14E22 0x660A # <CJK>
-0x14E23 0x6607 # <CJK>
-0x14E24 0x670D # <CJK>
-0x14E25 0x670B # <CJK>
-0x14E26 0x676D # <CJK>
-0x14E27 0x678B # <CJK>
-0x14E28 0x6795 # <CJK>
-0x14E29 0x6771 # <CJK>
-0x14E2A 0x679C # <CJK>
-0x14E2B 0x6773 # <CJK>
-0x14E2C 0x6777 # <CJK>
-0x14E2D 0x6787 # <CJK>
-0x14E2E 0x679D # <CJK>
-0x14E2F 0x6797 # <CJK>
-0x14E30 0x676F # <CJK>
-0x14E31 0x6770 # <CJK>
-0x14E32 0x677F # <CJK>
-0x14E33 0x6789 # <CJK>
-0x14E34 0x677E # <CJK>
-0x14E35 0x6790 # <CJK>
-0x14E36 0x6775 # <CJK>
-0x14E37 0x679A # <CJK>
-0x14E38 0x6793 # <CJK>
-0x14E39 0x677C # <CJK>
-0x14E3A 0x676A # <CJK>
-0x14E3B 0x6772 # <CJK>
-0x14E3C 0x6B23 # <CJK>
-0x14E3D 0x6B66 # <CJK>
-0x14E3E 0x6B67 # <CJK>
-0x14E3F 0x6B7F # <CJK>
-0x14E40 0x6C13 # <CJK>
-0x14E41 0x6C1B # <CJK>
-0x14E42 0x6CE3 # <CJK>
-0x14E43 0x6CE8 # <CJK>
-0x14E44 0x6CF3 # <CJK>
-0x14E45 0x6CB1 # <CJK>
-0x14E46 0x6CCC # <CJK>
-0x14E47 0x6CE5 # <CJK>
-0x14E48 0x6CB3 # <CJK>
-0x14E49 0x6CBD # <CJK>
-0x14E4A 0x6CBE # <CJK>
-0x14E4B 0x6CBC # <CJK>
-0x14E4C 0x6CE2 # <CJK>
-0x14E4D 0x6CAB # <CJK>
-0x14E4E 0x6CD5 # <CJK>
-0x14E4F 0x6CD3 # <CJK>
-0x14E50 0x6CB8 # <CJK>
-0x14E51 0x6CC4 # <CJK>
-0x14E52 0x6CB9 # <CJK>
-0x14E53 0x6CC1 # <CJK>
-0x14E54 0x6CAE # <CJK>
-0x14E55 0x6CD7 # <CJK>
-0x14E56 0x6CC5 # <CJK>
-0x14E57 0x6CF1 # <CJK>
-0x14E58 0x6CBF # <CJK>
-0x14E59 0x6CBB # <CJK>
-0x14E5A 0x6CE1 # <CJK>
-0x14E5B 0x6CDB # <CJK>
-0x14E5C 0x6CCA # <CJK>
-0x14E5D 0x6CAC # <CJK>
-0x14E5E 0x6CEF # <CJK>
-0x14E5F 0x6CDC # <CJK>
-0x14E60 0x6CD6 # <CJK>
-0x14E61 0x6CE0 # <CJK>
-0x14E62 0x7095 # <CJK>
-0x14E63 0x708E # <CJK>
-0x14E64 0x7092 # <CJK>
-0x14E65 0x708A # <CJK>
-0x14E66 0x7099 # <CJK>
-0x14E67 0x722C # <CJK>
-0x14E68 0x722D # <CJK>
-0x14E69 0x7238 # <CJK>
-0x14E6A 0x7248 # <CJK>
-0x14E6B 0x7267 # <CJK>
-0x14E6C 0x7269 # <CJK>
-0x14E6D 0x72C0 # <CJK>
-0x14E6E 0x72CE # <CJK>
-0x14E6F 0x72D9 # <CJK>
-0x14E70 0x72D7 # <CJK>
-0x14E71 0x72D0 # <CJK>
-0x14E72 0x73A9 # <CJK>
-0x14E73 0x73A8 # <CJK>
-0x14E74 0x739F # <CJK>
-0x14E75 0x73AB # <CJK>
-0x14E76 0x73A5 # <CJK>
-0x14E77 0x753D # <CJK>
-0x14E78 0x759D # <CJK>
-0x14E79 0x7599 # <CJK>
-0x14E7A 0x759A # <CJK>
-0x14E7B 0x7684 # <CJK>
-0x14E7C 0x76C2 # <CJK>
-0x14E7D 0x76F2 # <CJK>
-0x14E7E 0x76F4 # <CJK>
-0x14F21 0x77E5 # <CJK>
-0x14F22 0x77FD # <CJK>
-0x14F23 0x793E # <CJK>
-0x14F24 0x7940 # <CJK>
-0x14F25 0x7941 # <CJK>
-0x14F26 0x79C9 # <CJK>
-0x14F27 0x79C8 # <CJK>
-0x14F28 0x7A7A # <CJK>
-0x14F29 0x7A79 # <CJK>
-0x14F2A 0x7AFA # <CJK>
-0x14F2B 0x7CFE # <CJK>
-0x14F2C 0x7F54 # <CJK>
-0x14F2D 0x7F8C # <CJK>
-0x14F2E 0x7F8B # <CJK>
-0x14F2F 0x8005 # <CJK>
-0x14F30 0x80BA # <CJK>
-0x14F31 0x80A5 # <CJK>
-0x14F32 0x80A2 # <CJK>
-0x14F33 0x80B1 # <CJK>
-0x14F34 0x80A1 # <CJK>
-0x14F35 0x80AB # <CJK>
-0x14F36 0x80A9 # <CJK>
-0x14F37 0x80B4 # <CJK>
-0x14F38 0x80AA # <CJK>
-0x14F39 0x80AF # <CJK>
-0x14F3A 0x81E5 # <CJK>
-0x14F3B 0x81FE # <CJK>
-0x14F3C 0x820D # <CJK>
-0x14F3D 0x82B3 # <CJK>
-0x14F3E 0x829D # <CJK>
-0x14F3F 0x8299 # <CJK>
-0x14F40 0x82AD # <CJK>
-0x14F41 0x82BD # <CJK>
-0x14F42 0x829F # <CJK>
-0x14F43 0x82B9 # <CJK>
-0x14F44 0x82B1 # <CJK>
-0x14F45 0x82AC # <CJK>
-0x14F46 0x82A5 # <CJK>
-0x14F47 0x82AF # <CJK>
-0x14F48 0x82B8 # <CJK>
-0x14F49 0x82A3 # <CJK>
-0x14F4A 0x82B0 # <CJK>
-0x14F4B 0x82BE # <CJK>
-0x14F4C 0x82B7 # <CJK>
-0x14F4D 0x864E # <CJK>
-0x14F4E 0x8671 # <CJK>
-0x14F4F 0x521D # <CJK>
-0x14F50 0x8868 # <CJK>
-0x14F51 0x8ECB # <CJK>
-0x14F52 0x8FCE # <CJK>
-0x14F53 0x8FD4 # <CJK>
-0x14F54 0x8FD1 # <CJK>
-0x14F55 0x90B5 # <CJK>
-0x14F56 0x90B8 # <CJK>
-0x14F57 0x90B1 # <CJK>
-0x14F58 0x90B6 # <CJK>
-0x14F59 0x91C7 # <CJK>
-0x14F5A 0x91D1 # <CJK>
-0x14F5B 0x9577 # <CJK>
-0x14F5C 0x9580 # <CJK>
-0x14F5D 0x961C # <CJK>
-0x14F5E 0x9640 # <CJK>
-0x14F5F 0x963F # <CJK>
-0x14F60 0x963B # <CJK>
-0x14F61 0x9644 # <CJK>
-0x14F62 0x9642 # <CJK>
-0x14F63 0x96B9 # <CJK>
-0x14F64 0x96E8 # <CJK>
-0x14F65 0x9752 # <CJK>
-0x14F66 0x975E # <CJK>
-0x14F67 0x4E9F # <CJK>
-0x14F68 0x4EAD # <CJK>
-0x14F69 0x4EAE # <CJK>
-0x14F6A 0x4FE1 # <CJK>
-0x14F6B 0x4FB5 # <CJK>
-0x14F6C 0x4FAF # <CJK>
-0x14F6D 0x4FBF # <CJK>
-0x14F6E 0x4FE0 # <CJK>
-0x14F6F 0x4FD1 # <CJK>
-0x14F70 0x4FCF # <CJK>
-0x14F71 0x4FDD # <CJK>
-0x14F72 0x4FC3 # <CJK>
-0x14F73 0x4FB6 # <CJK>
-0x14F74 0x4FD8 # <CJK>
-0x14F75 0x4FDF # <CJK>
-0x14F76 0x4FCA # <CJK>
-0x14F77 0x4FD7 # <CJK>
-0x14F78 0x4FAE # <CJK>
-0x14F79 0x4FD0 # <CJK>
-0x14F7A 0x4FC4 # <CJK>
-0x14F7B 0x4FC2 # <CJK>
-0x14F7C 0x4FDA # <CJK>
-0x14F7D 0x4FCE # <CJK>
-0x14F7E 0x4FDE # <CJK>
-0x15021 0x4FB7 # <CJK>
-0x15022 0x5157 # <CJK>
-0x15023 0x5192 # <CJK>
-0x15024 0x5191 # <CJK>
-0x15025 0x51A0 # <CJK>
-0x15026 0x524E # <CJK>
-0x15027 0x5243 # <CJK>
-0x15028 0x524A # <CJK>
-0x15029 0x524D # <CJK>
-0x1502A 0x524C # <CJK>
-0x1502B 0x524B # <CJK>
-0x1502C 0x5247 # <CJK>
-0x1502D 0x52C7 # <CJK>
-0x1502E 0x52C9 # <CJK>
-0x1502F 0x52C3 # <CJK>
-0x15030 0x52C1 # <CJK>
-0x15031 0x530D # <CJK>
-0x15032 0x5357 # <CJK>
-0x15033 0x537B # <CJK>
-0x15034 0x539A # <CJK>
-0x15035 0x53DB # <CJK>
-0x15036 0x54AC # <CJK>
-0x15037 0x54C0 # <CJK>
-0x15038 0x54A8 # <CJK>
-0x15039 0x54CE # <CJK>
-0x1503A 0x54C9 # <CJK>
-0x1503B 0x54B8 # <CJK>
-0x1503C 0x54A6 # <CJK>
-0x1503D 0x54B3 # <CJK>
-0x1503E 0x54C7 # <CJK>
-0x1503F 0x54C2 # <CJK>
-0x15040 0x54BD # <CJK>
-0x15041 0x54AA # <CJK>
-0x15042 0x54C1 # <CJK>
-0x15043 0x54C4 # <CJK>
-0x15044 0x54C8 # <CJK>
-0x15045 0x54AF # <CJK>
-0x15046 0x54AB # <CJK>
-0x15047 0x54B1 # <CJK>
-0x15048 0x54BB # <CJK>
-0x15049 0x54A9 # <CJK>
-0x1504A 0x54A7 # <CJK>
-0x1504B 0x54BF # <CJK>
-0x1504C 0x56FF # <CJK>
-0x1504D 0x5782 # <CJK>
-0x1504E 0x578B # <CJK>
-0x1504F 0x57A0 # <CJK>
-0x15050 0x57A3 # <CJK>
-0x15051 0x57A2 # <CJK>
-0x15052 0x57CE # <CJK>
-0x15053 0x57AE # <CJK>
-0x15054 0x5793 # <CJK>
-0x15055 0x5955 # <CJK>
-0x15056 0x5951 # <CJK>
-0x15057 0x594F # <CJK>
-0x15058 0x594E # <CJK>
-0x15059 0x5950 # <CJK>
-0x1505A 0x59DC # <CJK>
-0x1505B 0x59D8 # <CJK>
-0x1505C 0x59FF # <CJK>
-0x1505D 0x59E3 # <CJK>
-0x1505E 0x59E8 # <CJK>
-0x1505F 0x5A03 # <CJK>
-0x15060 0x59E5 # <CJK>
-0x15061 0x59EA # <CJK>
-0x15062 0x59DA # <CJK>
-0x15063 0x59E6 # <CJK>
-0x15064 0x5A01 # <CJK>
-0x15065 0x59FB # <CJK>
-0x15066 0x5B69 # <CJK>
-0x15067 0x5BA3 # <CJK>
-0x15068 0x5BA6 # <CJK>
-0x15069 0x5BA4 # <CJK>
-0x1506A 0x5BA2 # <CJK>
-0x1506B 0x5BA5 # <CJK>
-0x1506C 0x5C01 # <CJK>
-0x1506D 0x5C4E # <CJK>
-0x1506E 0x5C4F # <CJK>
-0x1506F 0x5C4D # <CJK>
-0x15070 0x5C4B # <CJK>
-0x15071 0x5CD9 # <CJK>
-0x15072 0x5CD2 # <CJK>
-0x15073 0x5DF7 # <CJK>
-0x15074 0x5E1D # <CJK>
-0x15075 0x5E25 # <CJK>
-0x15076 0x5E1F # <CJK>
-0x15077 0x5E7D # <CJK>
-0x15078 0x5EA0 # <CJK>
-0x15079 0x5EA6 # <CJK>
-0x1507A 0x5EFA # <CJK>
-0x1507B 0x5F08 # <CJK>
-0x1507C 0x5F2D # <CJK>
-0x1507D 0x5F65 # <CJK>
-0x1507E 0x5F88 # <CJK>
-0x15121 0x5F85 # <CJK>
-0x15122 0x5F8A # <CJK>
-0x15123 0x5F8B # <CJK>
-0x15124 0x5F87 # <CJK>
-0x15125 0x5F8C # <CJK>
-0x15126 0x5F89 # <CJK>
-0x15127 0x6012 # <CJK>
-0x15128 0x601D # <CJK>
-0x15129 0x6020 # <CJK>
-0x1512A 0x6025 # <CJK>
-0x1512B 0x600E # <CJK>
-0x1512C 0x6028 # <CJK>
-0x1512D 0x604D # <CJK>
-0x1512E 0x6070 # <CJK>
-0x1512F 0x6068 # <CJK>
-0x15130 0x6062 # <CJK>
-0x15131 0x6046 # <CJK>
-0x15132 0x6043 # <CJK>
-0x15133 0x606C # <CJK>
-0x15134 0x606B # <CJK>
-0x15135 0x606A # <CJK>
-0x15136 0x6064 # <CJK>
-0x15137 0x6241 # <CJK>
-0x15138 0x62DC # <CJK>
-0x15139 0x6316 # <CJK>
-0x1513A 0x6309 # <CJK>
-0x1513B 0x62FC # <CJK>
-0x1513C 0x62ED # <CJK>
-0x1513D 0x6301 # <CJK>
-0x1513E 0x62EE # <CJK>
-0x1513F 0x62FD # <CJK>
-0x15140 0x6307 # <CJK>
-0x15141 0x62F1 # <CJK>
-0x15142 0x62F7 # <CJK>
-0x15143 0x62EF # <CJK>
-0x15144 0x62EC # <CJK>
-0x15145 0x62FE # <CJK>
-0x15146 0x62F4 # <CJK>
-0x15147 0x6311 # <CJK>
-0x15148 0x6302 # <CJK>
-0x15149 0x653F # <CJK>
-0x1514A 0x6545 # <CJK>
-0x1514B 0x65AB # <CJK>
-0x1514C 0x65BD # <CJK>
-0x1514D 0x65E2 # <CJK>
-0x1514E 0x6625 # <CJK>
-0x1514F 0x662D # <CJK>
-0x15150 0x6620 # <CJK>
-0x15151 0x6627 # <CJK>
-0x15152 0x662F # <CJK>
-0x15153 0x661F # <CJK>
-0x15154 0x6628 # <CJK>
-0x15155 0x6631 # <CJK>
-0x15156 0x6624 # <CJK>
-0x15157 0x66F7 # <CJK>
-0x15158 0x67FF # <CJK>
-0x15159 0x67D3 # <CJK>
-0x1515A 0x67F1 # <CJK>
-0x1515B 0x67D4 # <CJK>
-0x1515C 0x67D0 # <CJK>
-0x1515D 0x67EC # <CJK>
-0x1515E 0x67B6 # <CJK>
-0x1515F 0x67AF # <CJK>
-0x15160 0x67F5 # <CJK>
-0x15161 0x67E9 # <CJK>
-0x15162 0x67EF # <CJK>
-0x15163 0x67C4 # <CJK>
-0x15164 0x67D1 # <CJK>
-0x15165 0x67B4 # <CJK>
-0x15166 0x67DA # <CJK>
-0x15167 0x67E5 # <CJK>
-0x15168 0x67B8 # <CJK>
-0x15169 0x67CF # <CJK>
-0x1516A 0x67DE # <CJK>
-0x1516B 0x67F3 # <CJK>
-0x1516C 0x67B0 # <CJK>
-0x1516D 0x67D9 # <CJK>
-0x1516E 0x67E2 # <CJK>
-0x1516F 0x67DD # <CJK>
-0x15170 0x67D2 # <CJK>
-0x15171 0x6B6A # <CJK>
-0x15172 0x6B83 # <CJK>
-0x15173 0x6B86 # <CJK>
-0x15174 0x6BB5 # <CJK>
-0x15175 0x6BD2 # <CJK>
-0x15176 0x6BD7 # <CJK>
-0x15177 0x6C1F # <CJK>
-0x15178 0x6CC9 # <CJK>
-0x15179 0x6D0B # <CJK>
-0x1517A 0x6D32 # <CJK>
-0x1517B 0x6D2A # <CJK>
-0x1517C 0x6D41 # <CJK>
-0x1517D 0x6D25 # <CJK>
-0x1517E 0x6D0C # <CJK>
-0x15221 0x6D31 # <CJK>
-0x15222 0x6D1E # <CJK>
-0x15223 0x6D17 # <CJK>
-0x15224 0x6D3B # <CJK>
-0x15225 0x6D3D # <CJK>
-0x15226 0x6D3E # <CJK>
-0x15227 0x6D36 # <CJK>
-0x15228 0x6D1B # <CJK>
-0x15229 0x6CF5 # <CJK>
-0x1522A 0x6D39 # <CJK>
-0x1522B 0x6D27 # <CJK>
-0x1522C 0x6D38 # <CJK>
-0x1522D 0x6D29 # <CJK>
-0x1522E 0x6D2E # <CJK>
-0x1522F 0x6D35 # <CJK>
-0x15230 0x6D0E # <CJK>
-0x15231 0x6D2B # <CJK>
-0x15232 0x70AB # <CJK>
-0x15233 0x70BA # <CJK>
-0x15234 0x70B3 # <CJK>
-0x15235 0x70AC # <CJK>
-0x15236 0x70AF # <CJK>
-0x15237 0x70AD # <CJK>
-0x15238 0x70B8 # <CJK>
-0x15239 0x70AE # <CJK>
-0x1523A 0x70A4 # <CJK>
-0x1523B 0x7230 # <CJK>
-0x1523C 0x7272 # <CJK>
-0x1523D 0x726F # <CJK>
-0x1523E 0x7274 # <CJK>
-0x1523F 0x72E9 # <CJK>
-0x15240 0x72E0 # <CJK>
-0x15241 0x72E1 # <CJK>
-0x15242 0x73B7 # <CJK>
-0x15243 0x73CA # <CJK>
-0x15244 0x73BB # <CJK>
-0x15245 0x73B2 # <CJK>
-0x15246 0x73CD # <CJK>
-0x15247 0x73C0 # <CJK>
-0x15248 0x73B3 # <CJK>
-0x15249 0x751A # <CJK>
-0x1524A 0x752D # <CJK>
-0x1524B 0x754F # <CJK>
-0x1524C 0x754C # <CJK>
-0x1524D 0x754E # <CJK>
-0x1524E 0x754B # <CJK>
-0x1524F 0x75AB # <CJK>
-0x15250 0x75A4 # <CJK>
-0x15251 0x75A5 # <CJK>
-0x15252 0x75A2 # <CJK>
-0x15253 0x75A3 # <CJK>
-0x15254 0x7678 # <CJK>
-0x15255 0x7686 # <CJK>
-0x15256 0x7687 # <CJK>
-0x15257 0x7688 # <CJK>
-0x15258 0x76C8 # <CJK>
-0x15259 0x76C6 # <CJK>
-0x1525A 0x76C3 # <CJK>
-0x1525B 0x76C5 # <CJK>
-0x1525C 0x7701 # <CJK>
-0x1525D 0x76F9 # <CJK>
-0x1525E 0x76F8 # <CJK>
-0x1525F 0x7709 # <CJK>
-0x15260 0x770B # <CJK>
-0x15261 0x76FE # <CJK>
-0x15262 0x76FC # <CJK>
-0x15263 0x7707 # <CJK>
-0x15264 0x77DC # <CJK>
-0x15265 0x7802 # <CJK>
-0x15266 0x7814 # <CJK>
-0x15267 0x780C # <CJK>
-0x15268 0x780D # <CJK>
-0x15269 0x7946 # <CJK>
-0x1526A 0x7949 # <CJK>
-0x1526B 0x7948 # <CJK>
-0x1526C 0x7947 # <CJK>
-0x1526D 0x79B9 # <CJK>
-0x1526E 0x79BA # <CJK>
-0x1526F 0x79D1 # <CJK>
-0x15270 0x79D2 # <CJK>
-0x15271 0x79CB # <CJK>
-0x15272 0x7A7F # <CJK>
-0x15273 0x7A81 # <CJK>
-0x15274 0x7AFF # <CJK>
-0x15275 0x7AFD # <CJK>
-0x15276 0x7C7D # <CJK>
-0x15277 0x7D02 # <CJK>
-0x15278 0x7D05 # <CJK>
-0x15279 0x7D00 # <CJK>
-0x1527A 0x7D09 # <CJK>
-0x1527B 0x7D07 # <CJK>
-0x1527C 0x7D04 # <CJK>
-0x1527D 0x7D06 # <CJK>
-0x1527E 0x7F38 # <CJK>
-0x15321 0x7F8E # <CJK>
-0x15322 0x7FBF # <CJK>
-0x15323 0x8010 # <CJK>
-0x15324 0x800D # <CJK>
-0x15325 0x8011 # <CJK>
-0x15326 0x8036 # <CJK>
-0x15327 0x80D6 # <CJK>
-0x15328 0x80E5 # <CJK>
-0x15329 0x80DA # <CJK>
-0x1532A 0x80C3 # <CJK>
-0x1532B 0x80C4 # <CJK>
-0x1532C 0x80CC # <CJK>
-0x1532D 0x80E1 # <CJK>
-0x1532E 0x80DB # <CJK>
-0x1532F 0x80CE # <CJK>
-0x15330 0x80DE # <CJK>
-0x15331 0x80E4 # <CJK>
-0x15332 0x80DD # <CJK>
-0x15333 0x81F4 # <CJK>
-0x15334 0x8222 # <CJK>
-0x15335 0x82E7 # <CJK>
-0x15336 0x8303 # <CJK>
-0x15337 0x8305 # <CJK>
-0x15338 0x82E3 # <CJK>
-0x15339 0x82DB # <CJK>
-0x1533A 0x82E6 # <CJK>
-0x1533B 0x8304 # <CJK>
-0x1533C 0x82E5 # <CJK>
-0x1533D 0x8302 # <CJK>
-0x1533E 0x8309 # <CJK>
-0x1533F 0x82D2 # <CJK>
-0x15340 0x82D7 # <CJK>
-0x15341 0x82F1 # <CJK>
-0x15342 0x8301 # <CJK>
-0x15343 0x82DC # <CJK>
-0x15344 0x82D4 # <CJK>
-0x15345 0x82D1 # <CJK>
-0x15346 0x82DE # <CJK>
-0x15347 0x82D3 # <CJK>
-0x15348 0x82DF # <CJK>
-0x15349 0x82EF # <CJK>
-0x1534A 0x8306 # <CJK>
-0x1534B 0x8650 # <CJK>
-0x1534C 0x8679 # <CJK>
-0x1534D 0x867B # <CJK>
-0x1534E 0x867A # <CJK>
-0x1534F 0x884D # <CJK>
-0x15350 0x886B # <CJK>
-0x15351 0x8981 # <CJK>
-0x15352 0x89D4 # <CJK>
-0x15353 0x8A08 # <CJK>
-0x15354 0x8A02 # <CJK>
-0x15355 0x8A03 # <CJK>
-0x15356 0x8C9E # <CJK>
-0x15357 0x8CA0 # <CJK>
-0x15358 0x8D74 # <CJK>
-0x15359 0x8D73 # <CJK>
-0x1535A 0x8DB4 # <CJK>
-0x1535B 0x8ECD # <CJK>
-0x1535C 0x8ECC # <CJK>
-0x1535D 0x8FF0 # <CJK>
-0x1535E 0x8FE6 # <CJK>
-0x1535F 0x8FE2 # <CJK>
-0x15360 0x8FEA # <CJK>
-0x15361 0x8FE5 # <CJK>
-0x15362 0x8FED # <CJK>
-0x15363 0x8FEB # <CJK>
-0x15364 0x8FE4 # <CJK>
-0x15365 0x8FE8 # <CJK>
-0x15366 0x90CA # <CJK>
-0x15367 0x90CE # <CJK>
-0x15368 0x90C1 # <CJK>
-0x15369 0x90C3 # <CJK>
-0x1536A 0x914B # <CJK>
-0x1536B 0x914A # <CJK>
-0x1536C 0x91CD # <CJK>
-0x1536D 0x9582 # <CJK>
-0x1536E 0x9650 # <CJK>
-0x1536F 0x964B # <CJK>
-0x15370 0x964C # <CJK>
-0x15371 0x964D # <CJK>
-0x15372 0x9762 # <CJK>
-0x15373 0x9769 # <CJK>
-0x15374 0x97CB # <CJK>
-0x15375 0x97ED # <CJK>
-0x15376 0x97F3 # <CJK>
-0x15377 0x9801 # <CJK>
-0x15378 0x98A8 # <CJK>
-0x15379 0x98DB # <CJK>
-0x1537A 0x98DF # <CJK>
-0x1537B 0x9996 # <CJK>
-0x1537C 0x9999 # <CJK>
-0x1537D 0x4E58 # <CJK>
-0x1537E 0x4EB3 # <CJK>
-0x15421 0x500C # <CJK>
-0x15422 0x500D # <CJK>
-0x15423 0x5023 # <CJK>
-0x15424 0x4FEF # <CJK>
-0x15425 0x5026 # <CJK>
-0x15426 0x5025 # <CJK>
-0x15427 0x4FF8 # <CJK>
-0x15428 0x5029 # <CJK>
-0x15429 0x5016 # <CJK>
-0x1542A 0x5006 # <CJK>
-0x1542B 0x503C # <CJK>
-0x1542C 0x501F # <CJK>
-0x1542D 0x501A # <CJK>
-0x1542E 0x5012 # <CJK>
-0x1542F 0x5011 # <CJK>
-0x15430 0x4FFA # <CJK>
-0x15431 0x5000 # <CJK>
-0x15432 0x5014 # <CJK>
-0x15433 0x5028 # <CJK>
-0x15434 0x4FF1 # <CJK>
-0x15435 0x5021 # <CJK>
-0x15436 0x500B # <CJK>
-0x15437 0x5019 # <CJK>
-0x15438 0x5018 # <CJK>
-0x15439 0x4FF3 # <CJK>
-0x1543A 0x4FEE # <CJK>
-0x1543B 0x502D # <CJK>
-0x1543C 0x502A # <CJK>
-0x1543D 0x4FFE # <CJK>
-0x1543E 0x502B # <CJK>
-0x1543F 0x5009 # <CJK>
-0x15440 0x517C # <CJK>
-0x15441 0x51A4 # <CJK>
-0x15442 0x51A5 # <CJK>
-0x15443 0x51A2 # <CJK>
-0x15444 0x51CD # <CJK>
-0x15445 0x51CC # <CJK>
-0x15446 0x51C6 # <CJK>
-0x15447 0x51CB # <CJK>
-0x15448 0x5256 # <CJK>
-0x15449 0x525C # <CJK>
-0x1544A 0x5254 # <CJK>
-0x1544B 0x525B # <CJK>
-0x1544C 0x525D # <CJK>
-0x1544D 0x532A # <CJK>
-0x1544E 0x537F # <CJK>
-0x1544F 0x539F # <CJK>
-0x15450 0x539D # <CJK>
-0x15451 0x53DF # <CJK>
-0x15452 0x54E8 # <CJK>
-0x15453 0x5510 # <CJK>
-0x15454 0x5501 # <CJK>
-0x15455 0x5537 # <CJK>
-0x15456 0x54FC # <CJK>
-0x15457 0x54E5 # <CJK>
-0x15458 0x54F2 # <CJK>
-0x15459 0x5506 # <CJK>
-0x1545A 0x54FA # <CJK>
-0x1545B 0x5514 # <CJK>
-0x1545C 0x54E9 # <CJK>
-0x1545D 0x54ED # <CJK>
-0x1545E 0x54E1 # <CJK>
-0x1545F 0x5509 # <CJK>
-0x15460 0x54EE # <CJK>
-0x15461 0x54EA # <CJK>
-0x15462 0x54E6 # <CJK>
-0x15463 0x5527 # <CJK>
-0x15464 0x5507 # <CJK>
-0x15465 0x54FD # <CJK>
-0x15466 0x550F # <CJK>
-0x15467 0x5703 # <CJK>
-0x15468 0x5704 # <CJK>
-0x15469 0x57C2 # <CJK>
-0x1546A 0x57D4 # <CJK>
-0x1546B 0x57CB # <CJK>
-0x1546C 0x57C3 # <CJK>
-0x1546D 0x5809 # <CJK>
-0x1546E 0x590F # <CJK>
-0x1546F 0x5957 # <CJK>
-0x15470 0x5958 # <CJK>
-0x15471 0x595A # <CJK>
-0x15472 0x5A11 # <CJK>
-0x15473 0x5A18 # <CJK>
-0x15474 0x5A1C # <CJK>
-0x15475 0x5A1F # <CJK>
-0x15476 0x5A1B # <CJK>
-0x15477 0x5A13 # <CJK>
-0x15478 0x59EC # <CJK>
-0x15479 0x5A20 # <CJK>
-0x1547A 0x5A23 # <CJK>
-0x1547B 0x5A29 # <CJK>
-0x1547C 0x5A25 # <CJK>
-0x1547D 0x5A0C # <CJK>
-0x1547E 0x5A09 # <CJK>
-0x15521 0x5B6B # <CJK>
-0x15522 0x5C58 # <CJK>
-0x15523 0x5BB0 # <CJK>
-0x15524 0x5BB3 # <CJK>
-0x15525 0x5BB6 # <CJK>
-0x15526 0x5BB4 # <CJK>
-0x15527 0x5BAE # <CJK>
-0x15528 0x5BB5 # <CJK>
-0x15529 0x5BB9 # <CJK>
-0x1552A 0x5BB8 # <CJK>
-0x1552B 0x5C04 # <CJK>
-0x1552C 0x5C51 # <CJK>
-0x1552D 0x5C55 # <CJK>
-0x1552E 0x5C50 # <CJK>
-0x1552F 0x5CED # <CJK>
-0x15530 0x5CFD # <CJK>
-0x15531 0x5CFB # <CJK>
-0x15532 0x5CEA # <CJK>
-0x15533 0x5CE8 # <CJK>
-0x15534 0x5CF0 # <CJK>
-0x15535 0x5CF6 # <CJK>
-0x15536 0x5D01 # <CJK>
-0x15537 0x5CF4 # <CJK>
-0x15538 0x5DEE # <CJK>
-0x15539 0x5E2D # <CJK>
-0x1553A 0x5E2B # <CJK>
-0x1553B 0x5EAB # <CJK>
-0x1553C 0x5EAD # <CJK>
-0x1553D 0x5EA7 # <CJK>
-0x1553E 0x5F31 # <CJK>
-0x1553F 0x5F92 # <CJK>
-0x15540 0x5F91 # <CJK>
-0x15541 0x5F90 # <CJK>
-0x15542 0x6059 # <CJK>
-0x15543 0x6063 # <CJK>
-0x15544 0x6065 # <CJK>
-0x15545 0x6050 # <CJK>
-0x15546 0x6055 # <CJK>
-0x15547 0x606D # <CJK>
-0x15548 0x6069 # <CJK>
-0x15549 0x606F # <CJK>
-0x1554A 0x6084 # <CJK>
-0x1554B 0x609F # <CJK>
-0x1554C 0x609A # <CJK>
-0x1554D 0x608D # <CJK>
-0x1554E 0x6094 # <CJK>
-0x1554F 0x608C # <CJK>
-0x15550 0x6085 # <CJK>
-0x15551 0x6096 # <CJK>
-0x15552 0x6247 # <CJK>
-0x15553 0x62F3 # <CJK>
-0x15554 0x6308 # <CJK>
-0x15555 0x62FF # <CJK>
-0x15556 0x634E # <CJK>
-0x15557 0x633E # <CJK>
-0x15558 0x632F # <CJK>
-0x15559 0x6355 # <CJK>
-0x1555A 0x6342 # <CJK>
-0x1555B 0x6346 # <CJK>
-0x1555C 0x634F # <CJK>
-0x1555D 0x6349 # <CJK>
-0x1555E 0x633A # <CJK>
-0x1555F 0x6350 # <CJK>
-0x15560 0x633D # <CJK>
-0x15561 0x632A # <CJK>
-0x15562 0x632B # <CJK>
-0x15563 0x6328 # <CJK>
-0x15564 0x634D # <CJK>
-0x15565 0x634C # <CJK>
-0x15566 0x6548 # <CJK>
-0x15567 0x6549 # <CJK>
-0x15568 0x6599 # <CJK>
-0x15569 0x65C1 # <CJK>
-0x1556A 0x65C5 # <CJK>
-0x1556B 0x6642 # <CJK>
-0x1556C 0x6649 # <CJK>
-0x1556D 0x664F # <CJK>
-0x1556E 0x6643 # <CJK>
-0x1556F 0x6652 # <CJK>
-0x15570 0x664C # <CJK>
-0x15571 0x6645 # <CJK>
-0x15572 0x6641 # <CJK>
-0x15573 0x66F8 # <CJK>
-0x15574 0x6714 # <CJK>
-0x15575 0x6715 # <CJK>
-0x15576 0x6717 # <CJK>
-0x15577 0x6821 # <CJK>
-0x15578 0x6838 # <CJK>
-0x15579 0x6848 # <CJK>
-0x1557A 0x6846 # <CJK>
-0x1557B 0x6853 # <CJK>
-0x1557C 0x6839 # <CJK>
-0x1557D 0x6842 # <CJK>
-0x1557E 0x6854 # <CJK>
-0x15621 0x6829 # <CJK>
-0x15622 0x68B3 # <CJK>
-0x15623 0x6817 # <CJK>
-0x15624 0x684C # <CJK>
-0x15625 0x6851 # <CJK>
-0x15626 0x683D # <CJK>
-0x15627 0x67F4 # <CJK>
-0x15628 0x6850 # <CJK>
-0x15629 0x6840 # <CJK>
-0x1562A 0x683C # <CJK>
-0x1562B 0x6843 # <CJK>
-0x1562C 0x682A # <CJK>
-0x1562D 0x6845 # <CJK>
-0x1562E 0x6813 # <CJK>
-0x1562F 0x6818 # <CJK>
-0x15630 0x6841 # <CJK>
-0x15631 0x6B8A # <CJK>
-0x15632 0x6B89 # <CJK>
-0x15633 0x6BB7 # <CJK>
-0x15634 0x6C23 # <CJK>
-0x15635 0x6C27 # <CJK>
-0x15636 0x6C28 # <CJK>
-0x15637 0x6C26 # <CJK>
-0x15638 0x6C24 # <CJK>
-0x15639 0x6CF0 # <CJK>
-0x1563A 0x6D6A # <CJK>
-0x1563B 0x6D95 # <CJK>
-0x1563C 0x6D88 # <CJK>
-0x1563D 0x6D87 # <CJK>
-0x1563E 0x6D66 # <CJK>
-0x1563F 0x6D78 # <CJK>
-0x15640 0x6D77 # <CJK>
-0x15641 0x6D59 # <CJK>
-0x15642 0x6D93 # <CJK>
-0x15643 0x6D6C # <CJK>
-0x15644 0x6D89 # <CJK>
-0x15645 0x6D6E # <CJK>
-0x15646 0x6D5A # <CJK>
-0x15647 0x6D74 # <CJK>
-0x15648 0x6D69 # <CJK>
-0x15649 0x6D8C # <CJK>
-0x1564A 0x6D8A # <CJK>
-0x1564B 0x6D79 # <CJK>
-0x1564C 0x6D85 # <CJK>
-0x1564D 0x6D65 # <CJK>
-0x1564E 0x6D94 # <CJK>
-0x1564F 0x70CA # <CJK>
-0x15650 0x70D8 # <CJK>
-0x15651 0x70E4 # <CJK>
-0x15652 0x70D9 # <CJK>
-0x15653 0x70C8 # <CJK>
-0x15654 0x70CF # <CJK>
-0x15655 0x7239 # <CJK>
-0x15656 0x7279 # <CJK>
-0x15657 0x72FC # <CJK>
-0x15658 0x72F9 # <CJK>
-0x15659 0x72FD # <CJK>
-0x1565A 0x72F8 # <CJK>
-0x1565B 0x72F7 # <CJK>
-0x1565C 0x7386 # <CJK>
-0x1565D 0x73ED # <CJK>
-0x1565E 0x7409 # <CJK>
-0x1565F 0x73EE # <CJK>
-0x15660 0x73E0 # <CJK>
-0x15661 0x73EA # <CJK>
-0x15662 0x73DE # <CJK>
-0x15663 0x7554 # <CJK>
-0x15664 0x755D # <CJK>
-0x15665 0x755C # <CJK>
-0x15666 0x755A # <CJK>
-0x15667 0x7559 # <CJK>
-0x15668 0x75BE # <CJK>
-0x15669 0x75C5 # <CJK>
-0x1566A 0x75C7 # <CJK>
-0x1566B 0x75B2 # <CJK>
-0x1566C 0x75B3 # <CJK>
-0x1566D 0x75BD # <CJK>
-0x1566E 0x75BC # <CJK>
-0x1566F 0x75B9 # <CJK>
-0x15670 0x75C2 # <CJK>
-0x15671 0x75B8 # <CJK>
-0x15672 0x768B # <CJK>
-0x15673 0x76B0 # <CJK>
-0x15674 0x76CA # <CJK>
-0x15675 0x76CD # <CJK>
-0x15676 0x76CE # <CJK>
-0x15677 0x7729 # <CJK>
-0x15678 0x771F # <CJK>
-0x15679 0x7720 # <CJK>
-0x1567A 0x7728 # <CJK>
-0x1567B 0x77E9 # <CJK>
-0x1567C 0x7830 # <CJK>
-0x1567D 0x7827 # <CJK>
-0x1567E 0x7838 # <CJK>
-0x15721 0x781D # <CJK>
-0x15722 0x7834 # <CJK>
-0x15723 0x7837 # <CJK>
-0x15724 0x7825 # <CJK>
-0x15725 0x782D # <CJK>
-0x15726 0x7820 # <CJK>
-0x15727 0x781F # <CJK>
-0x15728 0x7832 # <CJK>
-0x15729 0x7955 # <CJK>
-0x1572A 0x7950 # <CJK>
-0x1572B 0x7960 # <CJK>
-0x1572C 0x795F # <CJK>
-0x1572D 0x7956 # <CJK>
-0x1572E 0x795E # <CJK>
-0x1572F 0x795D # <CJK>
-0x15730 0x7957 # <CJK>
-0x15731 0x795A # <CJK>
-0x15732 0x79E4 # <CJK>
-0x15733 0x79E3 # <CJK>
-0x15734 0x79E7 # <CJK>
-0x15735 0x79DF # <CJK>
-0x15736 0x79E6 # <CJK>
-0x15737 0x79E9 # <CJK>
-0x15738 0x79D8 # <CJK>
-0x15739 0x7A84 # <CJK>
-0x1573A 0x7A88 # <CJK>
-0x1573B 0x7AD9 # <CJK>
-0x1573C 0x7B06 # <CJK>
-0x1573D 0x7B11 # <CJK>
-0x1573E 0x7C89 # <CJK>
-0x1573F 0x7D21 # <CJK>
-0x15740 0x7D17 # <CJK>
-0x15741 0x7D0B # <CJK>
-0x15742 0x7D0A # <CJK>
-0x15743 0x7D20 # <CJK>
-0x15744 0x7D22 # <CJK>
-0x15745 0x7D14 # <CJK>
-0x15746 0x7D10 # <CJK>
-0x15747 0x7D15 # <CJK>
-0x15748 0x7D1A # <CJK>
-0x15749 0x7D1C # <CJK>
-0x1574A 0x7D0D # <CJK>
-0x1574B 0x7D19 # <CJK>
-0x1574C 0x7D1B # <CJK>
-0x1574D 0x7F3A # <CJK>
-0x1574E 0x7F5F # <CJK>
-0x1574F 0x7F94 # <CJK>
-0x15750 0x7FC5 # <CJK>
-0x15751 0x7FC1 # <CJK>
-0x15752 0x8006 # <CJK>
-0x15753 0x8004 # <CJK>
-0x15754 0x8018 # <CJK>
-0x15755 0x8015 # <CJK>
-0x15756 0x8019 # <CJK>
-0x15757 0x8017 # <CJK>
-0x15758 0x803D # <CJK>
-0x15759 0x803F # <CJK>
-0x1575A 0x80F1 # <CJK>
-0x1575B 0x8102 # <CJK>
-0x1575C 0x80F0 # <CJK>
-0x1575D 0x8105 # <CJK>
-0x1575E 0x80ED # <CJK>
-0x1575F 0x80F4 # <CJK>
-0x15760 0x8106 # <CJK>
-0x15761 0x80F8 # <CJK>
-0x15762 0x80F3 # <CJK>
-0x15763 0x8108 # <CJK>
-0x15764 0x80FD # <CJK>
-0x15765 0x810A # <CJK>
-0x15766 0x80FC # <CJK>
-0x15767 0x80EF # <CJK>
-0x15768 0x81ED # <CJK>
-0x15769 0x81EC # <CJK>
-0x1576A 0x8200 # <CJK>
-0x1576B 0x8210 # <CJK>
-0x1576C 0x822A # <CJK>
-0x1576D 0x822B # <CJK>
-0x1576E 0x8228 # <CJK>
-0x1576F 0x822C # <CJK>
-0x15770 0x82BB # <CJK>
-0x15771 0x832B # <CJK>
-0x15772 0x8352 # <CJK>
-0x15773 0x8354 # <CJK>
-0x15774 0x834A # <CJK>
-0x15775 0x8338 # <CJK>
-0x15776 0x8350 # <CJK>
-0x15777 0x8349 # <CJK>
-0x15778 0x8335 # <CJK>
-0x15779 0x8334 # <CJK>
-0x1577A 0x834F # <CJK>
-0x1577B 0x8332 # <CJK>
-0x1577C 0x8339 # <CJK>
-0x1577D 0x8336 # <CJK>
-0x1577E 0x8317 # <CJK>
-0x15821 0x8340 # <CJK>
-0x15822 0x8331 # <CJK>
-0x15823 0x8328 # <CJK>
-0x15824 0x8343 # <CJK>
-0x15825 0x8654 # <CJK>
-0x15826 0x868A # <CJK>
-0x15827 0x86AA # <CJK>
-0x15828 0x8693 # <CJK>
-0x15829 0x86A4 # <CJK>
-0x1582A 0x86A9 # <CJK>
-0x1582B 0x868C # <CJK>
-0x1582C 0x86A3 # <CJK>
-0x1582D 0x869C # <CJK>
-0x1582E 0x8870 # <CJK>
-0x1582F 0x8877 # <CJK>
-0x15830 0x8881 # <CJK>
-0x15831 0x8882 # <CJK>
-0x15832 0x887D # <CJK>
-0x15833 0x8879 # <CJK>
-0x15834 0x8A18 # <CJK>
-0x15835 0x8A10 # <CJK>
-0x15836 0x8A0E # <CJK>
-0x15837 0x8A0C # <CJK>
-0x15838 0x8A15 # <CJK>
-0x15839 0x8A0A # <CJK>
-0x1583A 0x8A17 # <CJK>
-0x1583B 0x8A13 # <CJK>
-0x1583C 0x8A16 # <CJK>
-0x1583D 0x8A0F # <CJK>
-0x1583E 0x8A11 # <CJK>
-0x1583F 0x8C48 # <CJK>
-0x15840 0x8C7A # <CJK>
-0x15841 0x8C79 # <CJK>
-0x15842 0x8CA1 # <CJK>
-0x15843 0x8CA2 # <CJK>
-0x15844 0x8D77 # <CJK>
-0x15845 0x8EAC # <CJK>
-0x15846 0x8ED2 # <CJK>
-0x15847 0x8ED4 # <CJK>
-0x15848 0x8ECF # <CJK>
-0x15849 0x8FB1 # <CJK>
-0x1584A 0x9001 # <CJK>
-0x1584B 0x9006 # <CJK>
-0x1584C 0x8FF7 # <CJK>
-0x1584D 0x9000 # <CJK>
-0x1584E 0x8FFA # <CJK>
-0x1584F 0x8FF4 # <CJK>
-0x15850 0x9003 # <CJK>
-0x15851 0x8FFD # <CJK>
-0x15852 0x9005 # <CJK>
-0x15853 0x8FF8 # <CJK>
-0x15854 0x9095 # <CJK>
-0x15855 0x90E1 # <CJK>
-0x15856 0x90DD # <CJK>
-0x15857 0x90E2 # <CJK>
-0x15858 0x9152 # <CJK>
-0x15859 0x914D # <CJK>
-0x1585A 0x914C # <CJK>
-0x1585B 0x91D8 # <CJK>
-0x1585C 0x91DD # <CJK>
-0x1585D 0x91D7 # <CJK>
-0x1585E 0x91DC # <CJK>
-0x1585F 0x91D9 # <CJK>
-0x15860 0x9583 # <CJK>
-0x15861 0x9662 # <CJK>
-0x15862 0x9663 # <CJK>
-0x15863 0x9661 # <CJK>
-0x15864 0x965B # <CJK>
-0x15865 0x965D # <CJK>
-0x15866 0x9664 # <CJK>
-0x15867 0x9658 # <CJK>
-0x15868 0x965E # <CJK>
-0x15869 0x96BB # <CJK>
-0x1586A 0x98E2 # <CJK>
-0x1586B 0x99AC # <CJK>
-0x1586C 0x9AA8 # <CJK>
-0x1586D 0x9AD8 # <CJK>
-0x1586E 0x9B25 # <CJK>
-0x1586F 0x9B32 # <CJK>
-0x15870 0x9B3C # <CJK>
-0x15871 0x4E7E # <CJK>
-0x15872 0x507A # <CJK>
-0x15873 0x507D # <CJK>
-0x15874 0x505C # <CJK>
-0x15875 0x5047 # <CJK>
-0x15876 0x5043 # <CJK>
-0x15877 0x504C # <CJK>
-0x15878 0x505A # <CJK>
-0x15879 0x5049 # <CJK>
-0x1587A 0x5065 # <CJK>
-0x1587B 0x5076 # <CJK>
-0x1587C 0x504E # <CJK>
-0x1587D 0x5055 # <CJK>
-0x1587E 0x5075 # <CJK>
-0x15921 0x5074 # <CJK>
-0x15922 0x5077 # <CJK>
-0x15923 0x504F # <CJK>
-0x15924 0x500F # <CJK>
-0x15925 0x506F # <CJK>
-0x15926 0x506D # <CJK>
-0x15927 0x515C # <CJK>
-0x15928 0x5195 # <CJK>
-0x15929 0x51F0 # <CJK>
-0x1592A 0x526A # <CJK>
-0x1592B 0x526F # <CJK>
-0x1592C 0x52D2 # <CJK>
-0x1592D 0x52D9 # <CJK>
-0x1592E 0x52D8 # <CJK>
-0x1592F 0x52D5 # <CJK>
-0x15930 0x5310 # <CJK>
-0x15931 0x530F # <CJK>
-0x15932 0x5319 # <CJK>
-0x15933 0x533F # <CJK>
-0x15934 0x5340 # <CJK>
-0x15935 0x533E # <CJK>
-0x15936 0x53C3 # <CJK>
-0x15937 0x66FC # <CJK>
-0x15938 0x5546 # <CJK>
-0x15939 0x556A # <CJK>
-0x1593A 0x5566 # <CJK>
-0x1593B 0x5544 # <CJK>
-0x1593C 0x555E # <CJK>
-0x1593D 0x5561 # <CJK>
-0x1593E 0x5543 # <CJK>
-0x1593F 0x554A # <CJK>
-0x15940 0x5531 # <CJK>
-0x15941 0x5556 # <CJK>
-0x15942 0x554F # <CJK>
-0x15943 0x5555 # <CJK>
-0x15944 0x552F # <CJK>
-0x15945 0x5564 # <CJK>
-0x15946 0x5538 # <CJK>
-0x15947 0x552E # <CJK>
-0x15948 0x555C # <CJK>
-0x15949 0x552C # <CJK>
-0x1594A 0x5563 # <CJK>
-0x1594B 0x5533 # <CJK>
-0x1594C 0x5541 # <CJK>
-0x1594D 0x5557 # <CJK>
-0x1594E 0x5708 # <CJK>
-0x1594F 0x570B # <CJK>
-0x15950 0x5709 # <CJK>
-0x15951 0x57DF # <CJK>
-0x15952 0x5805 # <CJK>
-0x15953 0x580A # <CJK>
-0x15954 0x5806 # <CJK>
-0x15955 0x57E0 # <CJK>
-0x15956 0x57E4 # <CJK>
-0x15957 0x57FA # <CJK>
-0x15958 0x5802 # <CJK>
-0x15959 0x5835 # <CJK>
-0x1595A 0x57F7 # <CJK>
-0x1595B 0x57F9 # <CJK>
-0x1595C 0x5920 # <CJK>
-0x1595D 0x5962 # <CJK>
-0x1595E 0x5A36 # <CJK>
-0x1595F 0x5A41 # <CJK>
-0x15960 0x5A49 # <CJK>
-0x15961 0x5A66 # <CJK>
-0x15962 0x5A6A # <CJK>
-0x15963 0x5A40 # <CJK>
-0x15964 0x5A3C # <CJK>
-0x15965 0x5A62 # <CJK>
-0x15966 0x5A5A # <CJK>
-0x15967 0x5A46 # <CJK>
-0x15968 0x5A4A # <CJK>
-0x15969 0x5B70 # <CJK>
-0x1596A 0x5BC7 # <CJK>
-0x1596B 0x5BC5 # <CJK>
-0x1596C 0x5BC4 # <CJK>
-0x1596D 0x5BC2 # <CJK>
-0x1596E 0x5BBF # <CJK>
-0x1596F 0x5BC6 # <CJK>
-0x15970 0x5C09 # <CJK>
-0x15971 0x5C08 # <CJK>
-0x15972 0x5C07 # <CJK>
-0x15973 0x5C60 # <CJK>
-0x15974 0x5C5C # <CJK>
-0x15975 0x5C5D # <CJK>
-0x15976 0x5D07 # <CJK>
-0x15977 0x5D06 # <CJK>
-0x15978 0x5D0E # <CJK>
-0x15979 0x5D1B # <CJK>
-0x1597A 0x5D16 # <CJK>
-0x1597B 0x5D22 # <CJK>
-0x1597C 0x5D11 # <CJK>
-0x1597D 0x5D29 # <CJK>
-0x1597E 0x5D14 # <CJK>
-0x15A21 0x5D19 # <CJK>
-0x15A22 0x5D24 # <CJK>
-0x15A23 0x5D27 # <CJK>
-0x15A24 0x5D17 # <CJK>
-0x15A25 0x5DE2 # <CJK>
-0x15A26 0x5E38 # <CJK>
-0x15A27 0x5E36 # <CJK>
-0x15A28 0x5E33 # <CJK>
-0x15A29 0x5E37 # <CJK>
-0x15A2A 0x5EB7 # <CJK>
-0x15A2B 0x5EB8 # <CJK>
-0x15A2C 0x5EB6 # <CJK>
-0x15A2D 0x5EB5 # <CJK>
-0x15A2E 0x5EBE # <CJK>
-0x15A2F 0x5F35 # <CJK>
-0x15A30 0x5F37 # <CJK>
-0x15A31 0x5F57 # <CJK>
-0x15A32 0x5F6C # <CJK>
-0x15A33 0x5F69 # <CJK>
-0x15A34 0x5F6B # <CJK>
-0x15A35 0x5F97 # <CJK>
-0x15A36 0x5F99 # <CJK>
-0x15A37 0x5F9E # <CJK>
-0x15A38 0x5F98 # <CJK>
-0x15A39 0x5FA1 # <CJK>
-0x15A3A 0x5FA0 # <CJK>
-0x15A3B 0x5F9C # <CJK>
-0x15A3C 0x607F # <CJK>
-0x15A3D 0x60A3 # <CJK>
-0x15A3E 0x6089 # <CJK>
-0x15A3F 0x60A0 # <CJK>
-0x15A40 0x60A8 # <CJK>
-0x15A41 0x60CB # <CJK>
-0x15A42 0x60B4 # <CJK>
-0x15A43 0x60E6 # <CJK>
-0x15A44 0x60BD # <CJK>
-0x15A45 0x60C5 # <CJK>
-0x15A46 0x60BB # <CJK>
-0x15A47 0x60B5 # <CJK>
-0x15A48 0x60DC # <CJK>
-0x15A49 0x60BC # <CJK>
-0x15A4A 0x60D8 # <CJK>
-0x15A4B 0x60D5 # <CJK>
-0x15A4C 0x60C6 # <CJK>
-0x15A4D 0x60DF # <CJK>
-0x15A4E 0x60B8 # <CJK>
-0x15A4F 0x60DA # <CJK>
-0x15A50 0x60C7 # <CJK>
-0x15A51 0x621A # <CJK>
-0x15A52 0x621B # <CJK>
-0x15A53 0x6248 # <CJK>
-0x15A54 0x63A0 # <CJK>
-0x15A55 0x63A7 # <CJK>
-0x15A56 0x6372 # <CJK>
-0x15A57 0x6396 # <CJK>
-0x15A58 0x63A2 # <CJK>
-0x15A59 0x63A5 # <CJK>
-0x15A5A 0x6377 # <CJK>
-0x15A5B 0x6367 # <CJK>
-0x15A5C 0x6398 # <CJK>
-0x15A5D 0x63AA # <CJK>
-0x15A5E 0x6371 # <CJK>
-0x15A5F 0x63A9 # <CJK>
-0x15A60 0x6389 # <CJK>
-0x15A61 0x6383 # <CJK>
-0x15A62 0x639B # <CJK>
-0x15A63 0x636B # <CJK>
-0x15A64 0x63A8 # <CJK>
-0x15A65 0x6384 # <CJK>
-0x15A66 0x6388 # <CJK>
-0x15A67 0x6399 # <CJK>
-0x15A68 0x63A1 # <CJK>
-0x15A69 0x63AC # <CJK>
-0x15A6A 0x6392 # <CJK>
-0x15A6B 0x638F # <CJK>
-0x15A6C 0x6380 # <CJK>
-0x15A6D 0x637B # <CJK>
-0x15A6E 0x6369 # <CJK>
-0x15A6F 0x6368 # <CJK>
-0x15A70 0x637A # <CJK>
-0x15A71 0x655D # <CJK>
-0x15A72 0x6556 # <CJK>
-0x15A73 0x6551 # <CJK>
-0x15A74 0x6559 # <CJK>
-0x15A75 0x6557 # <CJK>
-0x15A76 0x555F # <CJK>
-0x15A77 0x654F # <CJK>
-0x15A78 0x6558 # <CJK>
-0x15A79 0x6555 # <CJK>
-0x15A7A 0x6554 # <CJK>
-0x15A7B 0x659C # <CJK>
-0x15A7C 0x659B # <CJK>
-0x15A7D 0x65AC # <CJK>
-0x15A7E 0x65CF # <CJK>
-0x15B21 0x65CB # <CJK>
-0x15B22 0x65CC # <CJK>
-0x15B23 0x65CE # <CJK>
-0x15B24 0x665D # <CJK>
-0x15B25 0x665A # <CJK>
-0x15B26 0x6664 # <CJK>
-0x15B27 0x6668 # <CJK>
-0x15B28 0x6666 # <CJK>
-0x15B29 0x665E # <CJK>
-0x15B2A 0x66F9 # <CJK>
-0x15B2B 0x52D7 # <CJK>
-0x15B2C 0x671B # <CJK>
-0x15B2D 0x6881 # <CJK>
-0x15B2E 0x68AF # <CJK>
-0x15B2F 0x68A2 # <CJK>
-0x15B30 0x6893 # <CJK>
-0x15B31 0x68B5 # <CJK>
-0x15B32 0x687F # <CJK>
-0x15B33 0x6876 # <CJK>
-0x15B34 0x68B1 # <CJK>
-0x15B35 0x68A7 # <CJK>
-0x15B36 0x6897 # <CJK>
-0x15B37 0x68B0 # <CJK>
-0x15B38 0x6883 # <CJK>
-0x15B39 0x68C4 # <CJK>
-0x15B3A 0x68AD # <CJK>
-0x15B3B 0x6886 # <CJK>
-0x15B3C 0x6885 # <CJK>
-0x15B3D 0x6894 # <CJK>
-0x15B3E 0x689D # <CJK>
-0x15B3F 0x68A8 # <CJK>
-0x15B40 0x689F # <CJK>
-0x15B41 0x68A1 # <CJK>
-0x15B42 0x6882 # <CJK>
-0x15B43 0x6B32 # <CJK>
-0x15B44 0x6BBA # <CJK>
-0x15B45 0x6BEB # <CJK>
-0x15B46 0x6BEC # <CJK>
-0x15B47 0x6C2B # <CJK>
-0x15B48 0x6D8E # <CJK>
-0x15B49 0x6DBC # <CJK>
-0x15B4A 0x6DF3 # <CJK>
-0x15B4B 0x6DD9 # <CJK>
-0x15B4C 0x6DB2 # <CJK>
-0x15B4D 0x6DE1 # <CJK>
-0x15B4E 0x6DCC # <CJK>
-0x15B4F 0x6DE4 # <CJK>
-0x15B50 0x6DFB # <CJK>
-0x15B51 0x6DFA # <CJK>
-0x15B52 0x6E05 # <CJK>
-0x15B53 0x6DC7 # <CJK>
-0x15B54 0x6DCB # <CJK>
-0x15B55 0x6DAF # <CJK>
-0x15B56 0x6DD1 # <CJK>
-0x15B57 0x6DAE # <CJK>
-0x15B58 0x6DDE # <CJK>
-0x15B59 0x6DF9 # <CJK>
-0x15B5A 0x6DB8 # <CJK>
-0x15B5B 0x6DF7 # <CJK>
-0x15B5C 0x6DF5 # <CJK>
-0x15B5D 0x6DC5 # <CJK>
-0x15B5E 0x6DD2 # <CJK>
-0x15B5F 0x6E1A # <CJK>
-0x15B60 0x6DB5 # <CJK>
-0x15B61 0x6DDA # <CJK>
-0x15B62 0x6DEB # <CJK>
-0x15B63 0x6DD8 # <CJK>
-0x15B64 0x6DEA # <CJK>
-0x15B65 0x6DF1 # <CJK>
-0x15B66 0x6DEE # <CJK>
-0x15B67 0x6DE8 # <CJK>
-0x15B68 0x6DC6 # <CJK>
-0x15B69 0x6DC4 # <CJK>
-0x15B6A 0x6DAA # <CJK>
-0x15B6B 0x6DEC # <CJK>
-0x15B6C 0x6DBF # <CJK>
-0x15B6D 0x6DE6 # <CJK>
-0x15B6E 0x70F9 # <CJK>
-0x15B6F 0x7109 # <CJK>
-0x15B70 0x710A # <CJK>
-0x15B71 0x70FD # <CJK>
-0x15B72 0x70EF # <CJK>
-0x15B73 0x723D # <CJK>
-0x15B74 0x727D # <CJK>
-0x15B75 0x7281 # <CJK>
-0x15B76 0x731C # <CJK>
-0x15B77 0x731B # <CJK>
-0x15B78 0x7316 # <CJK>
-0x15B79 0x7313 # <CJK>
-0x15B7A 0x7319 # <CJK>
-0x15B7B 0x7387 # <CJK>
-0x15B7C 0x7405 # <CJK>
-0x15B7D 0x740A # <CJK>
-0x15B7E 0x7403 # <CJK>
-0x15C21 0x7406 # <CJK>
-0x15C22 0x73FE # <CJK>
-0x15C23 0x740D # <CJK>
-0x15C24 0x74E0 # <CJK>
-0x15C25 0x74F6 # <CJK>
-0x15C26 0x74F7 # <CJK>
-0x15C27 0x751C # <CJK>
-0x15C28 0x7522 # <CJK>
-0x15C29 0x7565 # <CJK>
-0x15C2A 0x7566 # <CJK>
-0x15C2B 0x7562 # <CJK>
-0x15C2C 0x7570 # <CJK>
-0x15C2D 0x758F # <CJK>
-0x15C2E 0x75D4 # <CJK>
-0x15C2F 0x75D5 # <CJK>
-0x15C30 0x75B5 # <CJK>
-0x15C31 0x75CA # <CJK>
-0x15C32 0x75CD # <CJK>
-0x15C33 0x768E # <CJK>
-0x15C34 0x76D4 # <CJK>
-0x15C35 0x76D2 # <CJK>
-0x15C36 0x76DB # <CJK>
-0x15C37 0x7737 # <CJK>
-0x15C38 0x773E # <CJK>
-0x15C39 0x773C # <CJK>
-0x15C3A 0x7736 # <CJK>
-0x15C3B 0x7738 # <CJK>
-0x15C3C 0x773A # <CJK>
-0x15C3D 0x786B # <CJK>
-0x15C3E 0x7843 # <CJK>
-0x15C3F 0x784E # <CJK>
-0x15C40 0x7965 # <CJK>
-0x15C41 0x7968 # <CJK>
-0x15C42 0x796D # <CJK>
-0x15C43 0x79FB # <CJK>
-0x15C44 0x7A92 # <CJK>
-0x15C45 0x7A95 # <CJK>
-0x15C46 0x7B20 # <CJK>
-0x15C47 0x7B28 # <CJK>
-0x15C48 0x7B1B # <CJK>
-0x15C49 0x7B2C # <CJK>
-0x15C4A 0x7B26 # <CJK>
-0x15C4B 0x7B19 # <CJK>
-0x15C4C 0x7B1E # <CJK>
-0x15C4D 0x7B2E # <CJK>
-0x15C4E 0x7C92 # <CJK>
-0x15C4F 0x7C97 # <CJK>
-0x15C50 0x7C95 # <CJK>
-0x15C51 0x7D46 # <CJK>
-0x15C52 0x7D43 # <CJK>
-0x15C53 0x7D71 # <CJK>
-0x15C54 0x7D2E # <CJK>
-0x15C55 0x7D39 # <CJK>
-0x15C56 0x7D3C # <CJK>
-0x15C57 0x7D40 # <CJK>
-0x15C58 0x7D30 # <CJK>
-0x15C59 0x7D33 # <CJK>
-0x15C5A 0x7D44 # <CJK>
-0x15C5B 0x7D2F # <CJK>
-0x15C5C 0x7D42 # <CJK>
-0x15C5D 0x7D32 # <CJK>
-0x15C5E 0x7D31 # <CJK>
-0x15C5F 0x7F3D # <CJK>
-0x15C60 0x7F9E # <CJK>
-0x15C61 0x7F9A # <CJK>
-0x15C62 0x7FCC # <CJK>
-0x15C63 0x7FCE # <CJK>
-0x15C64 0x7FD2 # <CJK>
-0x15C65 0x801C # <CJK>
-0x15C66 0x804A # <CJK>
-0x15C67 0x8046 # <CJK>
-0x15C68 0x812F # <CJK>
-0x15C69 0x8116 # <CJK>
-0x15C6A 0x8123 # <CJK>
-0x15C6B 0x812B # <CJK>
-0x15C6C 0x8129 # <CJK>
-0x15C6D 0x8130 # <CJK>
-0x15C6E 0x8124 # <CJK>
-0x15C6F 0x8202 # <CJK>
-0x15C70 0x8235 # <CJK>
-0x15C71 0x8237 # <CJK>
-0x15C72 0x8236 # <CJK>
-0x15C73 0x8239 # <CJK>
-0x15C74 0x838E # <CJK>
-0x15C75 0x839E # <CJK>
-0x15C76 0x8398 # <CJK>
-0x15C77 0x8378 # <CJK>
-0x15C78 0x83A2 # <CJK>
-0x15C79 0x8396 # <CJK>
-0x15C7A 0x83BD # <CJK>
-0x15C7B 0x83AB # <CJK>
-0x15C7C 0x8392 # <CJK>
-0x15C7D 0x838A # <CJK>
-0x15C7E 0x8393 # <CJK>
-0x15D21 0x8389 # <CJK>
-0x15D22 0x83A0 # <CJK>
-0x15D23 0x8377 # <CJK>
-0x15D24 0x837B # <CJK>
-0x15D25 0x837C # <CJK>
-0x15D26 0x8386 # <CJK>
-0x15D27 0x83A7 # <CJK>
-0x15D28 0x8655 # <CJK>
-0x15D29 0x5F6A # <CJK>
-0x15D2A 0x86C7 # <CJK>
-0x15D2B 0x86C0 # <CJK>
-0x15D2C 0x86B6 # <CJK>
-0x15D2D 0x86C4 # <CJK>
-0x15D2E 0x86B5 # <CJK>
-0x15D2F 0x86C6 # <CJK>
-0x15D30 0x86CB # <CJK>
-0x15D31 0x86B1 # <CJK>
-0x15D32 0x86AF # <CJK>
-0x15D33 0x86C9 # <CJK>
-0x15D34 0x8853 # <CJK>
-0x15D35 0x889E # <CJK>
-0x15D36 0x8888 # <CJK>
-0x15D37 0x88AB # <CJK>
-0x15D38 0x8892 # <CJK>
-0x15D39 0x8896 # <CJK>
-0x15D3A 0x888D # <CJK>
-0x15D3B 0x888B # <CJK>
-0x15D3C 0x8993 # <CJK>
-0x15D3D 0x898F # <CJK>
-0x15D3E 0x8A2A # <CJK>
-0x15D3F 0x8A1D # <CJK>
-0x15D40 0x8A23 # <CJK>
-0x15D41 0x8A25 # <CJK>
-0x15D42 0x8A31 # <CJK>
-0x15D43 0x8A2D # <CJK>
-0x15D44 0x8A1F # <CJK>
-0x15D45 0x8A1B # <CJK>
-0x15D46 0x8A22 # <CJK>
-0x15D47 0x8C49 # <CJK>
-0x15D48 0x8C5A # <CJK>
-0x15D49 0x8CA9 # <CJK>
-0x15D4A 0x8CAC # <CJK>
-0x15D4B 0x8CAB # <CJK>
-0x15D4C 0x8CA8 # <CJK>
-0x15D4D 0x8CAA # <CJK>
-0x15D4E 0x8CA7 # <CJK>
-0x15D4F 0x8D67 # <CJK>
-0x15D50 0x8D66 # <CJK>
-0x15D51 0x8DBE # <CJK>
-0x15D52 0x8DBA # <CJK>
-0x15D53 0x8EDB # <CJK>
-0x15D54 0x8EDF # <CJK>
-0x15D55 0x9019 # <CJK>
-0x15D56 0x900D # <CJK>
-0x15D57 0x901A # <CJK>
-0x15D58 0x9017 # <CJK>
-0x15D59 0x9023 # <CJK>
-0x15D5A 0x901F # <CJK>
-0x15D5B 0x901D # <CJK>
-0x15D5C 0x9010 # <CJK>
-0x15D5D 0x9015 # <CJK>
-0x15D5E 0x901E # <CJK>
-0x15D5F 0x9020 # <CJK>
-0x15D60 0x900F # <CJK>
-0x15D61 0x9022 # <CJK>
-0x15D62 0x9016 # <CJK>
-0x15D63 0x901B # <CJK>
-0x15D64 0x9014 # <CJK>
-0x15D65 0x90E8 # <CJK>
-0x15D66 0x90ED # <CJK>
-0x15D67 0x90FD # <CJK>
-0x15D68 0x9157 # <CJK>
-0x15D69 0x91CE # <CJK>
-0x15D6A 0x91F5 # <CJK>
-0x15D6B 0x91E6 # <CJK>
-0x15D6C 0x91E3 # <CJK>
-0x15D6D 0x91E7 # <CJK>
-0x15D6E 0x91ED # <CJK>
-0x15D6F 0x91E9 # <CJK>
-0x15D70 0x9589 # <CJK>
-0x15D71 0x966A # <CJK>
-0x15D72 0x9675 # <CJK>
-0x15D73 0x9673 # <CJK>
-0x15D74 0x9678 # <CJK>
-0x15D75 0x9670 # <CJK>
-0x15D76 0x9674 # <CJK>
-0x15D77 0x9676 # <CJK>
-0x15D78 0x9677 # <CJK>
-0x15D79 0x966C # <CJK>
-0x15D7A 0x96C0 # <CJK>
-0x15D7B 0x96EA # <CJK>
-0x15D7C 0x96E9 # <CJK>
-0x15D7D 0x7AE0 # <CJK>
-0x15D7E 0x7ADF # <CJK>
-0x15E21 0x9802 # <CJK>
-0x15E22 0x9803 # <CJK>
-0x15E23 0x9B5A # <CJK>
-0x15E24 0x9CE5 # <CJK>
-0x15E25 0x9E75 # <CJK>
-0x15E26 0x9E7F # <CJK>
-0x15E27 0x9EA5 # <CJK>
-0x15E28 0x9EBB # <CJK>
-0x15E29 0x50A2 # <CJK>
-0x15E2A 0x508D # <CJK>
-0x15E2B 0x5085 # <CJK>
-0x15E2C 0x5099 # <CJK>
-0x15E2D 0x5091 # <CJK>
-0x15E2E 0x5080 # <CJK>
-0x15E2F 0x5096 # <CJK>
-0x15E30 0x5098 # <CJK>
-0x15E31 0x509A # <CJK>
-0x15E32 0x6700 # <CJK>
-0x15E33 0x51F1 # <CJK>
-0x15E34 0x5272 # <CJK>
-0x15E35 0x5274 # <CJK>
-0x15E36 0x5275 # <CJK>
-0x15E37 0x5269 # <CJK>
-0x15E38 0x52DE # <CJK>
-0x15E39 0x52DD # <CJK>
-0x15E3A 0x52DB # <CJK>
-0x15E3B 0x535A # <CJK>
-0x15E3C 0x53A5 # <CJK>
-0x15E3D 0x557B # <CJK>
-0x15E3E 0x5580 # <CJK>
-0x15E3F 0x55A7 # <CJK>
-0x15E40 0x557C # <CJK>
-0x15E41 0x558A # <CJK>
-0x15E42 0x559D # <CJK>
-0x15E43 0x5598 # <CJK>
-0x15E44 0x5582 # <CJK>
-0x15E45 0x559C # <CJK>
-0x15E46 0x55AA # <CJK>
-0x15E47 0x5594 # <CJK>
-0x15E48 0x5587 # <CJK>
-0x15E49 0x558B # <CJK>
-0x15E4A 0x5583 # <CJK>
-0x15E4B 0x55B3 # <CJK>
-0x15E4C 0x55AE # <CJK>
-0x15E4D 0x559F # <CJK>
-0x15E4E 0x553E # <CJK>
-0x15E4F 0x55B2 # <CJK>
-0x15E50 0x559A # <CJK>
-0x15E51 0x55BB # <CJK>
-0x15E52 0x55AC # <CJK>
-0x15E53 0x55B1 # <CJK>
-0x15E54 0x557E # <CJK>
-0x15E55 0x5589 # <CJK>
-0x15E56 0x55AB # <CJK>
-0x15E57 0x5599 # <CJK>
-0x15E58 0x570D # <CJK>
-0x15E59 0x582F # <CJK>
-0x15E5A 0x582A # <CJK>
-0x15E5B 0x5834 # <CJK>
-0x15E5C 0x5824 # <CJK>
-0x15E5D 0x5830 # <CJK>
-0x15E5E 0x5831 # <CJK>
-0x15E5F 0x5821 # <CJK>
-0x15E60 0x581D # <CJK>
-0x15E61 0x5820 # <CJK>
-0x15E62 0x58F9 # <CJK>
-0x15E63 0x58FA # <CJK>
-0x15E64 0x5960 # <CJK>
-0x15E65 0x5A77 # <CJK>
-0x15E66 0x5A9A # <CJK>
-0x15E67 0x5A7F # <CJK>
-0x15E68 0x5A92 # <CJK>
-0x15E69 0x5A9B # <CJK>
-0x15E6A 0x5AA7 # <CJK>
-0x15E6B 0x5B73 # <CJK>
-0x15E6C 0x5B71 # <CJK>
-0x15E6D 0x5BD2 # <CJK>
-0x15E6E 0x5BCC # <CJK>
-0x15E6F 0x5BD3 # <CJK>
-0x15E70 0x5BD0 # <CJK>
-0x15E71 0x5C0A # <CJK>
-0x15E72 0x5C0B # <CJK>
-0x15E73 0x5C31 # <CJK>
-0x15E74 0x5D4C # <CJK>
-0x15E75 0x5D50 # <CJK>
-0x15E76 0x5D34 # <CJK>
-0x15E77 0x5D47 # <CJK>
-0x15E78 0x5DFD # <CJK>
-0x15E79 0x5E45 # <CJK>
-0x15E7A 0x5E3D # <CJK>
-0x15E7B 0x5E40 # <CJK>
-0x15E7C 0x5E43 # <CJK>
-0x15E7D 0x5E7E # <CJK>
-0x15E7E 0x5ECA # <CJK>
-0x15F21 0x5EC1 # <CJK>
-0x15F22 0x5EC2 # <CJK>
-0x15F23 0x5EC4 # <CJK>
-0x15F24 0x5F3C # <CJK>
-0x15F25 0x5F6D # <CJK>
-0x15F26 0x5FA9 # <CJK>
-0x15F27 0x5FAA # <CJK>
-0x15F28 0x5FA8 # <CJK>
-0x15F29 0x60D1 # <CJK>
-0x15F2A 0x60E1 # <CJK>
-0x15F2B 0x60B2 # <CJK>
-0x15F2C 0x60B6 # <CJK>
-0x15F2D 0x60E0 # <CJK>
-0x15F2E 0x611C # <CJK>
-0x15F2F 0x6123 # <CJK>
-0x15F30 0x60FA # <CJK>
-0x15F31 0x6115 # <CJK>
-0x15F32 0x60F0 # <CJK>
-0x15F33 0x60FB # <CJK>
-0x15F34 0x60F4 # <CJK>
-0x15F35 0x6168 # <CJK>
-0x15F36 0x60F1 # <CJK>
-0x15F37 0x610E # <CJK>
-0x15F38 0x60F6 # <CJK>
-0x15F39 0x6109 # <CJK>
-0x15F3A 0x6100 # <CJK>
-0x15F3B 0x6112 # <CJK>
-0x15F3C 0x621F # <CJK>
-0x15F3D 0x6249 # <CJK>
-0x15F3E 0x63A3 # <CJK>
-0x15F3F 0x638C # <CJK>
-0x15F40 0x63CF # <CJK>
-0x15F41 0x63C0 # <CJK>
-0x15F42 0x63E9 # <CJK>
-0x15F43 0x63C9 # <CJK>
-0x15F44 0x63C6 # <CJK>
-0x15F45 0x63CD # <CJK>
-0x15F46 0x63D2 # <CJK>
-0x15F47 0x63E3 # <CJK>
-0x15F48 0x63D0 # <CJK>
-0x15F49 0x63E1 # <CJK>
-0x15F4A 0x63D6 # <CJK>
-0x15F4B 0x63ED # <CJK>
-0x15F4C 0x63EE # <CJK>
-0x15F4D 0x6376 # <CJK>
-0x15F4E 0x63F4 # <CJK>
-0x15F4F 0x63EA # <CJK>
-0x15F50 0x63DB # <CJK>
-0x15F51 0x6452 # <CJK>
-0x15F52 0x63DA # <CJK>
-0x15F53 0x63F9 # <CJK>
-0x15F54 0x655E # <CJK>
-0x15F55 0x6566 # <CJK>
-0x15F56 0x6562 # <CJK>
-0x15F57 0x6563 # <CJK>
-0x15F58 0x6591 # <CJK>
-0x15F59 0x6590 # <CJK>
-0x15F5A 0x65AF # <CJK>
-0x15F5B 0x666E # <CJK>
-0x15F5C 0x6670 # <CJK>
-0x15F5D 0x6674 # <CJK>
-0x15F5E 0x6676 # <CJK>
-0x15F5F 0x666F # <CJK>
-0x15F60 0x6691 # <CJK>
-0x15F61 0x667A # <CJK>
-0x15F62 0x667E # <CJK>
-0x15F63 0x6677 # <CJK>
-0x15F64 0x66FE # <CJK>
-0x15F65 0x66FF # <CJK>
-0x15F66 0x671F # <CJK>
-0x15F67 0x671D # <CJK>
-0x15F68 0x68FA # <CJK>
-0x15F69 0x68D5 # <CJK>
-0x15F6A 0x68E0 # <CJK>
-0x15F6B 0x68D8 # <CJK>
-0x15F6C 0x68D7 # <CJK>
-0x15F6D 0x6905 # <CJK>
-0x15F6E 0x68DF # <CJK>
-0x15F6F 0x68F5 # <CJK>
-0x15F70 0x68EE # <CJK>
-0x15F71 0x68E7 # <CJK>
-0x15F72 0x68F9 # <CJK>
-0x15F73 0x68D2 # <CJK>
-0x15F74 0x68F2 # <CJK>
-0x15F75 0x68E3 # <CJK>
-0x15F76 0x68CB # <CJK>
-0x15F77 0x68CD # <CJK>
-0x15F78 0x690D # <CJK>
-0x15F79 0x6912 # <CJK>
-0x15F7A 0x690E # <CJK>
-0x15F7B 0x68C9 # <CJK>
-0x15F7C 0x68DA # <CJK>
-0x15F7D 0x696E # <CJK>
-0x15F7E 0x68FB # <CJK>
-0x16021 0x6B3E # <CJK>
-0x16022 0x6B3A # <CJK>
-0x16023 0x6B3D # <CJK>
-0x16024 0x6B98 # <CJK>
-0x16025 0x6B96 # <CJK>
-0x16026 0x6BBC # <CJK>
-0x16027 0x6BEF # <CJK>
-0x16028 0x6C2E # <CJK>
-0x16029 0x6C2F # <CJK>
-0x1602A 0x6C2C # <CJK>
-0x1602B 0x6E2F # <CJK>
-0x1602C 0x6E38 # <CJK>
-0x1602D 0x6E54 # <CJK>
-0x1602E 0x6E21 # <CJK>
-0x1602F 0x6E32 # <CJK>
-0x16030 0x6E67 # <CJK>
-0x16031 0x6E4A # <CJK>
-0x16032 0x6E20 # <CJK>
-0x16033 0x6E25 # <CJK>
-0x16034 0x6E23 # <CJK>
-0x16035 0x6E1B # <CJK>
-0x16036 0x6E5B # <CJK>
-0x16037 0x6E58 # <CJK>
-0x16038 0x6E24 # <CJK>
-0x16039 0x6E56 # <CJK>
-0x1603A 0x6E6E # <CJK>
-0x1603B 0x6E2D # <CJK>
-0x1603C 0x6E26 # <CJK>
-0x1603D 0x6E6F # <CJK>
-0x1603E 0x6E34 # <CJK>
-0x1603F 0x6E4D # <CJK>
-0x16040 0x6E3A # <CJK>
-0x16041 0x6E2C # <CJK>
-0x16042 0x6E43 # <CJK>
-0x16043 0x6E1D # <CJK>
-0x16044 0x6E3E # <CJK>
-0x16045 0x6ECB # <CJK>
-0x16046 0x6E89 # <CJK>
-0x16047 0x6E19 # <CJK>
-0x16048 0x6E4E # <CJK>
-0x16049 0x6E63 # <CJK>
-0x1604A 0x6E44 # <CJK>
-0x1604B 0x6E72 # <CJK>
-0x1604C 0x6E69 # <CJK>
-0x1604D 0x6E5F # <CJK>
-0x1604E 0x7119 # <CJK>
-0x1604F 0x711A # <CJK>
-0x16050 0x7126 # <CJK>
-0x16051 0x7130 # <CJK>
-0x16052 0x7121 # <CJK>
-0x16053 0x7136 # <CJK>
-0x16054 0x716E # <CJK>
-0x16055 0x711C # <CJK>
-0x16056 0x724C # <CJK>
-0x16057 0x7284 # <CJK>
-0x16058 0x7280 # <CJK>
-0x16059 0x7336 # <CJK>
-0x1605A 0x7325 # <CJK>
-0x1605B 0x7334 # <CJK>
-0x1605C 0x7329 # <CJK>
-0x1605D 0x743A # <CJK>
-0x1605E 0x742A # <CJK>
-0x1605F 0x7433 # <CJK>
-0x16060 0x7422 # <CJK>
-0x16061 0x7425 # <CJK>
-0x16062 0x7435 # <CJK>
-0x16063 0x7436 # <CJK>
-0x16064 0x7434 # <CJK>
-0x16065 0x742F # <CJK>
-0x16066 0x741B # <CJK>
-0x16067 0x7426 # <CJK>
-0x16068 0x7428 # <CJK>
-0x16069 0x7525 # <CJK>
-0x1606A 0x7526 # <CJK>
-0x1606B 0x756B # <CJK>
-0x1606C 0x756A # <CJK>
-0x1606D 0x75E2 # <CJK>
-0x1606E 0x75DB # <CJK>
-0x1606F 0x75E3 # <CJK>
-0x16070 0x75D9 # <CJK>
-0x16071 0x75D8 # <CJK>
-0x16072 0x75DE # <CJK>
-0x16073 0x75E0 # <CJK>
-0x16074 0x767B # <CJK>
-0x16075 0x767C # <CJK>
-0x16076 0x7696 # <CJK>
-0x16077 0x7693 # <CJK>
-0x16078 0x76B4 # <CJK>
-0x16079 0x76DC # <CJK>
-0x1607A 0x774F # <CJK>
-0x1607B 0x77ED # <CJK>
-0x1607C 0x785D # <CJK>
-0x1607D 0x786C # <CJK>
-0x1607E 0x786F # <CJK>
-0x16121 0x7A0D # <CJK>
-0x16122 0x7A08 # <CJK>
-0x16123 0x7A0B # <CJK>
-0x16124 0x7A05 # <CJK>
-0x16125 0x7A00 # <CJK>
-0x16126 0x7A98 # <CJK>
-0x16127 0x7A97 # <CJK>
-0x16128 0x7A96 # <CJK>
-0x16129 0x7AE5 # <CJK>
-0x1612A 0x7AE3 # <CJK>
-0x1612B 0x7B49 # <CJK>
-0x1612C 0x7B56 # <CJK>
-0x1612D 0x7B46 # <CJK>
-0x1612E 0x7B50 # <CJK>
-0x1612F 0x7B52 # <CJK>
-0x16130 0x7B54 # <CJK>
-0x16131 0x7B4D # <CJK>
-0x16132 0x7B4B # <CJK>
-0x16133 0x7B4F # <CJK>
-0x16134 0x7B51 # <CJK>
-0x16135 0x7C9F # <CJK>
-0x16136 0x7CA5 # <CJK>
-0x16137 0x7D5E # <CJK>
-0x16138 0x7D50 # <CJK>
-0x16139 0x7D68 # <CJK>
-0x1613A 0x7D55 # <CJK>
-0x1613B 0x7D2B # <CJK>
-0x1613C 0x7D6E # <CJK>
-0x1613D 0x7D72 # <CJK>
-0x1613E 0x7D61 # <CJK>
-0x1613F 0x7D66 # <CJK>
-0x16140 0x7D62 # <CJK>
-0x16141 0x7D70 # <CJK>
-0x16142 0x7D73 # <CJK>
-0x16143 0x5584 # <CJK>
-0x16144 0x7FD4 # <CJK>
-0x16145 0x7FD5 # <CJK>
-0x16146 0x800B # <CJK>
-0x16147 0x8052 # <CJK>
-0x16148 0x8085 # <CJK>
-0x16149 0x8155 # <CJK>
-0x1614A 0x8154 # <CJK>
-0x1614B 0x814B # <CJK>
-0x1614C 0x8151 # <CJK>
-0x1614D 0x814E # <CJK>
-0x1614E 0x8139 # <CJK>
-0x1614F 0x8146 # <CJK>
-0x16150 0x813E # <CJK>
-0x16151 0x814C # <CJK>
-0x16152 0x8153 # <CJK>
-0x16153 0x8174 # <CJK>
-0x16154 0x8212 # <CJK>
-0x16155 0x821C # <CJK>
-0x16156 0x83E9 # <CJK>
-0x16157 0x8403 # <CJK>
-0x16158 0x83F8 # <CJK>
-0x16159 0x840D # <CJK>
-0x1615A 0x83E0 # <CJK>
-0x1615B 0x83C5 # <CJK>
-0x1615C 0x840B # <CJK>
-0x1615D 0x83C1 # <CJK>
-0x1615E 0x83EF # <CJK>
-0x1615F 0x83F1 # <CJK>
-0x16160 0x83F4 # <CJK>
-0x16161 0x8457 # <CJK>
-0x16162 0x840A # <CJK>
-0x16163 0x83F0 # <CJK>
-0x16164 0x840C # <CJK>
-0x16165 0x83CC # <CJK>
-0x16166 0x83FD # <CJK>
-0x16167 0x83F2 # <CJK>
-0x16168 0x83CA # <CJK>
-0x16169 0x8438 # <CJK>
-0x1616A 0x840E # <CJK>
-0x1616B 0x8404 # <CJK>
-0x1616C 0x83DC # <CJK>
-0x1616D 0x8407 # <CJK>
-0x1616E 0x83D4 # <CJK>
-0x1616F 0x83DF # <CJK>
-0x16170 0x865B # <CJK>
-0x16171 0x86DF # <CJK>
-0x16172 0x86D9 # <CJK>
-0x16173 0x86ED # <CJK>
-0x16174 0x86D4 # <CJK>
-0x16175 0x86DB # <CJK>
-0x16176 0x86E4 # <CJK>
-0x16177 0x86D0 # <CJK>
-0x16178 0x86DE # <CJK>
-0x16179 0x8857 # <CJK>
-0x1617A 0x88C1 # <CJK>
-0x1617B 0x88C2 # <CJK>
-0x1617C 0x88B1 # <CJK>
-0x1617D 0x8983 # <CJK>
-0x1617E 0x8996 # <CJK>
-0x16221 0x8A3B # <CJK>
-0x16222 0x8A60 # <CJK>
-0x16223 0x8A55 # <CJK>
-0x16224 0x8A5E # <CJK>
-0x16225 0x8A3C # <CJK>
-0x16226 0x8A41 # <CJK>
-0x16227 0x8A54 # <CJK>
-0x16228 0x8A5B # <CJK>
-0x16229 0x8A50 # <CJK>
-0x1622A 0x8A46 # <CJK>
-0x1622B 0x8A34 # <CJK>
-0x1622C 0x8A3A # <CJK>
-0x1622D 0x8A36 # <CJK>
-0x1622E 0x8A56 # <CJK>
-0x1622F 0x8C61 # <CJK>
-0x16230 0x8C82 # <CJK>
-0x16231 0x8CAF # <CJK>
-0x16232 0x8CBC # <CJK>
-0x16233 0x8CB3 # <CJK>
-0x16234 0x8CBD # <CJK>
-0x16235 0x8CC1 # <CJK>
-0x16236 0x8CBB # <CJK>
-0x16237 0x8CC0 # <CJK>
-0x16238 0x8CB4 # <CJK>
-0x16239 0x8CB7 # <CJK>
-0x1623A 0x8CB6 # <CJK>
-0x1623B 0x8CBF # <CJK>
-0x1623C 0x8CB8 # <CJK>
-0x1623D 0x8D8A # <CJK>
-0x1623E 0x8D85 # <CJK>
-0x1623F 0x8D81 # <CJK>
-0x16240 0x8DCE # <CJK>
-0x16241 0x8DDD # <CJK>
-0x16242 0x8DCB # <CJK>
-0x16243 0x8DDA # <CJK>
-0x16244 0x8DD1 # <CJK>
-0x16245 0x8DCC # <CJK>
-0x16246 0x8DDB # <CJK>
-0x16247 0x8DC6 # <CJK>
-0x16248 0x8EFB # <CJK>
-0x16249 0x8EF8 # <CJK>
-0x1624A 0x8EFC # <CJK>
-0x1624B 0x8F9C # <CJK>
-0x1624C 0x902E # <CJK>
-0x1624D 0x9035 # <CJK>
-0x1624E 0x9031 # <CJK>
-0x1624F 0x9038 # <CJK>
-0x16250 0x9032 # <CJK>
-0x16251 0x9036 # <CJK>
-0x16252 0x9102 # <CJK>
-0x16253 0x90F5 # <CJK>
-0x16254 0x9109 # <CJK>
-0x16255 0x90FE # <CJK>
-0x16256 0x9163 # <CJK>
-0x16257 0x9165 # <CJK>
-0x16258 0x91CF # <CJK>
-0x16259 0x9214 # <CJK>
-0x1625A 0x9215 # <CJK>
-0x1625B 0x9223 # <CJK>
-0x1625C 0x9209 # <CJK>
-0x1625D 0x921E # <CJK>
-0x1625E 0x920D # <CJK>
-0x1625F 0x9210 # <CJK>
-0x16260 0x9207 # <CJK>
-0x16261 0x9211 # <CJK>
-0x16262 0x9594 # <CJK>
-0x16263 0x958F # <CJK>
-0x16264 0x958B # <CJK>
-0x16265 0x9591 # <CJK>
-0x16266 0x9593 # <CJK>
-0x16267 0x9592 # <CJK>
-0x16268 0x958E # <CJK>
-0x16269 0x968A # <CJK>
-0x1626A 0x968E # <CJK>
-0x1626B 0x968B # <CJK>
-0x1626C 0x967D # <CJK>
-0x1626D 0x9685 # <CJK>
-0x1626E 0x9686 # <CJK>
-0x1626F 0x968D # <CJK>
-0x16270 0x9672 # <CJK>
-0x16271 0x9684 # <CJK>
-0x16272 0x96C1 # <CJK>
-0x16273 0x96C5 # <CJK>
-0x16274 0x96C4 # <CJK>
-0x16275 0x96C6 # <CJK>
-0x16276 0x96C7 # <CJK>
-0x16277 0x96EF # <CJK>
-0x16278 0x96F2 # <CJK>
-0x16279 0x97CC # <CJK>
-0x1627A 0x9805 # <CJK>
-0x1627B 0x9806 # <CJK>
-0x1627C 0x9808 # <CJK>
-0x1627D 0x98E7 # <CJK>
-0x1627E 0x98EA # <CJK>
-0x16321 0x98EF # <CJK>
-0x16322 0x98E9 # <CJK>
-0x16323 0x98F2 # <CJK>
-0x16324 0x98ED # <CJK>
-0x16325 0x99AE # <CJK>
-0x16326 0x99AD # <CJK>
-0x16327 0x9EC3 # <CJK>
-0x16328 0x9ECD # <CJK>
-0x16329 0x9ED1 # <CJK>
-0x1632A 0x4E82 # <CJK>
-0x1632B 0x50AD # <CJK>
-0x1632C 0x50B5 # <CJK>
-0x1632D 0x50B2 # <CJK>
-0x1632E 0x50B3 # <CJK>
-0x1632F 0x50C5 # <CJK>
-0x16330 0x50BE # <CJK>
-0x16331 0x50AC # <CJK>
-0x16332 0x50B7 # <CJK>
-0x16333 0x50BB # <CJK>
-0x16334 0x50AF # <CJK>
-0x16335 0x50C7 # <CJK>
-0x16336 0x527F # <CJK>
-0x16337 0x5277 # <CJK>
-0x16338 0x527D # <CJK>
-0x16339 0x52DF # <CJK>
-0x1633A 0x52E6 # <CJK>
-0x1633B 0x52E4 # <CJK>
-0x1633C 0x52E2 # <CJK>
-0x1633D 0x52E3 # <CJK>
-0x1633E 0x532F # <CJK>
-0x1633F 0x55DF # <CJK>
-0x16340 0x55E8 # <CJK>
-0x16341 0x55D3 # <CJK>
-0x16342 0x55E6 # <CJK>
-0x16343 0x55CE # <CJK>
-0x16344 0x55DC # <CJK>
-0x16345 0x55C7 # <CJK>
-0x16346 0x55D1 # <CJK>
-0x16347 0x55E3 # <CJK>
-0x16348 0x55E4 # <CJK>
-0x16349 0x55EF # <CJK>
-0x1634A 0x55DA # <CJK>
-0x1634B 0x55E1 # <CJK>
-0x1634C 0x55C5 # <CJK>
-0x1634D 0x55C6 # <CJK>
-0x1634E 0x55E5 # <CJK>
-0x1634F 0x55C9 # <CJK>
-0x16350 0x5712 # <CJK>
-0x16351 0x5713 # <CJK>
-0x16352 0x585E # <CJK>
-0x16353 0x5851 # <CJK>
-0x16354 0x5858 # <CJK>
-0x16355 0x5857 # <CJK>
-0x16356 0x585A # <CJK>
-0x16357 0x5854 # <CJK>
-0x16358 0x586B # <CJK>
-0x16359 0x584C # <CJK>
-0x1635A 0x586D # <CJK>
-0x1635B 0x584A # <CJK>
-0x1635C 0x5862 # <CJK>
-0x1635D 0x5852 # <CJK>
-0x1635E 0x584B # <CJK>
-0x1635F 0x5967 # <CJK>
-0x16360 0x5AC1 # <CJK>
-0x16361 0x5AC9 # <CJK>
-0x16362 0x5ACC # <CJK>
-0x16363 0x5ABE # <CJK>
-0x16364 0x5ABD # <CJK>
-0x16365 0x5ABC # <CJK>
-0x16366 0x5AB3 # <CJK>
-0x16367 0x5AC2 # <CJK>
-0x16368 0x5AB2 # <CJK>
-0x16369 0x5D69 # <CJK>
-0x1636A 0x5D6F # <CJK>
-0x1636B 0x5E4C # <CJK>
-0x1636C 0x5E79 # <CJK>
-0x1636D 0x5EC9 # <CJK>
-0x1636E 0x5EC8 # <CJK>
-0x1636F 0x5F12 # <CJK>
-0x16370 0x5F59 # <CJK>
-0x16371 0x5FAC # <CJK>
-0x16372 0x5FAE # <CJK>
-0x16373 0x611A # <CJK>
-0x16374 0x610F # <CJK>
-0x16375 0x6148 # <CJK>
-0x16376 0x611F # <CJK>
-0x16377 0x60F3 # <CJK>
-0x16378 0x611B # <CJK>
-0x16379 0x60F9 # <CJK>
-0x1637A 0x6101 # <CJK>
-0x1637B 0x6108 # <CJK>
-0x1637C 0x614E # <CJK>
-0x1637D 0x614C # <CJK>
-0x1637E 0x6144 # <CJK>
-0x16421 0x614D # <CJK>
-0x16422 0x613E # <CJK>
-0x16423 0x6134 # <CJK>
-0x16424 0x6127 # <CJK>
-0x16425 0x610D # <CJK>
-0x16426 0x6106 # <CJK>
-0x16427 0x6137 # <CJK>
-0x16428 0x6221 # <CJK>
-0x16429 0x6222 # <CJK>
-0x1642A 0x6413 # <CJK>
-0x1642B 0x643E # <CJK>
-0x1642C 0x641E # <CJK>
-0x1642D 0x642A # <CJK>
-0x1642E 0x642D # <CJK>
-0x1642F 0x643D # <CJK>
-0x16430 0x642C # <CJK>
-0x16431 0x640F # <CJK>
-0x16432 0x641C # <CJK>
-0x16433 0x6414 # <CJK>
-0x16434 0x640D # <CJK>
-0x16435 0x6436 # <CJK>
-0x16436 0x6416 # <CJK>
-0x16437 0x6417 # <CJK>
-0x16438 0x6406 # <CJK>
-0x16439 0x656C # <CJK>
-0x1643A 0x659F # <CJK>
-0x1643B 0x65B0 # <CJK>
-0x1643C 0x6697 # <CJK>
-0x1643D 0x6689 # <CJK>
-0x1643E 0x6687 # <CJK>
-0x1643F 0x6688 # <CJK>
-0x16440 0x6696 # <CJK>
-0x16441 0x6684 # <CJK>
-0x16442 0x6698 # <CJK>
-0x16443 0x668D # <CJK>
-0x16444 0x6703 # <CJK>
-0x16445 0x6994 # <CJK>
-0x16446 0x696D # <CJK>
-0x16447 0x695A # <CJK>
-0x16448 0x6977 # <CJK>
-0x16449 0x6960 # <CJK>
-0x1644A 0x6954 # <CJK>
-0x1644B 0x6975 # <CJK>
-0x1644C 0x6930 # <CJK>
-0x1644D 0x6982 # <CJK>
-0x1644E 0x694A # <CJK>
-0x1644F 0x6968 # <CJK>
-0x16450 0x696B # <CJK>
-0x16451 0x695E # <CJK>
-0x16452 0x6953 # <CJK>
-0x16453 0x6979 # <CJK>
-0x16454 0x6986 # <CJK>
-0x16455 0x695D # <CJK>
-0x16456 0x6963 # <CJK>
-0x16457 0x695B # <CJK>
-0x16458 0x6B47 # <CJK>
-0x16459 0x6B72 # <CJK>
-0x1645A 0x6BC0 # <CJK>
-0x1645B 0x6BBF # <CJK>
-0x1645C 0x6BD3 # <CJK>
-0x1645D 0x6BFD # <CJK>
-0x1645E 0x6EA2 # <CJK>
-0x1645F 0x6EAF # <CJK>
-0x16460 0x6ED3 # <CJK>
-0x16461 0x6EB6 # <CJK>
-0x16462 0x6EC2 # <CJK>
-0x16463 0x6E90 # <CJK>
-0x16464 0x6E9D # <CJK>
-0x16465 0x6EC7 # <CJK>
-0x16466 0x6EC5 # <CJK>
-0x16467 0x6EA5 # <CJK>
-0x16468 0x6E98 # <CJK>
-0x16469 0x6EBC # <CJK>
-0x1646A 0x6EBA # <CJK>
-0x1646B 0x6EAB # <CJK>
-0x1646C 0x6ED1 # <CJK>
-0x1646D 0x6E96 # <CJK>
-0x1646E 0x6E9C # <CJK>
-0x1646F 0x6EC4 # <CJK>
-0x16470 0x6ED4 # <CJK>
-0x16471 0x6EAA # <CJK>
-0x16472 0x6EA7 # <CJK>
-0x16473 0x6EB4 # <CJK>
-0x16474 0x714E # <CJK>
-0x16475 0x7159 # <CJK>
-0x16476 0x7169 # <CJK>
-0x16477 0x7164 # <CJK>
-0x16478 0x7149 # <CJK>
-0x16479 0x7167 # <CJK>
-0x1647A 0x715C # <CJK>
-0x1647B 0x716C # <CJK>
-0x1647C 0x7166 # <CJK>
-0x1647D 0x714C # <CJK>
-0x1647E 0x7165 # <CJK>
-0x16521 0x715E # <CJK>
-0x16522 0x7146 # <CJK>
-0x16523 0x7168 # <CJK>
-0x16524 0x7156 # <CJK>
-0x16525 0x723A # <CJK>
-0x16526 0x7252 # <CJK>
-0x16527 0x7337 # <CJK>
-0x16528 0x7345 # <CJK>
-0x16529 0x733F # <CJK>
-0x1652A 0x733E # <CJK>
-0x1652B 0x746F # <CJK>
-0x1652C 0x745A # <CJK>
-0x1652D 0x7455 # <CJK>
-0x1652E 0x745F # <CJK>
-0x1652F 0x745E # <CJK>
-0x16530 0x7441 # <CJK>
-0x16531 0x743F # <CJK>
-0x16532 0x7459 # <CJK>
-0x16533 0x745B # <CJK>
-0x16534 0x745C # <CJK>
-0x16535 0x7576 # <CJK>
-0x16536 0x7578 # <CJK>
-0x16537 0x7600 # <CJK>
-0x16538 0x75F0 # <CJK>
-0x16539 0x7601 # <CJK>
-0x1653A 0x75F2 # <CJK>
-0x1653B 0x75F1 # <CJK>
-0x1653C 0x75FA # <CJK>
-0x1653D 0x75FF # <CJK>
-0x1653E 0x75F4 # <CJK>
-0x1653F 0x75F3 # <CJK>
-0x16540 0x76DE # <CJK>
-0x16541 0x76DF # <CJK>
-0x16542 0x775B # <CJK>
-0x16543 0x776B # <CJK>
-0x16544 0x7766 # <CJK>
-0x16545 0x775E # <CJK>
-0x16546 0x7763 # <CJK>
-0x16547 0x7779 # <CJK>
-0x16548 0x776A # <CJK>
-0x16549 0x776C # <CJK>
-0x1654A 0x775C # <CJK>
-0x1654B 0x7765 # <CJK>
-0x1654C 0x7768 # <CJK>
-0x1654D 0x7762 # <CJK>
-0x1654E 0x77EE # <CJK>
-0x1654F 0x788E # <CJK>
-0x16550 0x78B0 # <CJK>
-0x16551 0x7897 # <CJK>
-0x16552 0x7898 # <CJK>
-0x16553 0x788C # <CJK>
-0x16554 0x7889 # <CJK>
-0x16555 0x787C # <CJK>
-0x16556 0x7891 # <CJK>
-0x16557 0x7893 # <CJK>
-0x16558 0x787F # <CJK>
-0x16559 0x797A # <CJK>
-0x1655A 0x797F # <CJK>
-0x1655B 0x7981 # <CJK>
-0x1655C 0x842C # <CJK>
-0x1655D 0x79BD # <CJK>
-0x1655E 0x7A1C # <CJK>
-0x1655F 0x7A1A # <CJK>
-0x16560 0x7A20 # <CJK>
-0x16561 0x7A14 # <CJK>
-0x16562 0x7A1F # <CJK>
-0x16563 0x7A1E # <CJK>
-0x16564 0x7A9F # <CJK>
-0x16565 0x7AA0 # <CJK>
-0x16566 0x7B77 # <CJK>
-0x16567 0x7BC0 # <CJK>
-0x16568 0x7B60 # <CJK>
-0x16569 0x7B6E # <CJK>
-0x1656A 0x7B67 # <CJK>
-0x1656B 0x7CB1 # <CJK>
-0x1656C 0x7CB3 # <CJK>
-0x1656D 0x7CB5 # <CJK>
-0x1656E 0x7D93 # <CJK>
-0x1656F 0x7D79 # <CJK>
-0x16570 0x7D91 # <CJK>
-0x16571 0x7D81 # <CJK>
-0x16572 0x7D8F # <CJK>
-0x16573 0x7D5B # <CJK>
-0x16574 0x7F6E # <CJK>
-0x16575 0x7F69 # <CJK>
-0x16576 0x7F6A # <CJK>
-0x16577 0x7F72 # <CJK>
-0x16578 0x7FA9 # <CJK>
-0x16579 0x7FA8 # <CJK>
-0x1657A 0x7FA4 # <CJK>
-0x1657B 0x8056 # <CJK>
-0x1657C 0x8058 # <CJK>
-0x1657D 0x8086 # <CJK>
-0x1657E 0x8084 # <CJK>
-0x16621 0x8171 # <CJK>
-0x16622 0x8170 # <CJK>
-0x16623 0x8178 # <CJK>
-0x16624 0x8165 # <CJK>
-0x16625 0x816E # <CJK>
-0x16626 0x8173 # <CJK>
-0x16627 0x816B # <CJK>
-0x16628 0x8179 # <CJK>
-0x16629 0x817A # <CJK>
-0x1662A 0x8166 # <CJK>
-0x1662B 0x8205 # <CJK>
-0x1662C 0x8247 # <CJK>
-0x1662D 0x8482 # <CJK>
-0x1662E 0x8477 # <CJK>
-0x1662F 0x843D # <CJK>
-0x16630 0x8431 # <CJK>
-0x16631 0x8475 # <CJK>
-0x16632 0x8466 # <CJK>
-0x16633 0x846B # <CJK>
-0x16634 0x8449 # <CJK>
-0x16635 0x846C # <CJK>
-0x16636 0x845B # <CJK>
-0x16637 0x843C # <CJK>
-0x16638 0x8435 # <CJK>
-0x16639 0x8461 # <CJK>
-0x1663A 0x8463 # <CJK>
-0x1663B 0x8469 # <CJK>
-0x1663C 0x846D # <CJK>
-0x1663D 0x8446 # <CJK>
-0x1663E 0x865E # <CJK>
-0x1663F 0x865C # <CJK>
-0x16640 0x865F # <CJK>
-0x16641 0x86F9 # <CJK>
-0x16642 0x8713 # <CJK>
-0x16643 0x8708 # <CJK>
-0x16644 0x8707 # <CJK>
-0x16645 0x8700 # <CJK>
-0x16646 0x86FE # <CJK>
-0x16647 0x86FB # <CJK>
-0x16648 0x8702 # <CJK>
-0x16649 0x8703 # <CJK>
-0x1664A 0x8706 # <CJK>
-0x1664B 0x870A # <CJK>
-0x1664C 0x8859 # <CJK>
-0x1664D 0x88DF # <CJK>
-0x1664E 0x88D4 # <CJK>
-0x1664F 0x88D9 # <CJK>
-0x16650 0x88DC # <CJK>
-0x16651 0x88D8 # <CJK>
-0x16652 0x88DD # <CJK>
-0x16653 0x88E1 # <CJK>
-0x16654 0x88CA # <CJK>
-0x16655 0x88D5 # <CJK>
-0x16656 0x88D2 # <CJK>
-0x16657 0x899C # <CJK>
-0x16658 0x89E3 # <CJK>
-0x16659 0x8A6B # <CJK>
-0x1665A 0x8A72 # <CJK>
-0x1665B 0x8A73 # <CJK>
-0x1665C 0x8A66 # <CJK>
-0x1665D 0x8A69 # <CJK>
-0x1665E 0x8A70 # <CJK>
-0x1665F 0x8A87 # <CJK>
-0x16660 0x8A7C # <CJK>
-0x16661 0x8A63 # <CJK>
-0x16662 0x8AA0 # <CJK>
-0x16663 0x8A71 # <CJK>
-0x16664 0x8A85 # <CJK>
-0x16665 0x8A6D # <CJK>
-0x16666 0x8A62 # <CJK>
-0x16667 0x8A6E # <CJK>
-0x16668 0x8A6C # <CJK>
-0x16669 0x8A79 # <CJK>
-0x1666A 0x8A7B # <CJK>
-0x1666B 0x8A3E # <CJK>
-0x1666C 0x8A68 # <CJK>
-0x1666D 0x8C62 # <CJK>
-0x1666E 0x8C8A # <CJK>
-0x1666F 0x8C89 # <CJK>
-0x16670 0x8CCA # <CJK>
-0x16671 0x8CC7 # <CJK>
-0x16672 0x8CC8 # <CJK>
-0x16673 0x8CC4 # <CJK>
-0x16674 0x8CB2 # <CJK>
-0x16675 0x8CC3 # <CJK>
-0x16676 0x8CC2 # <CJK>
-0x16677 0x8CC5 # <CJK>
-0x16678 0x8DE1 # <CJK>
-0x16679 0x8DDF # <CJK>
-0x1667A 0x8DE8 # <CJK>
-0x1667B 0x8DEF # <CJK>
-0x1667C 0x8DF3 # <CJK>
-0x1667D 0x8DFA # <CJK>
-0x1667E 0x8DEA # <CJK>
-0x16721 0x8DE4 # <CJK>
-0x16722 0x8DE6 # <CJK>
-0x16723 0x8EB2 # <CJK>
-0x16724 0x8F03 # <CJK>
-0x16725 0x8F09 # <CJK>
-0x16726 0x8EFE # <CJK>
-0x16727 0x8F0A # <CJK>
-0x16728 0x8F9F # <CJK>
-0x16729 0x8FB2 # <CJK>
-0x1672A 0x904B # <CJK>
-0x1672B 0x904A # <CJK>
-0x1672C 0x9053 # <CJK>
-0x1672D 0x9042 # <CJK>
-0x1672E 0x9054 # <CJK>
-0x1672F 0x903C # <CJK>
-0x16730 0x9055 # <CJK>
-0x16731 0x9050 # <CJK>
-0x16732 0x9047 # <CJK>
-0x16733 0x904F # <CJK>
-0x16734 0x904E # <CJK>
-0x16735 0x904D # <CJK>
-0x16736 0x9051 # <CJK>
-0x16737 0x903E # <CJK>
-0x16738 0x9041 # <CJK>
-0x16739 0x9112 # <CJK>
-0x1673A 0x9117 # <CJK>
-0x1673B 0x916C # <CJK>
-0x1673C 0x916A # <CJK>
-0x1673D 0x9169 # <CJK>
-0x1673E 0x91C9 # <CJK>
-0x1673F 0x9237 # <CJK>
-0x16740 0x9257 # <CJK>
-0x16741 0x9238 # <CJK>
-0x16742 0x923D # <CJK>
-0x16743 0x9240 # <CJK>
-0x16744 0x923E # <CJK>
-0x16745 0x925B # <CJK>
-0x16746 0x924B # <CJK>
-0x16747 0x9264 # <CJK>
-0x16748 0x9251 # <CJK>
-0x16749 0x9234 # <CJK>
-0x1674A 0x9249 # <CJK>
-0x1674B 0x924D # <CJK>
-0x1674C 0x9245 # <CJK>
-0x1674D 0x9239 # <CJK>
-0x1674E 0x923F # <CJK>
-0x1674F 0x925A # <CJK>
-0x16750 0x9598 # <CJK>
-0x16751 0x9698 # <CJK>
-0x16752 0x9694 # <CJK>
-0x16753 0x9695 # <CJK>
-0x16754 0x96CD # <CJK>
-0x16755 0x96CB # <CJK>
-0x16756 0x96C9 # <CJK>
-0x16757 0x96CA # <CJK>
-0x16758 0x96F7 # <CJK>
-0x16759 0x96FB # <CJK>
-0x1675A 0x96F9 # <CJK>
-0x1675B 0x96F6 # <CJK>
-0x1675C 0x9756 # <CJK>
-0x1675D 0x9774 # <CJK>
-0x1675E 0x9776 # <CJK>
-0x1675F 0x9810 # <CJK>
-0x16760 0x9811 # <CJK>
-0x16761 0x9813 # <CJK>
-0x16762 0x980A # <CJK>
-0x16763 0x9812 # <CJK>
-0x16764 0x980C # <CJK>
-0x16765 0x98FC # <CJK>
-0x16766 0x98F4 # <CJK>
-0x16767 0x98FD # <CJK>
-0x16768 0x98FE # <CJK>
-0x16769 0x99B3 # <CJK>
-0x1676A 0x99B1 # <CJK>
-0x1676B 0x99B4 # <CJK>
-0x1676C 0x9AE1 # <CJK>
-0x1676D 0x9CE9 # <CJK>
-0x1676E 0x9E82 # <CJK>
-0x1676F 0x9F0E # <CJK>
-0x16770 0x9F13 # <CJK>
-0x16771 0x9F20 # <CJK>
-0x16772 0x50E7 # <CJK>
-0x16773 0x50EE # <CJK>
-0x16774 0x50E5 # <CJK>
-0x16775 0x50D6 # <CJK>
-0x16776 0x50ED # <CJK>
-0x16777 0x50DA # <CJK>
-0x16778 0x50D5 # <CJK>
-0x16779 0x50CF # <CJK>
-0x1677A 0x50D1 # <CJK>
-0x1677B 0x50F1 # <CJK>
-0x1677C 0x50CE # <CJK>
-0x1677D 0x50E9 # <CJK>
-0x1677E 0x5162 # <CJK>
-0x16821 0x51F3 # <CJK>
-0x16822 0x5283 # <CJK>
-0x16823 0x5282 # <CJK>
-0x16824 0x5331 # <CJK>
-0x16825 0x53AD # <CJK>
-0x16826 0x55FE # <CJK>
-0x16827 0x5600 # <CJK>
-0x16828 0x561B # <CJK>
-0x16829 0x5617 # <CJK>
-0x1682A 0x55FD # <CJK>
-0x1682B 0x5614 # <CJK>
-0x1682C 0x5606 # <CJK>
-0x1682D 0x5609 # <CJK>
-0x1682E 0x560D # <CJK>
-0x1682F 0x560E # <CJK>
-0x16830 0x55F7 # <CJK>
-0x16831 0x5616 # <CJK>
-0x16832 0x561F # <CJK>
-0x16833 0x5608 # <CJK>
-0x16834 0x5610 # <CJK>
-0x16835 0x55F6 # <CJK>
-0x16836 0x5718 # <CJK>
-0x16837 0x5716 # <CJK>
-0x16838 0x5875 # <CJK>
-0x16839 0x587E # <CJK>
-0x1683A 0x5883 # <CJK>
-0x1683B 0x5893 # <CJK>
-0x1683C 0x588A # <CJK>
-0x1683D 0x5879 # <CJK>
-0x1683E 0x5885 # <CJK>
-0x1683F 0x587D # <CJK>
-0x16840 0x58FD # <CJK>
-0x16841 0x5925 # <CJK>
-0x16842 0x5922 # <CJK>
-0x16843 0x5924 # <CJK>
-0x16844 0x596A # <CJK>
-0x16845 0x5969 # <CJK>
-0x16846 0x5AE1 # <CJK>
-0x16847 0x5AE6 # <CJK>
-0x16848 0x5AE9 # <CJK>
-0x16849 0x5AD7 # <CJK>
-0x1684A 0x5AD6 # <CJK>
-0x1684B 0x5AD8 # <CJK>
-0x1684C 0x5AE3 # <CJK>
-0x1684D 0x5B75 # <CJK>
-0x1684E 0x5BDE # <CJK>
-0x1684F 0x5BE7 # <CJK>
-0x16850 0x5BE1 # <CJK>
-0x16851 0x5BE5 # <CJK>
-0x16852 0x5BE6 # <CJK>
-0x16853 0x5BE8 # <CJK>
-0x16854 0x5BE2 # <CJK>
-0x16855 0x5BE4 # <CJK>
-0x16856 0x5BDF # <CJK>
-0x16857 0x5C0D # <CJK>
-0x16858 0x5C62 # <CJK>
-0x16859 0x5D84 # <CJK>
-0x1685A 0x5D87 # <CJK>
-0x1685B 0x5E5B # <CJK>
-0x1685C 0x5E63 # <CJK>
-0x1685D 0x5E55 # <CJK>
-0x1685E 0x5E57 # <CJK>
-0x1685F 0x5E54 # <CJK>
-0x16860 0x5ED3 # <CJK>
-0x16861 0x5ED6 # <CJK>
-0x16862 0x5F0A # <CJK>
-0x16863 0x5F46 # <CJK>
-0x16864 0x5F70 # <CJK>
-0x16865 0x5FB9 # <CJK>
-0x16866 0x6147 # <CJK>
-0x16867 0x613F # <CJK>
-0x16868 0x614B # <CJK>
-0x16869 0x6177 # <CJK>
-0x1686A 0x6162 # <CJK>
-0x1686B 0x6163 # <CJK>
-0x1686C 0x615F # <CJK>
-0x1686D 0x615A # <CJK>
-0x1686E 0x6158 # <CJK>
-0x1686F 0x6175 # <CJK>
-0x16870 0x622A # <CJK>
-0x16871 0x6487 # <CJK>
-0x16872 0x6458 # <CJK>
-0x16873 0x6454 # <CJK>
-0x16874 0x64A4 # <CJK>
-0x16875 0x6478 # <CJK>
-0x16876 0x645F # <CJK>
-0x16877 0x647A # <CJK>
-0x16878 0x6451 # <CJK>
-0x16879 0x6467 # <CJK>
-0x1687A 0x6434 # <CJK>
-0x1687B 0x646D # <CJK>
-0x1687C 0x647B # <CJK>
-0x1687D 0x6572 # <CJK>
-0x1687E 0x65A1 # <CJK>
-0x16921 0x65D7 # <CJK>
-0x16922 0x65D6 # <CJK>
-0x16923 0x66A2 # <CJK>
-0x16924 0x66A8 # <CJK>
-0x16925 0x669D # <CJK>
-0x16926 0x699C # <CJK>
-0x16927 0x69A8 # <CJK>
-0x16928 0x6995 # <CJK>
-0x16929 0x69C1 # <CJK>
-0x1692A 0x69AE # <CJK>
-0x1692B 0x69D3 # <CJK>
-0x1692C 0x69CB # <CJK>
-0x1692D 0x699B # <CJK>
-0x1692E 0x69B7 # <CJK>
-0x1692F 0x69BB # <CJK>
-0x16930 0x69AB # <CJK>
-0x16931 0x69B4 # <CJK>
-0x16932 0x69D0 # <CJK>
-0x16933 0x69CD # <CJK>
-0x16934 0x69AD # <CJK>
-0x16935 0x69CC # <CJK>
-0x16936 0x69A6 # <CJK>
-0x16937 0x69C3 # <CJK>
-0x16938 0x69A3 # <CJK>
-0x16939 0x6B49 # <CJK>
-0x1693A 0x6B4C # <CJK>
-0x1693B 0x6C33 # <CJK>
-0x1693C 0x6F33 # <CJK>
-0x1693D 0x6F14 # <CJK>
-0x1693E 0x6EFE # <CJK>
-0x1693F 0x6F13 # <CJK>
-0x16940 0x6EF4 # <CJK>
-0x16941 0x6F29 # <CJK>
-0x16942 0x6F3E # <CJK>
-0x16943 0x6F20 # <CJK>
-0x16944 0x6F2C # <CJK>
-0x16945 0x6F0F # <CJK>
-0x16946 0x6F02 # <CJK>
-0x16947 0x6F22 # <CJK>
-0x16948 0x6EFF # <CJK>
-0x16949 0x6EEF # <CJK>
-0x1694A 0x6F06 # <CJK>
-0x1694B 0x6F31 # <CJK>
-0x1694C 0x6F38 # <CJK>
-0x1694D 0x6F32 # <CJK>
-0x1694E 0x6F23 # <CJK>
-0x1694F 0x6F15 # <CJK>
-0x16950 0x6F2B # <CJK>
-0x16951 0x6F2F # <CJK>
-0x16952 0x6F88 # <CJK>
-0x16953 0x6F2A # <CJK>
-0x16954 0x6EEC # <CJK>
-0x16955 0x6F01 # <CJK>
-0x16956 0x6EF2 # <CJK>
-0x16957 0x6ECC # <CJK>
-0x16958 0x6EF7 # <CJK>
-0x16959 0x7194 # <CJK>
-0x1695A 0x7199 # <CJK>
-0x1695B 0x717D # <CJK>
-0x1695C 0x718A # <CJK>
-0x1695D 0x7184 # <CJK>
-0x1695E 0x7192 # <CJK>
-0x1695F 0x723E # <CJK>
-0x16960 0x7292 # <CJK>
-0x16961 0x7296 # <CJK>
-0x16962 0x7344 # <CJK>
-0x16963 0x7350 # <CJK>
-0x16964 0x7464 # <CJK>
-0x16965 0x7463 # <CJK>
-0x16966 0x746A # <CJK>
-0x16967 0x7470 # <CJK>
-0x16968 0x746D # <CJK>
-0x16969 0x7504 # <CJK>
-0x1696A 0x7591 # <CJK>
-0x1696B 0x7627 # <CJK>
-0x1696C 0x760D # <CJK>
-0x1696D 0x760B # <CJK>
-0x1696E 0x7609 # <CJK>
-0x1696F 0x7613 # <CJK>
-0x16970 0x76E1 # <CJK>
-0x16971 0x76E3 # <CJK>
-0x16972 0x7784 # <CJK>
-0x16973 0x777D # <CJK>
-0x16974 0x777F # <CJK>
-0x16975 0x7761 # <CJK>
-0x16976 0x78C1 # <CJK>
-0x16977 0x789F # <CJK>
-0x16978 0x78A7 # <CJK>
-0x16979 0x78B3 # <CJK>
-0x1697A 0x78A9 # <CJK>
-0x1697B 0x78A3 # <CJK>
-0x1697C 0x798E # <CJK>
-0x1697D 0x798F # <CJK>
-0x1697E 0x798D # <CJK>
-0x16A21 0x7A2E # <CJK>
-0x16A22 0x7A31 # <CJK>
-0x16A23 0x7AAA # <CJK>
-0x16A24 0x7AA9 # <CJK>
-0x16A25 0x7AED # <CJK>
-0x16A26 0x7AEF # <CJK>
-0x16A27 0x7BA1 # <CJK>
-0x16A28 0x7B95 # <CJK>
-0x16A29 0x7B8B # <CJK>
-0x16A2A 0x7B75 # <CJK>
-0x16A2B 0x7B97 # <CJK>
-0x16A2C 0x7B9D # <CJK>
-0x16A2D 0x7B94 # <CJK>
-0x16A2E 0x7B8F # <CJK>
-0x16A2F 0x7BB8 # <CJK>
-0x16A30 0x7B87 # <CJK>
-0x16A31 0x7B84 # <CJK>
-0x16A32 0x7CB9 # <CJK>
-0x16A33 0x7CBD # <CJK>
-0x16A34 0x7CBE # <CJK>
-0x16A35 0x7DBB # <CJK>
-0x16A36 0x7DB0 # <CJK>
-0x16A37 0x7D9C # <CJK>
-0x16A38 0x7DBD # <CJK>
-0x16A39 0x7DBE # <CJK>
-0x16A3A 0x7DA0 # <CJK>
-0x16A3B 0x7DCA # <CJK>
-0x16A3C 0x7DB4 # <CJK>
-0x16A3D 0x7DB2 # <CJK>
-0x16A3E 0x7DB1 # <CJK>
-0x16A3F 0x7DBA # <CJK>
-0x16A40 0x7DA2 # <CJK>
-0x16A41 0x7DBF # <CJK>
-0x16A42 0x7DB5 # <CJK>
-0x16A43 0x7DB8 # <CJK>
-0x16A44 0x7DAD # <CJK>
-0x16A45 0x7DD2 # <CJK>
-0x16A46 0x7DC7 # <CJK>
-0x16A47 0x7DAC # <CJK>
-0x16A48 0x7F70 # <CJK>
-0x16A49 0x7FE0 # <CJK>
-0x16A4A 0x7FE1 # <CJK>
-0x16A4B 0x7FDF # <CJK>
-0x16A4C 0x805E # <CJK>
-0x16A4D 0x805A # <CJK>
-0x16A4E 0x8087 # <CJK>
-0x16A4F 0x8150 # <CJK>
-0x16A50 0x8180 # <CJK>
-0x16A51 0x818F # <CJK>
-0x16A52 0x8188 # <CJK>
-0x16A53 0x818A # <CJK>
-0x16A54 0x817F # <CJK>
-0x16A55 0x8182 # <CJK>
-0x16A56 0x81E7 # <CJK>
-0x16A57 0x81FA # <CJK>
-0x16A58 0x8207 # <CJK>
-0x16A59 0x8214 # <CJK>
-0x16A5A 0x821E # <CJK>
-0x16A5B 0x824B # <CJK>
-0x16A5C 0x84C9 # <CJK>
-0x16A5D 0x84BF # <CJK>
-0x16A5E 0x84C6 # <CJK>
-0x16A5F 0x84C4 # <CJK>
-0x16A60 0x8499 # <CJK>
-0x16A61 0x849E # <CJK>
-0x16A62 0x84B2 # <CJK>
-0x16A63 0x849C # <CJK>
-0x16A64 0x84CB # <CJK>
-0x16A65 0x84B8 # <CJK>
-0x16A66 0x84C0 # <CJK>
-0x16A67 0x84D3 # <CJK>
-0x16A68 0x8490 # <CJK>
-0x16A69 0x84BC # <CJK>
-0x16A6A 0x84D1 # <CJK>
-0x16A6B 0x84CA # <CJK>
-0x16A6C 0x873F # <CJK>
-0x16A6D 0x871C # <CJK>
-0x16A6E 0x873B # <CJK>
-0x16A6F 0x8722 # <CJK>
-0x16A70 0x8725 # <CJK>
-0x16A71 0x8734 # <CJK>
-0x16A72 0x8718 # <CJK>
-0x16A73 0x8755 # <CJK>
-0x16A74 0x8737 # <CJK>
-0x16A75 0x8729 # <CJK>
-0x16A76 0x88F3 # <CJK>
-0x16A77 0x8902 # <CJK>
-0x16A78 0x88F4 # <CJK>
-0x16A79 0x88F9 # <CJK>
-0x16A7A 0x88F8 # <CJK>
-0x16A7B 0x88FD # <CJK>
-0x16A7C 0x88E8 # <CJK>
-0x16A7D 0x891A # <CJK>
-0x16A7E 0x88EF # <CJK>
-0x16B21 0x8AA6 # <CJK>
-0x16B22 0x8A8C # <CJK>
-0x16B23 0x8A9E # <CJK>
-0x16B24 0x8AA3 # <CJK>
-0x16B25 0x8A8D # <CJK>
-0x16B26 0x8AA1 # <CJK>
-0x16B27 0x8A93 # <CJK>
-0x16B28 0x8AA4 # <CJK>
-0x16B29 0x8AAA # <CJK>
-0x16B2A 0x8AA5 # <CJK>
-0x16B2B 0x8AA8 # <CJK>
-0x16B2C 0x8A98 # <CJK>
-0x16B2D 0x8A91 # <CJK>
-0x16B2E 0x8A9A # <CJK>
-0x16B2F 0x8AA7 # <CJK>
-0x16B30 0x8C6A # <CJK>
-0x16B31 0x8C8D # <CJK>
-0x16B32 0x8C8C # <CJK>
-0x16B33 0x8CD3 # <CJK>
-0x16B34 0x8CD1 # <CJK>
-0x16B35 0x8CD2 # <CJK>
-0x16B36 0x8D6B # <CJK>
-0x16B37 0x8D99 # <CJK>
-0x16B38 0x8D95 # <CJK>
-0x16B39 0x8DFC # <CJK>
-0x16B3A 0x8F14 # <CJK>
-0x16B3B 0x8F12 # <CJK>
-0x16B3C 0x8F15 # <CJK>
-0x16B3D 0x8F13 # <CJK>
-0x16B3E 0x8FA3 # <CJK>
-0x16B3F 0x9060 # <CJK>
-0x16B40 0x9058 # <CJK>
-0x16B41 0x905C # <CJK>
-0x16B42 0x9063 # <CJK>
-0x16B43 0x9059 # <CJK>
-0x16B44 0x905E # <CJK>
-0x16B45 0x9062 # <CJK>
-0x16B46 0x905D # <CJK>
-0x16B47 0x905B # <CJK>
-0x16B48 0x9119 # <CJK>
-0x16B49 0x9118 # <CJK>
-0x16B4A 0x911E # <CJK>
-0x16B4B 0x9175 # <CJK>
-0x16B4C 0x9178 # <CJK>
-0x16B4D 0x9177 # <CJK>
-0x16B4E 0x9174 # <CJK>
-0x16B4F 0x9278 # <CJK>
-0x16B50 0x92AC # <CJK>
-0x16B51 0x9280 # <CJK>
-0x16B52 0x9285 # <CJK>
-0x16B53 0x9298 # <CJK>
-0x16B54 0x9296 # <CJK>
-0x16B55 0x927B # <CJK>
-0x16B56 0x9293 # <CJK>
-0x16B57 0x929C # <CJK>
-0x16B58 0x92A8 # <CJK>
-0x16B59 0x927C # <CJK>
-0x16B5A 0x9291 # <CJK>
-0x16B5B 0x95A1 # <CJK>
-0x16B5C 0x95A8 # <CJK>
-0x16B5D 0x95A9 # <CJK>
-0x16B5E 0x95A3 # <CJK>
-0x16B5F 0x95A5 # <CJK>
-0x16B60 0x95A4 # <CJK>
-0x16B61 0x9699 # <CJK>
-0x16B62 0x969C # <CJK>
-0x16B63 0x969B # <CJK>
-0x16B64 0x96CC # <CJK>
-0x16B65 0x96D2 # <CJK>
-0x16B66 0x9700 # <CJK>
-0x16B67 0x977C # <CJK>
-0x16B68 0x9785 # <CJK>
-0x16B69 0x97F6 # <CJK>
-0x16B6A 0x9817 # <CJK>
-0x16B6B 0x9818 # <CJK>
-0x16B6C 0x98AF # <CJK>
-0x16B6D 0x98B1 # <CJK>
-0x16B6E 0x9903 # <CJK>
-0x16B6F 0x9905 # <CJK>
-0x16B70 0x990C # <CJK>
-0x16B71 0x9909 # <CJK>
-0x16B72 0x99C1 # <CJK>
-0x16B73 0x9AAF # <CJK>
-0x16B74 0x9AB0 # <CJK>
-0x16B75 0x9AE6 # <CJK>
-0x16B76 0x9B41 # <CJK>
-0x16B77 0x9B42 # <CJK>
-0x16B78 0x9CF4 # <CJK>
-0x16B79 0x9CF6 # <CJK>
-0x16B7A 0x9CF3 # <CJK>
-0x16B7B 0x9EBC # <CJK>
-0x16B7C 0x9F3B # <CJK>
-0x16B7D 0x9F4A # <CJK>
-0x16B7E 0x5104 # <CJK>
-0x16C21 0x5100 # <CJK>
-0x16C22 0x50FB # <CJK>
-0x16C23 0x50F5 # <CJK>
-0x16C24 0x50F9 # <CJK>
-0x16C25 0x5102 # <CJK>
-0x16C26 0x5108 # <CJK>
-0x16C27 0x5109 # <CJK>
-0x16C28 0x5105 # <CJK>
-0x16C29 0x51DC # <CJK>
-0x16C2A 0x5287 # <CJK>
-0x16C2B 0x5288 # <CJK>
-0x16C2C 0x5289 # <CJK>
-0x16C2D 0x528D # <CJK>
-0x16C2E 0x528A # <CJK>
-0x16C2F 0x52F0 # <CJK>
-0x16C30 0x53B2 # <CJK>
-0x16C31 0x562E # <CJK>
-0x16C32 0x563B # <CJK>
-0x16C33 0x5639 # <CJK>
-0x16C34 0x5632 # <CJK>
-0x16C35 0x563F # <CJK>
-0x16C36 0x5634 # <CJK>
-0x16C37 0x5629 # <CJK>
-0x16C38 0x5653 # <CJK>
-0x16C39 0x564E # <CJK>
-0x16C3A 0x5657 # <CJK>
-0x16C3B 0x5674 # <CJK>
-0x16C3C 0x5636 # <CJK>
-0x16C3D 0x562F # <CJK>
-0x16C3E 0x5630 # <CJK>
-0x16C3F 0x5880 # <CJK>
-0x16C40 0x589F # <CJK>
-0x16C41 0x589E # <CJK>
-0x16C42 0x58B3 # <CJK>
-0x16C43 0x589C # <CJK>
-0x16C44 0x58AE # <CJK>
-0x16C45 0x58A9 # <CJK>
-0x16C46 0x58A6 # <CJK>
-0x16C47 0x596D # <CJK>
-0x16C48 0x5B09 # <CJK>
-0x16C49 0x5AFB # <CJK>
-0x16C4A 0x5B0B # <CJK>
-0x16C4B 0x5AF5 # <CJK>
-0x16C4C 0x5B0C # <CJK>
-0x16C4D 0x5B08 # <CJK>
-0x16C4E 0x5BEE # <CJK>
-0x16C4F 0x5BEC # <CJK>
-0x16C50 0x5BE9 # <CJK>
-0x16C51 0x5BEB # <CJK>
-0x16C52 0x5C64 # <CJK>
-0x16C53 0x5C65 # <CJK>
-0x16C54 0x5D9D # <CJK>
-0x16C55 0x5D94 # <CJK>
-0x16C56 0x5E62 # <CJK>
-0x16C57 0x5E5F # <CJK>
-0x16C58 0x5E61 # <CJK>
-0x16C59 0x5EE2 # <CJK>
-0x16C5A 0x5EDA # <CJK>
-0x16C5B 0x5EDF # <CJK>
-0x16C5C 0x5EDD # <CJK>
-0x16C5D 0x5EE3 # <CJK>
-0x16C5E 0x5EE0 # <CJK>
-0x16C5F 0x5F48 # <CJK>
-0x16C60 0x5F71 # <CJK>
-0x16C61 0x5FB7 # <CJK>
-0x16C62 0x5FB5 # <CJK>
-0x16C63 0x6176 # <CJK>
-0x16C64 0x6167 # <CJK>
-0x16C65 0x616E # <CJK>
-0x16C66 0x615D # <CJK>
-0x16C67 0x6155 # <CJK>
-0x16C68 0x6182 # <CJK>
-0x16C69 0x617C # <CJK>
-0x16C6A 0x6170 # <CJK>
-0x16C6B 0x616B # <CJK>
-0x16C6C 0x617E # <CJK>
-0x16C6D 0x61A7 # <CJK>
-0x16C6E 0x6190 # <CJK>
-0x16C6F 0x61AB # <CJK>
-0x16C70 0x618E # <CJK>
-0x16C71 0x61AC # <CJK>
-0x16C72 0x619A # <CJK>
-0x16C73 0x61A4 # <CJK>
-0x16C74 0x6194 # <CJK>
-0x16C75 0x61AE # <CJK>
-0x16C76 0x622E # <CJK>
-0x16C77 0x6469 # <CJK>
-0x16C78 0x646F # <CJK>
-0x16C79 0x6479 # <CJK>
-0x16C7A 0x649E # <CJK>
-0x16C7B 0x64B2 # <CJK>
-0x16C7C 0x6488 # <CJK>
-0x16C7D 0x6490 # <CJK>
-0x16C7E 0x64B0 # <CJK>
-0x16D21 0x64A5 # <CJK>
-0x16D22 0x6493 # <CJK>
-0x16D23 0x6495 # <CJK>
-0x16D24 0x64A9 # <CJK>
-0x16D25 0x6492 # <CJK>
-0x16D26 0x64AE # <CJK>
-0x16D27 0x64AD # <CJK>
-0x16D28 0x64AB # <CJK>
-0x16D29 0x649A # <CJK>
-0x16D2A 0x64AC # <CJK>
-0x16D2B 0x6499 # <CJK>
-0x16D2C 0x64A2 # <CJK>
-0x16D2D 0x64B3 # <CJK>
-0x16D2E 0x6575 # <CJK>
-0x16D2F 0x6577 # <CJK>
-0x16D30 0x6578 # <CJK>
-0x16D31 0x66AE # <CJK>
-0x16D32 0x66AB # <CJK>
-0x16D33 0x66B4 # <CJK>
-0x16D34 0x66B1 # <CJK>
-0x16D35 0x6A23 # <CJK>
-0x16D36 0x6A1F # <CJK>
-0x16D37 0x69E8 # <CJK>
-0x16D38 0x6A01 # <CJK>
-0x16D39 0x6A1E # <CJK>
-0x16D3A 0x6A19 # <CJK>
-0x16D3B 0x69FD # <CJK>
-0x16D3C 0x6A21 # <CJK>
-0x16D3D 0x6A13 # <CJK>
-0x16D3E 0x6A0A # <CJK>
-0x16D3F 0x69F3 # <CJK>
-0x16D40 0x6A02 # <CJK>
-0x16D41 0x6A05 # <CJK>
-0x16D42 0x69ED # <CJK>
-0x16D43 0x6A11 # <CJK>
-0x16D44 0x6B50 # <CJK>
-0x16D45 0x6B4E # <CJK>
-0x16D46 0x6BA4 # <CJK>
-0x16D47 0x6BC5 # <CJK>
-0x16D48 0x6BC6 # <CJK>
-0x16D49 0x6F3F # <CJK>
-0x16D4A 0x6F7C # <CJK>
-0x16D4B 0x6F84 # <CJK>
-0x16D4C 0x6F51 # <CJK>
-0x16D4D 0x6F66 # <CJK>
-0x16D4E 0x6F54 # <CJK>
-0x16D4F 0x6F86 # <CJK>
-0x16D50 0x6F6D # <CJK>
-0x16D51 0x6F5B # <CJK>
-0x16D52 0x6F78 # <CJK>
-0x16D53 0x6F6E # <CJK>
-0x16D54 0x6F8E # <CJK>
-0x16D55 0x6F7A # <CJK>
-0x16D56 0x6F70 # <CJK>
-0x16D57 0x6F64 # <CJK>
-0x16D58 0x6F97 # <CJK>
-0x16D59 0x6F58 # <CJK>
-0x16D5A 0x6ED5 # <CJK>
-0x16D5B 0x6F6F # <CJK>
-0x16D5C 0x6F60 # <CJK>
-0x16D5D 0x6F5F # <CJK>
-0x16D5E 0x719F # <CJK>
-0x16D5F 0x71AC # <CJK>
-0x16D60 0x71B1 # <CJK>
-0x16D61 0x71A8 # <CJK>
-0x16D62 0x7256 # <CJK>
-0x16D63 0x729B # <CJK>
-0x16D64 0x734E # <CJK>
-0x16D65 0x7357 # <CJK>
-0x16D66 0x7469 # <CJK>
-0x16D67 0x748B # <CJK>
-0x16D68 0x7483 # <CJK>
-0x16D69 0x747E # <CJK>
-0x16D6A 0x7480 # <CJK>
-0x16D6B 0x757F # <CJK>
-0x16D6C 0x7620 # <CJK>
-0x16D6D 0x7629 # <CJK>
-0x16D6E 0x761F # <CJK>
-0x16D6F 0x7624 # <CJK>
-0x16D70 0x7626 # <CJK>
-0x16D71 0x7621 # <CJK>
-0x16D72 0x7622 # <CJK>
-0x16D73 0x769A # <CJK>
-0x16D74 0x76BA # <CJK>
-0x16D75 0x76E4 # <CJK>
-0x16D76 0x778E # <CJK>
-0x16D77 0x7787 # <CJK>
-0x16D78 0x778C # <CJK>
-0x16D79 0x7791 # <CJK>
-0x16D7A 0x778B # <CJK>
-0x16D7B 0x78CB # <CJK>
-0x16D7C 0x78C5 # <CJK>
-0x16D7D 0x78BA # <CJK>
-0x16D7E 0x78CA # <CJK>
-0x16E21 0x78BE # <CJK>
-0x16E22 0x78D5 # <CJK>
-0x16E23 0x78BC # <CJK>
-0x16E24 0x78D0 # <CJK>
-0x16E25 0x7A3F # <CJK>
-0x16E26 0x7A3C # <CJK>
-0x16E27 0x7A40 # <CJK>
-0x16E28 0x7A3D # <CJK>
-0x16E29 0x7A37 # <CJK>
-0x16E2A 0x7A3B # <CJK>
-0x16E2B 0x7AAF # <CJK>
-0x16E2C 0x7AAE # <CJK>
-0x16E2D 0x7BAD # <CJK>
-0x16E2E 0x7BB1 # <CJK>
-0x16E2F 0x7BC4 # <CJK>
-0x16E30 0x7BB4 # <CJK>
-0x16E31 0x7BC6 # <CJK>
-0x16E32 0x7BC7 # <CJK>
-0x16E33 0x7BC1 # <CJK>
-0x16E34 0x7BA0 # <CJK>
-0x16E35 0x7BCC # <CJK>
-0x16E36 0x7CCA # <CJK>
-0x16E37 0x7DE0 # <CJK>
-0x16E38 0x7DF4 # <CJK>
-0x16E39 0x7DEF # <CJK>
-0x16E3A 0x7DFB # <CJK>
-0x16E3B 0x7DD8 # <CJK>
-0x16E3C 0x7DEC # <CJK>
-0x16E3D 0x7DDD # <CJK>
-0x16E3E 0x7DE8 # <CJK>
-0x16E3F 0x7DE3 # <CJK>
-0x16E40 0x7DDA # <CJK>
-0x16E41 0x7DDE # <CJK>
-0x16E42 0x7DE9 # <CJK>
-0x16E43 0x7D9E # <CJK>
-0x16E44 0x7DD9 # <CJK>
-0x16E45 0x7DF2 # <CJK>
-0x16E46 0x7DF9 # <CJK>
-0x16E47 0x7F75 # <CJK>
-0x16E48 0x7F77 # <CJK>
-0x16E49 0x7FAF # <CJK>
-0x16E4A 0x7FE9 # <CJK>
-0x16E4B 0x8026 # <CJK>
-0x16E4C 0x819B # <CJK>
-0x16E4D 0x819C # <CJK>
-0x16E4E 0x819D # <CJK>
-0x16E4F 0x81A0 # <CJK>
-0x16E50 0x819A # <CJK>
-0x16E51 0x8198 # <CJK>
-0x16E52 0x8517 # <CJK>
-0x16E53 0x853D # <CJK>
-0x16E54 0x851A # <CJK>
-0x16E55 0x84EE # <CJK>
-0x16E56 0x852C # <CJK>
-0x16E57 0x852D # <CJK>
-0x16E58 0x8513 # <CJK>
-0x16E59 0x8511 # <CJK>
-0x16E5A 0x8523 # <CJK>
-0x16E5B 0x8521 # <CJK>
-0x16E5C 0x8514 # <CJK>
-0x16E5D 0x84EC # <CJK>
-0x16E5E 0x8525 # <CJK>
-0x16E5F 0x84FF # <CJK>
-0x16E60 0x8506 # <CJK>
-0x16E61 0x8782 # <CJK>
-0x16E62 0x8774 # <CJK>
-0x16E63 0x8776 # <CJK>
-0x16E64 0x8760 # <CJK>
-0x16E65 0x8766 # <CJK>
-0x16E66 0x8778 # <CJK>
-0x16E67 0x8768 # <CJK>
-0x16E68 0x8759 # <CJK>
-0x16E69 0x8757 # <CJK>
-0x16E6A 0x874C # <CJK>
-0x16E6B 0x8753 # <CJK>
-0x16E6C 0x885B # <CJK>
-0x16E6D 0x885D # <CJK>
-0x16E6E 0x8910 # <CJK>
-0x16E6F 0x8907 # <CJK>
-0x16E70 0x8912 # <CJK>
-0x16E71 0x8913 # <CJK>
-0x16E72 0x8915 # <CJK>
-0x16E73 0x890A # <CJK>
-0x16E74 0x8ABC # <CJK>
-0x16E75 0x8AD2 # <CJK>
-0x16E76 0x8AC7 # <CJK>
-0x16E77 0x8AC4 # <CJK>
-0x16E78 0x8A95 # <CJK>
-0x16E79 0x8ACB # <CJK>
-0x16E7A 0x8AF8 # <CJK>
-0x16E7B 0x8AB2 # <CJK>
-0x16E7C 0x8AC9 # <CJK>
-0x16E7D 0x8AC2 # <CJK>
-0x16E7E 0x8ABF # <CJK>
-0x16F21 0x8AB0 # <CJK>
-0x16F22 0x8AD6 # <CJK>
-0x16F23 0x8ACD # <CJK>
-0x16F24 0x8AB6 # <CJK>
-0x16F25 0x8AB9 # <CJK>
-0x16F26 0x8ADB # <CJK>
-0x16F27 0x8C4C # <CJK>
-0x16F28 0x8C4E # <CJK>
-0x16F29 0x8C6C # <CJK>
-0x16F2A 0x8CE0 # <CJK>
-0x16F2B 0x8CDE # <CJK>
-0x16F2C 0x8CE6 # <CJK>
-0x16F2D 0x8CE4 # <CJK>
-0x16F2E 0x8CEC # <CJK>
-0x16F2F 0x8CED # <CJK>
-0x16F30 0x8CE2 # <CJK>
-0x16F31 0x8CE3 # <CJK>
-0x16F32 0x8CDC # <CJK>
-0x16F33 0x8CEA # <CJK>
-0x16F34 0x8CE1 # <CJK>
-0x16F35 0x8D6D # <CJK>
-0x16F36 0x8D9F # <CJK>
-0x16F37 0x8DA3 # <CJK>
-0x16F38 0x8E2B # <CJK>
-0x16F39 0x8E10 # <CJK>
-0x16F3A 0x8E1D # <CJK>
-0x16F3B 0x8E22 # <CJK>
-0x16F3C 0x8E0F # <CJK>
-0x16F3D 0x8E29 # <CJK>
-0x16F3E 0x8E1F # <CJK>
-0x16F3F 0x8E21 # <CJK>
-0x16F40 0x8E1E # <CJK>
-0x16F41 0x8EBA # <CJK>
-0x16F42 0x8F1D # <CJK>
-0x16F43 0x8F1B # <CJK>
-0x16F44 0x8F1F # <CJK>
-0x16F45 0x8F29 # <CJK>
-0x16F46 0x8F26 # <CJK>
-0x16F47 0x8F2A # <CJK>
-0x16F48 0x8F1C # <CJK>
-0x16F49 0x8F1E # <CJK>
-0x16F4A 0x8F25 # <CJK>
-0x16F4B 0x9069 # <CJK>
-0x16F4C 0x906E # <CJK>
-0x16F4D 0x9068 # <CJK>
-0x16F4E 0x906D # <CJK>
-0x16F4F 0x9077 # <CJK>
-0x16F50 0x9130 # <CJK>
-0x16F51 0x912D # <CJK>
-0x16F52 0x9127 # <CJK>
-0x16F53 0x9131 # <CJK>
-0x16F54 0x9187 # <CJK>
-0x16F55 0x9189 # <CJK>
-0x16F56 0x918B # <CJK>
-0x16F57 0x9183 # <CJK>
-0x16F58 0x92C5 # <CJK>
-0x16F59 0x92BB # <CJK>
-0x16F5A 0x92B7 # <CJK>
-0x16F5B 0x92EA # <CJK>
-0x16F5C 0x92E4 # <CJK>
-0x16F5D 0x92C1 # <CJK>
-0x16F5E 0x92B3 # <CJK>
-0x16F5F 0x92BC # <CJK>
-0x16F60 0x92D2 # <CJK>
-0x16F61 0x92C7 # <CJK>
-0x16F62 0x92F0 # <CJK>
-0x16F63 0x92B2 # <CJK>
-0x16F64 0x95AD # <CJK>
-0x16F65 0x95B1 # <CJK>
-0x16F66 0x9704 # <CJK>
-0x16F67 0x9706 # <CJK>
-0x16F68 0x9707 # <CJK>
-0x16F69 0x9709 # <CJK>
-0x16F6A 0x9760 # <CJK>
-0x16F6B 0x978D # <CJK>
-0x16F6C 0x978B # <CJK>
-0x16F6D 0x978F # <CJK>
-0x16F6E 0x9821 # <CJK>
-0x16F6F 0x982B # <CJK>
-0x16F70 0x981C # <CJK>
-0x16F71 0x98B3 # <CJK>
-0x16F72 0x990A # <CJK>
-0x16F73 0x9913 # <CJK>
-0x16F74 0x9912 # <CJK>
-0x16F75 0x9918 # <CJK>
-0x16F76 0x99DD # <CJK>
-0x16F77 0x99D0 # <CJK>
-0x16F78 0x99DF # <CJK>
-0x16F79 0x99DB # <CJK>
-0x16F7A 0x99D1 # <CJK>
-0x16F7B 0x99D5 # <CJK>
-0x16F7C 0x99D2 # <CJK>
-0x16F7D 0x99D9 # <CJK>
-0x16F7E 0x9AB7 # <CJK>
-0x17021 0x9AEE # <CJK>
-0x17022 0x9AEF # <CJK>
-0x17023 0x9B27 # <CJK>
-0x17024 0x9B45 # <CJK>
-0x17025 0x9B44 # <CJK>
-0x17026 0x9B77 # <CJK>
-0x17027 0x9B6F # <CJK>
-0x17028 0x9D06 # <CJK>
-0x17029 0x9D09 # <CJK>
-0x1702A 0x9D03 # <CJK>
-0x1702B 0x9EA9 # <CJK>
-0x1702C 0x9EBE # <CJK>
-0x1702D 0x9ECE # <CJK>
-0x1702E 0x58A8 # <CJK>
-0x1702F 0x9F52 # <CJK>
-0x17030 0x5112 # <CJK>
-0x17031 0x5118 # <CJK>
-0x17032 0x5114 # <CJK>
-0x17033 0x5110 # <CJK>
-0x17034 0x5115 # <CJK>
-0x17035 0x5180 # <CJK>
-0x17036 0x51AA # <CJK>
-0x17037 0x51DD # <CJK>
-0x17038 0x5291 # <CJK>
-0x17039 0x5293 # <CJK>
-0x1703A 0x52F3 # <CJK>
-0x1703B 0x5659 # <CJK>
-0x1703C 0x566B # <CJK>
-0x1703D 0x5679 # <CJK>
-0x1703E 0x5669 # <CJK>
-0x1703F 0x5664 # <CJK>
-0x17040 0x5678 # <CJK>
-0x17041 0x566A # <CJK>
-0x17042 0x5668 # <CJK>
-0x17043 0x5665 # <CJK>
-0x17044 0x5671 # <CJK>
-0x17045 0x566F # <CJK>
-0x17046 0x566C # <CJK>
-0x17047 0x5662 # <CJK>
-0x17048 0x5676 # <CJK>
-0x17049 0x58C1 # <CJK>
-0x1704A 0x58BE # <CJK>
-0x1704B 0x58C7 # <CJK>
-0x1704C 0x58C5 # <CJK>
-0x1704D 0x596E # <CJK>
-0x1704E 0x5B1D # <CJK>
-0x1704F 0x5B34 # <CJK>
-0x17050 0x5B78 # <CJK>
-0x17051 0x5BF0 # <CJK>
-0x17052 0x5C0E # <CJK>
-0x17053 0x5F4A # <CJK>
-0x17054 0x61B2 # <CJK>
-0x17055 0x6191 # <CJK>
-0x17056 0x61A9 # <CJK>
-0x17057 0x618A # <CJK>
-0x17058 0x61CD # <CJK>
-0x17059 0x61B6 # <CJK>
-0x1705A 0x61BE # <CJK>
-0x1705B 0x61CA # <CJK>
-0x1705C 0x61C8 # <CJK>
-0x1705D 0x6230 # <CJK>
-0x1705E 0x64C5 # <CJK>
-0x1705F 0x64C1 # <CJK>
-0x17060 0x64CB # <CJK>
-0x17061 0x64BB # <CJK>
-0x17062 0x64BC # <CJK>
-0x17063 0x64DA # <CJK>
-0x17064 0x64C4 # <CJK>
-0x17065 0x64C7 # <CJK>
-0x17066 0x64C2 # <CJK>
-0x17067 0x64CD # <CJK>
-0x17068 0x64BF # <CJK>
-0x17069 0x64D2 # <CJK>
-0x1706A 0x64D4 # <CJK>
-0x1706B 0x64BE # <CJK>
-0x1706C 0x6574 # <CJK>
-0x1706D 0x66C6 # <CJK>
-0x1706E 0x66C9 # <CJK>
-0x1706F 0x66B9 # <CJK>
-0x17070 0x66C4 # <CJK>
-0x17071 0x66C7 # <CJK>
-0x17072 0x66B8 # <CJK>
-0x17073 0x6A3D # <CJK>
-0x17074 0x6A38 # <CJK>
-0x17075 0x6A3A # <CJK>
-0x17076 0x6A59 # <CJK>
-0x17077 0x6A6B # <CJK>
-0x17078 0x6A58 # <CJK>
-0x17079 0x6A39 # <CJK>
-0x1707A 0x6A44 # <CJK>
-0x1707B 0x6A62 # <CJK>
-0x1707C 0x6A61 # <CJK>
-0x1707D 0x6A4B # <CJK>
-0x1707E 0x6A47 # <CJK>
-0x17121 0x6A35 # <CJK>
-0x17122 0x6A5F # <CJK>
-0x17123 0x6A48 # <CJK>
-0x17124 0x6B59 # <CJK>
-0x17125 0x6B77 # <CJK>
-0x17126 0x6C05 # <CJK>
-0x17127 0x6FC2 # <CJK>
-0x17128 0x6FB1 # <CJK>
-0x17129 0x6FA1 # <CJK>
-0x1712A 0x6FC3 # <CJK>
-0x1712B 0x6FA4 # <CJK>
-0x1712C 0x6FC1 # <CJK>
-0x1712D 0x6FA7 # <CJK>
-0x1712E 0x6FB3 # <CJK>
-0x1712F 0x6FC0 # <CJK>
-0x17130 0x6FB9 # <CJK>
-0x17131 0x6FB6 # <CJK>
-0x17132 0x6FA6 # <CJK>
-0x17133 0x6FA0 # <CJK>
-0x17134 0x6FB4 # <CJK>
-0x17135 0x71BE # <CJK>
-0x17136 0x71C9 # <CJK>
-0x17137 0x71D0 # <CJK>
-0x17138 0x71D2 # <CJK>
-0x17139 0x71C8 # <CJK>
-0x1713A 0x71D5 # <CJK>
-0x1713B 0x71B9 # <CJK>
-0x1713C 0x71CE # <CJK>
-0x1713D 0x71D9 # <CJK>
-0x1713E 0x71DC # <CJK>
-0x1713F 0x71C3 # <CJK>
-0x17140 0x71C4 # <CJK>
-0x17141 0x7368 # <CJK>
-0x17142 0x749C # <CJK>
-0x17143 0x74A3 # <CJK>
-0x17144 0x7498 # <CJK>
-0x17145 0x749F # <CJK>
-0x17146 0x749E # <CJK>
-0x17147 0x74E2 # <CJK>
-0x17148 0x750C # <CJK>
-0x17149 0x750D # <CJK>
-0x1714A 0x7634 # <CJK>
-0x1714B 0x7638 # <CJK>
-0x1714C 0x763A # <CJK>
-0x1714D 0x76E7 # <CJK>
-0x1714E 0x76E5 # <CJK>
-0x1714F 0x77A0 # <CJK>
-0x17150 0x779E # <CJK>
-0x17151 0x779F # <CJK>
-0x17152 0x77A5 # <CJK>
-0x17153 0x78E8 # <CJK>
-0x17154 0x78DA # <CJK>
-0x17155 0x78EC # <CJK>
-0x17156 0x78E7 # <CJK>
-0x17157 0x79A6 # <CJK>
-0x17158 0x7A4D # <CJK>
-0x17159 0x7A4E # <CJK>
-0x1715A 0x7A46 # <CJK>
-0x1715B 0x7A4C # <CJK>
-0x1715C 0x7A4B # <CJK>
-0x1715D 0x7ABA # <CJK>
-0x1715E 0x7BD9 # <CJK>
-0x1715F 0x7C11 # <CJK>
-0x17160 0x7BC9 # <CJK>
-0x17161 0x7BE4 # <CJK>
-0x17162 0x7BDB # <CJK>
-0x17163 0x7BE1 # <CJK>
-0x17164 0x7BE9 # <CJK>
-0x17165 0x7BE6 # <CJK>
-0x17166 0x7CD5 # <CJK>
-0x17167 0x7CD6 # <CJK>
-0x17168 0x7E0A # <CJK>
-0x17169 0x7E11 # <CJK>
-0x1716A 0x7E08 # <CJK>
-0x1716B 0x7E1B # <CJK>
-0x1716C 0x7E23 # <CJK>
-0x1716D 0x7E1E # <CJK>
-0x1716E 0x7E1D # <CJK>
-0x1716F 0x7E09 # <CJK>
-0x17170 0x7E10 # <CJK>
-0x17171 0x7F79 # <CJK>
-0x17172 0x7FB2 # <CJK>
-0x17173 0x7FF0 # <CJK>
-0x17174 0x7FF1 # <CJK>
-0x17175 0x7FEE # <CJK>
-0x17176 0x8028 # <CJK>
-0x17177 0x81B3 # <CJK>
-0x17178 0x81A9 # <CJK>
-0x17179 0x81A8 # <CJK>
-0x1717A 0x81FB # <CJK>
-0x1717B 0x8208 # <CJK>
-0x1717C 0x8258 # <CJK>
-0x1717D 0x8259 # <CJK>
-0x1717E 0x854A # <CJK>
-0x17221 0x8559 # <CJK>
-0x17222 0x8548 # <CJK>
-0x17223 0x8568 # <CJK>
-0x17224 0x8569 # <CJK>
-0x17225 0x8543 # <CJK>
-0x17226 0x8549 # <CJK>
-0x17227 0x856D # <CJK>
-0x17228 0x856A # <CJK>
-0x17229 0x855E # <CJK>
-0x1722A 0x8783 # <CJK>
-0x1722B 0x879F # <CJK>
-0x1722C 0x879E # <CJK>
-0x1722D 0x87A2 # <CJK>
-0x1722E 0x878D # <CJK>
-0x1722F 0x8861 # <CJK>
-0x17230 0x892A # <CJK>
-0x17231 0x8932 # <CJK>
-0x17232 0x8925 # <CJK>
-0x17233 0x892B # <CJK>
-0x17234 0x8921 # <CJK>
-0x17235 0x89AA # <CJK>
-0x17236 0x89A6 # <CJK>
-0x17237 0x8AE6 # <CJK>
-0x17238 0x8AFA # <CJK>
-0x17239 0x8AEB # <CJK>
-0x1723A 0x8AF1 # <CJK>
-0x1723B 0x8B00 # <CJK>
-0x1723C 0x8ADC # <CJK>
-0x1723D 0x8AE7 # <CJK>
-0x1723E 0x8AEE # <CJK>
-0x1723F 0x8AFE # <CJK>
-0x17240 0x8B01 # <CJK>
-0x17241 0x8B02 # <CJK>
-0x17242 0x8AF7 # <CJK>
-0x17243 0x8AED # <CJK>
-0x17244 0x8AF3 # <CJK>
-0x17245 0x8AF6 # <CJK>
-0x17246 0x8AFC # <CJK>
-0x17247 0x8C6B # <CJK>
-0x17248 0x8C6D # <CJK>
-0x17249 0x8C93 # <CJK>
-0x1724A 0x8CF4 # <CJK>
-0x1724B 0x8E44 # <CJK>
-0x1724C 0x8E31 # <CJK>
-0x1724D 0x8E34 # <CJK>
-0x1724E 0x8E42 # <CJK>
-0x1724F 0x8E39 # <CJK>
-0x17250 0x8E35 # <CJK>
-0x17251 0x8F3B # <CJK>
-0x17252 0x8F2F # <CJK>
-0x17253 0x8F38 # <CJK>
-0x17254 0x8F33 # <CJK>
-0x17255 0x8FA8 # <CJK>
-0x17256 0x8FA6 # <CJK>
-0x17257 0x9075 # <CJK>
-0x17258 0x9074 # <CJK>
-0x17259 0x9078 # <CJK>
-0x1725A 0x9072 # <CJK>
-0x1725B 0x907C # <CJK>
-0x1725C 0x907A # <CJK>
-0x1725D 0x9134 # <CJK>
-0x1725E 0x9192 # <CJK>
-0x1725F 0x9320 # <CJK>
-0x17260 0x9336 # <CJK>
-0x17261 0x92F8 # <CJK>
-0x17262 0x9333 # <CJK>
-0x17263 0x932F # <CJK>
-0x17264 0x9322 # <CJK>
-0x17265 0x92FC # <CJK>
-0x17266 0x932B # <CJK>
-0x17267 0x9304 # <CJK>
-0x17268 0x931A # <CJK>
-0x17269 0x9310 # <CJK>
-0x1726A 0x9326 # <CJK>
-0x1726B 0x9321 # <CJK>
-0x1726C 0x9315 # <CJK>
-0x1726D 0x932E # <CJK>
-0x1726E 0x9319 # <CJK>
-0x1726F 0x95BB # <CJK>
-0x17270 0x96A7 # <CJK>
-0x17271 0x96A8 # <CJK>
-0x17272 0x96AA # <CJK>
-0x17273 0x96D5 # <CJK>
-0x17274 0x970E # <CJK>
-0x17275 0x9711 # <CJK>
-0x17276 0x9716 # <CJK>
-0x17277 0x970D # <CJK>
-0x17278 0x9713 # <CJK>
-0x17279 0x970F # <CJK>
-0x1727A 0x975B # <CJK>
-0x1727B 0x975C # <CJK>
-0x1727C 0x9766 # <CJK>
-0x1727D 0x9798 # <CJK>
-0x1727E 0x9830 # <CJK>
-0x17321 0x9838 # <CJK>
-0x17322 0x983B # <CJK>
-0x17323 0x9837 # <CJK>
-0x17324 0x982D # <CJK>
-0x17325 0x9839 # <CJK>
-0x17326 0x9824 # <CJK>
-0x17327 0x9910 # <CJK>
-0x17328 0x9928 # <CJK>
-0x17329 0x991E # <CJK>
-0x1732A 0x991B # <CJK>
-0x1732B 0x9921 # <CJK>
-0x1732C 0x991A # <CJK>
-0x1732D 0x99ED # <CJK>
-0x1732E 0x99E2 # <CJK>
-0x1732F 0x99F1 # <CJK>
-0x17330 0x9AB8 # <CJK>
-0x17331 0x9ABC # <CJK>
-0x17332 0x9AFB # <CJK>
-0x17333 0x9AED # <CJK>
-0x17334 0x9B28 # <CJK>
-0x17335 0x9B91 # <CJK>
-0x17336 0x9D15 # <CJK>
-0x17337 0x9D23 # <CJK>
-0x17338 0x9D26 # <CJK>
-0x17339 0x9D28 # <CJK>
-0x1733A 0x9D12 # <CJK>
-0x1733B 0x9D1B # <CJK>
-0x1733C 0x9ED8 # <CJK>
-0x1733D 0x9ED4 # <CJK>
-0x1733E 0x9F8D # <CJK>
-0x1733F 0x9F9C # <CJK>
-0x17340 0x512A # <CJK>
-0x17341 0x511F # <CJK>
-0x17342 0x5121 # <CJK>
-0x17343 0x5132 # <CJK>
-0x17344 0x52F5 # <CJK>
-0x17345 0x568E # <CJK>
-0x17346 0x5680 # <CJK>
-0x17347 0x5690 # <CJK>
-0x17348 0x5685 # <CJK>
-0x17349 0x5687 # <CJK>
-0x1734A 0x568F # <CJK>
-0x1734B 0x58D5 # <CJK>
-0x1734C 0x58D3 # <CJK>
-0x1734D 0x58D1 # <CJK>
-0x1734E 0x58CE # <CJK>
-0x1734F 0x5B30 # <CJK>
-0x17350 0x5B2A # <CJK>
-0x17351 0x5B24 # <CJK>
-0x17352 0x5B7A # <CJK>
-0x17353 0x5C37 # <CJK>
-0x17354 0x5C68 # <CJK>
-0x17355 0x5DBC # <CJK>
-0x17356 0x5DBA # <CJK>
-0x17357 0x5DBD # <CJK>
-0x17358 0x5DB8 # <CJK>
-0x17359 0x5E6B # <CJK>
-0x1735A 0x5F4C # <CJK>
-0x1735B 0x5FBD # <CJK>
-0x1735C 0x61C9 # <CJK>
-0x1735D 0x61C2 # <CJK>
-0x1735E 0x61C7 # <CJK>
-0x1735F 0x61E6 # <CJK>
-0x17360 0x61CB # <CJK>
-0x17361 0x6232 # <CJK>
-0x17362 0x6234 # <CJK>
-0x17363 0x64CE # <CJK>
-0x17364 0x64CA # <CJK>
-0x17365 0x64D8 # <CJK>
-0x17366 0x64E0 # <CJK>
-0x17367 0x64F0 # <CJK>
-0x17368 0x64E6 # <CJK>
-0x17369 0x64EC # <CJK>
-0x1736A 0x64F1 # <CJK>
-0x1736B 0x64E2 # <CJK>
-0x1736C 0x64ED # <CJK>
-0x1736D 0x6582 # <CJK>
-0x1736E 0x6583 # <CJK>
-0x1736F 0x66D9 # <CJK>
-0x17370 0x66D6 # <CJK>
-0x17371 0x6A80 # <CJK>
-0x17372 0x6A94 # <CJK>
-0x17373 0x6A84 # <CJK>
-0x17374 0x6AA2 # <CJK>
-0x17375 0x6A9C # <CJK>
-0x17376 0x6ADB # <CJK>
-0x17377 0x6AA3 # <CJK>
-0x17378 0x6A7E # <CJK>
-0x17379 0x6A97 # <CJK>
-0x1737A 0x6A90 # <CJK>
-0x1737B 0x6AA0 # <CJK>
-0x1737C 0x6B5C # <CJK>
-0x1737D 0x6BAE # <CJK>
-0x1737E 0x6BDA # <CJK>
-0x17421 0x6C08 # <CJK>
-0x17422 0x6FD8 # <CJK>
-0x17423 0x6FF1 # <CJK>
-0x17424 0x6FDF # <CJK>
-0x17425 0x6FE0 # <CJK>
-0x17426 0x6FDB # <CJK>
-0x17427 0x6FE4 # <CJK>
-0x17428 0x6FEB # <CJK>
-0x17429 0x6FEF # <CJK>
-0x1742A 0x6F80 # <CJK>
-0x1742B 0x6FEC # <CJK>
-0x1742C 0x6FE1 # <CJK>
-0x1742D 0x6FE9 # <CJK>
-0x1742E 0x6FD5 # <CJK>
-0x1742F 0x6FEE # <CJK>
-0x17430 0x6FF0 # <CJK>
-0x17431 0x71E7 # <CJK>
-0x17432 0x71DF # <CJK>
-0x17433 0x71EE # <CJK>
-0x17434 0x71E6 # <CJK>
-0x17435 0x71E5 # <CJK>
-0x17436 0x71ED # <CJK>
-0x17437 0x71EC # <CJK>
-0x17438 0x71F4 # <CJK>
-0x17439 0x71E0 # <CJK>
-0x1743A 0x7235 # <CJK>
-0x1743B 0x7246 # <CJK>
-0x1743C 0x7370 # <CJK>
-0x1743D 0x7372 # <CJK>
-0x1743E 0x74A9 # <CJK>
-0x1743F 0x74B0 # <CJK>
-0x17440 0x74A6 # <CJK>
-0x17441 0x74A8 # <CJK>
-0x17442 0x7646 # <CJK>
-0x17443 0x7642 # <CJK>
-0x17444 0x764C # <CJK>
-0x17445 0x76EA # <CJK>
-0x17446 0x77B3 # <CJK>
-0x17447 0x77AA # <CJK>
-0x17448 0x77B0 # <CJK>
-0x17449 0x77AC # <CJK>
-0x1744A 0x77A7 # <CJK>
-0x1744B 0x77AD # <CJK>
-0x1744C 0x77EF # <CJK>
-0x1744D 0x78F7 # <CJK>
-0x1744E 0x78FA # <CJK>
-0x1744F 0x78F4 # <CJK>
-0x17450 0x78EF # <CJK>
-0x17451 0x7901 # <CJK>
-0x17452 0x79A7 # <CJK>
-0x17453 0x79AA # <CJK>
-0x17454 0x7A57 # <CJK>
-0x17455 0x7ABF # <CJK>
-0x17456 0x7C07 # <CJK>
-0x17457 0x7C0D # <CJK>
-0x17458 0x7BFE # <CJK>
-0x17459 0x7BF7 # <CJK>
-0x1745A 0x7C0C # <CJK>
-0x1745B 0x7BE0 # <CJK>
-0x1745C 0x7CE0 # <CJK>
-0x1745D 0x7CDC # <CJK>
-0x1745E 0x7CDE # <CJK>
-0x1745F 0x7CE2 # <CJK>
-0x17460 0x7CDF # <CJK>
-0x17461 0x7CD9 # <CJK>
-0x17462 0x7CDD # <CJK>
-0x17463 0x7E2E # <CJK>
-0x17464 0x7E3E # <CJK>
-0x17465 0x7E46 # <CJK>
-0x17466 0x7E37 # <CJK>
-0x17467 0x7E32 # <CJK>
-0x17468 0x7E43 # <CJK>
-0x17469 0x7E2B # <CJK>
-0x1746A 0x7E3D # <CJK>
-0x1746B 0x7E31 # <CJK>
-0x1746C 0x7E45 # <CJK>
-0x1746D 0x7E41 # <CJK>
-0x1746E 0x7E34 # <CJK>
-0x1746F 0x7E39 # <CJK>
-0x17470 0x7E48 # <CJK>
-0x17471 0x7E35 # <CJK>
-0x17472 0x7E3F # <CJK>
-0x17473 0x7E2F # <CJK>
-0x17474 0x7F44 # <CJK>
-0x17475 0x7FF3 # <CJK>
-0x17476 0x7FFC # <CJK>
-0x17477 0x8071 # <CJK>
-0x17478 0x8072 # <CJK>
-0x17479 0x8070 # <CJK>
-0x1747A 0x806F # <CJK>
-0x1747B 0x8073 # <CJK>
-0x1747C 0x81C6 # <CJK>
-0x1747D 0x81C3 # <CJK>
-0x1747E 0x81BA # <CJK>
-0x17521 0x81C2 # <CJK>
-0x17522 0x81C0 # <CJK>
-0x17523 0x81BF # <CJK>
-0x17524 0x81BD # <CJK>
-0x17525 0x81C9 # <CJK>
-0x17526 0x81BE # <CJK>
-0x17527 0x81E8 # <CJK>
-0x17528 0x8209 # <CJK>
-0x17529 0x8271 # <CJK>
-0x1752A 0x85AA # <CJK>
-0x1752B 0x8584 # <CJK>
-0x1752C 0x857E # <CJK>
-0x1752D 0x859C # <CJK>
-0x1752E 0x8591 # <CJK>
-0x1752F 0x8594 # <CJK>
-0x17530 0x85AF # <CJK>
-0x17531 0x859B # <CJK>
-0x17532 0x8587 # <CJK>
-0x17533 0x85A8 # <CJK>
-0x17534 0x858A # <CJK>
-0x17535 0x85A6 # <CJK>
-0x17536 0x8667 # <CJK>
-0x17537 0x87C0 # <CJK>
-0x17538 0x87D1 # <CJK>
-0x17539 0x87B3 # <CJK>
-0x1753A 0x87D2 # <CJK>
-0x1753B 0x87C6 # <CJK>
-0x1753C 0x87AB # <CJK>
-0x1753D 0x87BB # <CJK>
-0x1753E 0x87BA # <CJK>
-0x1753F 0x87C8 # <CJK>
-0x17540 0x87CB # <CJK>
-0x17541 0x893B # <CJK>
-0x17542 0x8936 # <CJK>
-0x17543 0x8944 # <CJK>
-0x17544 0x8938 # <CJK>
-0x17545 0x893D # <CJK>
-0x17546 0x89AC # <CJK>
-0x17547 0x8B0E # <CJK>
-0x17548 0x8B17 # <CJK>
-0x17549 0x8B19 # <CJK>
-0x1754A 0x8B1B # <CJK>
-0x1754B 0x8B0A # <CJK>
-0x1754C 0x8B20 # <CJK>
-0x1754D 0x8B1D # <CJK>
-0x1754E 0x8B04 # <CJK>
-0x1754F 0x8B10 # <CJK>
-0x17550 0x8C41 # <CJK>
-0x17551 0x8C3F # <CJK>
-0x17552 0x8C73 # <CJK>
-0x17553 0x8CFA # <CJK>
-0x17554 0x8CFD # <CJK>
-0x17555 0x8CFC # <CJK>
-0x17556 0x8CF8 # <CJK>
-0x17557 0x8CFB # <CJK>
-0x17558 0x8DA8 # <CJK>
-0x17559 0x8E49 # <CJK>
-0x1755A 0x8E4B # <CJK>
-0x1755B 0x8E48 # <CJK>
-0x1755C 0x8E4A # <CJK>
-0x1755D 0x8F44 # <CJK>
-0x1755E 0x8F3E # <CJK>
-0x1755F 0x8F42 # <CJK>
-0x17560 0x8F45 # <CJK>
-0x17561 0x8F3F # <CJK>
-0x17562 0x907F # <CJK>
-0x17563 0x907D # <CJK>
-0x17564 0x9084 # <CJK>
-0x17565 0x9081 # <CJK>
-0x17566 0x9082 # <CJK>
-0x17567 0x9080 # <CJK>
-0x17568 0x9139 # <CJK>
-0x17569 0x91A3 # <CJK>
-0x1756A 0x919E # <CJK>
-0x1756B 0x919C # <CJK>
-0x1756C 0x934D # <CJK>
-0x1756D 0x9382 # <CJK>
-0x1756E 0x9328 # <CJK>
-0x1756F 0x9375 # <CJK>
-0x17570 0x934A # <CJK>
-0x17571 0x9365 # <CJK>
-0x17572 0x934B # <CJK>
-0x17573 0x9318 # <CJK>
-0x17574 0x937E # <CJK>
-0x17575 0x936C # <CJK>
-0x17576 0x935B # <CJK>
-0x17577 0x9370 # <CJK>
-0x17578 0x935A # <CJK>
-0x17579 0x9354 # <CJK>
-0x1757A 0x95CA # <CJK>
-0x1757B 0x95CB # <CJK>
-0x1757C 0x95CC # <CJK>
-0x1757D 0x95C8 # <CJK>
-0x1757E 0x95C6 # <CJK>
-0x17621 0x96B1 # <CJK>
-0x17622 0x96B8 # <CJK>
-0x17623 0x96D6 # <CJK>
-0x17624 0x971C # <CJK>
-0x17625 0x971E # <CJK>
-0x17626 0x97A0 # <CJK>
-0x17627 0x97D3 # <CJK>
-0x17628 0x9846 # <CJK>
-0x17629 0x98B6 # <CJK>
-0x1762A 0x9935 # <CJK>
-0x1762B 0x9A01 # <CJK>
-0x1762C 0x99FF # <CJK>
-0x1762D 0x9BAE # <CJK>
-0x1762E 0x9BAB # <CJK>
-0x1762F 0x9BAA # <CJK>
-0x17630 0x9BAD # <CJK>
-0x17631 0x9D3B # <CJK>
-0x17632 0x9D3F # <CJK>
-0x17633 0x9E8B # <CJK>
-0x17634 0x9ECF # <CJK>
-0x17635 0x9EDE # <CJK>
-0x17636 0x9EDC # <CJK>
-0x17637 0x9EDD # <CJK>
-0x17638 0x9EDB # <CJK>
-0x17639 0x9F3E # <CJK>
-0x1763A 0x9F4B # <CJK>
-0x1763B 0x53E2 # <CJK>
-0x1763C 0x5695 # <CJK>
-0x1763D 0x56AE # <CJK>
-0x1763E 0x58D9 # <CJK>
-0x1763F 0x58D8 # <CJK>
-0x17640 0x5B38 # <CJK>
-0x17641 0x5F5E # <CJK>
-0x17642 0x61E3 # <CJK>
-0x17643 0x6233 # <CJK>
-0x17644 0x64F4 # <CJK>
-0x17645 0x64F2 # <CJK>
-0x17646 0x64FE # <CJK>
-0x17647 0x6506 # <CJK>
-0x17648 0x64FA # <CJK>
-0x17649 0x64FB # <CJK>
-0x1764A 0x64F7 # <CJK>
-0x1764B 0x65B7 # <CJK>
-0x1764C 0x66DC # <CJK>
-0x1764D 0x6726 # <CJK>
-0x1764E 0x6AB3 # <CJK>
-0x1764F 0x6AAC # <CJK>
-0x17650 0x6AC3 # <CJK>
-0x17651 0x6ABB # <CJK>
-0x17652 0x6AB8 # <CJK>
-0x17653 0x6AC2 # <CJK>
-0x17654 0x6AAE # <CJK>
-0x17655 0x6AAF # <CJK>
-0x17656 0x6B5F # <CJK>
-0x17657 0x6B78 # <CJK>
-0x17658 0x6BAF # <CJK>
-0x17659 0x7009 # <CJK>
-0x1765A 0x700B # <CJK>
-0x1765B 0x6FFE # <CJK>
-0x1765C 0x7006 # <CJK>
-0x1765D 0x6FFA # <CJK>
-0x1765E 0x7011 # <CJK>
-0x1765F 0x700F # <CJK>
-0x17660 0x71FB # <CJK>
-0x17661 0x71FC # <CJK>
-0x17662 0x71FE # <CJK>
-0x17663 0x71F8 # <CJK>
-0x17664 0x7377 # <CJK>
-0x17665 0x7375 # <CJK>
-0x17666 0x74A7 # <CJK>
-0x17667 0x74BF # <CJK>
-0x17668 0x7515 # <CJK>
-0x17669 0x7656 # <CJK>
-0x1766A 0x7658 # <CJK>
-0x1766B 0x7652 # <CJK>
-0x1766C 0x77BD # <CJK>
-0x1766D 0x77BF # <CJK>
-0x1766E 0x77BB # <CJK>
-0x1766F 0x77BC # <CJK>
-0x17670 0x790E # <CJK>
-0x17671 0x79AE # <CJK>
-0x17672 0x7A61 # <CJK>
-0x17673 0x7A62 # <CJK>
-0x17674 0x7A60 # <CJK>
-0x17675 0x7AC4 # <CJK>
-0x17676 0x7AC5 # <CJK>
-0x17677 0x7C2B # <CJK>
-0x17678 0x7C27 # <CJK>
-0x17679 0x7C2A # <CJK>
-0x1767A 0x7C1E # <CJK>
-0x1767B 0x7C23 # <CJK>
-0x1767C 0x7C21 # <CJK>
-0x1767D 0x7CE7 # <CJK>
-0x1767E 0x7E54 # <CJK>
-0x17721 0x7E55 # <CJK>
-0x17722 0x7E5E # <CJK>
-0x17723 0x7E5A # <CJK>
-0x17724 0x7E61 # <CJK>
-0x17725 0x7E52 # <CJK>
-0x17726 0x7E59 # <CJK>
-0x17727 0x7F48 # <CJK>
-0x17728 0x7FF9 # <CJK>
-0x17729 0x7FFB # <CJK>
-0x1772A 0x8077 # <CJK>
-0x1772B 0x8076 # <CJK>
-0x1772C 0x81CD # <CJK>
-0x1772D 0x81CF # <CJK>
-0x1772E 0x820A # <CJK>
-0x1772F 0x85CF # <CJK>
-0x17730 0x85A9 # <CJK>
-0x17731 0x85CD # <CJK>
-0x17732 0x85D0 # <CJK>
-0x17733 0x85C9 # <CJK>
-0x17734 0x85B0 # <CJK>
-0x17735 0x85BA # <CJK>
-0x17736 0x85B9 # <CJK>
-0x17737 0x87EF # <CJK>
-0x17738 0x87EC # <CJK>
-0x17739 0x87F2 # <CJK>
-0x1773A 0x87E0 # <CJK>
-0x1773B 0x8986 # <CJK>
-0x1773C 0x89B2 # <CJK>
-0x1773D 0x89F4 # <CJK>
-0x1773E 0x8B28 # <CJK>
-0x1773F 0x8B39 # <CJK>
-0x17740 0x8B2C # <CJK>
-0x17741 0x8B2B # <CJK>
-0x17742 0x8C50 # <CJK>
-0x17743 0x8D05 # <CJK>
-0x17744 0x8E59 # <CJK>
-0x17745 0x8E63 # <CJK>
-0x17746 0x8E66 # <CJK>
-0x17747 0x8E64 # <CJK>
-0x17748 0x8E5F # <CJK>
-0x17749 0x8E55 # <CJK>
-0x1774A 0x8EC0 # <CJK>
-0x1774B 0x8F49 # <CJK>
-0x1774C 0x8F4D # <CJK>
-0x1774D 0x9087 # <CJK>
-0x1774E 0x9083 # <CJK>
-0x1774F 0x9088 # <CJK>
-0x17750 0x91AB # <CJK>
-0x17751 0x91AC # <CJK>
-0x17752 0x91D0 # <CJK>
-0x17753 0x9394 # <CJK>
-0x17754 0x938A # <CJK>
-0x17755 0x9396 # <CJK>
-0x17756 0x93A2 # <CJK>
-0x17757 0x93B3 # <CJK>
-0x17758 0x93AE # <CJK>
-0x17759 0x93AC # <CJK>
-0x1775A 0x93B0 # <CJK>
-0x1775B 0x9398 # <CJK>
-0x1775C 0x939A # <CJK>
-0x1775D 0x9397 # <CJK>
-0x1775E 0x95D4 # <CJK>
-0x1775F 0x95D6 # <CJK>
-0x17760 0x95D0 # <CJK>
-0x17761 0x95D5 # <CJK>
-0x17762 0x96E2 # <CJK>
-0x17763 0x96DC # <CJK>
-0x17764 0x96D9 # <CJK>
-0x17765 0x96DB # <CJK>
-0x17766 0x96DE # <CJK>
-0x17767 0x9724 # <CJK>
-0x17768 0x97A3 # <CJK>
-0x17769 0x97A6 # <CJK>
-0x1776A 0x97AD # <CJK>
-0x1776B 0x97F9 # <CJK>
-0x1776C 0x984D # <CJK>
-0x1776D 0x984F # <CJK>
-0x1776E 0x984C # <CJK>
-0x1776F 0x984E # <CJK>
-0x17770 0x9853 # <CJK>
-0x17771 0x98BA # <CJK>
-0x17772 0x993E # <CJK>
-0x17773 0x993F # <CJK>
-0x17774 0x993D # <CJK>
-0x17775 0x992E # <CJK>
-0x17776 0x99A5 # <CJK>
-0x17777 0x9A0E # <CJK>
-0x17778 0x9AC1 # <CJK>
-0x17779 0x9B03 # <CJK>
-0x1777A 0x9B06 # <CJK>
-0x1777B 0x9B4F # <CJK>
-0x1777C 0x9B4E # <CJK>
-0x1777D 0x9B4D # <CJK>
-0x1777E 0x9BCA # <CJK>
-0x17821 0x9BC9 # <CJK>
-0x17822 0x9BFD # <CJK>
-0x17823 0x9BC8 # <CJK>
-0x17824 0x9BC0 # <CJK>
-0x17825 0x9D51 # <CJK>
-0x17826 0x9D5D # <CJK>
-0x17827 0x9D60 # <CJK>
-0x17828 0x9EE0 # <CJK>
-0x17829 0x9F15 # <CJK>
-0x1782A 0x9F2C # <CJK>
-0x1782B 0x5133 # <CJK>
-0x1782C 0x56A5 # <CJK>
-0x1782D 0x56A8 # <CJK>
-0x1782E 0x58DE # <CJK>
-0x1782F 0x58DF # <CJK>
-0x17830 0x58E2 # <CJK>
-0x17831 0x5BF5 # <CJK>
-0x17832 0x9F90 # <CJK>
-0x17833 0x5EEC # <CJK>
-0x17834 0x61F2 # <CJK>
-0x17835 0x61F7 # <CJK>
-0x17836 0x61F6 # <CJK>
-0x17837 0x61F5 # <CJK>
-0x17838 0x6500 # <CJK>
-0x17839 0x650F # <CJK>
-0x1783A 0x66E0 # <CJK>
-0x1783B 0x66DD # <CJK>
-0x1783C 0x6AE5 # <CJK>
-0x1783D 0x6ADD # <CJK>
-0x1783E 0x6ADA # <CJK>
-0x1783F 0x6AD3 # <CJK>
-0x17840 0x701B # <CJK>
-0x17841 0x701F # <CJK>
-0x17842 0x7028 # <CJK>
-0x17843 0x701A # <CJK>
-0x17844 0x701D # <CJK>
-0x17845 0x7015 # <CJK>
-0x17846 0x7018 # <CJK>
-0x17847 0x7206 # <CJK>
-0x17848 0x720D # <CJK>
-0x17849 0x7258 # <CJK>
-0x1784A 0x72A2 # <CJK>
-0x1784B 0x7378 # <CJK>
-0x1784C 0x737A # <CJK>
-0x1784D 0x74BD # <CJK>
-0x1784E 0x74CA # <CJK>
-0x1784F 0x74E3 # <CJK>
-0x17850 0x7587 # <CJK>
-0x17851 0x7586 # <CJK>
-0x17852 0x765F # <CJK>
-0x17853 0x7661 # <CJK>
-0x17854 0x77C7 # <CJK>
-0x17855 0x7919 # <CJK>
-0x17856 0x79B1 # <CJK>
-0x17857 0x7A6B # <CJK>
-0x17858 0x7A69 # <CJK>
-0x17859 0x7C3E # <CJK>
-0x1785A 0x7C3F # <CJK>
-0x1785B 0x7C38 # <CJK>
-0x1785C 0x7C3D # <CJK>
-0x1785D 0x7C37 # <CJK>
-0x1785E 0x7C40 # <CJK>
-0x1785F 0x7E6B # <CJK>
-0x17860 0x7E6D # <CJK>
-0x17861 0x7E79 # <CJK>
-0x17862 0x7E69 # <CJK>
-0x17863 0x7E6A # <CJK>
-0x17864 0x7E73 # <CJK>
-0x17865 0x7F85 # <CJK>
-0x17866 0x7FB6 # <CJK>
-0x17867 0x7FB9 # <CJK>
-0x17868 0x7FB8 # <CJK>
-0x17869 0x81D8 # <CJK>
-0x1786A 0x85E9 # <CJK>
-0x1786B 0x85DD # <CJK>
-0x1786C 0x85EA # <CJK>
-0x1786D 0x85D5 # <CJK>
-0x1786E 0x85E4 # <CJK>
-0x1786F 0x85E5 # <CJK>
-0x17870 0x85F7 # <CJK>
-0x17871 0x87FB # <CJK>
-0x17872 0x8805 # <CJK>
-0x17873 0x880D # <CJK>
-0x17874 0x87F9 # <CJK>
-0x17875 0x87FE # <CJK>
-0x17876 0x8960 # <CJK>
-0x17877 0x895F # <CJK>
-0x17878 0x8956 # <CJK>
-0x17879 0x895E # <CJK>
-0x1787A 0x8B41 # <CJK>
-0x1787B 0x8B5C # <CJK>
-0x1787C 0x8B58 # <CJK>
-0x1787D 0x8B49 # <CJK>
-0x1787E 0x8B5A # <CJK>
-0x17921 0x8B4E # <CJK>
-0x17922 0x8B4F # <CJK>
-0x17923 0x8B46 # <CJK>
-0x17924 0x8B59 # <CJK>
-0x17925 0x8D08 # <CJK>
-0x17926 0x8D0A # <CJK>
-0x17927 0x8E7C # <CJK>
-0x17928 0x8E72 # <CJK>
-0x17929 0x8E87 # <CJK>
-0x1792A 0x8E76 # <CJK>
-0x1792B 0x8E6C # <CJK>
-0x1792C 0x8E7A # <CJK>
-0x1792D 0x8E74 # <CJK>
-0x1792E 0x8F54 # <CJK>
-0x1792F 0x8F4E # <CJK>
-0x17930 0x8FAD # <CJK>
-0x17931 0x908A # <CJK>
-0x17932 0x908B # <CJK>
-0x17933 0x91B1 # <CJK>
-0x17934 0x91AE # <CJK>
-0x17935 0x93E1 # <CJK>
-0x17936 0x93D1 # <CJK>
-0x17937 0x93DF # <CJK>
-0x17938 0x93C3 # <CJK>
-0x17939 0x93C8 # <CJK>
-0x1793A 0x93DC # <CJK>
-0x1793B 0x93DD # <CJK>
-0x1793C 0x93D6 # <CJK>
-0x1793D 0x93E2 # <CJK>
-0x1793E 0x93CD # <CJK>
-0x1793F 0x93D8 # <CJK>
-0x17940 0x93E4 # <CJK>
-0x17941 0x93D7 # <CJK>
-0x17942 0x93E8 # <CJK>
-0x17943 0x95DC # <CJK>
-0x17944 0x96B4 # <CJK>
-0x17945 0x96E3 # <CJK>
-0x17946 0x972A # <CJK>
-0x17947 0x9727 # <CJK>
-0x17948 0x9761 # <CJK>
-0x17949 0x97DC # <CJK>
-0x1794A 0x97FB # <CJK>
-0x1794B 0x985E # <CJK>
-0x1794C 0x9858 # <CJK>
-0x1794D 0x985B # <CJK>
-0x1794E 0x98BC # <CJK>
-0x1794F 0x9945 # <CJK>
-0x17950 0x9949 # <CJK>
-0x17951 0x9A16 # <CJK>
-0x17952 0x9A19 # <CJK>
-0x17953 0x9B0D # <CJK>
-0x17954 0x9BE8 # <CJK>
-0x17955 0x9BE7 # <CJK>
-0x17956 0x9BD6 # <CJK>
-0x17957 0x9BDB # <CJK>
-0x17958 0x9D89 # <CJK>
-0x17959 0x9D61 # <CJK>
-0x1795A 0x9D72 # <CJK>
-0x1795B 0x9D6A # <CJK>
-0x1795C 0x9D6C # <CJK>
-0x1795D 0x9E92 # <CJK>
-0x1795E 0x9E97 # <CJK>
-0x1795F 0x9E93 # <CJK>
-0x17960 0x9EB4 # <CJK>
-0x17961 0x52F8 # <CJK>
-0x17962 0x56B7 # <CJK>
-0x17963 0x56B6 # <CJK>
-0x17964 0x56B4 # <CJK>
-0x17965 0x56BC # <CJK>
-0x17966 0x58E4 # <CJK>
-0x17967 0x5B40 # <CJK>
-0x17968 0x5B43 # <CJK>
-0x17969 0x5B7D # <CJK>
-0x1796A 0x5BF6 # <CJK>
-0x1796B 0x5DC9 # <CJK>
-0x1796C 0x61F8 # <CJK>
-0x1796D 0x61FA # <CJK>
-0x1796E 0x6518 # <CJK>
-0x1796F 0x6514 # <CJK>
-0x17970 0x6519 # <CJK>
-0x17971 0x66E6 # <CJK>
-0x17972 0x6727 # <CJK>
-0x17973 0x6AEC # <CJK>
-0x17974 0x703E # <CJK>
-0x17975 0x7030 # <CJK>
-0x17976 0x7032 # <CJK>
-0x17977 0x7210 # <CJK>
-0x17978 0x737B # <CJK>
-0x17979 0x74CF # <CJK>
-0x1797A 0x7662 # <CJK>
-0x1797B 0x7665 # <CJK>
-0x1797C 0x7926 # <CJK>
-0x1797D 0x792A # <CJK>
-0x1797E 0x792C # <CJK>
-0x17A21 0x792B # <CJK>
-0x17A22 0x7AC7 # <CJK>
-0x17A23 0x7AF6 # <CJK>
-0x17A24 0x7C4C # <CJK>
-0x17A25 0x7C43 # <CJK>
-0x17A26 0x7C4D # <CJK>
-0x17A27 0x7CEF # <CJK>
-0x17A28 0x7CF0 # <CJK>
-0x17A29 0x8FAE # <CJK>
-0x17A2A 0x7E7D # <CJK>
-0x17A2B 0x7E7C # <CJK>
-0x17A2C 0x7E82 # <CJK>
-0x17A2D 0x7F4C # <CJK>
-0x17A2E 0x8000 # <CJK>
-0x17A2F 0x81DA # <CJK>
-0x17A30 0x8266 # <CJK>
-0x17A31 0x85FB # <CJK>
-0x17A32 0x85F9 # <CJK>
-0x17A33 0x8611 # <CJK>
-0x17A34 0x85FA # <CJK>
-0x17A35 0x8606 # <CJK>
-0x17A36 0x860B # <CJK>
-0x17A37 0x8607 # <CJK>
-0x17A38 0x860A # <CJK>
-0x17A39 0x8814 # <CJK>
-0x17A3A 0x8815 # <CJK>
-0x17A3B 0x8964 # <CJK>
-0x17A3C 0x89BA # <CJK>
-0x17A3D 0x89F8 # <CJK>
-0x17A3E 0x8B70 # <CJK>
-0x17A3F 0x8B6C # <CJK>
-0x17A40 0x8B66 # <CJK>
-0x17A41 0x8B6F # <CJK>
-0x17A42 0x8B5F # <CJK>
-0x17A43 0x8B6B # <CJK>
-0x17A44 0x8D0F # <CJK>
-0x17A45 0x8D0D # <CJK>
-0x17A46 0x8E89 # <CJK>
-0x17A47 0x8E81 # <CJK>
-0x17A48 0x8E85 # <CJK>
-0x17A49 0x8E82 # <CJK>
-0x17A4A 0x91B4 # <CJK>
-0x17A4B 0x91CB # <CJK>
-0x17A4C 0x9418 # <CJK>
-0x17A4D 0x9403 # <CJK>
-0x17A4E 0x93FD # <CJK>
-0x17A4F 0x95E1 # <CJK>
-0x17A50 0x9730 # <CJK>
-0x17A51 0x98C4 # <CJK>
-0x17A52 0x9952 # <CJK>
-0x17A53 0x9951 # <CJK>
-0x17A54 0x99A8 # <CJK>
-0x17A55 0x9A2B # <CJK>
-0x17A56 0x9A30 # <CJK>
-0x17A57 0x9A37 # <CJK>
-0x17A58 0x9A35 # <CJK>
-0x17A59 0x9C13 # <CJK>
-0x17A5A 0x9C0D # <CJK>
-0x17A5B 0x9E79 # <CJK>
-0x17A5C 0x9EB5 # <CJK>
-0x17A5D 0x9EE8 # <CJK>
-0x17A5E 0x9F2F # <CJK>
-0x17A5F 0x9F5F # <CJK>
-0x17A60 0x9F63 # <CJK>
-0x17A61 0x9F61 # <CJK>
-0x17A62 0x5137 # <CJK>
-0x17A63 0x5138 # <CJK>
-0x17A64 0x56C1 # <CJK>
-0x17A65 0x56C0 # <CJK>
-0x17A66 0x56C2 # <CJK>
-0x17A67 0x5914 # <CJK>
-0x17A68 0x5C6C # <CJK>
-0x17A69 0x5DCD # <CJK>
-0x17A6A 0x61FC # <CJK>
-0x17A6B 0x61FE # <CJK>
-0x17A6C 0x651D # <CJK>
-0x17A6D 0x651C # <CJK>
-0x17A6E 0x6595 # <CJK>
-0x17A6F 0x66E9 # <CJK>
-0x17A70 0x6AFB # <CJK>
-0x17A71 0x6B04 # <CJK>
-0x17A72 0x6AFA # <CJK>
-0x17A73 0x6BB2 # <CJK>
-0x17A74 0x704C # <CJK>
-0x17A75 0x721B # <CJK>
-0x17A76 0x72A7 # <CJK>
-0x17A77 0x74D6 # <CJK>
-0x17A78 0x74D4 # <CJK>
-0x17A79 0x7669 # <CJK>
-0x17A7A 0x77D3 # <CJK>
-0x17A7B 0x7C50 # <CJK>
-0x17A7C 0x7E8F # <CJK>
-0x17A7D 0x7E8C # <CJK>
-0x17A7E 0x7FBC # <CJK>
-0x17B21 0x8617 # <CJK>
-0x17B22 0x862D # <CJK>
-0x17B23 0x861A # <CJK>
-0x17B24 0x8823 # <CJK>
-0x17B25 0x8822 # <CJK>
-0x17B26 0x8821 # <CJK>
-0x17B27 0x881F # <CJK>
-0x17B28 0x896A # <CJK>
-0x17B29 0x896C # <CJK>
-0x17B2A 0x89BD # <CJK>
-0x17B2B 0x8B74 # <CJK>
-0x17B2C 0x8B77 # <CJK>
-0x17B2D 0x8B7D # <CJK>
-0x17B2E 0x8D13 # <CJK>
-0x17B2F 0x8E8A # <CJK>
-0x17B30 0x8E8D # <CJK>
-0x17B31 0x8E8B # <CJK>
-0x17B32 0x8F5F # <CJK>
-0x17B33 0x8FAF # <CJK>
-0x17B34 0x91BA # <CJK>
-0x17B35 0x942E # <CJK>
-0x17B36 0x9433 # <CJK>
-0x17B37 0x9435 # <CJK>
-0x17B38 0x943A # <CJK>
-0x17B39 0x9438 # <CJK>
-0x17B3A 0x9432 # <CJK>
-0x17B3B 0x942B # <CJK>
-0x17B3C 0x95E2 # <CJK>
-0x17B3D 0x9738 # <CJK>
-0x17B3E 0x9739 # <CJK>
-0x17B3F 0x9732 # <CJK>
-0x17B40 0x97FF # <CJK>
-0x17B41 0x9867 # <CJK>
-0x17B42 0x9865 # <CJK>
-0x17B43 0x9957 # <CJK>
-0x17B44 0x9A45 # <CJK>
-0x17B45 0x9A43 # <CJK>
-0x17B46 0x9A40 # <CJK>
-0x17B47 0x9A3E # <CJK>
-0x17B48 0x9ACF # <CJK>
-0x17B49 0x9B54 # <CJK>
-0x17B4A 0x9B51 # <CJK>
-0x17B4B 0x9C2D # <CJK>
-0x17B4C 0x9C25 # <CJK>
-0x17B4D 0x9DAF # <CJK>
-0x17B4E 0x9DB4 # <CJK>
-0x17B4F 0x9DC2 # <CJK>
-0x17B50 0x9DB8 # <CJK>
-0x17B51 0x9E9D # <CJK>
-0x17B52 0x9EEF # <CJK>
-0x17B53 0x9F19 # <CJK>
-0x17B54 0x9F5C # <CJK>
-0x17B55 0x9F66 # <CJK>
-0x17B56 0x9F67 # <CJK>
-0x17B57 0x513C # <CJK>
-0x17B58 0x513B # <CJK>
-0x17B59 0x56C8 # <CJK>
-0x17B5A 0x56CA # <CJK>
-0x17B5B 0x56C9 # <CJK>
-0x17B5C 0x5B7F # <CJK>
-0x17B5D 0x5DD4 # <CJK>
-0x17B5E 0x5DD2 # <CJK>
-0x17B5F 0x5F4E # <CJK>
-0x17B60 0x61FF # <CJK>
-0x17B61 0x6524 # <CJK>
-0x17B62 0x6B0A # <CJK>
-0x17B63 0x6B61 # <CJK>
-0x17B64 0x7051 # <CJK>
-0x17B65 0x7058 # <CJK>
-0x17B66 0x7380 # <CJK>
-0x17B67 0x74E4 # <CJK>
-0x17B68 0x758A # <CJK>
-0x17B69 0x766E # <CJK>
-0x17B6A 0x766C # <CJK>
-0x17B6B 0x79B3 # <CJK>
-0x17B6C 0x7C60 # <CJK>
-0x17B6D 0x7C5F # <CJK>
-0x17B6E 0x807E # <CJK>
-0x17B6F 0x807D # <CJK>
-0x17B70 0x81DF # <CJK>
-0x17B71 0x8972 # <CJK>
-0x17B72 0x896F # <CJK>
-0x17B73 0x89FC # <CJK>
-0x17B74 0x8B80 # <CJK>
-0x17B75 0x8D16 # <CJK>
-0x17B76 0x8D17 # <CJK>
-0x17B77 0x8E91 # <CJK>
-0x17B78 0x8E93 # <CJK>
-0x17B79 0x8F61 # <CJK>
-0x17B7A 0x9148 # <CJK>
-0x17B7B 0x9444 # <CJK>
-0x17B7C 0x9451 # <CJK>
-0x17B7D 0x9452 # <CJK>
-0x17B7E 0x973D # <CJK>
-0x17C21 0x973E # <CJK>
-0x17C22 0x97C3 # <CJK>
-0x17C23 0x97C1 # <CJK>
-0x17C24 0x986B # <CJK>
-0x17C25 0x9955 # <CJK>
-0x17C26 0x9A55 # <CJK>
-0x17C27 0x9A4D # <CJK>
-0x17C28 0x9AD2 # <CJK>
-0x17C29 0x9B1A # <CJK>
-0x17C2A 0x9C49 # <CJK>
-0x17C2B 0x9C31 # <CJK>
-0x17C2C 0x9C3E # <CJK>
-0x17C2D 0x9C3B # <CJK>
-0x17C2E 0x9DD3 # <CJK>
-0x17C2F 0x9DD7 # <CJK>
-0x17C30 0x9F34 # <CJK>
-0x17C31 0x9F6C # <CJK>
-0x17C32 0x9F6A # <CJK>
-0x17C33 0x9F94 # <CJK>
-0x17C34 0x56CC # <CJK>
-0x17C35 0x5DD6 # <CJK>
-0x17C36 0x6200 # <CJK>
-0x17C37 0x6523 # <CJK>
-0x17C38 0x652B # <CJK>
-0x17C39 0x652A # <CJK>
-0x17C3A 0x66EC # <CJK>
-0x17C3B 0x6B10 # <CJK>
-0x17C3C 0x74DA # <CJK>
-0x17C3D 0x7ACA # <CJK>
-0x17C3E 0x7C64 # <CJK>
-0x17C3F 0x7C63 # <CJK>
-0x17C40 0x7C65 # <CJK>
-0x17C41 0x7E93 # <CJK>
-0x17C42 0x7E96 # <CJK>
-0x17C43 0x7E94 # <CJK>
-0x17C44 0x81E2 # <CJK>
-0x17C45 0x8638 # <CJK>
-0x17C46 0x863F # <CJK>
-0x17C47 0x8831 # <CJK>
-0x17C48 0x8B8A # <CJK>
-0x17C49 0x9090 # <CJK>
-0x17C4A 0x908F # <CJK>
-0x17C4B 0x9463 # <CJK>
-0x17C4C 0x9460 # <CJK>
-0x17C4D 0x9464 # <CJK>
-0x17C4E 0x9768 # <CJK>
-0x17C4F 0x986F # <CJK>
-0x17C50 0x995C # <CJK>
-0x17C51 0x9A5A # <CJK>
-0x17C52 0x9A5B # <CJK>
-0x17C53 0x9A57 # <CJK>
-0x17C54 0x9AD3 # <CJK>
-0x17C55 0x9AD4 # <CJK>
-0x17C56 0x9AD1 # <CJK>
-0x17C57 0x9C54 # <CJK>
-0x17C58 0x9C57 # <CJK>
-0x17C59 0x9C56 # <CJK>
-0x17C5A 0x9DE5 # <CJK>
-0x17C5B 0x9E9F # <CJK>
-0x17C5C 0x9EF4 # <CJK>
-0x17C5D 0x56D1 # <CJK>
-0x17C5E 0x58E9 # <CJK>
-0x17C5F 0x652C # <CJK>
-0x17C60 0x705E # <CJK>
-0x17C61 0x7671 # <CJK>
-0x17C62 0x7672 # <CJK>
-0x17C63 0x77D7 # <CJK>
-0x17C64 0x7F50 # <CJK>
-0x17C65 0x7F88 # <CJK>
-0x17C66 0x8836 # <CJK>
-0x17C67 0x8839 # <CJK>
-0x17C68 0x8862 # <CJK>
-0x17C69 0x8B93 # <CJK>
-0x17C6A 0x8B92 # <CJK>
-0x17C6B 0x8B96 # <CJK>
-0x17C6C 0x8277 # <CJK>
-0x17C6D 0x8D1B # <CJK>
-0x17C6E 0x91C0 # <CJK>
-0x17C6F 0x946A # <CJK>
-0x17C70 0x9742 # <CJK>
-0x17C71 0x9748 # <CJK>
-0x17C72 0x9744 # <CJK>
-0x17C73 0x97C6 # <CJK>
-0x17C74 0x9870 # <CJK>
-0x17C75 0x9A5F # <CJK>
-0x17C76 0x9B22 # <CJK>
-0x17C77 0x9B58 # <CJK>
-0x17C78 0x9C5F # <CJK>
-0x17C79 0x9DF9 # <CJK>
-0x17C7A 0x9DFA # <CJK>
-0x17C7B 0x9E7C # <CJK>
-0x17C7C 0x9E7D # <CJK>
-0x17C7D 0x9F07 # <CJK>
-0x17C7E 0x9F77 # <CJK>
-0x17D21 0x9F72 # <CJK>
-0x17D22 0x5EF3 # <CJK>
-0x17D23 0x6B16 # <CJK>
-0x17D24 0x7063 # <CJK>
-0x17D25 0x7C6C # <CJK>
-0x17D26 0x7C6E # <CJK>
-0x17D27 0x883B # <CJK>
-0x17D28 0x89C0 # <CJK>
-0x17D29 0x8EA1 # <CJK>
-0x17D2A 0x91C1 # <CJK>
-0x17D2B 0x9472 # <CJK>
-0x17D2C 0x9470 # <CJK>
-0x17D2D 0x9871 # <CJK>
-0x17D2E 0x995E # <CJK>
-0x17D2F 0x9AD6 # <CJK>
-0x17D30 0x9B23 # <CJK>
-0x17D31 0x9ECC # <CJK>
-0x17D32 0x7064 # <CJK>
-0x17D33 0x77DA # <CJK>
-0x17D34 0x8B9A # <CJK>
-0x17D35 0x9477 # <CJK>
-0x17D36 0x97C9 # <CJK>
-0x17D37 0x9A62 # <CJK>
-0x17D38 0x9A65 # <CJK>
-0x17D39 0x7E9C # <CJK>
-0x17D3A 0x8B9C # <CJK>
-0x17D3B 0x8EAA # <CJK>
-0x17D3C 0x91C5 # <CJK>
-0x17D3D 0x947D # <CJK>
-0x17D3E 0x947E # <CJK>
-0x17D3F 0x947C # <CJK>
-0x17D40 0x9C77 # <CJK>
-0x17D41 0x9C78 # <CJK>
-0x17D42 0x9EF7 # <CJK>
-0x17D43 0x8C54 # <CJK>
-0x17D44 0x947F # <CJK>
-0x17D45 0x9E1A # <CJK>
-0x17D46 0x7228 # <CJK>
-0x17D47 0x9A6A # <CJK>
-0x17D48 0x9B31 # <CJK>
-0x17D49 0x9E1B # <CJK>
-0x17D4A 0x9E1E # <CJK>
-0x17D4B 0x7C72 # <CJK>
-0x22121 0x4E42 # <CJK>
-0x22122 0x4E5C # <CJK>
-0x22123 0x51F5 # <CJK>
-0x22124 0x531A # <CJK>
-0x22125 0x5382 # <CJK>
-0x22126 0x4E07 # <CJK>
-0x22127 0x4E0C # <CJK>
-0x22128 0x4E47 # <CJK>
-0x22129 0x4E8D # <CJK>
-0x2212A 0x56D7 # <CJK>
-0x2212B 0x5C6E # <CJK>
-0x2212C 0x5F73 # <CJK>
-0x2212D 0x4E0F # <CJK>
-0x2212E 0x5187 # <CJK>
-0x2212F 0x4E0E # <CJK>
-0x22130 0x4E2E # <CJK>
-0x22131 0x4E93 # <CJK>
-0x22132 0x4EC2 # <CJK>
-0x22133 0x4EC9 # <CJK>
-0x22134 0x4EC8 # <CJK>
-0x22135 0x5198 # <CJK>
-0x22136 0x52FC # <CJK>
-0x22137 0x536C # <CJK>
-0x22138 0x53B9 # <CJK>
-0x22139 0x5720 # <CJK>
-0x2213A 0x5903 # <CJK>
-0x2213B 0x592C # <CJK>
-0x2213C 0x5C10 # <CJK>
-0x2213D 0x5DFF # <CJK>
-0x2213E 0x65E1 # <CJK>
-0x2213F 0x6BB3 # <CJK>
-0x22140 0x6BCC # <CJK>
-0x22141 0x6C14 # <CJK>
-0x22142 0x723F # <CJK>
-0x22143 0x4E31 # <CJK>
-0x22144 0x4E3C # <CJK>
-0x22145 0x4EE8 # <CJK>
-0x22146 0x4EDC # <CJK>
-0x22147 0x4EE9 # <CJK>
-0x22148 0x4EE1 # <CJK>
-0x22149 0x4EDD # <CJK>
-0x2214A 0x4EDA # <CJK>
-0x2214B 0x520C # <CJK>
-0x2214C 0x5209 # <CJK>
-0x2214D 0x531C # <CJK>
-0x2214E 0x534C # <CJK>
-0x2214F 0x5722 # <CJK>
-0x22150 0x5723 # <CJK>
-0x22151 0x5917 # <CJK>
-0x22152 0x592F # <CJK>
-0x22153 0x5B81 # <CJK>
-0x22154 0x5B84 # <CJK>
-0x22155 0x5C12 # <CJK>
-0x22156 0x5C3B # <CJK>
-0x22157 0x5C74 # <CJK>
-0x22158 0x5C73 # <CJK>
-0x22159 0x5E04 # <CJK>
-0x2215A 0x5E80 # <CJK>
-0x2215B 0x5E82 # <CJK>
-0x2215C 0x5FC9 # <CJK>
-0x2215D 0x6209 # <CJK>
-0x2215E 0x6250 # <CJK>
-0x2215F 0x6C15 # <CJK>
-0x22160 0x6C36 # <CJK>
-0x22161 0x6C43 # <CJK>
-0x22162 0x6C3F # <CJK>
-0x22163 0x6C3B # <CJK>
-0x22164 0x72AE # <CJK>
-0x22165 0x72B0 # <CJK>
-0x22166 0x738A # <CJK>
-0x22167 0x79B8 # <CJK>
-0x22168 0x808A # <CJK>
-0x22169 0x961E # <CJK>
-0x2216A 0x4F0E # <CJK>
-0x2216B 0x4F18 # <CJK>
-0x2216C 0x4F2C # <CJK>
-0x2216D 0x4EF5 # <CJK>
-0x2216E 0x4F14 # <CJK>
-0x2216F 0x4EF1 # <CJK>
-0x22170 0x4F00 # <CJK>
-0x22171 0x4EF7 # <CJK>
-0x22172 0x4F08 # <CJK>
-0x22173 0x4F1D # <CJK>
-0x22174 0x4F02 # <CJK>
-0x22175 0x4F05 # <CJK>
-0x22176 0x4F22 # <CJK>
-0x22177 0x4F13 # <CJK>
-0x22178 0x4F04 # <CJK>
-0x22179 0x4EF4 # <CJK>
-0x2217A 0x4F12 # <CJK>
-0x2217B 0x51B1 # <CJK>
-0x2217C 0x5213 # <CJK>
-0x2217D 0x5210 # <CJK>
-0x2217E 0x52A6 # <CJK>
-0x22221 0x5322 # <CJK>
-0x22222 0x531F # <CJK>
-0x22223 0x534D # <CJK>
-0x22224 0x538A # <CJK>
-0x22225 0x5407 # <CJK>
-0x22226 0x56E1 # <CJK>
-0x22227 0x56DF # <CJK>
-0x22228 0x572E # <CJK>
-0x22229 0x572A # <CJK>
-0x2222A 0x5734 # <CJK>
-0x2222B 0x593C # <CJK>
-0x2222C 0x5980 # <CJK>
-0x2222D 0x597C # <CJK>
-0x2222E 0x5985 # <CJK>
-0x2222F 0x597B # <CJK>
-0x22230 0x597E # <CJK>
-0x22231 0x5977 # <CJK>
-0x22232 0x597F # <CJK>
-0x22233 0x5B56 # <CJK>
-0x22234 0x5C15 # <CJK>
-0x22235 0x5C25 # <CJK>
-0x22236 0x5C7C # <CJK>
-0x22237 0x5C7A # <CJK>
-0x22238 0x5C7B # <CJK>
-0x22239 0x5C7E # <CJK>
-0x2223A 0x5DDF # <CJK>
-0x2223B 0x5E75 # <CJK>
-0x2223C 0x5E84 # <CJK>
-0x2223D 0x5F02 # <CJK>
-0x2223E 0x5F1A # <CJK>
-0x2223F 0x5F74 # <CJK>
-0x22240 0x5FD5 # <CJK>
-0x22241 0x5FD4 # <CJK>
-0x22242 0x5FCF # <CJK>
-0x22243 0x625C # <CJK>
-0x22244 0x625E # <CJK>
-0x22245 0x6264 # <CJK>
-0x22246 0x6261 # <CJK>
-0x22247 0x6266 # <CJK>
-0x22248 0x6262 # <CJK>
-0x22249 0x6259 # <CJK>
-0x2224A 0x6260 # <CJK>
-0x2224B 0x625A # <CJK>
-0x2224C 0x6265 # <CJK>
-0x2224D 0x6537 # <CJK>
-0x2224E 0x65EF # <CJK>
-0x2224F 0x65EE # <CJK>
-0x22250 0x673E # <CJK>
-0x22251 0x6739 # <CJK>
-0x22252 0x6738 # <CJK>
-0x22253 0x673B # <CJK>
-0x22254 0x673A # <CJK>
-0x22255 0x673F # <CJK>
-0x22256 0x673C # <CJK>
-0x22257 0x6733 # <CJK>
-0x22258 0x6C18 # <CJK>
-0x22259 0x6C46 # <CJK>
-0x2225A 0x6C52 # <CJK>
-0x2225B 0x6C5C # <CJK>
-0x2225C 0x6C4F # <CJK>
-0x2225D 0x6C4A # <CJK>
-0x2225E 0x6C54 # <CJK>
-0x2225F 0x6C4B # <CJK>
-0x22260 0x6C4C # <CJK>
-0x22261 0x7071 # <CJK>
-0x22262 0x725E # <CJK>
-0x22263 0x72B4 # <CJK>
-0x22264 0x72B5 # <CJK>
-0x22265 0x738E # <CJK>
-0x22266 0x752A # <CJK>
-0x22267 0x767F # <CJK>
-0x22268 0x7A75 # <CJK>
-0x22269 0x7F51 # <CJK>
-0x2226A 0x8278 # <CJK>
-0x2226B 0x827C # <CJK>
-0x2226C 0x8280 # <CJK>
-0x2226D 0x827D # <CJK>
-0x2226E 0x827F # <CJK>
-0x2226F 0x864D # <CJK>
-0x22270 0x897E # <CJK>
-0x22271 0x9099 # <CJK>
-0x22272 0x9097 # <CJK>
-0x22273 0x9098 # <CJK>
-0x22274 0x909B # <CJK>
-0x22275 0x9094 # <CJK>
-0x22276 0x9622 # <CJK>
-0x22277 0x9624 # <CJK>
-0x22278 0x9620 # <CJK>
-0x22279 0x9623 # <CJK>
-0x2227A 0x4F56 # <CJK>
-0x2227B 0x4F3B # <CJK>
-0x2227C 0x4F62 # <CJK>
-0x2227D 0x4F49 # <CJK>
-0x2227E 0x4F53 # <CJK>
-0x22321 0x4F64 # <CJK>
-0x22322 0x4F3E # <CJK>
-0x22323 0x4F67 # <CJK>
-0x22324 0x4F52 # <CJK>
-0x22325 0x4F5F # <CJK>
-0x22326 0x4F41 # <CJK>
-0x22327 0x4F58 # <CJK>
-0x22328 0x4F2D # <CJK>
-0x22329 0x4F33 # <CJK>
-0x2232A 0x4F3F # <CJK>
-0x2232B 0x4F61 # <CJK>
-0x2232C 0x518F # <CJK>
-0x2232D 0x51B9 # <CJK>
-0x2232E 0x521C # <CJK>
-0x2232F 0x521E # <CJK>
-0x22330 0x5221 # <CJK>
-0x22331 0x52AD # <CJK>
-0x22332 0x52AE # <CJK>
-0x22333 0x5309 # <CJK>
-0x22334 0x5363 # <CJK>
-0x22335 0x5372 # <CJK>
-0x22336 0x538E # <CJK>
-0x22337 0x538F # <CJK>
-0x22338 0x5430 # <CJK>
-0x22339 0x5437 # <CJK>
-0x2233A 0x542A # <CJK>
-0x2233B 0x5454 # <CJK>
-0x2233C 0x5445 # <CJK>
-0x2233D 0x5419 # <CJK>
-0x2233E 0x541C # <CJK>
-0x2233F 0x5425 # <CJK>
-0x22340 0x5418 # <CJK>
-0x22341 0x543D # <CJK>
-0x22342 0x544F # <CJK>
-0x22343 0x5441 # <CJK>
-0x22344 0x5428 # <CJK>
-0x22345 0x5424 # <CJK>
-0x22346 0x5447 # <CJK>
-0x22347 0x56EE # <CJK>
-0x22348 0x56E7 # <CJK>
-0x22349 0x56E5 # <CJK>
-0x2234A 0x5741 # <CJK>
-0x2234B 0x5745 # <CJK>
-0x2234C 0x574C # <CJK>
-0x2234D 0x5749 # <CJK>
-0x2234E 0x574B # <CJK>
-0x2234F 0x5752 # <CJK>
-0x22350 0x5906 # <CJK>
-0x22351 0x5940 # <CJK>
-0x22352 0x59A6 # <CJK>
-0x22353 0x5998 # <CJK>
-0x22354 0x59A0 # <CJK>
-0x22355 0x5997 # <CJK>
-0x22356 0x598E # <CJK>
-0x22357 0x59A2 # <CJK>
-0x22358 0x5990 # <CJK>
-0x22359 0x598F # <CJK>
-0x2235A 0x59A7 # <CJK>
-0x2235B 0x59A1 # <CJK>
-0x2235C 0x5B8E # <CJK>
-0x2235D 0x5B92 # <CJK>
-0x2235E 0x5C28 # <CJK>
-0x2235F 0x5C2A # <CJK>
-0x22360 0x5C8D # <CJK>
-0x22361 0x5C8F # <CJK>
-0x22362 0x5C88 # <CJK>
-0x22363 0x5C8B # <CJK>
-0x22364 0x5C89 # <CJK>
-0x22365 0x5C92 # <CJK>
-0x22366 0x5C8A # <CJK>
-0x22367 0x5C86 # <CJK>
-0x22368 0x5C93 # <CJK>
-0x22369 0x5C95 # <CJK>
-0x2236A 0x5DE0 # <CJK>
-0x2236B 0x5E0A # <CJK>
-0x2236C 0x5E0E # <CJK>
-0x2236D 0x5E8B # <CJK>
-0x2236E 0x5E89 # <CJK>
-0x2236F 0x5E8C # <CJK>
-0x22370 0x5E88 # <CJK>
-0x22371 0x5E8D # <CJK>
-0x22372 0x5F05 # <CJK>
-0x22373 0x5F1D # <CJK>
-0x22374 0x5F78 # <CJK>
-0x22375 0x5F76 # <CJK>
-0x22376 0x5FD2 # <CJK>
-0x22377 0x5FD1 # <CJK>
-0x22378 0x5FD0 # <CJK>
-0x22379 0x5FED # <CJK>
-0x2237A 0x5FE8 # <CJK>
-0x2237B 0x5FEE # <CJK>
-0x2237C 0x5FF3 # <CJK>
-0x2237D 0x5FE1 # <CJK>
-0x2237E 0x5FE4 # <CJK>
-0x22421 0x5FE3 # <CJK>
-0x22422 0x5FFA # <CJK>
-0x22423 0x5FEF # <CJK>
-0x22424 0x5FF7 # <CJK>
-0x22425 0x5FFB # <CJK>
-0x22426 0x6000 # <CJK>
-0x22427 0x5FF4 # <CJK>
-0x22428 0x623A # <CJK>
-0x22429 0x6283 # <CJK>
-0x2242A 0x628C # <CJK>
-0x2242B 0x628E # <CJK>
-0x2242C 0x628F # <CJK>
-0x2242D 0x6294 # <CJK>
-0x2242E 0x6287 # <CJK>
-0x2242F 0x6271 # <CJK>
-0x22430 0x627B # <CJK>
-0x22431 0x627A # <CJK>
-0x22432 0x6270 # <CJK>
-0x22433 0x6281 # <CJK>
-0x22434 0x6288 # <CJK>
-0x22435 0x6277 # <CJK>
-0x22436 0x627D # <CJK>
-0x22437 0x6272 # <CJK>
-0x22438 0x6274 # <CJK>
-0x22439 0x65F0 # <CJK>
-0x2243A 0x65F4 # <CJK>
-0x2243B 0x65F3 # <CJK>
-0x2243C 0x65F2 # <CJK>
-0x2243D 0x65F5 # <CJK>
-0x2243E 0x6745 # <CJK>
-0x2243F 0x6747 # <CJK>
-0x22440 0x6759 # <CJK>
-0x22441 0x6755 # <CJK>
-0x22442 0x674C # <CJK>
-0x22443 0x6748 # <CJK>
-0x22444 0x675D # <CJK>
-0x22445 0x674D # <CJK>
-0x22446 0x675A # <CJK>
-0x22447 0x674B # <CJK>
-0x22448 0x6BD0 # <CJK>
-0x22449 0x6C19 # <CJK>
-0x2244A 0x6C1A # <CJK>
-0x2244B 0x6C78 # <CJK>
-0x2244C 0x6C67 # <CJK>
-0x2244D 0x6C6B # <CJK>
-0x2244E 0x6C84 # <CJK>
-0x2244F 0x6C8B # <CJK>
-0x22450 0x6C8F # <CJK>
-0x22451 0x6C71 # <CJK>
-0x22452 0x6C6F # <CJK>
-0x22453 0x6C69 # <CJK>
-0x22454 0x6C9A # <CJK>
-0x22455 0x6C6D # <CJK>
-0x22456 0x6C87 # <CJK>
-0x22457 0x6C95 # <CJK>
-0x22458 0x6C9C # <CJK>
-0x22459 0x6C66 # <CJK>
-0x2245A 0x6C73 # <CJK>
-0x2245B 0x6C65 # <CJK>
-0x2245C 0x6C7B # <CJK>
-0x2245D 0x6C8E # <CJK>
-0x2245E 0x7074 # <CJK>
-0x2245F 0x707A # <CJK>
-0x22460 0x7263 # <CJK>
-0x22461 0x72BF # <CJK>
-0x22462 0x72BD # <CJK>
-0x22463 0x72C3 # <CJK>
-0x22464 0x72C6 # <CJK>
-0x22465 0x72C1 # <CJK>
-0x22466 0x72BA # <CJK>
-0x22467 0x72C5 # <CJK>
-0x22468 0x7395 # <CJK>
-0x22469 0x7397 # <CJK>
-0x2246A 0x7393 # <CJK>
-0x2246B 0x7394 # <CJK>
-0x2246C 0x7392 # <CJK>
-0x2246D 0x753A # <CJK>
-0x2246E 0x7539 # <CJK>
-0x2246F 0x7594 # <CJK>
-0x22470 0x7595 # <CJK>
-0x22471 0x7681 # <CJK>
-0x22472 0x793D # <CJK>
-0x22473 0x8034 # <CJK>
-0x22474 0x8095 # <CJK>
-0x22475 0x8099 # <CJK>
-0x22476 0x8090 # <CJK>
-0x22477 0x8092 # <CJK>
-0x22478 0x809C # <CJK>
-0x22479 0x8290 # <CJK>
-0x2247A 0x828F # <CJK>
-0x2247B 0x8285 # <CJK>
-0x2247C 0x828E # <CJK>
-0x2247D 0x8291 # <CJK>
-0x2247E 0x8293 # <CJK>
-0x22521 0x828A # <CJK>
-0x22522 0x8283 # <CJK>
-0x22523 0x8284 # <CJK>
-0x22524 0x8C78 # <CJK>
-0x22525 0x8FC9 # <CJK>
-0x22526 0x8FBF # <CJK>
-0x22527 0x909F # <CJK>
-0x22528 0x90A1 # <CJK>
-0x22529 0x90A5 # <CJK>
-0x2252A 0x909E # <CJK>
-0x2252B 0x90A7 # <CJK>
-0x2252C 0x90A0 # <CJK>
-0x2252D 0x9630 # <CJK>
-0x2252E 0x9628 # <CJK>
-0x2252F 0x962F # <CJK>
-0x22530 0x962D # <CJK>
-0x22531 0x4E33 # <CJK>
-0x22532 0x4F98 # <CJK>
-0x22533 0x4F7C # <CJK>
-0x22534 0x4F85 # <CJK>
-0x22535 0x4F7D # <CJK>
-0x22536 0x4F80 # <CJK>
-0x22537 0x4F87 # <CJK>
-0x22538 0x4F76 # <CJK>
-0x22539 0x4F74 # <CJK>
-0x2253A 0x4F89 # <CJK>
-0x2253B 0x4F84 # <CJK>
-0x2253C 0x4F77 # <CJK>
-0x2253D 0x4F4C # <CJK>
-0x2253E 0x4F97 # <CJK>
-0x2253F 0x4F6A # <CJK>
-0x22540 0x4F9A # <CJK>
-0x22541 0x4F79 # <CJK>
-0x22542 0x4F81 # <CJK>
-0x22543 0x4F78 # <CJK>
-0x22544 0x4F90 # <CJK>
-0x22545 0x4F9C # <CJK>
-0x22546 0x4F94 # <CJK>
-0x22547 0x4F9E # <CJK>
-0x22548 0x4F92 # <CJK>
-0x22549 0x4F82 # <CJK>
-0x2254A 0x4F95 # <CJK>
-0x2254B 0x4F6B # <CJK>
-0x2254C 0x4F6E # <CJK>
-0x2254D 0x519E # <CJK>
-0x2254E 0x51BC # <CJK>
-0x2254F 0x51BE # <CJK>
-0x22550 0x5235 # <CJK>
-0x22551 0x5232 # <CJK>
-0x22552 0x5233 # <CJK>
-0x22553 0x5246 # <CJK>
-0x22554 0x5231 # <CJK>
-0x22555 0x52BC # <CJK>
-0x22556 0x530A # <CJK>
-0x22557 0x530B # <CJK>
-0x22558 0x533C # <CJK>
-0x22559 0x5392 # <CJK>
-0x2255A 0x5394 # <CJK>
-0x2255B 0x5487 # <CJK>
-0x2255C 0x547F # <CJK>
-0x2255D 0x5481 # <CJK>
-0x2255E 0x5491 # <CJK>
-0x2255F 0x5482 # <CJK>
-0x22560 0x5488 # <CJK>
-0x22561 0x546B # <CJK>
-0x22562 0x547A # <CJK>
-0x22563 0x547E # <CJK>
-0x22564 0x5465 # <CJK>
-0x22565 0x546C # <CJK>
-0x22566 0x5474 # <CJK>
-0x22567 0x5466 # <CJK>
-0x22568 0x548D # <CJK>
-0x22569 0x546F # <CJK>
-0x2256A 0x5461 # <CJK>
-0x2256B 0x5460 # <CJK>
-0x2256C 0x5498 # <CJK>
-0x2256D 0x5463 # <CJK>
-0x2256E 0x5467 # <CJK>
-0x2256F 0x5464 # <CJK>
-0x22570 0x56F7 # <CJK>
-0x22571 0x56F9 # <CJK>
-0x22572 0x576F # <CJK>
-0x22573 0x5772 # <CJK>
-0x22574 0x576D # <CJK>
-0x22575 0x576B # <CJK>
-0x22576 0x5771 # <CJK>
-0x22577 0x5770 # <CJK>
-0x22578 0x5776 # <CJK>
-0x22579 0x5780 # <CJK>
-0x2257A 0x5775 # <CJK>
-0x2257B 0x577B # <CJK>
-0x2257C 0x5773 # <CJK>
-0x2257D 0x5774 # <CJK>
-0x2257E 0x5762 # <CJK>
-0x22621 0x5768 # <CJK>
-0x22622 0x577D # <CJK>
-0x22623 0x590C # <CJK>
-0x22624 0x5945 # <CJK>
-0x22625 0x59B5 # <CJK>
-0x22626 0x59BA # <CJK>
-0x22627 0x59CF # <CJK>
-0x22628 0x59CE # <CJK>
-0x22629 0x59B2 # <CJK>
-0x2262A 0x59CC # <CJK>
-0x2262B 0x59C1 # <CJK>
-0x2262C 0x59B6 # <CJK>
-0x2262D 0x59BC # <CJK>
-0x2262E 0x59C3 # <CJK>
-0x2262F 0x59D6 # <CJK>
-0x22630 0x59B1 # <CJK>
-0x22631 0x59BD # <CJK>
-0x22632 0x59C0 # <CJK>
-0x22633 0x59C8 # <CJK>
-0x22634 0x59B4 # <CJK>
-0x22635 0x59C7 # <CJK>
-0x22636 0x5B62 # <CJK>
-0x22637 0x5B65 # <CJK>
-0x22638 0x5B93 # <CJK>
-0x22639 0x5B95 # <CJK>
-0x2263A 0x5C44 # <CJK>
-0x2263B 0x5C47 # <CJK>
-0x2263C 0x5CAE # <CJK>
-0x2263D 0x5CA4 # <CJK>
-0x2263E 0x5CA0 # <CJK>
-0x2263F 0x5CB5 # <CJK>
-0x22640 0x5CAF # <CJK>
-0x22641 0x5CA8 # <CJK>
-0x22642 0x5CAC # <CJK>
-0x22643 0x5C9F # <CJK>
-0x22644 0x5CA3 # <CJK>
-0x22645 0x5CAD # <CJK>
-0x22646 0x5CA2 # <CJK>
-0x22647 0x5CAA # <CJK>
-0x22648 0x5CA7 # <CJK>
-0x22649 0x5C9D # <CJK>
-0x2264A 0x5CA5 # <CJK>
-0x2264B 0x5CB6 # <CJK>
-0x2264C 0x5CB0 # <CJK>
-0x2264D 0x5CA6 # <CJK>
-0x2264E 0x5E17 # <CJK>
-0x2264F 0x5E14 # <CJK>
-0x22650 0x5E19 # <CJK>
-0x22651 0x5F28 # <CJK>
-0x22652 0x5F22 # <CJK>
-0x22653 0x5F23 # <CJK>
-0x22654 0x5F24 # <CJK>
-0x22655 0x5F54 # <CJK>
-0x22656 0x5F82 # <CJK>
-0x22657 0x5F7E # <CJK>
-0x22658 0x5F7D # <CJK>
-0x22659 0x5FDE # <CJK>
-0x2265A 0x5FE5 # <CJK>
-0x2265B 0x602D # <CJK>
-0x2265C 0x6026 # <CJK>
-0x2265D 0x6019 # <CJK>
-0x2265E 0x6032 # <CJK>
-0x2265F 0x600B # <CJK>
-0x22660 0x6034 # <CJK>
-0x22661 0x600A # <CJK>
-0x22662 0x6017 # <CJK>
-0x22663 0x6033 # <CJK>
-0x22664 0x601A # <CJK>
-0x22665 0x601E # <CJK>
-0x22666 0x602C # <CJK>
-0x22667 0x6022 # <CJK>
-0x22668 0x600D # <CJK>
-0x22669 0x6010 # <CJK>
-0x2266A 0x602E # <CJK>
-0x2266B 0x6013 # <CJK>
-0x2266C 0x6011 # <CJK>
-0x2266D 0x600C # <CJK>
-0x2266E 0x6009 # <CJK>
-0x2266F 0x601C # <CJK>
-0x22670 0x6214 # <CJK>
-0x22671 0x623D # <CJK>
-0x22672 0x62AD # <CJK>
-0x22673 0x62B4 # <CJK>
-0x22674 0x62D1 # <CJK>
-0x22675 0x62BE # <CJK>
-0x22676 0x62AA # <CJK>
-0x22677 0x62B6 # <CJK>
-0x22678 0x62CA # <CJK>
-0x22679 0x62AE # <CJK>
-0x2267A 0x62B3 # <CJK>
-0x2267B 0x62AF # <CJK>
-0x2267C 0x62BB # <CJK>
-0x2267D 0x62A9 # <CJK>
-0x2267E 0x62B0 # <CJK>
-0x22721 0x62B8 # <CJK>
-0x22722 0x653D # <CJK>
-0x22723 0x65A8 # <CJK>
-0x22724 0x65BB # <CJK>
-0x22725 0x6609 # <CJK>
-0x22726 0x65FC # <CJK>
-0x22727 0x6604 # <CJK>
-0x22728 0x6612 # <CJK>
-0x22729 0x6608 # <CJK>
-0x2272A 0x65FB # <CJK>
-0x2272B 0x6603 # <CJK>
-0x2272C 0x660B # <CJK>
-0x2272D 0x660D # <CJK>
-0x2272E 0x6605 # <CJK>
-0x2272F 0x65FD # <CJK>
-0x22730 0x6611 # <CJK>
-0x22731 0x6610 # <CJK>
-0x22732 0x66F6 # <CJK>
-0x22733 0x670A # <CJK>
-0x22734 0x6785 # <CJK>
-0x22735 0x676C # <CJK>
-0x22736 0x678E # <CJK>
-0x22737 0x6792 # <CJK>
-0x22738 0x6776 # <CJK>
-0x22739 0x677B # <CJK>
-0x2273A 0x6798 # <CJK>
-0x2273B 0x6786 # <CJK>
-0x2273C 0x6784 # <CJK>
-0x2273D 0x6774 # <CJK>
-0x2273E 0x678D # <CJK>
-0x2273F 0x678C # <CJK>
-0x22740 0x677A # <CJK>
-0x22741 0x679F # <CJK>
-0x22742 0x6791 # <CJK>
-0x22743 0x6799 # <CJK>
-0x22744 0x6783 # <CJK>
-0x22745 0x677D # <CJK>
-0x22746 0x6781 # <CJK>
-0x22747 0x6778 # <CJK>
-0x22748 0x6779 # <CJK>
-0x22749 0x6794 # <CJK>
-0x2274A 0x6B25 # <CJK>
-0x2274B 0x6B80 # <CJK>
-0x2274C 0x6B7E # <CJK>
-0x2274D 0x6BDE # <CJK>
-0x2274E 0x6C1D # <CJK>
-0x2274F 0x6C93 # <CJK>
-0x22750 0x6CEC # <CJK>
-0x22751 0x6CEB # <CJK>
-0x22752 0x6CEE # <CJK>
-0x22753 0x6CD9 # <CJK>
-0x22754 0x6CB6 # <CJK>
-0x22755 0x6CD4 # <CJK>
-0x22756 0x6CAD # <CJK>
-0x22757 0x6CE7 # <CJK>
-0x22758 0x6CB7 # <CJK>
-0x22759 0x6CD0 # <CJK>
-0x2275A 0x6CC2 # <CJK>
-0x2275B 0x6CBA # <CJK>
-0x2275C 0x6CC3 # <CJK>
-0x2275D 0x6CC6 # <CJK>
-0x2275E 0x6CED # <CJK>
-0x2275F 0x6CF2 # <CJK>
-0x22760 0x6CD2 # <CJK>
-0x22761 0x6CDD # <CJK>
-0x22762 0x6CB4 # <CJK>
-0x22763 0x6C8A # <CJK>
-0x22764 0x6C9D # <CJK>
-0x22765 0x6C80 # <CJK>
-0x22766 0x6CDE # <CJK>
-0x22767 0x6CC0 # <CJK>
-0x22768 0x6D30 # <CJK>
-0x22769 0x6CCD # <CJK>
-0x2276A 0x6CC7 # <CJK>
-0x2276B 0x6CB0 # <CJK>
-0x2276C 0x6CF9 # <CJK>
-0x2276D 0x6CCF # <CJK>
-0x2276E 0x6CE9 # <CJK>
-0x2276F 0x6CD1 # <CJK>
-0x22770 0x7094 # <CJK>
-0x22771 0x7098 # <CJK>
-0x22772 0x7085 # <CJK>
-0x22773 0x7093 # <CJK>
-0x22774 0x7086 # <CJK>
-0x22775 0x7084 # <CJK>
-0x22776 0x7091 # <CJK>
-0x22777 0x7096 # <CJK>
-0x22778 0x7082 # <CJK>
-0x22779 0x709A # <CJK>
-0x2277A 0x7083 # <CJK>
-0x2277B 0x726A # <CJK>
-0x2277C 0x72D6 # <CJK>
-0x2277D 0x72CB # <CJK>
-0x2277E 0x72D8 # <CJK>
-0x22821 0x72C9 # <CJK>
-0x22822 0x72DC # <CJK>
-0x22823 0x72D2 # <CJK>
-0x22824 0x72D4 # <CJK>
-0x22825 0x72DA # <CJK>
-0x22826 0x72CC # <CJK>
-0x22827 0x72D1 # <CJK>
-0x22828 0x73A4 # <CJK>
-0x22829 0x73A1 # <CJK>
-0x2282A 0x73AD # <CJK>
-0x2282B 0x73A6 # <CJK>
-0x2282C 0x73A2 # <CJK>
-0x2282D 0x73A0 # <CJK>
-0x2282E 0x73AC # <CJK>
-0x2282F 0x739D # <CJK>
-0x22830 0x74DD # <CJK>
-0x22831 0x74E8 # <CJK>
-0x22832 0x753F # <CJK>
-0x22833 0x7540 # <CJK>
-0x22834 0x753E # <CJK>
-0x22835 0x758C # <CJK>
-0x22836 0x7598 # <CJK>
-0x22837 0x76AF # <CJK>
-0x22838 0x76F3 # <CJK>
-0x22839 0x76F1 # <CJK>
-0x2283A 0x76F0 # <CJK>
-0x2283B 0x76F5 # <CJK>
-0x2283C 0x77F8 # <CJK>
-0x2283D 0x77FC # <CJK>
-0x2283E 0x77F9 # <CJK>
-0x2283F 0x77FB # <CJK>
-0x22840 0x77FA # <CJK>
-0x22841 0x77F7 # <CJK>
-0x22842 0x7942 # <CJK>
-0x22843 0x793F # <CJK>
-0x22844 0x79C5 # <CJK>
-0x22845 0x7A78 # <CJK>
-0x22846 0x7A7B # <CJK>
-0x22847 0x7AFB # <CJK>
-0x22848 0x7C75 # <CJK>
-0x22849 0x7CFD # <CJK>
-0x2284A 0x8035 # <CJK>
-0x2284B 0x808F # <CJK>
-0x2284C 0x80AE # <CJK>
-0x2284D 0x80A3 # <CJK>
-0x2284E 0x80B8 # <CJK>
-0x2284F 0x80B5 # <CJK>
-0x22850 0x80AD # <CJK>
-0x22851 0x8220 # <CJK>
-0x22852 0x82A0 # <CJK>
-0x22853 0x82C0 # <CJK>
-0x22854 0x82AB # <CJK>
-0x22855 0x829A # <CJK>
-0x22856 0x8298 # <CJK>
-0x22857 0x829B # <CJK>
-0x22858 0x82B5 # <CJK>
-0x22859 0x82A7 # <CJK>
-0x2285A 0x82AE # <CJK>
-0x2285B 0x82BC # <CJK>
-0x2285C 0x829E # <CJK>
-0x2285D 0x82BA # <CJK>
-0x2285E 0x82B4 # <CJK>
-0x2285F 0x82A8 # <CJK>
-0x22860 0x82A1 # <CJK>
-0x22861 0x82A9 # <CJK>
-0x22862 0x82C2 # <CJK>
-0x22863 0x82A4 # <CJK>
-0x22864 0x82C3 # <CJK>
-0x22865 0x82B6 # <CJK>
-0x22866 0x82A2 # <CJK>
-0x22867 0x8670 # <CJK>
-0x22868 0x866F # <CJK>
-0x22869 0x866D # <CJK>
-0x2286A 0x866E # <CJK>
-0x2286B 0x8C56 # <CJK>
-0x2286C 0x8FD2 # <CJK>
-0x2286D 0x8FCB # <CJK>
-0x2286E 0x8FD3 # <CJK>
-0x2286F 0x8FCD # <CJK>
-0x22870 0x8FD6 # <CJK>
-0x22871 0x8FD5 # <CJK>
-0x22872 0x8FD7 # <CJK>
-0x22873 0x90B2 # <CJK>
-0x22874 0x90B4 # <CJK>
-0x22875 0x90AF # <CJK>
-0x22876 0x90B3 # <CJK>
-0x22877 0x90B0 # <CJK>
-0x22878 0x9639 # <CJK>
-0x22879 0x963D # <CJK>
-0x2287A 0x963C # <CJK>
-0x2287B 0x963A # <CJK>
-0x2287C 0x9643 # <CJK>
-0x2287D 0x4FCD # <CJK>
-0x2287E 0x4FC5 # <CJK>
-0x22921 0x4FD3 # <CJK>
-0x22922 0x4FB2 # <CJK>
-0x22923 0x4FC9 # <CJK>
-0x22924 0x4FCB # <CJK>
-0x22925 0x4FC1 # <CJK>
-0x22926 0x4FD4 # <CJK>
-0x22927 0x4FDC # <CJK>
-0x22928 0x4FD9 # <CJK>
-0x22929 0x4FBB # <CJK>
-0x2292A 0x4FB3 # <CJK>
-0x2292B 0x4FDB # <CJK>
-0x2292C 0x4FC7 # <CJK>
-0x2292D 0x4FD6 # <CJK>
-0x2292E 0x4FBA # <CJK>
-0x2292F 0x4FC0 # <CJK>
-0x22930 0x4FB9 # <CJK>
-0x22931 0x4FEC # <CJK>
-0x22932 0x5244 # <CJK>
-0x22933 0x5249 # <CJK>
-0x22934 0x52C0 # <CJK>
-0x22935 0x52C2 # <CJK>
-0x22936 0x533D # <CJK>
-0x22937 0x537C # <CJK>
-0x22938 0x5397 # <CJK>
-0x22939 0x5396 # <CJK>
-0x2293A 0x5399 # <CJK>
-0x2293B 0x5398 # <CJK>
-0x2293C 0x54BA # <CJK>
-0x2293D 0x54A1 # <CJK>
-0x2293E 0x54AD # <CJK>
-0x2293F 0x54A5 # <CJK>
-0x22940 0x54CF # <CJK>
-0x22941 0x54C3 # <CJK>
-0x22942 0x830D # <CJK>
-0x22943 0x54B7 # <CJK>
-0x22944 0x54AE # <CJK>
-0x22945 0x54D6 # <CJK>
-0x22946 0x54B6 # <CJK>
-0x22947 0x54C5 # <CJK>
-0x22948 0x54C6 # <CJK>
-0x22949 0x54A0 # <CJK>
-0x2294A 0x5470 # <CJK>
-0x2294B 0x54BC # <CJK>
-0x2294C 0x54A2 # <CJK>
-0x2294D 0x54BE # <CJK>
-0x2294E 0x5472 # <CJK>
-0x2294F 0x54DE # <CJK>
-0x22950 0x54B0 # <CJK>
-0x22951 0x57B5 # <CJK>
-0x22952 0x579E # <CJK>
-0x22953 0x579F # <CJK>
-0x22954 0x57A4 # <CJK>
-0x22955 0x578C # <CJK>
-0x22956 0x5797 # <CJK>
-0x22957 0x579D # <CJK>
-0x22958 0x579B # <CJK>
-0x22959 0x5794 # <CJK>
-0x2295A 0x5798 # <CJK>
-0x2295B 0x578F # <CJK>
-0x2295C 0x5799 # <CJK>
-0x2295D 0x57A5 # <CJK>
-0x2295E 0x579A # <CJK>
-0x2295F 0x5795 # <CJK>
-0x22960 0x58F4 # <CJK>
-0x22961 0x590D # <CJK>
-0x22962 0x5953 # <CJK>
-0x22963 0x59E1 # <CJK>
-0x22964 0x59DE # <CJK>
-0x22965 0x59EE # <CJK>
-0x22966 0x5A00 # <CJK>
-0x22967 0x59F1 # <CJK>
-0x22968 0x59DD # <CJK>
-0x22969 0x59FA # <CJK>
-0x2296A 0x59FD # <CJK>
-0x2296B 0x59FC # <CJK>
-0x2296C 0x59F6 # <CJK>
-0x2296D 0x59E4 # <CJK>
-0x2296E 0x59F2 # <CJK>
-0x2296F 0x59F7 # <CJK>
-0x22970 0x59DB # <CJK>
-0x22971 0x59E9 # <CJK>
-0x22972 0x59F3 # <CJK>
-0x22973 0x59F5 # <CJK>
-0x22974 0x59E0 # <CJK>
-0x22975 0x59FE # <CJK>
-0x22976 0x59F4 # <CJK>
-0x22977 0x59ED # <CJK>
-0x22978 0x5BA8 # <CJK>
-0x22979 0x5C4C # <CJK>
-0x2297A 0x5CD0 # <CJK>
-0x2297B 0x5CD8 # <CJK>
-0x2297C 0x5CCC # <CJK>
-0x2297D 0x5CD7 # <CJK>
-0x2297E 0x5CCB # <CJK>
-0x22A21 0x5CDB # <CJK>
-0x22A22 0x5CDE # <CJK>
-0x22A23 0x5CDA # <CJK>
-0x22A24 0x5CC9 # <CJK>
-0x22A25 0x5CC7 # <CJK>
-0x22A26 0x5CCA # <CJK>
-0x22A27 0x5CD6 # <CJK>
-0x22A28 0x5CD3 # <CJK>
-0x22A29 0x5CD4 # <CJK>
-0x22A2A 0x5CCF # <CJK>
-0x22A2B 0x5CC8 # <CJK>
-0x22A2C 0x5CC6 # <CJK>
-0x22A2D 0x5CCE # <CJK>
-0x22A2E 0x5CDF # <CJK>
-0x22A2F 0x5CF8 # <CJK>
-0x22A30 0x5DF9 # <CJK>
-0x22A31 0x5E21 # <CJK>
-0x22A32 0x5E22 # <CJK>
-0x22A33 0x5E23 # <CJK>
-0x22A34 0x5E20 # <CJK>
-0x22A35 0x5E24 # <CJK>
-0x22A36 0x5EB0 # <CJK>
-0x22A37 0x5EA4 # <CJK>
-0x22A38 0x5EA2 # <CJK>
-0x22A39 0x5E9B # <CJK>
-0x22A3A 0x5EA3 # <CJK>
-0x22A3B 0x5EA5 # <CJK>
-0x22A3C 0x5F07 # <CJK>
-0x22A3D 0x5F2E # <CJK>
-0x22A3E 0x5F56 # <CJK>
-0x22A3F 0x5F86 # <CJK>
-0x22A40 0x6037 # <CJK>
-0x22A41 0x6039 # <CJK>
-0x22A42 0x6054 # <CJK>
-0x22A43 0x6072 # <CJK>
-0x22A44 0x605E # <CJK>
-0x22A45 0x6045 # <CJK>
-0x22A46 0x6053 # <CJK>
-0x22A47 0x6047 # <CJK>
-0x22A48 0x6049 # <CJK>
-0x22A49 0x605B # <CJK>
-0x22A4A 0x604C # <CJK>
-0x22A4B 0x6040 # <CJK>
-0x22A4C 0x6042 # <CJK>
-0x22A4D 0x605F # <CJK>
-0x22A4E 0x6024 # <CJK>
-0x22A4F 0x6044 # <CJK>
-0x22A50 0x6058 # <CJK>
-0x22A51 0x6066 # <CJK>
-0x22A52 0x606E # <CJK>
-0x22A53 0x6242 # <CJK>
-0x22A54 0x6243 # <CJK>
-0x22A55 0x62CF # <CJK>
-0x22A56 0x630D # <CJK>
-0x22A57 0x630B # <CJK>
-0x22A58 0x62F5 # <CJK>
-0x22A59 0x630E # <CJK>
-0x22A5A 0x6303 # <CJK>
-0x22A5B 0x62EB # <CJK>
-0x22A5C 0x62F9 # <CJK>
-0x22A5D 0x630F # <CJK>
-0x22A5E 0x630C # <CJK>
-0x22A5F 0x62F8 # <CJK>
-0x22A60 0x62F6 # <CJK>
-0x22A61 0x6300 # <CJK>
-0x22A62 0x6313 # <CJK>
-0x22A63 0x6314 # <CJK>
-0x22A64 0x62FA # <CJK>
-0x22A65 0x6315 # <CJK>
-0x22A66 0x62FB # <CJK>
-0x22A67 0x62F0 # <CJK>
-0x22A68 0x6541 # <CJK>
-0x22A69 0x6543 # <CJK>
-0x22A6A 0x65AA # <CJK>
-0x22A6B 0x65BF # <CJK>
-0x22A6C 0x6636 # <CJK>
-0x22A6D 0x6621 # <CJK>
-0x22A6E 0x6632 # <CJK>
-0x22A6F 0x6635 # <CJK>
-0x22A70 0x661C # <CJK>
-0x22A71 0x6626 # <CJK>
-0x22A72 0x6622 # <CJK>
-0x22A73 0x6633 # <CJK>
-0x22A74 0x662B # <CJK>
-0x22A75 0x663A # <CJK>
-0x22A76 0x661D # <CJK>
-0x22A77 0x6634 # <CJK>
-0x22A78 0x6639 # <CJK>
-0x22A79 0x662E # <CJK>
-0x22A7A 0x670F # <CJK>
-0x22A7B 0x6710 # <CJK>
-0x22A7C 0x67C1 # <CJK>
-0x22A7D 0x67F2 # <CJK>
-0x22A7E 0x67C8 # <CJK>
-0x22B21 0x67BA # <CJK>
-0x22B22 0x67DC # <CJK>
-0x22B23 0x67BB # <CJK>
-0x22B24 0x67F8 # <CJK>
-0x22B25 0x67D8 # <CJK>
-0x22B26 0x67C0 # <CJK>
-0x22B27 0x67B7 # <CJK>
-0x22B28 0x67C5 # <CJK>
-0x22B29 0x67EB # <CJK>
-0x22B2A 0x67E4 # <CJK>
-0x22B2B 0x67DF # <CJK>
-0x22B2C 0x67B5 # <CJK>
-0x22B2D 0x67CD # <CJK>
-0x22B2E 0x67B3 # <CJK>
-0x22B2F 0x67F7 # <CJK>
-0x22B30 0x67F6 # <CJK>
-0x22B31 0x67EE # <CJK>
-0x22B32 0x67E3 # <CJK>
-0x22B33 0x67C2 # <CJK>
-0x22B34 0x67B9 # <CJK>
-0x22B35 0x67CE # <CJK>
-0x22B36 0x67E7 # <CJK>
-0x22B37 0x67F0 # <CJK>
-0x22B38 0x67B2 # <CJK>
-0x22B39 0x67FC # <CJK>
-0x22B3A 0x67C6 # <CJK>
-0x22B3B 0x67ED # <CJK>
-0x22B3C 0x67CC # <CJK>
-0x22B3D 0x67AE # <CJK>
-0x22B3E 0x67E6 # <CJK>
-0x22B3F 0x67DB # <CJK>
-0x22B40 0x67FA # <CJK>
-0x22B41 0x67C9 # <CJK>
-0x22B42 0x67CA # <CJK>
-0x22B43 0x67C3 # <CJK>
-0x22B44 0x67EA # <CJK>
-0x22B45 0x67CB # <CJK>
-0x22B46 0x6B28 # <CJK>
-0x22B47 0x6B82 # <CJK>
-0x22B48 0x6B84 # <CJK>
-0x22B49 0x6BB6 # <CJK>
-0x22B4A 0x6BD6 # <CJK>
-0x22B4B 0x6BD8 # <CJK>
-0x22B4C 0x6BE0 # <CJK>
-0x22B4D 0x6C20 # <CJK>
-0x22B4E 0x6C21 # <CJK>
-0x22B4F 0x6D28 # <CJK>
-0x22B50 0x6D34 # <CJK>
-0x22B51 0x6D2D # <CJK>
-0x22B52 0x6D1F # <CJK>
-0x22B53 0x6D3C # <CJK>
-0x22B54 0x6D3F # <CJK>
-0x22B55 0x6D12 # <CJK>
-0x22B56 0x6D0A # <CJK>
-0x22B57 0x6CDA # <CJK>
-0x22B58 0x6D33 # <CJK>
-0x22B59 0x6D04 # <CJK>
-0x22B5A 0x6D19 # <CJK>
-0x22B5B 0x6D3A # <CJK>
-0x22B5C 0x6D1A # <CJK>
-0x22B5D 0x6D11 # <CJK>
-0x22B5E 0x6D00 # <CJK>
-0x22B5F 0x6D1D # <CJK>
-0x22B60 0x6D42 # <CJK>
-0x22B61 0x6D01 # <CJK>
-0x22B62 0x6D18 # <CJK>
-0x22B63 0x6D37 # <CJK>
-0x22B64 0x6D03 # <CJK>
-0x22B65 0x6D0F # <CJK>
-0x22B66 0x6D40 # <CJK>
-0x22B67 0x6D07 # <CJK>
-0x22B68 0x6D20 # <CJK>
-0x22B69 0x6D2C # <CJK>
-0x22B6A 0x6D08 # <CJK>
-0x22B6B 0x6D22 # <CJK>
-0x22B6C 0x6D09 # <CJK>
-0x22B6D 0x6D10 # <CJK>
-0x22B6E 0x70B7 # <CJK>
-0x22B6F 0x709F # <CJK>
-0x22B70 0x70BE # <CJK>
-0x22B71 0x70B1 # <CJK>
-0x22B72 0x70B0 # <CJK>
-0x22B73 0x70A1 # <CJK>
-0x22B74 0x70B4 # <CJK>
-0x22B75 0x70B5 # <CJK>
-0x22B76 0x70A9 # <CJK>
-0x22B77 0x7241 # <CJK>
-0x22B78 0x7249 # <CJK>
-0x22B79 0x724A # <CJK>
-0x22B7A 0x726C # <CJK>
-0x22B7B 0x7270 # <CJK>
-0x22B7C 0x7273 # <CJK>
-0x22B7D 0x726E # <CJK>
-0x22B7E 0x72CA # <CJK>
-0x22C21 0x72E4 # <CJK>
-0x22C22 0x72E8 # <CJK>
-0x22C23 0x72EB # <CJK>
-0x22C24 0x72DF # <CJK>
-0x22C25 0x72EA # <CJK>
-0x22C26 0x72E6 # <CJK>
-0x22C27 0x72E3 # <CJK>
-0x22C28 0x7385 # <CJK>
-0x22C29 0x73CC # <CJK>
-0x22C2A 0x73C2 # <CJK>
-0x22C2B 0x73C8 # <CJK>
-0x22C2C 0x73C5 # <CJK>
-0x22C2D 0x73B9 # <CJK>
-0x22C2E 0x73B6 # <CJK>
-0x22C2F 0x73B5 # <CJK>
-0x22C30 0x73B4 # <CJK>
-0x22C31 0x73EB # <CJK>
-0x22C32 0x73BF # <CJK>
-0x22C33 0x73C7 # <CJK>
-0x22C34 0x73BE # <CJK>
-0x22C35 0x73C3 # <CJK>
-0x22C36 0x73C6 # <CJK>
-0x22C37 0x73B8 # <CJK>
-0x22C38 0x73CB # <CJK>
-0x22C39 0x74EC # <CJK>
-0x22C3A 0x74EE # <CJK>
-0x22C3B 0x752E # <CJK>
-0x22C3C 0x7547 # <CJK>
-0x22C3D 0x7548 # <CJK>
-0x22C3E 0x75A7 # <CJK>
-0x22C3F 0x75AA # <CJK>
-0x22C40 0x7679 # <CJK>
-0x22C41 0x76C4 # <CJK>
-0x22C42 0x7708 # <CJK>
-0x22C43 0x7703 # <CJK>
-0x22C44 0x7704 # <CJK>
-0x22C45 0x7705 # <CJK>
-0x22C46 0x770A # <CJK>
-0x22C47 0x76F7 # <CJK>
-0x22C48 0x76FB # <CJK>
-0x22C49 0x76FA # <CJK>
-0x22C4A 0x77E7 # <CJK>
-0x22C4B 0x77E8 # <CJK>
-0x22C4C 0x7806 # <CJK>
-0x22C4D 0x7811 # <CJK>
-0x22C4E 0x7812 # <CJK>
-0x22C4F 0x7805 # <CJK>
-0x22C50 0x7810 # <CJK>
-0x22C51 0x780F # <CJK>
-0x22C52 0x780E # <CJK>
-0x22C53 0x7809 # <CJK>
-0x22C54 0x7803 # <CJK>
-0x22C55 0x7813 # <CJK>
-0x22C56 0x794A # <CJK>
-0x22C57 0x794C # <CJK>
-0x22C58 0x794B # <CJK>
-0x22C59 0x7945 # <CJK>
-0x22C5A 0x7944 # <CJK>
-0x22C5B 0x79D5 # <CJK>
-0x22C5C 0x79CD # <CJK>
-0x22C5D 0x79CF # <CJK>
-0x22C5E 0x79D6 # <CJK>
-0x22C5F 0x79CE # <CJK>
-0x22C60 0x7A80 # <CJK>
-0x22C61 0x7A7E # <CJK>
-0x22C62 0x7AD1 # <CJK>
-0x22C63 0x7B00 # <CJK>
-0x22C64 0x7B01 # <CJK>
-0x22C65 0x7C7A # <CJK>
-0x22C66 0x7C78 # <CJK>
-0x22C67 0x7C79 # <CJK>
-0x22C68 0x7C7F # <CJK>
-0x22C69 0x7C80 # <CJK>
-0x22C6A 0x7C81 # <CJK>
-0x22C6B 0x7D03 # <CJK>
-0x22C6C 0x7D08 # <CJK>
-0x22C6D 0x7D01 # <CJK>
-0x22C6E 0x7F58 # <CJK>
-0x22C6F 0x7F91 # <CJK>
-0x22C70 0x7F8D # <CJK>
-0x22C71 0x7FBE # <CJK>
-0x22C72 0x8007 # <CJK>
-0x22C73 0x800E # <CJK>
-0x22C74 0x800F # <CJK>
-0x22C75 0x8014 # <CJK>
-0x22C76 0x8037 # <CJK>
-0x22C77 0x80D8 # <CJK>
-0x22C78 0x80C7 # <CJK>
-0x22C79 0x80E0 # <CJK>
-0x22C7A 0x80D1 # <CJK>
-0x22C7B 0x80C8 # <CJK>
-0x22C7C 0x80C2 # <CJK>
-0x22C7D 0x80D0 # <CJK>
-0x22C7E 0x80C5 # <CJK>
-0x22D21 0x80E3 # <CJK>
-0x22D22 0x80D9 # <CJK>
-0x22D23 0x80DC # <CJK>
-0x22D24 0x80CA # <CJK>
-0x22D25 0x80D5 # <CJK>
-0x22D26 0x80C9 # <CJK>
-0x22D27 0x80CF # <CJK>
-0x22D28 0x80D7 # <CJK>
-0x22D29 0x80E6 # <CJK>
-0x22D2A 0x80CD # <CJK>
-0x22D2B 0x81FF # <CJK>
-0x22D2C 0x8221 # <CJK>
-0x22D2D 0x8294 # <CJK>
-0x22D2E 0x82D9 # <CJK>
-0x22D2F 0x82FE # <CJK>
-0x22D30 0x82F9 # <CJK>
-0x22D31 0x8307 # <CJK>
-0x22D32 0x82E8 # <CJK>
-0x22D33 0x8300 # <CJK>
-0x22D34 0x82D5 # <CJK>
-0x22D35 0x833A # <CJK>
-0x22D36 0x82EB # <CJK>
-0x22D37 0x82D6 # <CJK>
-0x22D38 0x82F4 # <CJK>
-0x22D39 0x82EC # <CJK>
-0x22D3A 0x82E1 # <CJK>
-0x22D3B 0x82F2 # <CJK>
-0x22D3C 0x82F5 # <CJK>
-0x22D3D 0x830C # <CJK>
-0x22D3E 0x82FB # <CJK>
-0x22D3F 0x82F6 # <CJK>
-0x22D40 0x82F0 # <CJK>
-0x22D41 0x82EA # <CJK>
-0x22D42 0x82E4 # <CJK>
-0x22D43 0x82E0 # <CJK>
-0x22D44 0x82FA # <CJK>
-0x22D45 0x82F3 # <CJK>
-0x22D46 0x82ED # <CJK>
-0x22D47 0x8677 # <CJK>
-0x22D48 0x8674 # <CJK>
-0x22D49 0x867C # <CJK>
-0x22D4A 0x8673 # <CJK>
-0x22D4B 0x8841 # <CJK>
-0x22D4C 0x884E # <CJK>
-0x22D4D 0x8867 # <CJK>
-0x22D4E 0x886A # <CJK>
-0x22D4F 0x8869 # <CJK>
-0x22D50 0x89D3 # <CJK>
-0x22D51 0x8A04 # <CJK>
-0x22D52 0x8A07 # <CJK>
-0x22D53 0x8D72 # <CJK>
-0x22D54 0x8FE3 # <CJK>
-0x22D55 0x8FE1 # <CJK>
-0x22D56 0x8FEE # <CJK>
-0x22D57 0x8FE0 # <CJK>
-0x22D58 0x90F1 # <CJK>
-0x22D59 0x90BD # <CJK>
-0x22D5A 0x90BF # <CJK>
-0x22D5B 0x90D5 # <CJK>
-0x22D5C 0x90C5 # <CJK>
-0x22D5D 0x90BE # <CJK>
-0x22D5E 0x90C7 # <CJK>
-0x22D5F 0x90CB # <CJK>
-0x22D60 0x90C8 # <CJK>
-0x22D61 0x91D4 # <CJK>
-0x22D62 0x91D3 # <CJK>
-0x22D63 0x9654 # <CJK>
-0x22D64 0x964F # <CJK>
-0x22D65 0x9651 # <CJK>
-0x22D66 0x9653 # <CJK>
-0x22D67 0x964A # <CJK>
-0x22D68 0x964E # <CJK>
-0x22D69 0x501E # <CJK>
-0x22D6A 0x5005 # <CJK>
-0x22D6B 0x5007 # <CJK>
-0x22D6C 0x5013 # <CJK>
-0x22D6D 0x5022 # <CJK>
-0x22D6E 0x5030 # <CJK>
-0x22D6F 0x501B # <CJK>
-0x22D70 0x4FF5 # <CJK>
-0x22D71 0x4FF4 # <CJK>
-0x22D72 0x5033 # <CJK>
-0x22D73 0x5037 # <CJK>
-0x22D74 0x502C # <CJK>
-0x22D75 0x4FF6 # <CJK>
-0x22D76 0x4FF7 # <CJK>
-0x22D77 0x5017 # <CJK>
-0x22D78 0x501C # <CJK>
-0x22D79 0x5020 # <CJK>
-0x22D7A 0x5027 # <CJK>
-0x22D7B 0x5035 # <CJK>
-0x22D7C 0x502F # <CJK>
-0x22D7D 0x5031 # <CJK>
-0x22D7E 0x500E # <CJK>
-0x22E21 0x515A # <CJK>
-0x22E22 0x5194 # <CJK>
-0x22E23 0x5193 # <CJK>
-0x22E24 0x51CA # <CJK>
-0x22E25 0x51C4 # <CJK>
-0x22E26 0x51C5 # <CJK>
-0x22E27 0x51C8 # <CJK>
-0x22E28 0x51CE # <CJK>
-0x22E29 0x5261 # <CJK>
-0x22E2A 0x525A # <CJK>
-0x22E2B 0x5252 # <CJK>
-0x22E2C 0x525E # <CJK>
-0x22E2D 0x525F # <CJK>
-0x22E2E 0x5255 # <CJK>
-0x22E2F 0x5262 # <CJK>
-0x22E30 0x52CD # <CJK>
-0x22E31 0x530E # <CJK>
-0x22E32 0x539E # <CJK>
-0x22E33 0x5526 # <CJK>
-0x22E34 0x54E2 # <CJK>
-0x22E35 0x5517 # <CJK>
-0x22E36 0x5512 # <CJK>
-0x22E37 0x54E7 # <CJK>
-0x22E38 0x54F3 # <CJK>
-0x22E39 0x54E4 # <CJK>
-0x22E3A 0x551A # <CJK>
-0x22E3B 0x54FF # <CJK>
-0x22E3C 0x5504 # <CJK>
-0x22E3D 0x5508 # <CJK>
-0x22E3E 0x54EB # <CJK>
-0x22E3F 0x5511 # <CJK>
-0x22E40 0x5505 # <CJK>
-0x22E41 0x54F1 # <CJK>
-0x22E42 0x550A # <CJK>
-0x22E43 0x54FB # <CJK>
-0x22E44 0x54F7 # <CJK>
-0x22E45 0x54F8 # <CJK>
-0x22E46 0x54E0 # <CJK>
-0x22E47 0x550E # <CJK>
-0x22E48 0x5503 # <CJK>
-0x22E49 0x550B # <CJK>
-0x22E4A 0x5701 # <CJK>
-0x22E4B 0x5702 # <CJK>
-0x22E4C 0x57CC # <CJK>
-0x22E4D 0x5832 # <CJK>
-0x22E4E 0x57D5 # <CJK>
-0x22E4F 0x57D2 # <CJK>
-0x22E50 0x57BA # <CJK>
-0x22E51 0x57C6 # <CJK>
-0x22E52 0x57BD # <CJK>
-0x22E53 0x57BC # <CJK>
-0x22E54 0x57B8 # <CJK>
-0x22E55 0x57B6 # <CJK>
-0x22E56 0x57BF # <CJK>
-0x22E57 0x57C7 # <CJK>
-0x22E58 0x57D0 # <CJK>
-0x22E59 0x57B9 # <CJK>
-0x22E5A 0x57C1 # <CJK>
-0x22E5B 0x590E # <CJK>
-0x22E5C 0x594A # <CJK>
-0x22E5D 0x5A19 # <CJK>
-0x22E5E 0x5A16 # <CJK>
-0x22E5F 0x5A2D # <CJK>
-0x22E60 0x5A2E # <CJK>
-0x22E61 0x5A15 # <CJK>
-0x22E62 0x5A0F # <CJK>
-0x22E63 0x5A17 # <CJK>
-0x22E64 0x5A0A # <CJK>
-0x22E65 0x5A1E # <CJK>
-0x22E66 0x5A33 # <CJK>
-0x22E67 0x5B6C # <CJK>
-0x22E68 0x5BA7 # <CJK>
-0x22E69 0x5BAD # <CJK>
-0x22E6A 0x5BAC # <CJK>
-0x22E6B 0x5C03 # <CJK>
-0x22E6C 0x5C56 # <CJK>
-0x22E6D 0x5C54 # <CJK>
-0x22E6E 0x5CEC # <CJK>
-0x22E6F 0x5CFF # <CJK>
-0x22E70 0x5CEE # <CJK>
-0x22E71 0x5CF1 # <CJK>
-0x22E72 0x5CF7 # <CJK>
-0x22E73 0x5D00 # <CJK>
-0x22E74 0x5CF9 # <CJK>
-0x22E75 0x5E29 # <CJK>
-0x22E76 0x5E28 # <CJK>
-0x22E77 0x5EA8 # <CJK>
-0x22E78 0x5EAE # <CJK>
-0x22E79 0x5EAA # <CJK>
-0x22E7A 0x5EAC # <CJK>
-0x22E7B 0x5F33 # <CJK>
-0x22E7C 0x5F30 # <CJK>
-0x22E7D 0x5F67 # <CJK>
-0x22E7E 0x605D # <CJK>
-0x22F21 0x605A # <CJK>
-0x22F22 0x6067 # <CJK>
-0x22F23 0x6041 # <CJK>
-0x22F24 0x60A2 # <CJK>
-0x22F25 0x6088 # <CJK>
-0x22F26 0x6080 # <CJK>
-0x22F27 0x6092 # <CJK>
-0x22F28 0x6081 # <CJK>
-0x22F29 0x609D # <CJK>
-0x22F2A 0x6083 # <CJK>
-0x22F2B 0x6095 # <CJK>
-0x22F2C 0x609B # <CJK>
-0x22F2D 0x6097 # <CJK>
-0x22F2E 0x6087 # <CJK>
-0x22F2F 0x609C # <CJK>
-0x22F30 0x608E # <CJK>
-0x22F31 0x6219 # <CJK>
-0x22F32 0x6246 # <CJK>
-0x22F33 0x62F2 # <CJK>
-0x22F34 0x6310 # <CJK>
-0x22F35 0x6356 # <CJK>
-0x22F36 0x632C # <CJK>
-0x22F37 0x6344 # <CJK>
-0x22F38 0x6345 # <CJK>
-0x22F39 0x6336 # <CJK>
-0x22F3A 0x6343 # <CJK>
-0x22F3B 0x63E4 # <CJK>
-0x22F3C 0x6339 # <CJK>
-0x22F3D 0x634B # <CJK>
-0x22F3E 0x634A # <CJK>
-0x22F3F 0x633C # <CJK>
-0x22F40 0x6329 # <CJK>
-0x22F41 0x6341 # <CJK>
-0x22F42 0x6334 # <CJK>
-0x22F43 0x6358 # <CJK>
-0x22F44 0x6354 # <CJK>
-0x22F45 0x6359 # <CJK>
-0x22F46 0x632D # <CJK>
-0x22F47 0x6347 # <CJK>
-0x22F48 0x6333 # <CJK>
-0x22F49 0x635A # <CJK>
-0x22F4A 0x6351 # <CJK>
-0x22F4B 0x6338 # <CJK>
-0x22F4C 0x6357 # <CJK>
-0x22F4D 0x6340 # <CJK>
-0x22F4E 0x6348 # <CJK>
-0x22F4F 0x654A # <CJK>
-0x22F50 0x6546 # <CJK>
-0x22F51 0x65C6 # <CJK>
-0x22F52 0x65C3 # <CJK>
-0x22F53 0x65C4 # <CJK>
-0x22F54 0x65C2 # <CJK>
-0x22F55 0x664A # <CJK>
-0x22F56 0x665F # <CJK>
-0x22F57 0x6647 # <CJK>
-0x22F58 0x6651 # <CJK>
-0x22F59 0x6712 # <CJK>
-0x22F5A 0x6713 # <CJK>
-0x22F5B 0x681F # <CJK>
-0x22F5C 0x681A # <CJK>
-0x22F5D 0x6849 # <CJK>
-0x22F5E 0x6832 # <CJK>
-0x22F5F 0x6833 # <CJK>
-0x22F60 0x683B # <CJK>
-0x22F61 0x684B # <CJK>
-0x22F62 0x684F # <CJK>
-0x22F63 0x6816 # <CJK>
-0x22F64 0x6831 # <CJK>
-0x22F65 0x681C # <CJK>
-0x22F66 0x6835 # <CJK>
-0x22F67 0x682B # <CJK>
-0x22F68 0x682D # <CJK>
-0x22F69 0x682F # <CJK>
-0x22F6A 0x684E # <CJK>
-0x22F6B 0x6844 # <CJK>
-0x22F6C 0x6834 # <CJK>
-0x22F6D 0x681D # <CJK>
-0x22F6E 0x6812 # <CJK>
-0x22F6F 0x6814 # <CJK>
-0x22F70 0x6826 # <CJK>
-0x22F71 0x6828 # <CJK>
-0x22F72 0x682E # <CJK>
-0x22F73 0x684D # <CJK>
-0x22F74 0x683A # <CJK>
-0x22F75 0x6825 # <CJK>
-0x22F76 0x6820 # <CJK>
-0x22F77 0x6B2C # <CJK>
-0x22F78 0x6B2F # <CJK>
-0x22F79 0x6B2D # <CJK>
-0x22F7A 0x6B31 # <CJK>
-0x22F7B 0x6B34 # <CJK>
-0x22F7C 0x6B6D # <CJK>
-0x22F7D 0x8082 # <CJK>
-0x22F7E 0x6B88 # <CJK>
-0x23021 0x6BE6 # <CJK>
-0x23022 0x6BE4 # <CJK>
-0x23023 0x6BE8 # <CJK>
-0x23024 0x6BE3 # <CJK>
-0x23025 0x6BE2 # <CJK>
-0x23026 0x6BE7 # <CJK>
-0x23027 0x6C25 # <CJK>
-0x23028 0x6D7A # <CJK>
-0x23029 0x6D63 # <CJK>
-0x2302A 0x6D64 # <CJK>
-0x2302B 0x6D76 # <CJK>
-0x2302C 0x6D0D # <CJK>
-0x2302D 0x6D61 # <CJK>
-0x2302E 0x6D92 # <CJK>
-0x2302F 0x6D58 # <CJK>
-0x23030 0x6D62 # <CJK>
-0x23031 0x6D6D # <CJK>
-0x23032 0x6D6F # <CJK>
-0x23033 0x6D91 # <CJK>
-0x23034 0x6D8D # <CJK>
-0x23035 0x6DEF # <CJK>
-0x23036 0x6D7F # <CJK>
-0x23037 0x6D86 # <CJK>
-0x23038 0x6D5E # <CJK>
-0x23039 0x6D67 # <CJK>
-0x2303A 0x6D60 # <CJK>
-0x2303B 0x6D97 # <CJK>
-0x2303C 0x6D70 # <CJK>
-0x2303D 0x6D7C # <CJK>
-0x2303E 0x6D5F # <CJK>
-0x2303F 0x6D82 # <CJK>
-0x23040 0x6D98 # <CJK>
-0x23041 0x6D2F # <CJK>
-0x23042 0x6D68 # <CJK>
-0x23043 0x6D8B # <CJK>
-0x23044 0x6D7E # <CJK>
-0x23045 0x6D80 # <CJK>
-0x23046 0x6D84 # <CJK>
-0x23047 0x6D16 # <CJK>
-0x23048 0x6D83 # <CJK>
-0x23049 0x6D7B # <CJK>
-0x2304A 0x6D7D # <CJK>
-0x2304B 0x6D75 # <CJK>
-0x2304C 0x6D90 # <CJK>
-0x2304D 0x70DC # <CJK>
-0x2304E 0x70D3 # <CJK>
-0x2304F 0x70D1 # <CJK>
-0x23050 0x70DD # <CJK>
-0x23051 0x70CB # <CJK>
-0x23052 0x7F39 # <CJK>
-0x23053 0x70E2 # <CJK>
-0x23054 0x70D7 # <CJK>
-0x23055 0x70D2 # <CJK>
-0x23056 0x70DE # <CJK>
-0x23057 0x70E0 # <CJK>
-0x23058 0x70D4 # <CJK>
-0x23059 0x70CD # <CJK>
-0x2305A 0x70C5 # <CJK>
-0x2305B 0x70C6 # <CJK>
-0x2305C 0x70C7 # <CJK>
-0x2305D 0x70DA # <CJK>
-0x2305E 0x70CE # <CJK>
-0x2305F 0x70E1 # <CJK>
-0x23060 0x7242 # <CJK>
-0x23061 0x7278 # <CJK>
-0x23062 0x7277 # <CJK>
-0x23063 0x7276 # <CJK>
-0x23064 0x7300 # <CJK>
-0x23065 0x72FA # <CJK>
-0x23066 0x72F4 # <CJK>
-0x23067 0x72FE # <CJK>
-0x23068 0x72F6 # <CJK>
-0x23069 0x72F3 # <CJK>
-0x2306A 0x72FB # <CJK>
-0x2306B 0x7301 # <CJK>
-0x2306C 0x73D3 # <CJK>
-0x2306D 0x73D9 # <CJK>
-0x2306E 0x73E5 # <CJK>
-0x2306F 0x73D6 # <CJK>
-0x23070 0x73BC # <CJK>
-0x23071 0x73E7 # <CJK>
-0x23072 0x73E3 # <CJK>
-0x23073 0x73E9 # <CJK>
-0x23074 0x73DC # <CJK>
-0x23075 0x73D2 # <CJK>
-0x23076 0x73DB # <CJK>
-0x23077 0x73D4 # <CJK>
-0x23078 0x73DD # <CJK>
-0x23079 0x73DA # <CJK>
-0x2307A 0x73D7 # <CJK>
-0x2307B 0x73D8 # <CJK>
-0x2307C 0x73E8 # <CJK>
-0x2307D 0x74DE # <CJK>
-0x2307E 0x74DF # <CJK>
-0x23121 0x74F4 # <CJK>
-0x23122 0x74F5 # <CJK>
-0x23123 0x7521 # <CJK>
-0x23124 0x755B # <CJK>
-0x23125 0x755F # <CJK>
-0x23126 0x75B0 # <CJK>
-0x23127 0x75C1 # <CJK>
-0x23128 0x75BB # <CJK>
-0x23129 0x75C4 # <CJK>
-0x2312A 0x75C0 # <CJK>
-0x2312B 0x75BF # <CJK>
-0x2312C 0x75B6 # <CJK>
-0x2312D 0x75BA # <CJK>
-0x2312E 0x768A # <CJK>
-0x2312F 0x76C9 # <CJK>
-0x23130 0x771D # <CJK>
-0x23131 0x771B # <CJK>
-0x23132 0x7710 # <CJK>
-0x23133 0x7713 # <CJK>
-0x23134 0x7712 # <CJK>
-0x23135 0x7723 # <CJK>
-0x23136 0x7711 # <CJK>
-0x23137 0x7715 # <CJK>
-0x23138 0x7719 # <CJK>
-0x23139 0x771A # <CJK>
-0x2313A 0x7722 # <CJK>
-0x2313B 0x7727 # <CJK>
-0x2313C 0x7823 # <CJK>
-0x2313D 0x782C # <CJK>
-0x2313E 0x7822 # <CJK>
-0x2313F 0x7835 # <CJK>
-0x23140 0x782F # <CJK>
-0x23141 0x7828 # <CJK>
-0x23142 0x782E # <CJK>
-0x23143 0x782B # <CJK>
-0x23144 0x7821 # <CJK>
-0x23145 0x7829 # <CJK>
-0x23146 0x7833 # <CJK>
-0x23147 0x782A # <CJK>
-0x23148 0x7831 # <CJK>
-0x23149 0x7954 # <CJK>
-0x2314A 0x795B # <CJK>
-0x2314B 0x794F # <CJK>
-0x2314C 0x795C # <CJK>
-0x2314D 0x7953 # <CJK>
-0x2314E 0x7952 # <CJK>
-0x2314F 0x7951 # <CJK>
-0x23150 0x79EB # <CJK>
-0x23151 0x79EC # <CJK>
-0x23152 0x79E0 # <CJK>
-0x23153 0x79EE # <CJK>
-0x23154 0x79ED # <CJK>
-0x23155 0x79EA # <CJK>
-0x23156 0x79DC # <CJK>
-0x23157 0x79DE # <CJK>
-0x23158 0x79DD # <CJK>
-0x23159 0x7A86 # <CJK>
-0x2315A 0x7A89 # <CJK>
-0x2315B 0x7A85 # <CJK>
-0x2315C 0x7A8B # <CJK>
-0x2315D 0x7A8C # <CJK>
-0x2315E 0x7A8A # <CJK>
-0x2315F 0x7A87 # <CJK>
-0x23160 0x7AD8 # <CJK>
-0x23161 0x7B10 # <CJK>
-0x23162 0x7B04 # <CJK>
-0x23163 0x7B13 # <CJK>
-0x23164 0x7B05 # <CJK>
-0x23165 0x7B0F # <CJK>
-0x23166 0x7B08 # <CJK>
-0x23167 0x7B0A # <CJK>
-0x23168 0x7B0E # <CJK>
-0x23169 0x7B09 # <CJK>
-0x2316A 0x7B12 # <CJK>
-0x2316B 0x7C84 # <CJK>
-0x2316C 0x7C91 # <CJK>
-0x2316D 0x7C8A # <CJK>
-0x2316E 0x7C8C # <CJK>
-0x2316F 0x7C88 # <CJK>
-0x23170 0x7C8D # <CJK>
-0x23171 0x7C85 # <CJK>
-0x23172 0x7D1E # <CJK>
-0x23173 0x7D1D # <CJK>
-0x23174 0x7D11 # <CJK>
-0x23175 0x7D0E # <CJK>
-0x23176 0x7D18 # <CJK>
-0x23177 0x7D16 # <CJK>
-0x23178 0x7D13 # <CJK>
-0x23179 0x7D1F # <CJK>
-0x2317A 0x7D12 # <CJK>
-0x2317B 0x7D0F # <CJK>
-0x2317C 0x7D0C # <CJK>
-0x2317D 0x7F5C # <CJK>
-0x2317E 0x7F61 # <CJK>
-0x23221 0x7F5E # <CJK>
-0x23222 0x7F60 # <CJK>
-0x23223 0x7F5D # <CJK>
-0x23224 0x7F5B # <CJK>
-0x23225 0x7F96 # <CJK>
-0x23226 0x7F92 # <CJK>
-0x23227 0x7FC3 # <CJK>
-0x23228 0x7FC2 # <CJK>
-0x23229 0x7FC0 # <CJK>
-0x2322A 0x8016 # <CJK>
-0x2322B 0x803E # <CJK>
-0x2322C 0x8039 # <CJK>
-0x2322D 0x80FA # <CJK>
-0x2322E 0x80F2 # <CJK>
-0x2322F 0x80F9 # <CJK>
-0x23230 0x80F5 # <CJK>
-0x23231 0x8101 # <CJK>
-0x23232 0x80FB # <CJK>
-0x23233 0x8100 # <CJK>
-0x23234 0x8201 # <CJK>
-0x23235 0x822F # <CJK>
-0x23236 0x8225 # <CJK>
-0x23237 0x8333 # <CJK>
-0x23238 0x832D # <CJK>
-0x23239 0x8344 # <CJK>
-0x2323A 0x8319 # <CJK>
-0x2323B 0x8351 # <CJK>
-0x2323C 0x8325 # <CJK>
-0x2323D 0x8356 # <CJK>
-0x2323E 0x833F # <CJK>
-0x2323F 0x8341 # <CJK>
-0x23240 0x8326 # <CJK>
-0x23241 0x831C # <CJK>
-0x23242 0x8322 # <CJK>
-0x23243 0x8342 # <CJK>
-0x23244 0x834E # <CJK>
-0x23245 0x831B # <CJK>
-0x23246 0x832A # <CJK>
-0x23247 0x8308 # <CJK>
-0x23248 0x833C # <CJK>
-0x23249 0x834D # <CJK>
-0x2324A 0x8316 # <CJK>
-0x2324B 0x8324 # <CJK>
-0x2324C 0x8320 # <CJK>
-0x2324D 0x8337 # <CJK>
-0x2324E 0x832F # <CJK>
-0x2324F 0x8329 # <CJK>
-0x23250 0x8347 # <CJK>
-0x23251 0x8345 # <CJK>
-0x23252 0x834C # <CJK>
-0x23253 0x8353 # <CJK>
-0x23254 0x831E # <CJK>
-0x23255 0x832C # <CJK>
-0x23256 0x834B # <CJK>
-0x23257 0x8327 # <CJK>
-0x23258 0x8348 # <CJK>
-0x23259 0x8653 # <CJK>
-0x2325A 0x8652 # <CJK>
-0x2325B 0x86A2 # <CJK>
-0x2325C 0x86A8 # <CJK>
-0x2325D 0x8696 # <CJK>
-0x2325E 0x868D # <CJK>
-0x2325F 0x8691 # <CJK>
-0x23260 0x869E # <CJK>
-0x23261 0x8687 # <CJK>
-0x23262 0x8697 # <CJK>
-0x23263 0x8686 # <CJK>
-0x23264 0x868B # <CJK>
-0x23265 0x869A # <CJK>
-0x23266 0x8685 # <CJK>
-0x23267 0x86A5 # <CJK>
-0x23268 0x8699 # <CJK>
-0x23269 0x86A1 # <CJK>
-0x2326A 0x86A7 # <CJK>
-0x2326B 0x8695 # <CJK>
-0x2326C 0x8698 # <CJK>
-0x2326D 0x868E # <CJK>
-0x2326E 0x869D # <CJK>
-0x2326F 0x8690 # <CJK>
-0x23270 0x8694 # <CJK>
-0x23271 0x8843 # <CJK>
-0x23272 0x8844 # <CJK>
-0x23273 0x886D # <CJK>
-0x23274 0x8875 # <CJK>
-0x23275 0x8876 # <CJK>
-0x23276 0x8872 # <CJK>
-0x23277 0x8880 # <CJK>
-0x23278 0x8871 # <CJK>
-0x23279 0x887F # <CJK>
-0x2327A 0x886F # <CJK>
-0x2327B 0x8883 # <CJK>
-0x2327C 0x887E # <CJK>
-0x2327D 0x8874 # <CJK>
-0x2327E 0x887C # <CJK>
-0x23321 0x8A12 # <CJK>
-0x23322 0x8C47 # <CJK>
-0x23323 0x8C57 # <CJK>
-0x23324 0x8C7B # <CJK>
-0x23325 0x8CA4 # <CJK>
-0x23326 0x8CA3 # <CJK>
-0x23327 0x8D76 # <CJK>
-0x23328 0x8D78 # <CJK>
-0x23329 0x8DB5 # <CJK>
-0x2332A 0x8DB7 # <CJK>
-0x2332B 0x8DB6 # <CJK>
-0x2332C 0x8ED1 # <CJK>
-0x2332D 0x8ED3 # <CJK>
-0x2332E 0x8FFE # <CJK>
-0x2332F 0x8FF5 # <CJK>
-0x23330 0x9002 # <CJK>
-0x23331 0x8FFF # <CJK>
-0x23332 0x8FFB # <CJK>
-0x23333 0x9004 # <CJK>
-0x23334 0x8FFC # <CJK>
-0x23335 0x8FF6 # <CJK>
-0x23336 0x90D6 # <CJK>
-0x23337 0x90E0 # <CJK>
-0x23338 0x90D9 # <CJK>
-0x23339 0x90DA # <CJK>
-0x2333A 0x90E3 # <CJK>
-0x2333B 0x90DF # <CJK>
-0x2333C 0x90E5 # <CJK>
-0x2333D 0x90D8 # <CJK>
-0x2333E 0x90DB # <CJK>
-0x2333F 0x90D7 # <CJK>
-0x23340 0x90DC # <CJK>
-0x23341 0x90E4 # <CJK>
-0x23342 0x9150 # <CJK>
-0x23343 0x914E # <CJK>
-0x23344 0x914F # <CJK>
-0x23345 0x91D5 # <CJK>
-0x23346 0x91E2 # <CJK>
-0x23347 0x91DA # <CJK>
-0x23348 0x965C # <CJK>
-0x23349 0x965F # <CJK>
-0x2334A 0x96BC # <CJK>
-0x2334B 0x98E3 # <CJK>
-0x2334C 0x9ADF # <CJK>
-0x2334D 0x9B2F # <CJK>
-0x2334E 0x4E7F # <CJK>
-0x2334F 0x5070 # <CJK>
-0x23350 0x506A # <CJK>
-0x23351 0x5061 # <CJK>
-0x23352 0x505E # <CJK>
-0x23353 0x5060 # <CJK>
-0x23354 0x5053 # <CJK>
-0x23355 0x504B # <CJK>
-0x23356 0x505D # <CJK>
-0x23357 0x5072 # <CJK>
-0x23358 0x5048 # <CJK>
-0x23359 0x504D # <CJK>
-0x2335A 0x5041 # <CJK>
-0x2335B 0x505B # <CJK>
-0x2335C 0x504A # <CJK>
-0x2335D 0x5062 # <CJK>
-0x2335E 0x5015 # <CJK>
-0x2335F 0x5045 # <CJK>
-0x23360 0x505F # <CJK>
-0x23361 0x5069 # <CJK>
-0x23362 0x506B # <CJK>
-0x23363 0x5063 # <CJK>
-0x23364 0x5064 # <CJK>
-0x23365 0x5046 # <CJK>
-0x23366 0x5040 # <CJK>
-0x23367 0x506E # <CJK>
-0x23368 0x5073 # <CJK>
-0x23369 0x5057 # <CJK>
-0x2336A 0x5051 # <CJK>
-0x2336B 0x51D0 # <CJK>
-0x2336C 0x526B # <CJK>
-0x2336D 0x526D # <CJK>
-0x2336E 0x526C # <CJK>
-0x2336F 0x526E # <CJK>
-0x23370 0x52D6 # <CJK>
-0x23371 0x52D3 # <CJK>
-0x23372 0x532D # <CJK>
-0x23373 0x539C # <CJK>
-0x23374 0x5575 # <CJK>
-0x23375 0x5576 # <CJK>
-0x23376 0x553C # <CJK>
-0x23377 0x554D # <CJK>
-0x23378 0x5550 # <CJK>
-0x23379 0x5534 # <CJK>
-0x2337A 0x552A # <CJK>
-0x2337B 0x5551 # <CJK>
-0x2337C 0x5562 # <CJK>
-0x2337D 0x5536 # <CJK>
-0x2337E 0x5535 # <CJK>
-0x23421 0x5530 # <CJK>
-0x23422 0x5552 # <CJK>
-0x23423 0x5545 # <CJK>
-0x23424 0x550C # <CJK>
-0x23425 0x5532 # <CJK>
-0x23426 0x5565 # <CJK>
-0x23427 0x554E # <CJK>
-0x23428 0x5539 # <CJK>
-0x23429 0x5548 # <CJK>
-0x2342A 0x552D # <CJK>
-0x2342B 0x553B # <CJK>
-0x2342C 0x5540 # <CJK>
-0x2342D 0x554B # <CJK>
-0x2342E 0x570A # <CJK>
-0x2342F 0x5707 # <CJK>
-0x23430 0x57FB # <CJK>
-0x23431 0x5814 # <CJK>
-0x23432 0x57E2 # <CJK>
-0x23433 0x57F6 # <CJK>
-0x23434 0x57DC # <CJK>
-0x23435 0x57F4 # <CJK>
-0x23436 0x5800 # <CJK>
-0x23437 0x57ED # <CJK>
-0x23438 0x57FD # <CJK>
-0x23439 0x5808 # <CJK>
-0x2343A 0x57F8 # <CJK>
-0x2343B 0x580B # <CJK>
-0x2343C 0x57F3 # <CJK>
-0x2343D 0x57CF # <CJK>
-0x2343E 0x5807 # <CJK>
-0x2343F 0x57EE # <CJK>
-0x23440 0x57E3 # <CJK>
-0x23441 0x57F2 # <CJK>
-0x23442 0x57E5 # <CJK>
-0x23443 0x57EC # <CJK>
-0x23444 0x57E1 # <CJK>
-0x23445 0x580E # <CJK>
-0x23446 0x57FC # <CJK>
-0x23447 0x5810 # <CJK>
-0x23448 0x57E7 # <CJK>
-0x23449 0x5801 # <CJK>
-0x2344A 0x580C # <CJK>
-0x2344B 0x57F1 # <CJK>
-0x2344C 0x57E9 # <CJK>
-0x2344D 0x57F0 # <CJK>
-0x2344E 0x580D # <CJK>
-0x2344F 0x5804 # <CJK>
-0x23450 0x595C # <CJK>
-0x23451 0x5A60 # <CJK>
-0x23452 0x5A58 # <CJK>
-0x23453 0x5A55 # <CJK>
-0x23454 0x5A67 # <CJK>
-0x23455 0x5A5E # <CJK>
-0x23456 0x5A38 # <CJK>
-0x23457 0x5A35 # <CJK>
-0x23458 0x5A6D # <CJK>
-0x23459 0x5A50 # <CJK>
-0x2345A 0x5A5F # <CJK>
-0x2345B 0x5A65 # <CJK>
-0x2345C 0x5A6C # <CJK>
-0x2345D 0x5A53 # <CJK>
-0x2345E 0x5A64 # <CJK>
-0x2345F 0x5A57 # <CJK>
-0x23460 0x5A43 # <CJK>
-0x23461 0x5A5D # <CJK>
-0x23462 0x5A52 # <CJK>
-0x23463 0x5A44 # <CJK>
-0x23464 0x5A5B # <CJK>
-0x23465 0x5A48 # <CJK>
-0x23466 0x5A8E # <CJK>
-0x23467 0x5A3E # <CJK>
-0x23468 0x5A4D # <CJK>
-0x23469 0x5A39 # <CJK>
-0x2346A 0x5A4C # <CJK>
-0x2346B 0x5A70 # <CJK>
-0x2346C 0x5A69 # <CJK>
-0x2346D 0x5A47 # <CJK>
-0x2346E 0x5A51 # <CJK>
-0x2346F 0x5A56 # <CJK>
-0x23470 0x5A42 # <CJK>
-0x23471 0x5A5C # <CJK>
-0x23472 0x5B72 # <CJK>
-0x23473 0x5B6E # <CJK>
-0x23474 0x5BC1 # <CJK>
-0x23475 0x5BC0 # <CJK>
-0x23476 0x5C59 # <CJK>
-0x23477 0x5D1E # <CJK>
-0x23478 0x5D0B # <CJK>
-0x23479 0x5D1D # <CJK>
-0x2347A 0x5D1A # <CJK>
-0x2347B 0x5D20 # <CJK>
-0x2347C 0x5D0C # <CJK>
-0x2347D 0x5D28 # <CJK>
-0x2347E 0x5D0D # <CJK>
-0x23521 0x5D26 # <CJK>
-0x23522 0x5D25 # <CJK>
-0x23523 0x5D0F # <CJK>
-0x23524 0x5D30 # <CJK>
-0x23525 0x5D12 # <CJK>
-0x23526 0x5D23 # <CJK>
-0x23527 0x5D1F # <CJK>
-0x23528 0x5D2E # <CJK>
-0x23529 0x5E3E # <CJK>
-0x2352A 0x5E34 # <CJK>
-0x2352B 0x5EB1 # <CJK>
-0x2352C 0x5EB4 # <CJK>
-0x2352D 0x5EB9 # <CJK>
-0x2352E 0x5EB2 # <CJK>
-0x2352F 0x5EB3 # <CJK>
-0x23530 0x5F36 # <CJK>
-0x23531 0x5F38 # <CJK>
-0x23532 0x5F9B # <CJK>
-0x23533 0x5F96 # <CJK>
-0x23534 0x5F9F # <CJK>
-0x23535 0x608A # <CJK>
-0x23536 0x6090 # <CJK>
-0x23537 0x6086 # <CJK>
-0x23538 0x60BE # <CJK>
-0x23539 0x60B0 # <CJK>
-0x2353A 0x60BA # <CJK>
-0x2353B 0x60D3 # <CJK>
-0x2353C 0x60D4 # <CJK>
-0x2353D 0x60CF # <CJK>
-0x2353E 0x60E4 # <CJK>
-0x2353F 0x60D9 # <CJK>
-0x23540 0x60DD # <CJK>
-0x23541 0x60C8 # <CJK>
-0x23542 0x60B1 # <CJK>
-0x23543 0x60DB # <CJK>
-0x23544 0x60B7 # <CJK>
-0x23545 0x60CA # <CJK>
-0x23546 0x60BF # <CJK>
-0x23547 0x60C3 # <CJK>
-0x23548 0x60CD # <CJK>
-0x23549 0x60C0 # <CJK>
-0x2354A 0x6332 # <CJK>
-0x2354B 0x6365 # <CJK>
-0x2354C 0x638A # <CJK>
-0x2354D 0x6382 # <CJK>
-0x2354E 0x637D # <CJK>
-0x2354F 0x63BD # <CJK>
-0x23550 0x639E # <CJK>
-0x23551 0x63AD # <CJK>
-0x23552 0x639D # <CJK>
-0x23553 0x6397 # <CJK>
-0x23554 0x63AB # <CJK>
-0x23555 0x638E # <CJK>
-0x23556 0x636F # <CJK>
-0x23557 0x6387 # <CJK>
-0x23558 0x6390 # <CJK>
-0x23559 0x636E # <CJK>
-0x2355A 0x63AF # <CJK>
-0x2355B 0x6375 # <CJK>
-0x2355C 0x639C # <CJK>
-0x2355D 0x636D # <CJK>
-0x2355E 0x63AE # <CJK>
-0x2355F 0x637C # <CJK>
-0x23560 0x63A4 # <CJK>
-0x23561 0x633B # <CJK>
-0x23562 0x639F # <CJK>
-0x23563 0x6378 # <CJK>
-0x23564 0x6385 # <CJK>
-0x23565 0x6381 # <CJK>
-0x23566 0x6391 # <CJK>
-0x23567 0x638D # <CJK>
-0x23568 0x6370 # <CJK>
-0x23569 0x6553 # <CJK>
-0x2356A 0x65CD # <CJK>
-0x2356B 0x6665 # <CJK>
-0x2356C 0x6661 # <CJK>
-0x2356D 0x665B # <CJK>
-0x2356E 0x6659 # <CJK>
-0x2356F 0x665C # <CJK>
-0x23570 0x6662 # <CJK>
-0x23571 0x6718 # <CJK>
-0x23572 0x6879 # <CJK>
-0x23573 0x6887 # <CJK>
-0x23574 0x6890 # <CJK>
-0x23575 0x689C # <CJK>
-0x23576 0x686D # <CJK>
-0x23577 0x686E # <CJK>
-0x23578 0x68AE # <CJK>
-0x23579 0x68AB # <CJK>
-0x2357A 0x6956 # <CJK>
-0x2357B 0x686F # <CJK>
-0x2357C 0x68A3 # <CJK>
-0x2357D 0x68AC # <CJK>
-0x2357E 0x68A9 # <CJK>
-0x23621 0x6875 # <CJK>
-0x23622 0x6874 # <CJK>
-0x23623 0x68B2 # <CJK>
-0x23624 0x688F # <CJK>
-0x23625 0x6877 # <CJK>
-0x23626 0x6892 # <CJK>
-0x23627 0x687C # <CJK>
-0x23628 0x686B # <CJK>
-0x23629 0x6872 # <CJK>
-0x2362A 0x68AA # <CJK>
-0x2362B 0x6880 # <CJK>
-0x2362C 0x6871 # <CJK>
-0x2362D 0x687E # <CJK>
-0x2362E 0x689B # <CJK>
-0x2362F 0x6896 # <CJK>
-0x23630 0x688B # <CJK>
-0x23631 0x68A0 # <CJK>
-0x23632 0x6889 # <CJK>
-0x23633 0x68A4 # <CJK>
-0x23634 0x6878 # <CJK>
-0x23635 0x687B # <CJK>
-0x23636 0x6891 # <CJK>
-0x23637 0x688C # <CJK>
-0x23638 0x688A # <CJK>
-0x23639 0x687D # <CJK>
-0x2363A 0x6B36 # <CJK>
-0x2363B 0x6B33 # <CJK>
-0x2363C 0x6B37 # <CJK>
-0x2363D 0x6B38 # <CJK>
-0x2363E 0x6B91 # <CJK>
-0x2363F 0x6B8F # <CJK>
-0x23640 0x6B8D # <CJK>
-0x23641 0x6B8E # <CJK>
-0x23642 0x6B8C # <CJK>
-0x23643 0x6C2A # <CJK>
-0x23644 0x6DC0 # <CJK>
-0x23645 0x6DAB # <CJK>
-0x23646 0x6DB4 # <CJK>
-0x23647 0x6DB3 # <CJK>
-0x23648 0x6E74 # <CJK>
-0x23649 0x6DAC # <CJK>
-0x2364A 0x6DE9 # <CJK>
-0x2364B 0x6DE2 # <CJK>
-0x2364C 0x6DB7 # <CJK>
-0x2364D 0x6DF6 # <CJK>
-0x2364E 0x6DD4 # <CJK>
-0x2364F 0x6E00 # <CJK>
-0x23650 0x6DC8 # <CJK>
-0x23651 0x6DE0 # <CJK>
-0x23652 0x6DDF # <CJK>
-0x23653 0x6DD6 # <CJK>
-0x23654 0x6DBE # <CJK>
-0x23655 0x6DE5 # <CJK>
-0x23656 0x6DDC # <CJK>
-0x23657 0x6DDD # <CJK>
-0x23658 0x6DDB # <CJK>
-0x23659 0x6DF4 # <CJK>
-0x2365A 0x6DCA # <CJK>
-0x2365B 0x6DBD # <CJK>
-0x2365C 0x6DED # <CJK>
-0x2365D 0x6DF0 # <CJK>
-0x2365E 0x6DBA # <CJK>
-0x2365F 0x6DD5 # <CJK>
-0x23660 0x6DC2 # <CJK>
-0x23661 0x6DCF # <CJK>
-0x23662 0x6DC9 # <CJK>
-0x23663 0x6DD0 # <CJK>
-0x23664 0x6DF2 # <CJK>
-0x23665 0x6DD3 # <CJK>
-0x23666 0x6DFD # <CJK>
-0x23667 0x6DD7 # <CJK>
-0x23668 0x6DCD # <CJK>
-0x23669 0x6DE3 # <CJK>
-0x2366A 0x6DBB # <CJK>
-0x2366B 0x70FA # <CJK>
-0x2366C 0x710D # <CJK>
-0x2366D 0x70F7 # <CJK>
-0x2366E 0x7117 # <CJK>
-0x2366F 0x70F4 # <CJK>
-0x23670 0x710C # <CJK>
-0x23671 0x70F0 # <CJK>
-0x23672 0x7104 # <CJK>
-0x23673 0x70F3 # <CJK>
-0x23674 0x7110 # <CJK>
-0x23675 0x70FC # <CJK>
-0x23676 0x70FF # <CJK>
-0x23677 0x7106 # <CJK>
-0x23678 0x7113 # <CJK>
-0x23679 0x7100 # <CJK>
-0x2367A 0x70F8 # <CJK>
-0x2367B 0x70F6 # <CJK>
-0x2367C 0x710B # <CJK>
-0x2367D 0x7102 # <CJK>
-0x2367E 0x710E # <CJK>
-0x23721 0x727E # <CJK>
-0x23722 0x727B # <CJK>
-0x23723 0x727C # <CJK>
-0x23724 0x727F # <CJK>
-0x23725 0x731D # <CJK>
-0x23726 0x7317 # <CJK>
-0x23727 0x7307 # <CJK>
-0x23728 0x7311 # <CJK>
-0x23729 0x7318 # <CJK>
-0x2372A 0x730A # <CJK>
-0x2372B 0x7308 # <CJK>
-0x2372C 0x72FF # <CJK>
-0x2372D 0x730F # <CJK>
-0x2372E 0x731E # <CJK>
-0x2372F 0x7388 # <CJK>
-0x23730 0x73F6 # <CJK>
-0x23731 0x73F8 # <CJK>
-0x23732 0x73F5 # <CJK>
-0x23733 0x7404 # <CJK>
-0x23734 0x7401 # <CJK>
-0x23735 0x73FD # <CJK>
-0x23736 0x7407 # <CJK>
-0x23737 0x7400 # <CJK>
-0x23738 0x73FA # <CJK>
-0x23739 0x73FC # <CJK>
-0x2373A 0x73FF # <CJK>
-0x2373B 0x740C # <CJK>
-0x2373C 0x740B # <CJK>
-0x2373D 0x73F4 # <CJK>
-0x2373E 0x7408 # <CJK>
-0x2373F 0x7564 # <CJK>
-0x23740 0x7563 # <CJK>
-0x23741 0x75CE # <CJK>
-0x23742 0x75D2 # <CJK>
-0x23743 0x75CF # <CJK>
-0x23744 0x75CB # <CJK>
-0x23745 0x75CC # <CJK>
-0x23746 0x75D1 # <CJK>
-0x23747 0x75D0 # <CJK>
-0x23748 0x768F # <CJK>
-0x23749 0x7689 # <CJK>
-0x2374A 0x76D3 # <CJK>
-0x2374B 0x7739 # <CJK>
-0x2374C 0x772F # <CJK>
-0x2374D 0x772D # <CJK>
-0x2374E 0x7731 # <CJK>
-0x2374F 0x7732 # <CJK>
-0x23750 0x7734 # <CJK>
-0x23751 0x7733 # <CJK>
-0x23752 0x773D # <CJK>
-0x23753 0x7725 # <CJK>
-0x23754 0x773B # <CJK>
-0x23755 0x7735 # <CJK>
-0x23756 0x7848 # <CJK>
-0x23757 0x7852 # <CJK>
-0x23758 0x7849 # <CJK>
-0x23759 0x784D # <CJK>
-0x2375A 0x784A # <CJK>
-0x2375B 0x784C # <CJK>
-0x2375C 0x7826 # <CJK>
-0x2375D 0x7845 # <CJK>
-0x2375E 0x7850 # <CJK>
-0x2375F 0x7964 # <CJK>
-0x23760 0x7967 # <CJK>
-0x23761 0x7969 # <CJK>
-0x23762 0x796A # <CJK>
-0x23763 0x7963 # <CJK>
-0x23764 0x796B # <CJK>
-0x23765 0x7961 # <CJK>
-0x23766 0x79BB # <CJK>
-0x23767 0x79FA # <CJK>
-0x23768 0x79F8 # <CJK>
-0x23769 0x79F6 # <CJK>
-0x2376A 0x79F7 # <CJK>
-0x2376B 0x7A8F # <CJK>
-0x2376C 0x7A94 # <CJK>
-0x2376D 0x7A90 # <CJK>
-0x2376E 0x7B35 # <CJK>
-0x2376F 0x7B3B # <CJK>
-0x23770 0x7B34 # <CJK>
-0x23771 0x7B25 # <CJK>
-0x23772 0x7B30 # <CJK>
-0x23773 0x7B22 # <CJK>
-0x23774 0x7B24 # <CJK>
-0x23775 0x7B33 # <CJK>
-0x23776 0x7B18 # <CJK>
-0x23777 0x7B2A # <CJK>
-0x23778 0x7B1D # <CJK>
-0x23779 0x7B31 # <CJK>
-0x2377A 0x7B2B # <CJK>
-0x2377B 0x7B2D # <CJK>
-0x2377C 0x7B2F # <CJK>
-0x2377D 0x7B32 # <CJK>
-0x2377E 0x7B38 # <CJK>
-0x23821 0x7B1A # <CJK>
-0x23822 0x7B23 # <CJK>
-0x23823 0x7C94 # <CJK>
-0x23824 0x7C98 # <CJK>
-0x23825 0x7C96 # <CJK>
-0x23826 0x7CA3 # <CJK>
-0x23827 0x7D35 # <CJK>
-0x23828 0x7D3D # <CJK>
-0x23829 0x7D38 # <CJK>
-0x2382A 0x7D36 # <CJK>
-0x2382B 0x7D3A # <CJK>
-0x2382C 0x7D45 # <CJK>
-0x2382D 0x7D2C # <CJK>
-0x2382E 0x7D29 # <CJK>
-0x2382F 0x7D41 # <CJK>
-0x23830 0x7D47 # <CJK>
-0x23831 0x7D3E # <CJK>
-0x23832 0x7D3F # <CJK>
-0x23833 0x7D4A # <CJK>
-0x23834 0x7D3B # <CJK>
-0x23835 0x7D28 # <CJK>
-0x23836 0x7F63 # <CJK>
-0x23837 0x7F95 # <CJK>
-0x23838 0x7F9C # <CJK>
-0x23839 0x7F9D # <CJK>
-0x2383A 0x7F9B # <CJK>
-0x2383B 0x7FCA # <CJK>
-0x2383C 0x7FCB # <CJK>
-0x2383D 0x7FCD # <CJK>
-0x2383E 0x7FD0 # <CJK>
-0x2383F 0x7FD1 # <CJK>
-0x23840 0x7FC7 # <CJK>
-0x23841 0x7FCF # <CJK>
-0x23842 0x7FC9 # <CJK>
-0x23843 0x801F # <CJK>
-0x23844 0x801E # <CJK>
-0x23845 0x801B # <CJK>
-0x23846 0x8047 # <CJK>
-0x23847 0x8043 # <CJK>
-0x23848 0x8048 # <CJK>
-0x23849 0x8118 # <CJK>
-0x2384A 0x8125 # <CJK>
-0x2384B 0x8119 # <CJK>
-0x2384C 0x811B # <CJK>
-0x2384D 0x812D # <CJK>
-0x2384E 0x811F # <CJK>
-0x2384F 0x812C # <CJK>
-0x23850 0x811E # <CJK>
-0x23851 0x8121 # <CJK>
-0x23852 0x8115 # <CJK>
-0x23853 0x8127 # <CJK>
-0x23854 0x811D # <CJK>
-0x23855 0x8122 # <CJK>
-0x23856 0x8211 # <CJK>
-0x23857 0x8238 # <CJK>
-0x23858 0x8233 # <CJK>
-0x23859 0x823A # <CJK>
-0x2385A 0x8234 # <CJK>
-0x2385B 0x8232 # <CJK>
-0x2385C 0x8274 # <CJK>
-0x2385D 0x8390 # <CJK>
-0x2385E 0x83A3 # <CJK>
-0x2385F 0x83A8 # <CJK>
-0x23860 0x838D # <CJK>
-0x23861 0x837A # <CJK>
-0x23862 0x8373 # <CJK>
-0x23863 0x83A4 # <CJK>
-0x23864 0x8374 # <CJK>
-0x23865 0x838F # <CJK>
-0x23866 0x8381 # <CJK>
-0x23867 0x8395 # <CJK>
-0x23868 0x8399 # <CJK>
-0x23869 0x8375 # <CJK>
-0x2386A 0x8394 # <CJK>
-0x2386B 0x83A9 # <CJK>
-0x2386C 0x837D # <CJK>
-0x2386D 0x8383 # <CJK>
-0x2386E 0x838C # <CJK>
-0x2386F 0x839D # <CJK>
-0x23870 0x839B # <CJK>
-0x23871 0x83AA # <CJK>
-0x23872 0x838B # <CJK>
-0x23873 0x837E # <CJK>
-0x23874 0x83A5 # <CJK>
-0x23875 0x83AF # <CJK>
-0x23876 0x8388 # <CJK>
-0x23877 0x8397 # <CJK>
-0x23878 0x83B0 # <CJK>
-0x23879 0x837F # <CJK>
-0x2387A 0x83A6 # <CJK>
-0x2387B 0x8387 # <CJK>
-0x2387C 0x83AE # <CJK>
-0x2387D 0x8376 # <CJK>
-0x2387E 0x8659 # <CJK>
-0x23921 0x8656 # <CJK>
-0x23922 0x86BF # <CJK>
-0x23923 0x86B7 # <CJK>
-0x23924 0x86C2 # <CJK>
-0x23925 0x86C1 # <CJK>
-0x23926 0x86C5 # <CJK>
-0x23927 0x86BA # <CJK>
-0x23928 0x86B0 # <CJK>
-0x23929 0x86C8 # <CJK>
-0x2392A 0x86B9 # <CJK>
-0x2392B 0x86B3 # <CJK>
-0x2392C 0x86B8 # <CJK>
-0x2392D 0x86CC # <CJK>
-0x2392E 0x86B4 # <CJK>
-0x2392F 0x86BB # <CJK>
-0x23930 0x86BC # <CJK>
-0x23931 0x86C3 # <CJK>
-0x23932 0x86BD # <CJK>
-0x23933 0x86BE # <CJK>
-0x23934 0x8852 # <CJK>
-0x23935 0x8889 # <CJK>
-0x23936 0x8895 # <CJK>
-0x23937 0x88A8 # <CJK>
-0x23938 0x88A2 # <CJK>
-0x23939 0x88AA # <CJK>
-0x2393A 0x889A # <CJK>
-0x2393B 0x8891 # <CJK>
-0x2393C 0x88A1 # <CJK>
-0x2393D 0x889F # <CJK>
-0x2393E 0x8898 # <CJK>
-0x2393F 0x88A7 # <CJK>
-0x23940 0x8899 # <CJK>
-0x23941 0x889B # <CJK>
-0x23942 0x8897 # <CJK>
-0x23943 0x88A4 # <CJK>
-0x23944 0x88AC # <CJK>
-0x23945 0x888C # <CJK>
-0x23946 0x8893 # <CJK>
-0x23947 0x888E # <CJK>
-0x23948 0x8982 # <CJK>
-0x23949 0x89D6 # <CJK>
-0x2394A 0x89D9 # <CJK>
-0x2394B 0x89D5 # <CJK>
-0x2394C 0x8A30 # <CJK>
-0x2394D 0x8A27 # <CJK>
-0x2394E 0x8A2C # <CJK>
-0x2394F 0x8A1E # <CJK>
-0x23950 0x8C39 # <CJK>
-0x23951 0x8C3B # <CJK>
-0x23952 0x8C5C # <CJK>
-0x23953 0x8C5D # <CJK>
-0x23954 0x8C7D # <CJK>
-0x23955 0x8CA5 # <CJK>
-0x23956 0x8D7D # <CJK>
-0x23957 0x8D7B # <CJK>
-0x23958 0x8D79 # <CJK>
-0x23959 0x8DBC # <CJK>
-0x2395A 0x8DC2 # <CJK>
-0x2395B 0x8DB9 # <CJK>
-0x2395C 0x8DBF # <CJK>
-0x2395D 0x8DC1 # <CJK>
-0x2395E 0x8ED8 # <CJK>
-0x2395F 0x8EDE # <CJK>
-0x23960 0x8EDD # <CJK>
-0x23961 0x8EDC # <CJK>
-0x23962 0x8ED7 # <CJK>
-0x23963 0x8EE0 # <CJK>
-0x23964 0x8EE1 # <CJK>
-0x23965 0x9024 # <CJK>
-0x23966 0x900B # <CJK>
-0x23967 0x9011 # <CJK>
-0x23968 0x901C # <CJK>
-0x23969 0x900C # <CJK>
-0x2396A 0x9021 # <CJK>
-0x2396B 0x90EF # <CJK>
-0x2396C 0x90EA # <CJK>
-0x2396D 0x90F0 # <CJK>
-0x2396E 0x90F4 # <CJK>
-0x2396F 0x90F2 # <CJK>
-0x23970 0x90F3 # <CJK>
-0x23971 0x90D4 # <CJK>
-0x23972 0x90EB # <CJK>
-0x23973 0x90EC # <CJK>
-0x23974 0x90E9 # <CJK>
-0x23975 0x9156 # <CJK>
-0x23976 0x9158 # <CJK>
-0x23977 0x915A # <CJK>
-0x23978 0x9153 # <CJK>
-0x23979 0x9155 # <CJK>
-0x2397A 0x91EC # <CJK>
-0x2397B 0x91F4 # <CJK>
-0x2397C 0x91F1 # <CJK>
-0x2397D 0x91F3 # <CJK>
-0x2397E 0x91F8 # <CJK>
-0x23A21 0x91E4 # <CJK>
-0x23A22 0x91F9 # <CJK>
-0x23A23 0x91EA # <CJK>
-0x23A24 0x91EB # <CJK>
-0x23A25 0x91F7 # <CJK>
-0x23A26 0x91E8 # <CJK>
-0x23A27 0x91EE # <CJK>
-0x23A28 0x957A # <CJK>
-0x23A29 0x9586 # <CJK>
-0x23A2A 0x9588 # <CJK>
-0x23A2B 0x967C # <CJK>
-0x23A2C 0x966D # <CJK>
-0x23A2D 0x966B # <CJK>
-0x23A2E 0x9671 # <CJK>
-0x23A2F 0x966F # <CJK>
-0x23A30 0x96BF # <CJK>
-0x23A31 0x976A # <CJK>
-0x23A32 0x9804 # <CJK>
-0x23A33 0x98E5 # <CJK>
-0x23A34 0x9997 # <CJK>
-0x23A35 0x509B # <CJK>
-0x23A36 0x5095 # <CJK>
-0x23A37 0x5094 # <CJK>
-0x23A38 0x509E # <CJK>
-0x23A39 0x508B # <CJK>
-0x23A3A 0x50A3 # <CJK>
-0x23A3B 0x5083 # <CJK>
-0x23A3C 0x508C # <CJK>
-0x23A3D 0x508E # <CJK>
-0x23A3E 0x509D # <CJK>
-0x23A3F 0x5068 # <CJK>
-0x23A40 0x509C # <CJK>
-0x23A41 0x5092 # <CJK>
-0x23A42 0x5082 # <CJK>
-0x23A43 0x5087 # <CJK>
-0x23A44 0x515F # <CJK>
-0x23A45 0x51D4 # <CJK>
-0x23A46 0x5312 # <CJK>
-0x23A47 0x5311 # <CJK>
-0x23A48 0x53A4 # <CJK>
-0x23A49 0x53A7 # <CJK>
-0x23A4A 0x5591 # <CJK>
-0x23A4B 0x55A8 # <CJK>
-0x23A4C 0x55A5 # <CJK>
-0x23A4D 0x55AD # <CJK>
-0x23A4E 0x5577 # <CJK>
-0x23A4F 0x5645 # <CJK>
-0x23A50 0x55A2 # <CJK>
-0x23A51 0x5593 # <CJK>
-0x23A52 0x5588 # <CJK>
-0x23A53 0x558F # <CJK>
-0x23A54 0x55B5 # <CJK>
-0x23A55 0x5581 # <CJK>
-0x23A56 0x55A3 # <CJK>
-0x23A57 0x5592 # <CJK>
-0x23A58 0x55A4 # <CJK>
-0x23A59 0x557D # <CJK>
-0x23A5A 0x558C # <CJK>
-0x23A5B 0x55A6 # <CJK>
-0x23A5C 0x557F # <CJK>
-0x23A5D 0x5595 # <CJK>
-0x23A5E 0x55A1 # <CJK>
-0x23A5F 0x558E # <CJK>
-0x23A60 0x570C # <CJK>
-0x23A61 0x5829 # <CJK>
-0x23A62 0x5837 # <CJK>
-0x23A63 0x5819 # <CJK>
-0x23A64 0x581E # <CJK>
-0x23A65 0x5827 # <CJK>
-0x23A66 0x5823 # <CJK>
-0x23A67 0x5828 # <CJK>
-0x23A68 0x57F5 # <CJK>
-0x23A69 0x5848 # <CJK>
-0x23A6A 0x5825 # <CJK>
-0x23A6B 0x581C # <CJK>
-0x23A6C 0x581B # <CJK>
-0x23A6D 0x5833 # <CJK>
-0x23A6E 0x583F # <CJK>
-0x23A6F 0x5836 # <CJK>
-0x23A70 0x582E # <CJK>
-0x23A71 0x5839 # <CJK>
-0x23A72 0x5838 # <CJK>
-0x23A73 0x582D # <CJK>
-0x23A74 0x582C # <CJK>
-0x23A75 0x583B # <CJK>
-0x23A76 0x5961 # <CJK>
-0x23A77 0x5AAF # <CJK>
-0x23A78 0x5A94 # <CJK>
-0x23A79 0x5A9F # <CJK>
-0x23A7A 0x5A7A # <CJK>
-0x23A7B 0x5AA2 # <CJK>
-0x23A7C 0x5A9E # <CJK>
-0x23A7D 0x5A78 # <CJK>
-0x23A7E 0x5AA6 # <CJK>
-0x23B21 0x5A7C # <CJK>
-0x23B22 0x5AA5 # <CJK>
-0x23B23 0x5AAC # <CJK>
-0x23B24 0x5A95 # <CJK>
-0x23B25 0x5AAE # <CJK>
-0x23B26 0x5A37 # <CJK>
-0x23B27 0x5A84 # <CJK>
-0x23B28 0x5A8A # <CJK>
-0x23B29 0x5A97 # <CJK>
-0x23B2A 0x5A83 # <CJK>
-0x23B2B 0x5A8B # <CJK>
-0x23B2C 0x5AA9 # <CJK>
-0x23B2D 0x5A7B # <CJK>
-0x23B2E 0x5A7D # <CJK>
-0x23B2F 0x5A8C # <CJK>
-0x23B30 0x5A9C # <CJK>
-0x23B31 0x5A8F # <CJK>
-0x23B32 0x5A93 # <CJK>
-0x23B33 0x5A9D # <CJK>
-0x23B34 0x5BEA # <CJK>
-0x23B35 0x5BCD # <CJK>
-0x23B36 0x5BCB # <CJK>
-0x23B37 0x5BD4 # <CJK>
-0x23B38 0x5BD1 # <CJK>
-0x23B39 0x5BCA # <CJK>
-0x23B3A 0x5BCE # <CJK>
-0x23B3B 0x5C0C # <CJK>
-0x23B3C 0x5C30 # <CJK>
-0x23B3D 0x5D37 # <CJK>
-0x23B3E 0x5D43 # <CJK>
-0x23B3F 0x5D6B # <CJK>
-0x23B40 0x5D41 # <CJK>
-0x23B41 0x5D4B # <CJK>
-0x23B42 0x5D3F # <CJK>
-0x23B43 0x5D35 # <CJK>
-0x23B44 0x5D51 # <CJK>
-0x23B45 0x5D4E # <CJK>
-0x23B46 0x5D55 # <CJK>
-0x23B47 0x5D33 # <CJK>
-0x23B48 0x5D3A # <CJK>
-0x23B49 0x5D52 # <CJK>
-0x23B4A 0x5D3D # <CJK>
-0x23B4B 0x5D31 # <CJK>
-0x23B4C 0x5D59 # <CJK>
-0x23B4D 0x5D42 # <CJK>
-0x23B4E 0x5D39 # <CJK>
-0x23B4F 0x5D49 # <CJK>
-0x23B50 0x5D38 # <CJK>
-0x23B51 0x5D3C # <CJK>
-0x23B52 0x5D32 # <CJK>
-0x23B53 0x5D36 # <CJK>
-0x23B54 0x5D40 # <CJK>
-0x23B55 0x5D45 # <CJK>
-0x23B56 0x5E44 # <CJK>
-0x23B57 0x5E41 # <CJK>
-0x23B58 0x5F58 # <CJK>
-0x23B59 0x5FA6 # <CJK>
-0x23B5A 0x5FA5 # <CJK>
-0x23B5B 0x5FAB # <CJK>
-0x23B5C 0x60C9 # <CJK>
-0x23B5D 0x60B9 # <CJK>
-0x23B5E 0x60CC # <CJK>
-0x23B5F 0x60E2 # <CJK>
-0x23B60 0x60CE # <CJK>
-0x23B61 0x60C4 # <CJK>
-0x23B62 0x6114 # <CJK>
-0x23B63 0x60F2 # <CJK>
-0x23B64 0x610A # <CJK>
-0x23B65 0x6116 # <CJK>
-0x23B66 0x6105 # <CJK>
-0x23B67 0x60F5 # <CJK>
-0x23B68 0x6113 # <CJK>
-0x23B69 0x60F8 # <CJK>
-0x23B6A 0x60FC # <CJK>
-0x23B6B 0x60FE # <CJK>
-0x23B6C 0x60C1 # <CJK>
-0x23B6D 0x6103 # <CJK>
-0x23B6E 0x6118 # <CJK>
-0x23B6F 0x611D # <CJK>
-0x23B70 0x6110 # <CJK>
-0x23B71 0x60FF # <CJK>
-0x23B72 0x6104 # <CJK>
-0x23B73 0x610B # <CJK>
-0x23B74 0x624A # <CJK>
-0x23B75 0x6394 # <CJK>
-0x23B76 0x63B1 # <CJK>
-0x23B77 0x63B0 # <CJK>
-0x23B78 0x63CE # <CJK>
-0x23B79 0x63E5 # <CJK>
-0x23B7A 0x63E8 # <CJK>
-0x23B7B 0x63EF # <CJK>
-0x23B7C 0x63C3 # <CJK>
-0x23B7D 0x649D # <CJK>
-0x23B7E 0x63F3 # <CJK>
-0x23C21 0x63CA # <CJK>
-0x23C22 0x63E0 # <CJK>
-0x23C23 0x63F6 # <CJK>
-0x23C24 0x63D5 # <CJK>
-0x23C25 0x63F2 # <CJK>
-0x23C26 0x63F5 # <CJK>
-0x23C27 0x6461 # <CJK>
-0x23C28 0x63DF # <CJK>
-0x23C29 0x63BE # <CJK>
-0x23C2A 0x63DD # <CJK>
-0x23C2B 0x63DC # <CJK>
-0x23C2C 0x63C4 # <CJK>
-0x23C2D 0x63D8 # <CJK>
-0x23C2E 0x63D3 # <CJK>
-0x23C2F 0x63C2 # <CJK>
-0x23C30 0x63C7 # <CJK>
-0x23C31 0x63CC # <CJK>
-0x23C32 0x63CB # <CJK>
-0x23C33 0x63C8 # <CJK>
-0x23C34 0x63F0 # <CJK>
-0x23C35 0x63D7 # <CJK>
-0x23C36 0x63D9 # <CJK>
-0x23C37 0x6532 # <CJK>
-0x23C38 0x6567 # <CJK>
-0x23C39 0x656A # <CJK>
-0x23C3A 0x6564 # <CJK>
-0x23C3B 0x655C # <CJK>
-0x23C3C 0x6568 # <CJK>
-0x23C3D 0x6565 # <CJK>
-0x23C3E 0x658C # <CJK>
-0x23C3F 0x659D # <CJK>
-0x23C40 0x659E # <CJK>
-0x23C41 0x65AE # <CJK>
-0x23C42 0x65D0 # <CJK>
-0x23C43 0x65D2 # <CJK>
-0x23C44 0x667C # <CJK>
-0x23C45 0x666C # <CJK>
-0x23C46 0x667B # <CJK>
-0x23C47 0x6680 # <CJK>
-0x23C48 0x6671 # <CJK>
-0x23C49 0x6679 # <CJK>
-0x23C4A 0x666A # <CJK>
-0x23C4B 0x6672 # <CJK>
-0x23C4C 0x6701 # <CJK>
-0x23C4D 0x690C # <CJK>
-0x23C4E 0x68D3 # <CJK>
-0x23C4F 0x6904 # <CJK>
-0x23C50 0x68DC # <CJK>
-0x23C51 0x692A # <CJK>
-0x23C52 0x68EC # <CJK>
-0x23C53 0x68EA # <CJK>
-0x23C54 0x68F1 # <CJK>
-0x23C55 0x690F # <CJK>
-0x23C56 0x68D6 # <CJK>
-0x23C57 0x68F7 # <CJK>
-0x23C58 0x68EB # <CJK>
-0x23C59 0x68E4 # <CJK>
-0x23C5A 0x68F6 # <CJK>
-0x23C5B 0x6913 # <CJK>
-0x23C5C 0x6910 # <CJK>
-0x23C5D 0x68F3 # <CJK>
-0x23C5E 0x68E1 # <CJK>
-0x23C5F 0x6907 # <CJK>
-0x23C60 0x68CC # <CJK>
-0x23C61 0x6908 # <CJK>
-0x23C62 0x6970 # <CJK>
-0x23C63 0x68B4 # <CJK>
-0x23C64 0x6911 # <CJK>
-0x23C65 0x68EF # <CJK>
-0x23C66 0x68C6 # <CJK>
-0x23C67 0x6914 # <CJK>
-0x23C68 0x68F8 # <CJK>
-0x23C69 0x68D0 # <CJK>
-0x23C6A 0x68FD # <CJK>
-0x23C6B 0x68FC # <CJK>
-0x23C6C 0x68E8 # <CJK>
-0x23C6D 0x690B # <CJK>
-0x23C6E 0x690A # <CJK>
-0x23C6F 0x6917 # <CJK>
-0x23C70 0x68CE # <CJK>
-0x23C71 0x68C8 # <CJK>
-0x23C72 0x68DD # <CJK>
-0x23C73 0x68DE # <CJK>
-0x23C74 0x68E6 # <CJK>
-0x23C75 0x68F4 # <CJK>
-0x23C76 0x68D1 # <CJK>
-0x23C77 0x6906 # <CJK>
-0x23C78 0x68D4 # <CJK>
-0x23C79 0x68E9 # <CJK>
-0x23C7A 0x6915 # <CJK>
-0x23C7B 0x6925 # <CJK>
-0x23C7C 0x68C7 # <CJK>
-0x23C7D 0x6B39 # <CJK>
-0x23C7E 0x6B3B # <CJK>
-0x23D21 0x6B3F # <CJK>
-0x23D22 0x6B3C # <CJK>
-0x23D23 0x6B94 # <CJK>
-0x23D24 0x6B97 # <CJK>
-0x23D25 0x6B99 # <CJK>
-0x23D26 0x6B95 # <CJK>
-0x23D27 0x6BBD # <CJK>
-0x23D28 0x6BF0 # <CJK>
-0x23D29 0x6BF2 # <CJK>
-0x23D2A 0x6BF3 # <CJK>
-0x23D2B 0x6C30 # <CJK>
-0x23D2C 0x6DFC # <CJK>
-0x23D2D 0x6E46 # <CJK>
-0x23D2E 0x6E47 # <CJK>
-0x23D2F 0x6E1F # <CJK>
-0x23D30 0x6E49 # <CJK>
-0x23D31 0x6E88 # <CJK>
-0x23D32 0x6E3C # <CJK>
-0x23D33 0x6E3D # <CJK>
-0x23D34 0x6E45 # <CJK>
-0x23D35 0x6E62 # <CJK>
-0x23D36 0x6E2B # <CJK>
-0x23D37 0x6E3F # <CJK>
-0x23D38 0x6E41 # <CJK>
-0x23D39 0x6E5D # <CJK>
-0x23D3A 0x6E73 # <CJK>
-0x23D3B 0x6E1C # <CJK>
-0x23D3C 0x6E33 # <CJK>
-0x23D3D 0x6E4B # <CJK>
-0x23D3E 0x6E40 # <CJK>
-0x23D3F 0x6E51 # <CJK>
-0x23D40 0x6E3B # <CJK>
-0x23D41 0x6E03 # <CJK>
-0x23D42 0x6E2E # <CJK>
-0x23D43 0x6E5E # <CJK>
-0x23D44 0x6E68 # <CJK>
-0x23D45 0x6E5C # <CJK>
-0x23D46 0x6E61 # <CJK>
-0x23D47 0x6E31 # <CJK>
-0x23D48 0x6E28 # <CJK>
-0x23D49 0x6E60 # <CJK>
-0x23D4A 0x6E71 # <CJK>
-0x23D4B 0x6E6B # <CJK>
-0x23D4C 0x6E39 # <CJK>
-0x23D4D 0x6E22 # <CJK>
-0x23D4E 0x6E30 # <CJK>
-0x23D4F 0x6E53 # <CJK>
-0x23D50 0x6E65 # <CJK>
-0x23D51 0x6E27 # <CJK>
-0x23D52 0x6E78 # <CJK>
-0x23D53 0x6E64 # <CJK>
-0x23D54 0x6E77 # <CJK>
-0x23D55 0x6E55 # <CJK>
-0x23D56 0x6E79 # <CJK>
-0x23D57 0x6E52 # <CJK>
-0x23D58 0x6E66 # <CJK>
-0x23D59 0x6E35 # <CJK>
-0x23D5A 0x6E36 # <CJK>
-0x23D5B 0x6E5A # <CJK>
-0x23D5C 0x7120 # <CJK>
-0x23D5D 0x711E # <CJK>
-0x23D5E 0x712F # <CJK>
-0x23D5F 0x70FB # <CJK>
-0x23D60 0x712E # <CJK>
-0x23D61 0x7131 # <CJK>
-0x23D62 0x7123 # <CJK>
-0x23D63 0x7125 # <CJK>
-0x23D64 0x7122 # <CJK>
-0x23D65 0x7132 # <CJK>
-0x23D66 0x711F # <CJK>
-0x23D67 0x7128 # <CJK>
-0x23D68 0x713A # <CJK>
-0x23D69 0x711B # <CJK>
-0x23D6A 0x724B # <CJK>
-0x23D6B 0x725A # <CJK>
-0x23D6C 0x7288 # <CJK>
-0x23D6D 0x7289 # <CJK>
-0x23D6E 0x7286 # <CJK>
-0x23D6F 0x7285 # <CJK>
-0x23D70 0x728B # <CJK>
-0x23D71 0x7312 # <CJK>
-0x23D72 0x730B # <CJK>
-0x23D73 0x7330 # <CJK>
-0x23D74 0x7322 # <CJK>
-0x23D75 0x7331 # <CJK>
-0x23D76 0x7333 # <CJK>
-0x23D77 0x7327 # <CJK>
-0x23D78 0x7332 # <CJK>
-0x23D79 0x732D # <CJK>
-0x23D7A 0x7326 # <CJK>
-0x23D7B 0x7323 # <CJK>
-0x23D7C 0x7335 # <CJK>
-0x23D7D 0x730C # <CJK>
-0x23D7E 0x742E # <CJK>
-0x23E21 0x742C # <CJK>
-0x23E22 0x7430 # <CJK>
-0x23E23 0x742B # <CJK>
-0x23E24 0x7416 # <CJK>
-0x23E25 0x741A # <CJK>
-0x23E26 0x7421 # <CJK>
-0x23E27 0x742D # <CJK>
-0x23E28 0x7431 # <CJK>
-0x23E29 0x7424 # <CJK>
-0x23E2A 0x7423 # <CJK>
-0x23E2B 0x741D # <CJK>
-0x23E2C 0x7429 # <CJK>
-0x23E2D 0x7420 # <CJK>
-0x23E2E 0x7432 # <CJK>
-0x23E2F 0x74FB # <CJK>
-0x23E30 0x752F # <CJK>
-0x23E31 0x756F # <CJK>
-0x23E32 0x756C # <CJK>
-0x23E33 0x75E7 # <CJK>
-0x23E34 0x75DA # <CJK>
-0x23E35 0x75E1 # <CJK>
-0x23E36 0x75E6 # <CJK>
-0x23E37 0x75DD # <CJK>
-0x23E38 0x75DF # <CJK>
-0x23E39 0x75E4 # <CJK>
-0x23E3A 0x75D7 # <CJK>
-0x23E3B 0x7695 # <CJK>
-0x23E3C 0x7692 # <CJK>
-0x23E3D 0x76DA # <CJK>
-0x23E3E 0x7746 # <CJK>
-0x23E3F 0x7747 # <CJK>
-0x23E40 0x7744 # <CJK>
-0x23E41 0x774D # <CJK>
-0x23E42 0x7745 # <CJK>
-0x23E43 0x774A # <CJK>
-0x23E44 0x774E # <CJK>
-0x23E45 0x774B # <CJK>
-0x23E46 0x774C # <CJK>
-0x23E47 0x77DE # <CJK>
-0x23E48 0x77EC # <CJK>
-0x23E49 0x7860 # <CJK>
-0x23E4A 0x7864 # <CJK>
-0x23E4B 0x7865 # <CJK>
-0x23E4C 0x785C # <CJK>
-0x23E4D 0x786D # <CJK>
-0x23E4E 0x7871 # <CJK>
-0x23E4F 0x786A # <CJK>
-0x23E50 0x786E # <CJK>
-0x23E51 0x7870 # <CJK>
-0x23E52 0x7869 # <CJK>
-0x23E53 0x7868 # <CJK>
-0x23E54 0x785E # <CJK>
-0x23E55 0x7862 # <CJK>
-0x23E56 0x7974 # <CJK>
-0x23E57 0x7973 # <CJK>
-0x23E58 0x7972 # <CJK>
-0x23E59 0x7970 # <CJK>
-0x23E5A 0x7A02 # <CJK>
-0x23E5B 0x7A0A # <CJK>
-0x23E5C 0x7A03 # <CJK>
-0x23E5D 0x7A0C # <CJK>
-0x23E5E 0x7A04 # <CJK>
-0x23E5F 0x7A99 # <CJK>
-0x23E60 0x7AE6 # <CJK>
-0x23E61 0x7AE4 # <CJK>
-0x23E62 0x7B4A # <CJK>
-0x23E63 0x7B47 # <CJK>
-0x23E64 0x7B44 # <CJK>
-0x23E65 0x7B48 # <CJK>
-0x23E66 0x7B4C # <CJK>
-0x23E67 0x7B4E # <CJK>
-0x23E68 0x7B40 # <CJK>
-0x23E69 0x7B58 # <CJK>
-0x23E6A 0x7B45 # <CJK>
-0x23E6B 0x7CA2 # <CJK>
-0x23E6C 0x7C9E # <CJK>
-0x23E6D 0x7CA8 # <CJK>
-0x23E6E 0x7CA1 # <CJK>
-0x23E6F 0x7D58 # <CJK>
-0x23E70 0x7D6F # <CJK>
-0x23E71 0x7D63 # <CJK>
-0x23E72 0x7D53 # <CJK>
-0x23E73 0x7D56 # <CJK>
-0x23E74 0x7D67 # <CJK>
-0x23E75 0x7D6A # <CJK>
-0x23E76 0x7D4F # <CJK>
-0x23E77 0x7D6D # <CJK>
-0x23E78 0x7D5C # <CJK>
-0x23E79 0x7D6B # <CJK>
-0x23E7A 0x7D52 # <CJK>
-0x23E7B 0x7D54 # <CJK>
-0x23E7C 0x7D69 # <CJK>
-0x23E7D 0x7D51 # <CJK>
-0x23E7E 0x7D5F # <CJK>
-0x23F21 0x7D4E # <CJK>
-0x23F22 0x7F3E # <CJK>
-0x23F23 0x7F3F # <CJK>
-0x23F24 0x7F65 # <CJK>
-0x23F25 0x7F66 # <CJK>
-0x23F26 0x7FA2 # <CJK>
-0x23F27 0x7FA0 # <CJK>
-0x23F28 0x7FA1 # <CJK>
-0x23F29 0x7FD7 # <CJK>
-0x23F2A 0x8051 # <CJK>
-0x23F2B 0x804F # <CJK>
-0x23F2C 0x8050 # <CJK>
-0x23F2D 0x80FE # <CJK>
-0x23F2E 0x80D4 # <CJK>
-0x23F2F 0x8143 # <CJK>
-0x23F30 0x814A # <CJK>
-0x23F31 0x8152 # <CJK>
-0x23F32 0x814F # <CJK>
-0x23F33 0x8147 # <CJK>
-0x23F34 0x813D # <CJK>
-0x23F35 0x814D # <CJK>
-0x23F36 0x813A # <CJK>
-0x23F37 0x81E6 # <CJK>
-0x23F38 0x81EE # <CJK>
-0x23F39 0x81F7 # <CJK>
-0x23F3A 0x81F8 # <CJK>
-0x23F3B 0x81F9 # <CJK>
-0x23F3C 0x8204 # <CJK>
-0x23F3D 0x823C # <CJK>
-0x23F3E 0x823D # <CJK>
-0x23F3F 0x823F # <CJK>
-0x23F40 0x8275 # <CJK>
-0x23F41 0x833B # <CJK>
-0x23F42 0x83CF # <CJK>
-0x23F43 0x83F9 # <CJK>
-0x23F44 0x8423 # <CJK>
-0x23F45 0x83C0 # <CJK>
-0x23F46 0x83E8 # <CJK>
-0x23F47 0x8412 # <CJK>
-0x23F48 0x83E7 # <CJK>
-0x23F49 0x83E4 # <CJK>
-0x23F4A 0x83FC # <CJK>
-0x23F4B 0x83F6 # <CJK>
-0x23F4C 0x8410 # <CJK>
-0x23F4D 0x83C6 # <CJK>
-0x23F4E 0x83C8 # <CJK>
-0x23F4F 0x83EB # <CJK>
-0x23F50 0x83E3 # <CJK>
-0x23F51 0x83BF # <CJK>
-0x23F52 0x8401 # <CJK>
-0x23F53 0x83DD # <CJK>
-0x23F54 0x83E5 # <CJK>
-0x23F55 0x83D8 # <CJK>
-0x23F56 0x83FF # <CJK>
-0x23F57 0x83E1 # <CJK>
-0x23F58 0x83CB # <CJK>
-0x23F59 0x83CE # <CJK>
-0x23F5A 0x83D6 # <CJK>
-0x23F5B 0x83F5 # <CJK>
-0x23F5C 0x83C9 # <CJK>
-0x23F5D 0x8409 # <CJK>
-0x23F5E 0x840F # <CJK>
-0x23F5F 0x83DE # <CJK>
-0x23F60 0x8411 # <CJK>
-0x23F61 0x8406 # <CJK>
-0x23F62 0x83C2 # <CJK>
-0x23F63 0x83F3 # <CJK>
-0x23F64 0x83D5 # <CJK>
-0x23F65 0x83FA # <CJK>
-0x23F66 0x83C7 # <CJK>
-0x23F67 0x83D1 # <CJK>
-0x23F68 0x83EA # <CJK>
-0x23F69 0x8413 # <CJK>
-0x23F6A 0x839A # <CJK>
-0x23F6B 0x83C3 # <CJK>
-0x23F6C 0x83EC # <CJK>
-0x23F6D 0x83EE # <CJK>
-0x23F6E 0x83C4 # <CJK>
-0x23F6F 0x83FB # <CJK>
-0x23F70 0x83D7 # <CJK>
-0x23F71 0x83E2 # <CJK>
-0x23F72 0x841B # <CJK>
-0x23F73 0x83DB # <CJK>
-0x23F74 0x83FE # <CJK>
-0x23F75 0x86D8 # <CJK>
-0x23F76 0x86E2 # <CJK>
-0x23F77 0x86E6 # <CJK>
-0x23F78 0x86D3 # <CJK>
-0x23F79 0x86E3 # <CJK>
-0x23F7A 0x86DA # <CJK>
-0x23F7B 0x86EA # <CJK>
-0x23F7C 0x86DD # <CJK>
-0x23F7D 0x86EB # <CJK>
-0x23F7E 0x86DC # <CJK>
-0x24021 0x86EC # <CJK>
-0x24022 0x86E9 # <CJK>
-0x24023 0x86D7 # <CJK>
-0x24024 0x86E8 # <CJK>
-0x24025 0x86D1 # <CJK>
-0x24026 0x8848 # <CJK>
-0x24027 0x8856 # <CJK>
-0x24028 0x8855 # <CJK>
-0x24029 0x88BA # <CJK>
-0x2402A 0x88D7 # <CJK>
-0x2402B 0x88B9 # <CJK>
-0x2402C 0x88B8 # <CJK>
-0x2402D 0x88C0 # <CJK>
-0x2402E 0x88BE # <CJK>
-0x2402F 0x88B6 # <CJK>
-0x24030 0x88BC # <CJK>
-0x24031 0x88B7 # <CJK>
-0x24032 0x88BD # <CJK>
-0x24033 0x88B2 # <CJK>
-0x24034 0x8901 # <CJK>
-0x24035 0x88C9 # <CJK>
-0x24036 0x8995 # <CJK>
-0x24037 0x8998 # <CJK>
-0x24038 0x8997 # <CJK>
-0x24039 0x89DD # <CJK>
-0x2403A 0x89DA # <CJK>
-0x2403B 0x89DB # <CJK>
-0x2403C 0x8A4E # <CJK>
-0x2403D 0x8A4D # <CJK>
-0x2403E 0x8A39 # <CJK>
-0x2403F 0x8A59 # <CJK>
-0x24040 0x8A40 # <CJK>
-0x24041 0x8A57 # <CJK>
-0x24042 0x8A58 # <CJK>
-0x24043 0x8A44 # <CJK>
-0x24044 0x8A45 # <CJK>
-0x24045 0x8A52 # <CJK>
-0x24046 0x8A48 # <CJK>
-0x24047 0x8A51 # <CJK>
-0x24048 0x8A4A # <CJK>
-0x24049 0x8A4C # <CJK>
-0x2404A 0x8A4F # <CJK>
-0x2404B 0x8C5F # <CJK>
-0x2404C 0x8C81 # <CJK>
-0x2404D 0x8C80 # <CJK>
-0x2404E 0x8CBA # <CJK>
-0x2404F 0x8CBE # <CJK>
-0x24050 0x8CB0 # <CJK>
-0x24051 0x8CB9 # <CJK>
-0x24052 0x8CB5 # <CJK>
-0x24053 0x8D84 # <CJK>
-0x24054 0x8D80 # <CJK>
-0x24055 0x8D89 # <CJK>
-0x24056 0x8DD8 # <CJK>
-0x24057 0x8DD3 # <CJK>
-0x24058 0x8DCD # <CJK>
-0x24059 0x8DC7 # <CJK>
-0x2405A 0x8DD6 # <CJK>
-0x2405B 0x8DDC # <CJK>
-0x2405C 0x8DCF # <CJK>
-0x2405D 0x8DD5 # <CJK>
-0x2405E 0x8DD9 # <CJK>
-0x2405F 0x8DC8 # <CJK>
-0x24060 0x8DD7 # <CJK>
-0x24061 0x8DC5 # <CJK>
-0x24062 0x8EEF # <CJK>
-0x24063 0x8EF7 # <CJK>
-0x24064 0x8EFA # <CJK>
-0x24065 0x8EF9 # <CJK>
-0x24066 0x8EE6 # <CJK>
-0x24067 0x8EEE # <CJK>
-0x24068 0x8EE5 # <CJK>
-0x24069 0x8EF5 # <CJK>
-0x2406A 0x8EE7 # <CJK>
-0x2406B 0x8EE8 # <CJK>
-0x2406C 0x8EF6 # <CJK>
-0x2406D 0x8EEB # <CJK>
-0x2406E 0x8EF1 # <CJK>
-0x2406F 0x8EEC # <CJK>
-0x24070 0x8EF4 # <CJK>
-0x24071 0x8EE9 # <CJK>
-0x24072 0x902D # <CJK>
-0x24073 0x9034 # <CJK>
-0x24074 0x902F # <CJK>
-0x24075 0x9106 # <CJK>
-0x24076 0x912C # <CJK>
-0x24077 0x9104 # <CJK>
-0x24078 0x90FF # <CJK>
-0x24079 0x90FC # <CJK>
-0x2407A 0x9108 # <CJK>
-0x2407B 0x90F9 # <CJK>
-0x2407C 0x90FB # <CJK>
-0x2407D 0x9101 # <CJK>
-0x2407E 0x9100 # <CJK>
-0x24121 0x9107 # <CJK>
-0x24122 0x9105 # <CJK>
-0x24123 0x9103 # <CJK>
-0x24124 0x9161 # <CJK>
-0x24125 0x9164 # <CJK>
-0x24126 0x915F # <CJK>
-0x24127 0x9162 # <CJK>
-0x24128 0x9160 # <CJK>
-0x24129 0x9201 # <CJK>
-0x2412A 0x920A # <CJK>
-0x2412B 0x9225 # <CJK>
-0x2412C 0x9203 # <CJK>
-0x2412D 0x921A # <CJK>
-0x2412E 0x9226 # <CJK>
-0x2412F 0x920F # <CJK>
-0x24130 0x920C # <CJK>
-0x24131 0x9200 # <CJK>
-0x24132 0x9212 # <CJK>
-0x24133 0x91FF # <CJK>
-0x24134 0x91FD # <CJK>
-0x24135 0x9206 # <CJK>
-0x24136 0x9204 # <CJK>
-0x24137 0x9227 # <CJK>
-0x24138 0x9202 # <CJK>
-0x24139 0x921C # <CJK>
-0x2413A 0x9224 # <CJK>
-0x2413B 0x9219 # <CJK>
-0x2413C 0x9217 # <CJK>
-0x2413D 0x9205 # <CJK>
-0x2413E 0x9216 # <CJK>
-0x2413F 0x957B # <CJK>
-0x24140 0x958D # <CJK>
-0x24141 0x958C # <CJK>
-0x24142 0x9590 # <CJK>
-0x24143 0x9687 # <CJK>
-0x24144 0x967E # <CJK>
-0x24145 0x9688 # <CJK>
-0x24146 0x9689 # <CJK>
-0x24147 0x9683 # <CJK>
-0x24148 0x9680 # <CJK>
-0x24149 0x96C2 # <CJK>
-0x2414A 0x96C8 # <CJK>
-0x2414B 0x96C3 # <CJK>
-0x2414C 0x96F1 # <CJK>
-0x2414D 0x96F0 # <CJK>
-0x2414E 0x976C # <CJK>
-0x2414F 0x9770 # <CJK>
-0x24150 0x976E # <CJK>
-0x24151 0x9807 # <CJK>
-0x24152 0x98A9 # <CJK>
-0x24153 0x98EB # <CJK>
-0x24154 0x9CE6 # <CJK>
-0x24155 0x9EF9 # <CJK>
-0x24156 0x4E83 # <CJK>
-0x24157 0x4E84 # <CJK>
-0x24158 0x4EB6 # <CJK>
-0x24159 0x50BD # <CJK>
-0x2415A 0x50BF # <CJK>
-0x2415B 0x50C6 # <CJK>
-0x2415C 0x50AE # <CJK>
-0x2415D 0x50C4 # <CJK>
-0x2415E 0x50CA # <CJK>
-0x2415F 0x50B4 # <CJK>
-0x24160 0x50C8 # <CJK>
-0x24161 0x50C2 # <CJK>
-0x24162 0x50B0 # <CJK>
-0x24163 0x50C1 # <CJK>
-0x24164 0x50BA # <CJK>
-0x24165 0x50B1 # <CJK>
-0x24166 0x50CB # <CJK>
-0x24167 0x50C9 # <CJK>
-0x24168 0x50B6 # <CJK>
-0x24169 0x50B8 # <CJK>
-0x2416A 0x51D7 # <CJK>
-0x2416B 0x527A # <CJK>
-0x2416C 0x5278 # <CJK>
-0x2416D 0x527B # <CJK>
-0x2416E 0x527C # <CJK>
-0x2416F 0x55C3 # <CJK>
-0x24170 0x55DB # <CJK>
-0x24171 0x55CC # <CJK>
-0x24172 0x55D0 # <CJK>
-0x24173 0x55CB # <CJK>
-0x24174 0x55CA # <CJK>
-0x24175 0x55DD # <CJK>
-0x24176 0x55C0 # <CJK>
-0x24177 0x55D4 # <CJK>
-0x24178 0x55C4 # <CJK>
-0x24179 0x55E9 # <CJK>
-0x2417A 0x55BF # <CJK>
-0x2417B 0x55D2 # <CJK>
-0x2417C 0x558D # <CJK>
-0x2417D 0x55CF # <CJK>
-0x2417E 0x55D5 # <CJK>
-0x24221 0x55E2 # <CJK>
-0x24222 0x55D6 # <CJK>
-0x24223 0x55C8 # <CJK>
-0x24224 0x55F2 # <CJK>
-0x24225 0x55CD # <CJK>
-0x24226 0x55D9 # <CJK>
-0x24227 0x55C2 # <CJK>
-0x24228 0x5714 # <CJK>
-0x24229 0x5853 # <CJK>
-0x2422A 0x5868 # <CJK>
-0x2422B 0x5864 # <CJK>
-0x2422C 0x584F # <CJK>
-0x2422D 0x584D # <CJK>
-0x2422E 0x5849 # <CJK>
-0x2422F 0x586F # <CJK>
-0x24230 0x5855 # <CJK>
-0x24231 0x584E # <CJK>
-0x24232 0x585D # <CJK>
-0x24233 0x5859 # <CJK>
-0x24234 0x5865 # <CJK>
-0x24235 0x585B # <CJK>
-0x24236 0x583D # <CJK>
-0x24237 0x5863 # <CJK>
-0x24238 0x5871 # <CJK>
-0x24239 0x58FC # <CJK>
-0x2423A 0x5AC7 # <CJK>
-0x2423B 0x5AC4 # <CJK>
-0x2423C 0x5ACB # <CJK>
-0x2423D 0x5ABA # <CJK>
-0x2423E 0x5AB8 # <CJK>
-0x2423F 0x5AB1 # <CJK>
-0x24240 0x5AB5 # <CJK>
-0x24241 0x5AB0 # <CJK>
-0x24242 0x5ABF # <CJK>
-0x24243 0x5AC8 # <CJK>
-0x24244 0x5ABB # <CJK>
-0x24245 0x5AC6 # <CJK>
-0x24246 0x5AB7 # <CJK>
-0x24247 0x5AC0 # <CJK>
-0x24248 0x5ACA # <CJK>
-0x24249 0x5AB4 # <CJK>
-0x2424A 0x5AB6 # <CJK>
-0x2424B 0x5ACD # <CJK>
-0x2424C 0x5AB9 # <CJK>
-0x2424D 0x5A90 # <CJK>
-0x2424E 0x5BD6 # <CJK>
-0x2424F 0x5BD8 # <CJK>
-0x24250 0x5BD9 # <CJK>
-0x24251 0x5C1F # <CJK>
-0x24252 0x5C33 # <CJK>
-0x24253 0x5D71 # <CJK>
-0x24254 0x5D63 # <CJK>
-0x24255 0x5D4A # <CJK>
-0x24256 0x5D65 # <CJK>
-0x24257 0x5D72 # <CJK>
-0x24258 0x5D6C # <CJK>
-0x24259 0x5D5E # <CJK>
-0x2425A 0x5D68 # <CJK>
-0x2425B 0x5D67 # <CJK>
-0x2425C 0x5D62 # <CJK>
-0x2425D 0x5DF0 # <CJK>
-0x2425E 0x5E4F # <CJK>
-0x2425F 0x5E4E # <CJK>
-0x24260 0x5E4A # <CJK>
-0x24261 0x5E4D # <CJK>
-0x24262 0x5E4B # <CJK>
-0x24263 0x5EC5 # <CJK>
-0x24264 0x5ECC # <CJK>
-0x24265 0x5EC6 # <CJK>
-0x24266 0x5ECB # <CJK>
-0x24267 0x5EC7 # <CJK>
-0x24268 0x5F40 # <CJK>
-0x24269 0x5FAF # <CJK>
-0x2426A 0x5FAD # <CJK>
-0x2426B 0x60F7 # <CJK>
-0x2426C 0x6149 # <CJK>
-0x2426D 0x614A # <CJK>
-0x2426E 0x612B # <CJK>
-0x2426F 0x6145 # <CJK>
-0x24270 0x6136 # <CJK>
-0x24271 0x6132 # <CJK>
-0x24272 0x612E # <CJK>
-0x24273 0x6146 # <CJK>
-0x24274 0x612F # <CJK>
-0x24275 0x614F # <CJK>
-0x24276 0x6129 # <CJK>
-0x24277 0x6140 # <CJK>
-0x24278 0x6220 # <CJK>
-0x24279 0x9168 # <CJK>
-0x2427A 0x6223 # <CJK>
-0x2427B 0x6225 # <CJK>
-0x2427C 0x6224 # <CJK>
-0x2427D 0x63C5 # <CJK>
-0x2427E 0x63F1 # <CJK>
-0x24321 0x63EB # <CJK>
-0x24322 0x6410 # <CJK>
-0x24323 0x6412 # <CJK>
-0x24324 0x6409 # <CJK>
-0x24325 0x6420 # <CJK>
-0x24326 0x6424 # <CJK>
-0x24327 0x6433 # <CJK>
-0x24328 0x6443 # <CJK>
-0x24329 0x641F # <CJK>
-0x2432A 0x6415 # <CJK>
-0x2432B 0x6418 # <CJK>
-0x2432C 0x6439 # <CJK>
-0x2432D 0x6437 # <CJK>
-0x2432E 0x6422 # <CJK>
-0x2432F 0x6423 # <CJK>
-0x24330 0x640C # <CJK>
-0x24331 0x6426 # <CJK>
-0x24332 0x6430 # <CJK>
-0x24333 0x6428 # <CJK>
-0x24334 0x6441 # <CJK>
-0x24335 0x6435 # <CJK>
-0x24336 0x642F # <CJK>
-0x24337 0x640A # <CJK>
-0x24338 0x641A # <CJK>
-0x24339 0x6440 # <CJK>
-0x2433A 0x6425 # <CJK>
-0x2433B 0x6427 # <CJK>
-0x2433C 0x640B # <CJK>
-0x2433D 0x63E7 # <CJK>
-0x2433E 0x641B # <CJK>
-0x2433F 0x642E # <CJK>
-0x24340 0x6421 # <CJK>
-0x24341 0x640E # <CJK>
-0x24342 0x656F # <CJK>
-0x24343 0x6592 # <CJK>
-0x24344 0x65D3 # <CJK>
-0x24345 0x6686 # <CJK>
-0x24346 0x668C # <CJK>
-0x24347 0x6695 # <CJK>
-0x24348 0x6690 # <CJK>
-0x24349 0x668B # <CJK>
-0x2434A 0x668A # <CJK>
-0x2434B 0x6699 # <CJK>
-0x2434C 0x6694 # <CJK>
-0x2434D 0x6678 # <CJK>
-0x2434E 0x6720 # <CJK>
-0x2434F 0x6966 # <CJK>
-0x24350 0x695F # <CJK>
-0x24351 0x6938 # <CJK>
-0x24352 0x694E # <CJK>
-0x24353 0x6962 # <CJK>
-0x24354 0x6971 # <CJK>
-0x24355 0x693F # <CJK>
-0x24356 0x6945 # <CJK>
-0x24357 0x696A # <CJK>
-0x24358 0x6939 # <CJK>
-0x24359 0x6942 # <CJK>
-0x2435A 0x6957 # <CJK>
-0x2435B 0x6959 # <CJK>
-0x2435C 0x697A # <CJK>
-0x2435D 0x6948 # <CJK>
-0x2435E 0x6949 # <CJK>
-0x2435F 0x6935 # <CJK>
-0x24360 0x696C # <CJK>
-0x24361 0x6933 # <CJK>
-0x24362 0x693D # <CJK>
-0x24363 0x6965 # <CJK>
-0x24364 0x68F0 # <CJK>
-0x24365 0x6978 # <CJK>
-0x24366 0x6934 # <CJK>
-0x24367 0x6969 # <CJK>
-0x24368 0x6940 # <CJK>
-0x24369 0x696F # <CJK>
-0x2436A 0x6944 # <CJK>
-0x2436B 0x6976 # <CJK>
-0x2436C 0x6958 # <CJK>
-0x2436D 0x6941 # <CJK>
-0x2436E 0x6974 # <CJK>
-0x2436F 0x694C # <CJK>
-0x24370 0x693B # <CJK>
-0x24371 0x694B # <CJK>
-0x24372 0x6937 # <CJK>
-0x24373 0x695C # <CJK>
-0x24374 0x694F # <CJK>
-0x24375 0x6951 # <CJK>
-0x24376 0x6932 # <CJK>
-0x24377 0x6952 # <CJK>
-0x24378 0x692F # <CJK>
-0x24379 0x697B # <CJK>
-0x2437A 0x693C # <CJK>
-0x2437B 0x6B46 # <CJK>
-0x2437C 0x6B45 # <CJK>
-0x2437D 0x6B43 # <CJK>
-0x2437E 0x6B42 # <CJK>
-0x24421 0x6B48 # <CJK>
-0x24422 0x6B41 # <CJK>
-0x24423 0x6B9B # <CJK>
-0x24424 0x6BFB # <CJK>
-0x24425 0x6BFC # <CJK>
-0x24426 0x6BF9 # <CJK>
-0x24427 0x6BF7 # <CJK>
-0x24428 0x6BF8 # <CJK>
-0x24429 0x6E9B # <CJK>
-0x2442A 0x6ED6 # <CJK>
-0x2442B 0x6EC8 # <CJK>
-0x2442C 0x6E8F # <CJK>
-0x2442D 0x6EC0 # <CJK>
-0x2442E 0x6E9F # <CJK>
-0x2442F 0x6E93 # <CJK>
-0x24430 0x6E94 # <CJK>
-0x24431 0x6EA0 # <CJK>
-0x24432 0x6EB1 # <CJK>
-0x24433 0x6EB9 # <CJK>
-0x24434 0x6EC6 # <CJK>
-0x24435 0x6ED2 # <CJK>
-0x24436 0x6EBD # <CJK>
-0x24437 0x6EC1 # <CJK>
-0x24438 0x6E9E # <CJK>
-0x24439 0x6EC9 # <CJK>
-0x2443A 0x6EB7 # <CJK>
-0x2443B 0x6EB0 # <CJK>
-0x2443C 0x6ECD # <CJK>
-0x2443D 0x6EA6 # <CJK>
-0x2443E 0x6ECF # <CJK>
-0x2443F 0x6EB2 # <CJK>
-0x24440 0x6EBE # <CJK>
-0x24441 0x6EC3 # <CJK>
-0x24442 0x6EDC # <CJK>
-0x24443 0x6ED8 # <CJK>
-0x24444 0x6E99 # <CJK>
-0x24445 0x6E92 # <CJK>
-0x24446 0x6E8E # <CJK>
-0x24447 0x6E8D # <CJK>
-0x24448 0x6EA4 # <CJK>
-0x24449 0x6EA1 # <CJK>
-0x2444A 0x6EBF # <CJK>
-0x2444B 0x6EB3 # <CJK>
-0x2444C 0x6ED0 # <CJK>
-0x2444D 0x6ECA # <CJK>
-0x2444E 0x6E97 # <CJK>
-0x2444F 0x6EAE # <CJK>
-0x24450 0x6EA3 # <CJK>
-0x24451 0x7147 # <CJK>
-0x24452 0x7154 # <CJK>
-0x24453 0x7152 # <CJK>
-0x24454 0x7163 # <CJK>
-0x24455 0x7160 # <CJK>
-0x24456 0x7141 # <CJK>
-0x24457 0x715D # <CJK>
-0x24458 0x7162 # <CJK>
-0x24459 0x7172 # <CJK>
-0x2445A 0x7178 # <CJK>
-0x2445B 0x716A # <CJK>
-0x2445C 0x7161 # <CJK>
-0x2445D 0x7142 # <CJK>
-0x2445E 0x7158 # <CJK>
-0x2445F 0x7143 # <CJK>
-0x24460 0x714B # <CJK>
-0x24461 0x7170 # <CJK>
-0x24462 0x715F # <CJK>
-0x24463 0x7150 # <CJK>
-0x24464 0x7153 # <CJK>
-0x24465 0x7144 # <CJK>
-0x24466 0x714D # <CJK>
-0x24467 0x715A # <CJK>
-0x24468 0x724F # <CJK>
-0x24469 0x728D # <CJK>
-0x2446A 0x728C # <CJK>
-0x2446B 0x7291 # <CJK>
-0x2446C 0x7290 # <CJK>
-0x2446D 0x728E # <CJK>
-0x2446E 0x733C # <CJK>
-0x2446F 0x7342 # <CJK>
-0x24470 0x733B # <CJK>
-0x24471 0x733A # <CJK>
-0x24472 0x7340 # <CJK>
-0x24473 0x734A # <CJK>
-0x24474 0x7349 # <CJK>
-0x24475 0x7444 # <CJK>
-0x24476 0x744A # <CJK>
-0x24477 0x744B # <CJK>
-0x24478 0x7452 # <CJK>
-0x24479 0x7451 # <CJK>
-0x2447A 0x7457 # <CJK>
-0x2447B 0x7440 # <CJK>
-0x2447C 0x744F # <CJK>
-0x2447D 0x7450 # <CJK>
-0x2447E 0x744E # <CJK>
-0x24521 0x7442 # <CJK>
-0x24522 0x7446 # <CJK>
-0x24523 0x744D # <CJK>
-0x24524 0x7454 # <CJK>
-0x24525 0x74E1 # <CJK>
-0x24526 0x74FF # <CJK>
-0x24527 0x74FE # <CJK>
-0x24528 0x74FD # <CJK>
-0x24529 0x751D # <CJK>
-0x2452A 0x7579 # <CJK>
-0x2452B 0x7577 # <CJK>
-0x2452C 0x6983 # <CJK>
-0x2452D 0x75EF # <CJK>
-0x2452E 0x760F # <CJK>
-0x2452F 0x7603 # <CJK>
-0x24530 0x75F7 # <CJK>
-0x24531 0x75FE # <CJK>
-0x24532 0x75FC # <CJK>
-0x24533 0x75F9 # <CJK>
-0x24534 0x75F8 # <CJK>
-0x24535 0x7610 # <CJK>
-0x24536 0x75FB # <CJK>
-0x24537 0x75F6 # <CJK>
-0x24538 0x75ED # <CJK>
-0x24539 0x75F5 # <CJK>
-0x2453A 0x75FD # <CJK>
-0x2453B 0x7699 # <CJK>
-0x2453C 0x76B5 # <CJK>
-0x2453D 0x76DD # <CJK>
-0x2453E 0x7755 # <CJK>
-0x2453F 0x775F # <CJK>
-0x24540 0x7760 # <CJK>
-0x24541 0x7752 # <CJK>
-0x24542 0x7756 # <CJK>
-0x24543 0x775A # <CJK>
-0x24544 0x7769 # <CJK>
-0x24545 0x7767 # <CJK>
-0x24546 0x7754 # <CJK>
-0x24547 0x7759 # <CJK>
-0x24548 0x776D # <CJK>
-0x24549 0x77E0 # <CJK>
-0x2454A 0x7887 # <CJK>
-0x2454B 0x789A # <CJK>
-0x2454C 0x7894 # <CJK>
-0x2454D 0x788F # <CJK>
-0x2454E 0x7884 # <CJK>
-0x2454F 0x7895 # <CJK>
-0x24550 0x7885 # <CJK>
-0x24551 0x7886 # <CJK>
-0x24552 0x78A1 # <CJK>
-0x24553 0x7883 # <CJK>
-0x24554 0x7879 # <CJK>
-0x24555 0x7899 # <CJK>
-0x24556 0x7880 # <CJK>
-0x24557 0x7896 # <CJK>
-0x24558 0x787B # <CJK>
-0x24559 0x797C # <CJK>
-0x2455A 0x7982 # <CJK>
-0x2455B 0x797D # <CJK>
-0x2455C 0x7979 # <CJK>
-0x2455D 0x7A11 # <CJK>
-0x2455E 0x7A18 # <CJK>
-0x2455F 0x7A19 # <CJK>
-0x24560 0x7A12 # <CJK>
-0x24561 0x7A17 # <CJK>
-0x24562 0x7A15 # <CJK>
-0x24563 0x7A22 # <CJK>
-0x24564 0x7A13 # <CJK>
-0x24565 0x7A1B # <CJK>
-0x24566 0x7A10 # <CJK>
-0x24567 0x7AA3 # <CJK>
-0x24568 0x7AA2 # <CJK>
-0x24569 0x7A9E # <CJK>
-0x2456A 0x7AEB # <CJK>
-0x2456B 0x7B66 # <CJK>
-0x2456C 0x7B64 # <CJK>
-0x2456D 0x7B6D # <CJK>
-0x2456E 0x7B74 # <CJK>
-0x2456F 0x7B69 # <CJK>
-0x24570 0x7B72 # <CJK>
-0x24571 0x7B65 # <CJK>
-0x24572 0x7B73 # <CJK>
-0x24573 0x7B71 # <CJK>
-0x24574 0x7B70 # <CJK>
-0x24575 0x7B61 # <CJK>
-0x24576 0x7B78 # <CJK>
-0x24577 0x7B76 # <CJK>
-0x24578 0x7B63 # <CJK>
-0x24579 0x7CB2 # <CJK>
-0x2457A 0x7CB4 # <CJK>
-0x2457B 0x7CAF # <CJK>
-0x2457C 0x7D88 # <CJK>
-0x2457D 0x7D86 # <CJK>
-0x2457E 0x7D80 # <CJK>
-0x24621 0x7D8D # <CJK>
-0x24622 0x7D7F # <CJK>
-0x24623 0x7D85 # <CJK>
-0x24624 0x7D7A # <CJK>
-0x24625 0x7D8E # <CJK>
-0x24626 0x7D7B # <CJK>
-0x24627 0x7D83 # <CJK>
-0x24628 0x7D7C # <CJK>
-0x24629 0x7D8C # <CJK>
-0x2462A 0x7D94 # <CJK>
-0x2462B 0x7D84 # <CJK>
-0x2462C 0x7D7D # <CJK>
-0x2462D 0x7D92 # <CJK>
-0x2462E 0x7F6D # <CJK>
-0x2462F 0x7F6B # <CJK>
-0x24630 0x7F67 # <CJK>
-0x24631 0x7F68 # <CJK>
-0x24632 0x7F6C # <CJK>
-0x24633 0x7FA6 # <CJK>
-0x24634 0x7FA5 # <CJK>
-0x24635 0x7FA7 # <CJK>
-0x24636 0x7FDB # <CJK>
-0x24637 0x7FDC # <CJK>
-0x24638 0x8021 # <CJK>
-0x24639 0x8164 # <CJK>
-0x2463A 0x8160 # <CJK>
-0x2463B 0x8177 # <CJK>
-0x2463C 0x815C # <CJK>
-0x2463D 0x8169 # <CJK>
-0x2463E 0x815B # <CJK>
-0x2463F 0x8162 # <CJK>
-0x24640 0x8172 # <CJK>
-0x24641 0x6721 # <CJK>
-0x24642 0x815E # <CJK>
-0x24643 0x8176 # <CJK>
-0x24644 0x8167 # <CJK>
-0x24645 0x816F # <CJK>
-0x24646 0x8144 # <CJK>
-0x24647 0x8161 # <CJK>
-0x24648 0x821D # <CJK>
-0x24649 0x8249 # <CJK>
-0x2464A 0x8244 # <CJK>
-0x2464B 0x8240 # <CJK>
-0x2464C 0x8242 # <CJK>
-0x2464D 0x8245 # <CJK>
-0x2464E 0x84F1 # <CJK>
-0x2464F 0x843F # <CJK>
-0x24650 0x8456 # <CJK>
-0x24651 0x8476 # <CJK>
-0x24652 0x8479 # <CJK>
-0x24653 0x848F # <CJK>
-0x24654 0x848D # <CJK>
-0x24655 0x8465 # <CJK>
-0x24656 0x8451 # <CJK>
-0x24657 0x8440 # <CJK>
-0x24658 0x8486 # <CJK>
-0x24659 0x8467 # <CJK>
-0x2465A 0x8430 # <CJK>
-0x2465B 0x844D # <CJK>
-0x2465C 0x847D # <CJK>
-0x2465D 0x845A # <CJK>
-0x2465E 0x8459 # <CJK>
-0x2465F 0x8474 # <CJK>
-0x24660 0x8473 # <CJK>
-0x24661 0x845D # <CJK>
-0x24662 0x8507 # <CJK>
-0x24663 0x845E # <CJK>
-0x24664 0x8437 # <CJK>
-0x24665 0x843A # <CJK>
-0x24666 0x8434 # <CJK>
-0x24667 0x847A # <CJK>
-0x24668 0x8443 # <CJK>
-0x24669 0x8478 # <CJK>
-0x2466A 0x8432 # <CJK>
-0x2466B 0x8445 # <CJK>
-0x2466C 0x8429 # <CJK>
-0x2466D 0x83D9 # <CJK>
-0x2466E 0x844B # <CJK>
-0x2466F 0x842F # <CJK>
-0x24670 0x8442 # <CJK>
-0x24671 0x842D # <CJK>
-0x24672 0x845F # <CJK>
-0x24673 0x8470 # <CJK>
-0x24674 0x8439 # <CJK>
-0x24675 0x844E # <CJK>
-0x24676 0x844C # <CJK>
-0x24677 0x8452 # <CJK>
-0x24678 0x846F # <CJK>
-0x24679 0x84C5 # <CJK>
-0x2467A 0x848E # <CJK>
-0x2467B 0x843B # <CJK>
-0x2467C 0x8447 # <CJK>
-0x2467D 0x8436 # <CJK>
-0x2467E 0x8433 # <CJK>
-0x24721 0x8468 # <CJK>
-0x24722 0x847E # <CJK>
-0x24723 0x8444 # <CJK>
-0x24724 0x842B # <CJK>
-0x24725 0x8460 # <CJK>
-0x24726 0x8454 # <CJK>
-0x24727 0x846E # <CJK>
-0x24728 0x8450 # <CJK>
-0x24729 0x870B # <CJK>
-0x2472A 0x8704 # <CJK>
-0x2472B 0x86F7 # <CJK>
-0x2472C 0x870C # <CJK>
-0x2472D 0x86FA # <CJK>
-0x2472E 0x86D6 # <CJK>
-0x2472F 0x86F5 # <CJK>
-0x24730 0x874D # <CJK>
-0x24731 0x86F8 # <CJK>
-0x24732 0x870E # <CJK>
-0x24733 0x8709 # <CJK>
-0x24734 0x8701 # <CJK>
-0x24735 0x86F6 # <CJK>
-0x24736 0x870D # <CJK>
-0x24737 0x8705 # <CJK>
-0x24738 0x88D6 # <CJK>
-0x24739 0x88CB # <CJK>
-0x2473A 0x88CD # <CJK>
-0x2473B 0x88CE # <CJK>
-0x2473C 0x88DE # <CJK>
-0x2473D 0x88DB # <CJK>
-0x2473E 0x88DA # <CJK>
-0x2473F 0x88CC # <CJK>
-0x24740 0x88D0 # <CJK>
-0x24741 0x8985 # <CJK>
-0x24742 0x899B # <CJK>
-0x24743 0x89DF # <CJK>
-0x24744 0x89E5 # <CJK>
-0x24745 0x89E4 # <CJK>
-0x24746 0x89E1 # <CJK>
-0x24747 0x89E0 # <CJK>
-0x24748 0x89E2 # <CJK>
-0x24749 0x89DC # <CJK>
-0x2474A 0x89E6 # <CJK>
-0x2474B 0x8A76 # <CJK>
-0x2474C 0x8A86 # <CJK>
-0x2474D 0x8A7F # <CJK>
-0x2474E 0x8A61 # <CJK>
-0x2474F 0x8A3F # <CJK>
-0x24750 0x8A77 # <CJK>
-0x24751 0x8A82 # <CJK>
-0x24752 0x8A84 # <CJK>
-0x24753 0x8A75 # <CJK>
-0x24754 0x8A83 # <CJK>
-0x24755 0x8A81 # <CJK>
-0x24756 0x8A74 # <CJK>
-0x24757 0x8A7A # <CJK>
-0x24758 0x8C3C # <CJK>
-0x24759 0x8C4B # <CJK>
-0x2475A 0x8C4A # <CJK>
-0x2475B 0x8C65 # <CJK>
-0x2475C 0x8C64 # <CJK>
-0x2475D 0x8C66 # <CJK>
-0x2475E 0x8C86 # <CJK>
-0x2475F 0x8C84 # <CJK>
-0x24760 0x8C85 # <CJK>
-0x24761 0x8CCC # <CJK>
-0x24762 0x8D68 # <CJK>
-0x24763 0x8D69 # <CJK>
-0x24764 0x8D91 # <CJK>
-0x24765 0x8D8C # <CJK>
-0x24766 0x8D8E # <CJK>
-0x24767 0x8D8F # <CJK>
-0x24768 0x8D8D # <CJK>
-0x24769 0x8D93 # <CJK>
-0x2476A 0x8D94 # <CJK>
-0x2476B 0x8D90 # <CJK>
-0x2476C 0x8D92 # <CJK>
-0x2476D 0x8DF0 # <CJK>
-0x2476E 0x8DE0 # <CJK>
-0x2476F 0x8DEC # <CJK>
-0x24770 0x8DF1 # <CJK>
-0x24771 0x8DEE # <CJK>
-0x24772 0x8DD0 # <CJK>
-0x24773 0x8DE9 # <CJK>
-0x24774 0x8DE3 # <CJK>
-0x24775 0x8DE2 # <CJK>
-0x24776 0x8DE7 # <CJK>
-0x24777 0x8DF2 # <CJK>
-0x24778 0x8DEB # <CJK>
-0x24779 0x8DF4 # <CJK>
-0x2477A 0x8F06 # <CJK>
-0x2477B 0x8EFF # <CJK>
-0x2477C 0x8F01 # <CJK>
-0x2477D 0x8F00 # <CJK>
-0x2477E 0x8F05 # <CJK>
-0x24821 0x8F07 # <CJK>
-0x24822 0x8F08 # <CJK>
-0x24823 0x8F02 # <CJK>
-0x24824 0x8F0B # <CJK>
-0x24825 0x9052 # <CJK>
-0x24826 0x903F # <CJK>
-0x24827 0x9044 # <CJK>
-0x24828 0x9049 # <CJK>
-0x24829 0x903D # <CJK>
-0x2482A 0x9110 # <CJK>
-0x2482B 0x910D # <CJK>
-0x2482C 0x910F # <CJK>
-0x2482D 0x9111 # <CJK>
-0x2482E 0x9116 # <CJK>
-0x2482F 0x9114 # <CJK>
-0x24830 0x910B # <CJK>
-0x24831 0x910E # <CJK>
-0x24832 0x916E # <CJK>
-0x24833 0x916F # <CJK>
-0x24834 0x9248 # <CJK>
-0x24835 0x9252 # <CJK>
-0x24836 0x9230 # <CJK>
-0x24837 0x923A # <CJK>
-0x24838 0x9266 # <CJK>
-0x24839 0x9233 # <CJK>
-0x2483A 0x9265 # <CJK>
-0x2483B 0x925E # <CJK>
-0x2483C 0x9283 # <CJK>
-0x2483D 0x922E # <CJK>
-0x2483E 0x924A # <CJK>
-0x2483F 0x9246 # <CJK>
-0x24840 0x926D # <CJK>
-0x24841 0x926C # <CJK>
-0x24842 0x924F # <CJK>
-0x24843 0x9260 # <CJK>
-0x24844 0x9267 # <CJK>
-0x24845 0x926F # <CJK>
-0x24846 0x9236 # <CJK>
-0x24847 0x9261 # <CJK>
-0x24848 0x9270 # <CJK>
-0x24849 0x9231 # <CJK>
-0x2484A 0x9254 # <CJK>
-0x2484B 0x9263 # <CJK>
-0x2484C 0x9250 # <CJK>
-0x2484D 0x9272 # <CJK>
-0x2484E 0x924E # <CJK>
-0x2484F 0x9253 # <CJK>
-0x24850 0x924C # <CJK>
-0x24851 0x9256 # <CJK>
-0x24852 0x9232 # <CJK>
-0x24853 0x959F # <CJK>
-0x24854 0x959C # <CJK>
-0x24855 0x959E # <CJK>
-0x24856 0x959B # <CJK>
-0x24857 0x9692 # <CJK>
-0x24858 0x9693 # <CJK>
-0x24859 0x9691 # <CJK>
-0x2485A 0x9697 # <CJK>
-0x2485B 0x96CE # <CJK>
-0x2485C 0x96FA # <CJK>
-0x2485D 0x96FD # <CJK>
-0x2485E 0x96F8 # <CJK>
-0x2485F 0x96F5 # <CJK>
-0x24860 0x9773 # <CJK>
-0x24861 0x9777 # <CJK>
-0x24862 0x9778 # <CJK>
-0x24863 0x9772 # <CJK>
-0x24864 0x980F # <CJK>
-0x24865 0x980D # <CJK>
-0x24866 0x980E # <CJK>
-0x24867 0x98AC # <CJK>
-0x24868 0x98F6 # <CJK>
-0x24869 0x98F9 # <CJK>
-0x2486A 0x99AF # <CJK>
-0x2486B 0x99B2 # <CJK>
-0x2486C 0x99B0 # <CJK>
-0x2486D 0x99B5 # <CJK>
-0x2486E 0x9AAD # <CJK>
-0x2486F 0x9AAB # <CJK>
-0x24870 0x9B5B # <CJK>
-0x24871 0x9CEA # <CJK>
-0x24872 0x9CED # <CJK>
-0x24873 0x9CE7 # <CJK>
-0x24874 0x9E80 # <CJK>
-0x24875 0x9EFD # <CJK>
-0x24876 0x50E6 # <CJK>
-0x24877 0x50D4 # <CJK>
-0x24878 0x50D7 # <CJK>
-0x24879 0x50E8 # <CJK>
-0x2487A 0x50F3 # <CJK>
-0x2487B 0x50DB # <CJK>
-0x2487C 0x50EA # <CJK>
-0x2487D 0x50DD # <CJK>
-0x2487E 0x50E4 # <CJK>
-0x24921 0x50D3 # <CJK>
-0x24922 0x50EC # <CJK>
-0x24923 0x50F0 # <CJK>
-0x24924 0x50EF # <CJK>
-0x24925 0x50E3 # <CJK>
-0x24926 0x50E0 # <CJK>
-0x24927 0x51D8 # <CJK>
-0x24928 0x5280 # <CJK>
-0x24929 0x5281 # <CJK>
-0x2492A 0x52E9 # <CJK>
-0x2492B 0x52EB # <CJK>
-0x2492C 0x5330 # <CJK>
-0x2492D 0x53AC # <CJK>
-0x2492E 0x5627 # <CJK>
-0x2492F 0x5615 # <CJK>
-0x24930 0x560C # <CJK>
-0x24931 0x5612 # <CJK>
-0x24932 0x55FC # <CJK>
-0x24933 0x560F # <CJK>
-0x24934 0x561C # <CJK>
-0x24935 0x5601 # <CJK>
-0x24936 0x5613 # <CJK>
-0x24937 0x5602 # <CJK>
-0x24938 0x55FA # <CJK>
-0x24939 0x561D # <CJK>
-0x2493A 0x5604 # <CJK>
-0x2493B 0x55FF # <CJK>
-0x2493C 0x55F9 # <CJK>
-0x2493D 0x5889 # <CJK>
-0x2493E 0x587C # <CJK>
-0x2493F 0x5890 # <CJK>
-0x24940 0x5898 # <CJK>
-0x24941 0x5886 # <CJK>
-0x24942 0x5881 # <CJK>
-0x24943 0x587F # <CJK>
-0x24944 0x5874 # <CJK>
-0x24945 0x588B # <CJK>
-0x24946 0x587A # <CJK>
-0x24947 0x5887 # <CJK>
-0x24948 0x5891 # <CJK>
-0x24949 0x588E # <CJK>
-0x2494A 0x5876 # <CJK>
-0x2494B 0x5882 # <CJK>
-0x2494C 0x5888 # <CJK>
-0x2494D 0x587B # <CJK>
-0x2494E 0x5894 # <CJK>
-0x2494F 0x588F # <CJK>
-0x24950 0x58FE # <CJK>
-0x24951 0x596B # <CJK>
-0x24952 0x5ADC # <CJK>
-0x24953 0x5AEE # <CJK>
-0x24954 0x5AE5 # <CJK>
-0x24955 0x5AD5 # <CJK>
-0x24956 0x5AEA # <CJK>
-0x24957 0x5ADA # <CJK>
-0x24958 0x5AED # <CJK>
-0x24959 0x5AEB # <CJK>
-0x2495A 0x5AF3 # <CJK>
-0x2495B 0x5AE2 # <CJK>
-0x2495C 0x5AE0 # <CJK>
-0x2495D 0x5ADB # <CJK>
-0x2495E 0x5AEC # <CJK>
-0x2495F 0x5ADE # <CJK>
-0x24960 0x5ADD # <CJK>
-0x24961 0x5AD9 # <CJK>
-0x24962 0x5AE8 # <CJK>
-0x24963 0x5ADF # <CJK>
-0x24964 0x5B77 # <CJK>
-0x24965 0x5BE0 # <CJK>
-0x24966 0x5BE3 # <CJK>
-0x24967 0x5C63 # <CJK>
-0x24968 0x5D82 # <CJK>
-0x24969 0x5D80 # <CJK>
-0x2496A 0x5D7D # <CJK>
-0x2496B 0x5D86 # <CJK>
-0x2496C 0x5D7A # <CJK>
-0x2496D 0x5D81 # <CJK>
-0x2496E 0x5D77 # <CJK>
-0x2496F 0x5D8A # <CJK>
-0x24970 0x5D89 # <CJK>
-0x24971 0x5D88 # <CJK>
-0x24972 0x5D7E # <CJK>
-0x24973 0x5D7C # <CJK>
-0x24974 0x5D8D # <CJK>
-0x24975 0x5D79 # <CJK>
-0x24976 0x5D7F # <CJK>
-0x24977 0x5E58 # <CJK>
-0x24978 0x5E59 # <CJK>
-0x24979 0x5E53 # <CJK>
-0x2497A 0x5ED8 # <CJK>
-0x2497B 0x5ED1 # <CJK>
-0x2497C 0x5ED7 # <CJK>
-0x2497D 0x5ECE # <CJK>
-0x2497E 0x5EDC # <CJK>
-0x24A21 0x5ED5 # <CJK>
-0x24A22 0x5ED9 # <CJK>
-0x24A23 0x5ED2 # <CJK>
-0x24A24 0x5ED4 # <CJK>
-0x24A25 0x5F44 # <CJK>
-0x24A26 0x5F43 # <CJK>
-0x24A27 0x5F6F # <CJK>
-0x24A28 0x5FB6 # <CJK>
-0x24A29 0x612C # <CJK>
-0x24A2A 0x6128 # <CJK>
-0x24A2B 0x6141 # <CJK>
-0x24A2C 0x615E # <CJK>
-0x24A2D 0x6171 # <CJK>
-0x24A2E 0x6173 # <CJK>
-0x24A2F 0x6152 # <CJK>
-0x24A30 0x6153 # <CJK>
-0x24A31 0x6172 # <CJK>
-0x24A32 0x616C # <CJK>
-0x24A33 0x6180 # <CJK>
-0x24A34 0x6174 # <CJK>
-0x24A35 0x6154 # <CJK>
-0x24A36 0x617A # <CJK>
-0x24A37 0x615B # <CJK>
-0x24A38 0x6165 # <CJK>
-0x24A39 0x613B # <CJK>
-0x24A3A 0x616A # <CJK>
-0x24A3B 0x6161 # <CJK>
-0x24A3C 0x6156 # <CJK>
-0x24A3D 0x6229 # <CJK>
-0x24A3E 0x6227 # <CJK>
-0x24A3F 0x622B # <CJK>
-0x24A40 0x642B # <CJK>
-0x24A41 0x644D # <CJK>
-0x24A42 0x645B # <CJK>
-0x24A43 0x645D # <CJK>
-0x24A44 0x6474 # <CJK>
-0x24A45 0x6476 # <CJK>
-0x24A46 0x6472 # <CJK>
-0x24A47 0x6473 # <CJK>
-0x24A48 0x647D # <CJK>
-0x24A49 0x6475 # <CJK>
-0x24A4A 0x6466 # <CJK>
-0x24A4B 0x64A6 # <CJK>
-0x24A4C 0x644E # <CJK>
-0x24A4D 0x6482 # <CJK>
-0x24A4E 0x645E # <CJK>
-0x24A4F 0x645C # <CJK>
-0x24A50 0x644B # <CJK>
-0x24A51 0x6453 # <CJK>
-0x24A52 0x6460 # <CJK>
-0x24A53 0x6450 # <CJK>
-0x24A54 0x647F # <CJK>
-0x24A55 0x643F # <CJK>
-0x24A56 0x646C # <CJK>
-0x24A57 0x646B # <CJK>
-0x24A58 0x6459 # <CJK>
-0x24A59 0x6465 # <CJK>
-0x24A5A 0x6477 # <CJK>
-0x24A5B 0x6573 # <CJK>
-0x24A5C 0x65A0 # <CJK>
-0x24A5D 0x66A1 # <CJK>
-0x24A5E 0x66A0 # <CJK>
-0x24A5F 0x669F # <CJK>
-0x24A60 0x6705 # <CJK>
-0x24A61 0x6704 # <CJK>
-0x24A62 0x6722 # <CJK>
-0x24A63 0x69B1 # <CJK>
-0x24A64 0x69B6 # <CJK>
-0x24A65 0x69C9 # <CJK>
-0x24A66 0x69A0 # <CJK>
-0x24A67 0x69CE # <CJK>
-0x24A68 0x6996 # <CJK>
-0x24A69 0x69B0 # <CJK>
-0x24A6A 0x69AC # <CJK>
-0x24A6B 0x69BC # <CJK>
-0x24A6C 0x6991 # <CJK>
-0x24A6D 0x6999 # <CJK>
-0x24A6E 0x698E # <CJK>
-0x24A6F 0x69A7 # <CJK>
-0x24A70 0x698D # <CJK>
-0x24A71 0x69A9 # <CJK>
-0x24A72 0x69BE # <CJK>
-0x24A73 0x69AF # <CJK>
-0x24A74 0x69BF # <CJK>
-0x24A75 0x69C4 # <CJK>
-0x24A76 0x69BD # <CJK>
-0x24A77 0x69A4 # <CJK>
-0x24A78 0x69D4 # <CJK>
-0x24A79 0x69B9 # <CJK>
-0x24A7A 0x69CA # <CJK>
-0x24A7B 0x699A # <CJK>
-0x24A7C 0x69CF # <CJK>
-0x24A7D 0x69B3 # <CJK>
-0x24A7E 0x6993 # <CJK>
-0x24B21 0x69AA # <CJK>
-0x24B22 0x69A1 # <CJK>
-0x24B23 0x699E # <CJK>
-0x24B24 0x69D9 # <CJK>
-0x24B25 0x6997 # <CJK>
-0x24B26 0x6990 # <CJK>
-0x24B27 0x69C2 # <CJK>
-0x24B28 0x69B5 # <CJK>
-0x24B29 0x69A5 # <CJK>
-0x24B2A 0x69C6 # <CJK>
-0x24B2B 0x6B4A # <CJK>
-0x24B2C 0x6B4D # <CJK>
-0x24B2D 0x6B4B # <CJK>
-0x24B2E 0x6B9E # <CJK>
-0x24B2F 0x6B9F # <CJK>
-0x24B30 0x6BA0 # <CJK>
-0x24B31 0x6BC3 # <CJK>
-0x24B32 0x6BC4 # <CJK>
-0x24B33 0x6BFE # <CJK>
-0x24B34 0x6ECE # <CJK>
-0x24B35 0x6EF5 # <CJK>
-0x24B36 0x6EF1 # <CJK>
-0x24B37 0x6F03 # <CJK>
-0x24B38 0x6F25 # <CJK>
-0x24B39 0x6EF8 # <CJK>
-0x24B3A 0x6F37 # <CJK>
-0x24B3B 0x6EFB # <CJK>
-0x24B3C 0x6F2E # <CJK>
-0x24B3D 0x6F09 # <CJK>
-0x24B3E 0x6F4E # <CJK>
-0x24B3F 0x6F19 # <CJK>
-0x24B40 0x6F1A # <CJK>
-0x24B41 0x6F27 # <CJK>
-0x24B42 0x6F18 # <CJK>
-0x24B43 0x6F3B # <CJK>
-0x24B44 0x6F12 # <CJK>
-0x24B45 0x6EED # <CJK>
-0x24B46 0x6F0A # <CJK>
-0x24B47 0x6F36 # <CJK>
-0x24B48 0x6F73 # <CJK>
-0x24B49 0x6EF9 # <CJK>
-0x24B4A 0x6EEE # <CJK>
-0x24B4B 0x6F2D # <CJK>
-0x24B4C 0x6F40 # <CJK>
-0x24B4D 0x6F30 # <CJK>
-0x24B4E 0x6F3C # <CJK>
-0x24B4F 0x6F35 # <CJK>
-0x24B50 0x6EEB # <CJK>
-0x24B51 0x6F07 # <CJK>
-0x24B52 0x6F0E # <CJK>
-0x24B53 0x6F43 # <CJK>
-0x24B54 0x6F05 # <CJK>
-0x24B55 0x6EFD # <CJK>
-0x24B56 0x6EF6 # <CJK>
-0x24B57 0x6F39 # <CJK>
-0x24B58 0x6F1C # <CJK>
-0x24B59 0x6EFC # <CJK>
-0x24B5A 0x6F3A # <CJK>
-0x24B5B 0x6F1F # <CJK>
-0x24B5C 0x6F0D # <CJK>
-0x24B5D 0x6F1E # <CJK>
-0x24B5E 0x6F08 # <CJK>
-0x24B5F 0x6F21 # <CJK>
-0x24B60 0x7187 # <CJK>
-0x24B61 0x7190 # <CJK>
-0x24B62 0x7189 # <CJK>
-0x24B63 0x7180 # <CJK>
-0x24B64 0x7185 # <CJK>
-0x24B65 0x7182 # <CJK>
-0x24B66 0x718F # <CJK>
-0x24B67 0x717B # <CJK>
-0x24B68 0x7186 # <CJK>
-0x24B69 0x7181 # <CJK>
-0x24B6A 0x7197 # <CJK>
-0x24B6B 0x7244 # <CJK>
-0x24B6C 0x7253 # <CJK>
-0x24B6D 0x7297 # <CJK>
-0x24B6E 0x7295 # <CJK>
-0x24B6F 0x7293 # <CJK>
-0x24B70 0x7343 # <CJK>
-0x24B71 0x734D # <CJK>
-0x24B72 0x7351 # <CJK>
-0x24B73 0x734C # <CJK>
-0x24B74 0x7462 # <CJK>
-0x24B75 0x7473 # <CJK>
-0x24B76 0x7471 # <CJK>
-0x24B77 0x7475 # <CJK>
-0x24B78 0x7472 # <CJK>
-0x24B79 0x7467 # <CJK>
-0x24B7A 0x746E # <CJK>
-0x24B7B 0x7500 # <CJK>
-0x24B7C 0x7502 # <CJK>
-0x24B7D 0x7503 # <CJK>
-0x24B7E 0x757D # <CJK>
-0x24C21 0x7590 # <CJK>
-0x24C22 0x7616 # <CJK>
-0x24C23 0x7608 # <CJK>
-0x24C24 0x760C # <CJK>
-0x24C25 0x7615 # <CJK>
-0x24C26 0x7611 # <CJK>
-0x24C27 0x760A # <CJK>
-0x24C28 0x7614 # <CJK>
-0x24C29 0x76B8 # <CJK>
-0x24C2A 0x7781 # <CJK>
-0x24C2B 0x777C # <CJK>
-0x24C2C 0x7785 # <CJK>
-0x24C2D 0x7782 # <CJK>
-0x24C2E 0x776E # <CJK>
-0x24C2F 0x7780 # <CJK>
-0x24C30 0x776F # <CJK>
-0x24C31 0x777E # <CJK>
-0x24C32 0x7783 # <CJK>
-0x24C33 0x78B2 # <CJK>
-0x24C34 0x78AA # <CJK>
-0x24C35 0x78B4 # <CJK>
-0x24C36 0x78AD # <CJK>
-0x24C37 0x78A8 # <CJK>
-0x24C38 0x787E # <CJK>
-0x24C39 0x78AB # <CJK>
-0x24C3A 0x789E # <CJK>
-0x24C3B 0x78A5 # <CJK>
-0x24C3C 0x78A0 # <CJK>
-0x24C3D 0x78AC # <CJK>
-0x24C3E 0x78A2 # <CJK>
-0x24C3F 0x78A4 # <CJK>
-0x24C40 0x7998 # <CJK>
-0x24C41 0x798A # <CJK>
-0x24C42 0x798B # <CJK>
-0x24C43 0x7996 # <CJK>
-0x24C44 0x7995 # <CJK>
-0x24C45 0x7994 # <CJK>
-0x24C46 0x7993 # <CJK>
-0x24C47 0x7997 # <CJK>
-0x24C48 0x7988 # <CJK>
-0x24C49 0x7992 # <CJK>
-0x24C4A 0x7990 # <CJK>
-0x24C4B 0x7A2B # <CJK>
-0x24C4C 0x7A4A # <CJK>
-0x24C4D 0x7A30 # <CJK>
-0x24C4E 0x7A2F # <CJK>
-0x24C4F 0x7A28 # <CJK>
-0x24C50 0x7A26 # <CJK>
-0x24C51 0x7AA8 # <CJK>
-0x24C52 0x7AAB # <CJK>
-0x24C53 0x7AAC # <CJK>
-0x24C54 0x7AEE # <CJK>
-0x24C55 0x7B88 # <CJK>
-0x24C56 0x7B9C # <CJK>
-0x24C57 0x7B8A # <CJK>
-0x24C58 0x7B91 # <CJK>
-0x24C59 0x7B90 # <CJK>
-0x24C5A 0x7B96 # <CJK>
-0x24C5B 0x7B8D # <CJK>
-0x24C5C 0x7B8C # <CJK>
-0x24C5D 0x7B9B # <CJK>
-0x24C5E 0x7B8E # <CJK>
-0x24C5F 0x7B85 # <CJK>
-0x24C60 0x7B98 # <CJK>
-0x24C61 0x5284 # <CJK>
-0x24C62 0x7B99 # <CJK>
-0x24C63 0x7BA4 # <CJK>
-0x24C64 0x7B82 # <CJK>
-0x24C65 0x7CBB # <CJK>
-0x24C66 0x7CBF # <CJK>
-0x24C67 0x7CBC # <CJK>
-0x24C68 0x7CBA # <CJK>
-0x24C69 0x7DA7 # <CJK>
-0x24C6A 0x7DB7 # <CJK>
-0x24C6B 0x7DC2 # <CJK>
-0x24C6C 0x7DA3 # <CJK>
-0x24C6D 0x7DAA # <CJK>
-0x24C6E 0x7DC1 # <CJK>
-0x24C6F 0x7DC0 # <CJK>
-0x24C70 0x7DC5 # <CJK>
-0x24C71 0x7D9D # <CJK>
-0x24C72 0x7DCE # <CJK>
-0x24C73 0x7DC4 # <CJK>
-0x24C74 0x7DC6 # <CJK>
-0x24C75 0x7DCB # <CJK>
-0x24C76 0x7DCC # <CJK>
-0x24C77 0x7DAF # <CJK>
-0x24C78 0x7DB9 # <CJK>
-0x24C79 0x7D96 # <CJK>
-0x24C7A 0x7DBC # <CJK>
-0x24C7B 0x7D9F # <CJK>
-0x24C7C 0x7DA6 # <CJK>
-0x24C7D 0x7DAE # <CJK>
-0x24C7E 0x7DA9 # <CJK>
-0x24D21 0x7DA1 # <CJK>
-0x24D22 0x7DC9 # <CJK>
-0x24D23 0x7F73 # <CJK>
-0x24D24 0x7FE2 # <CJK>
-0x24D25 0x7FE3 # <CJK>
-0x24D26 0x7FE5 # <CJK>
-0x24D27 0x7FDE # <CJK>
-0x24D28 0x8024 # <CJK>
-0x24D29 0x805D # <CJK>
-0x24D2A 0x805C # <CJK>
-0x24D2B 0x8189 # <CJK>
-0x24D2C 0x8186 # <CJK>
-0x24D2D 0x8183 # <CJK>
-0x24D2E 0x8187 # <CJK>
-0x24D2F 0x818D # <CJK>
-0x24D30 0x818C # <CJK>
-0x24D31 0x818B # <CJK>
-0x24D32 0x8215 # <CJK>
-0x24D33 0x8497 # <CJK>
-0x24D34 0x84A4 # <CJK>
-0x24D35 0x84A1 # <CJK>
-0x24D36 0x849F # <CJK>
-0x24D37 0x84BA # <CJK>
-0x24D38 0x84CE # <CJK>
-0x24D39 0x84C2 # <CJK>
-0x24D3A 0x84AC # <CJK>
-0x24D3B 0x84AE # <CJK>
-0x24D3C 0x84AB # <CJK>
-0x24D3D 0x84B9 # <CJK>
-0x24D3E 0x84B4 # <CJK>
-0x24D3F 0x84C1 # <CJK>
-0x24D40 0x84CD # <CJK>
-0x24D41 0x84AA # <CJK>
-0x24D42 0x849A # <CJK>
-0x24D43 0x84B1 # <CJK>
-0x24D44 0x84D0 # <CJK>
-0x24D45 0x849D # <CJK>
-0x24D46 0x84A7 # <CJK>
-0x24D47 0x84BB # <CJK>
-0x24D48 0x84A2 # <CJK>
-0x24D49 0x8494 # <CJK>
-0x24D4A 0x84C7 # <CJK>
-0x24D4B 0x84CC # <CJK>
-0x24D4C 0x849B # <CJK>
-0x24D4D 0x84A9 # <CJK>
-0x24D4E 0x84AF # <CJK>
-0x24D4F 0x84A8 # <CJK>
-0x24D50 0x84D6 # <CJK>
-0x24D51 0x8498 # <CJK>
-0x24D52 0x84B6 # <CJK>
-0x24D53 0x84CF # <CJK>
-0x24D54 0x84A0 # <CJK>
-0x24D55 0x84D7 # <CJK>
-0x24D56 0x84D4 # <CJK>
-0x24D57 0x84D2 # <CJK>
-0x24D58 0x84DB # <CJK>
-0x24D59 0x84B0 # <CJK>
-0x24D5A 0x8491 # <CJK>
-0x24D5B 0x8661 # <CJK>
-0x24D5C 0x8733 # <CJK>
-0x24D5D 0x8723 # <CJK>
-0x24D5E 0x8728 # <CJK>
-0x24D5F 0x876B # <CJK>
-0x24D60 0x8740 # <CJK>
-0x24D61 0x872E # <CJK>
-0x24D62 0x871E # <CJK>
-0x24D63 0x8721 # <CJK>
-0x24D64 0x8719 # <CJK>
-0x24D65 0x871B # <CJK>
-0x24D66 0x8743 # <CJK>
-0x24D67 0x872C # <CJK>
-0x24D68 0x8741 # <CJK>
-0x24D69 0x873E # <CJK>
-0x24D6A 0x8746 # <CJK>
-0x24D6B 0x8720 # <CJK>
-0x24D6C 0x8732 # <CJK>
-0x24D6D 0x872A # <CJK>
-0x24D6E 0x872D # <CJK>
-0x24D6F 0x873C # <CJK>
-0x24D70 0x8712 # <CJK>
-0x24D71 0x873A # <CJK>
-0x24D72 0x8731 # <CJK>
-0x24D73 0x8735 # <CJK>
-0x24D74 0x8742 # <CJK>
-0x24D75 0x8726 # <CJK>
-0x24D76 0x8727 # <CJK>
-0x24D77 0x8738 # <CJK>
-0x24D78 0x8724 # <CJK>
-0x24D79 0x871A # <CJK>
-0x24D7A 0x8730 # <CJK>
-0x24D7B 0x8711 # <CJK>
-0x24D7C 0x88F7 # <CJK>
-0x24D7D 0x88E7 # <CJK>
-0x24D7E 0x88F1 # <CJK>
-0x24E21 0x88F2 # <CJK>
-0x24E22 0x88FA # <CJK>
-0x24E23 0x88FE # <CJK>
-0x24E24 0x88EE # <CJK>
-0x24E25 0x88FC # <CJK>
-0x24E26 0x88F6 # <CJK>
-0x24E27 0x88FB # <CJK>
-0x24E28 0x88F0 # <CJK>
-0x24E29 0x88EC # <CJK>
-0x24E2A 0x88EB # <CJK>
-0x24E2B 0x899D # <CJK>
-0x24E2C 0x89A1 # <CJK>
-0x24E2D 0x899F # <CJK>
-0x24E2E 0x899E # <CJK>
-0x24E2F 0x89E9 # <CJK>
-0x24E30 0x89EB # <CJK>
-0x24E31 0x89E8 # <CJK>
-0x24E32 0x8AAB # <CJK>
-0x24E33 0x8A99 # <CJK>
-0x24E34 0x8A8B # <CJK>
-0x24E35 0x8A92 # <CJK>
-0x24E36 0x8A8F # <CJK>
-0x24E37 0x8A96 # <CJK>
-0x24E38 0x8C3D # <CJK>
-0x24E39 0x8C68 # <CJK>
-0x24E3A 0x8C69 # <CJK>
-0x24E3B 0x8CD5 # <CJK>
-0x24E3C 0x8CCF # <CJK>
-0x24E3D 0x8CD7 # <CJK>
-0x24E3E 0x8D96 # <CJK>
-0x24E3F 0x8E09 # <CJK>
-0x24E40 0x8E02 # <CJK>
-0x24E41 0x8DFF # <CJK>
-0x24E42 0x8E0D # <CJK>
-0x24E43 0x8DFD # <CJK>
-0x24E44 0x8E0A # <CJK>
-0x24E45 0x8E03 # <CJK>
-0x24E46 0x8E07 # <CJK>
-0x24E47 0x8E06 # <CJK>
-0x24E48 0x8E05 # <CJK>
-0x24E49 0x8DFE # <CJK>
-0x24E4A 0x8E00 # <CJK>
-0x24E4B 0x8E04 # <CJK>
-0x24E4C 0x8F10 # <CJK>
-0x24E4D 0x8F11 # <CJK>
-0x24E4E 0x8F0E # <CJK>
-0x24E4F 0x8F0D # <CJK>
-0x24E50 0x9123 # <CJK>
-0x24E51 0x911C # <CJK>
-0x24E52 0x9120 # <CJK>
-0x24E53 0x9122 # <CJK>
-0x24E54 0x911F # <CJK>
-0x24E55 0x911D # <CJK>
-0x24E56 0x911A # <CJK>
-0x24E57 0x9124 # <CJK>
-0x24E58 0x9121 # <CJK>
-0x24E59 0x911B # <CJK>
-0x24E5A 0x917A # <CJK>
-0x24E5B 0x9172 # <CJK>
-0x24E5C 0x9179 # <CJK>
-0x24E5D 0x9173 # <CJK>
-0x24E5E 0x92A5 # <CJK>
-0x24E5F 0x92A4 # <CJK>
-0x24E60 0x9276 # <CJK>
-0x24E61 0x929B # <CJK>
-0x24E62 0x927A # <CJK>
-0x24E63 0x92A0 # <CJK>
-0x24E64 0x9294 # <CJK>
-0x24E65 0x92AA # <CJK>
-0x24E66 0x928D # <CJK>
-0x24E67 0x92A6 # <CJK>
-0x24E68 0x929A # <CJK>
-0x24E69 0x92AB # <CJK>
-0x24E6A 0x9279 # <CJK>
-0x24E6B 0x9297 # <CJK>
-0x24E6C 0x927F # <CJK>
-0x24E6D 0x92A3 # <CJK>
-0x24E6E 0x92EE # <CJK>
-0x24E6F 0x928E # <CJK>
-0x24E70 0x9282 # <CJK>
-0x24E71 0x9295 # <CJK>
-0x24E72 0x92A2 # <CJK>
-0x24E73 0x927D # <CJK>
-0x24E74 0x9288 # <CJK>
-0x24E75 0x92A1 # <CJK>
-0x24E76 0x928A # <CJK>
-0x24E77 0x9286 # <CJK>
-0x24E78 0x928C # <CJK>
-0x24E79 0x9299 # <CJK>
-0x24E7A 0x92A7 # <CJK>
-0x24E7B 0x927E # <CJK>
-0x24E7C 0x9287 # <CJK>
-0x24E7D 0x92A9 # <CJK>
-0x24E7E 0x929D # <CJK>
-0x24F21 0x928B # <CJK>
-0x24F22 0x922D # <CJK>
-0x24F23 0x969E # <CJK>
-0x24F24 0x96A1 # <CJK>
-0x24F25 0x96FF # <CJK>
-0x24F26 0x9758 # <CJK>
-0x24F27 0x977D # <CJK>
-0x24F28 0x977A # <CJK>
-0x24F29 0x977E # <CJK>
-0x24F2A 0x9783 # <CJK>
-0x24F2B 0x9780 # <CJK>
-0x24F2C 0x9782 # <CJK>
-0x24F2D 0x977B # <CJK>
-0x24F2E 0x9784 # <CJK>
-0x24F2F 0x9781 # <CJK>
-0x24F30 0x977F # <CJK>
-0x24F31 0x97CE # <CJK>
-0x24F32 0x97CD # <CJK>
-0x24F33 0x9816 # <CJK>
-0x24F34 0x98AD # <CJK>
-0x24F35 0x98AE # <CJK>
-0x24F36 0x9902 # <CJK>
-0x24F37 0x9900 # <CJK>
-0x24F38 0x9907 # <CJK>
-0x24F39 0x999D # <CJK>
-0x24F3A 0x999C # <CJK>
-0x24F3B 0x99C3 # <CJK>
-0x24F3C 0x99B9 # <CJK>
-0x24F3D 0x99BB # <CJK>
-0x24F3E 0x99BA # <CJK>
-0x24F3F 0x99C2 # <CJK>
-0x24F40 0x99BD # <CJK>
-0x24F41 0x99C7 # <CJK>
-0x24F42 0x9AB1 # <CJK>
-0x24F43 0x9AE3 # <CJK>
-0x24F44 0x9AE7 # <CJK>
-0x24F45 0x9B3E # <CJK>
-0x24F46 0x9B3F # <CJK>
-0x24F47 0x9B60 # <CJK>
-0x24F48 0x9B61 # <CJK>
-0x24F49 0x9B5F # <CJK>
-0x24F4A 0x9CF1 # <CJK>
-0x24F4B 0x9CF2 # <CJK>
-0x24F4C 0x9CF5 # <CJK>
-0x24F4D 0x9EA7 # <CJK>
-0x24F4E 0x50FF # <CJK>
-0x24F4F 0x5103 # <CJK>
-0x24F50 0x5130 # <CJK>
-0x24F51 0x50F8 # <CJK>
-0x24F52 0x5106 # <CJK>
-0x24F53 0x5107 # <CJK>
-0x24F54 0x50F6 # <CJK>
-0x24F55 0x50FE # <CJK>
-0x24F56 0x510B # <CJK>
-0x24F57 0x510C # <CJK>
-0x24F58 0x50FD # <CJK>
-0x24F59 0x510A # <CJK>
-0x24F5A 0x528B # <CJK>
-0x24F5B 0x528C # <CJK>
-0x24F5C 0x52F1 # <CJK>
-0x24F5D 0x52EF # <CJK>
-0x24F5E 0x5648 # <CJK>
-0x24F5F 0x5642 # <CJK>
-0x24F60 0x564C # <CJK>
-0x24F61 0x5635 # <CJK>
-0x24F62 0x5641 # <CJK>
-0x24F63 0x564A # <CJK>
-0x24F64 0x5649 # <CJK>
-0x24F65 0x5646 # <CJK>
-0x24F66 0x5658 # <CJK>
-0x24F67 0x565A # <CJK>
-0x24F68 0x5640 # <CJK>
-0x24F69 0x5633 # <CJK>
-0x24F6A 0x563D # <CJK>
-0x24F6B 0x562C # <CJK>
-0x24F6C 0x563E # <CJK>
-0x24F6D 0x5638 # <CJK>
-0x24F6E 0x562A # <CJK>
-0x24F6F 0x563A # <CJK>
-0x24F70 0x571A # <CJK>
-0x24F71 0x58AB # <CJK>
-0x24F72 0x589D # <CJK>
-0x24F73 0x58B1 # <CJK>
-0x24F74 0x58A0 # <CJK>
-0x24F75 0x58A3 # <CJK>
-0x24F76 0x58AF # <CJK>
-0x24F77 0x58AC # <CJK>
-0x24F78 0x58A5 # <CJK>
-0x24F79 0x58A1 # <CJK>
-0x24F7A 0x58FF # <CJK>
-0x24F7B 0x5AFF # <CJK>
-0x24F7C 0x5AF4 # <CJK>
-0x24F7D 0x5AFD # <CJK>
-0x24F7E 0x5AF7 # <CJK>
-0x25021 0x5AF6 # <CJK>
-0x25022 0x5B03 # <CJK>
-0x25023 0x5AF8 # <CJK>
-0x25024 0x5B02 # <CJK>
-0x25025 0x5AF9 # <CJK>
-0x25026 0x5B01 # <CJK>
-0x25027 0x5B07 # <CJK>
-0x25028 0x5B05 # <CJK>
-0x25029 0x5B0F # <CJK>
-0x2502A 0x5C67 # <CJK>
-0x2502B 0x5D99 # <CJK>
-0x2502C 0x5D97 # <CJK>
-0x2502D 0x5D9F # <CJK>
-0x2502E 0x5D92 # <CJK>
-0x2502F 0x5DA2 # <CJK>
-0x25030 0x5D93 # <CJK>
-0x25031 0x5D95 # <CJK>
-0x25032 0x5DA0 # <CJK>
-0x25033 0x5D9C # <CJK>
-0x25034 0x5DA1 # <CJK>
-0x25035 0x5D9A # <CJK>
-0x25036 0x5D9E # <CJK>
-0x25037 0x5E69 # <CJK>
-0x25038 0x5E5D # <CJK>
-0x25039 0x5E60 # <CJK>
-0x2503A 0x5E5C # <CJK>
-0x2503B 0x7DF3 # <CJK>
-0x2503C 0x5EDB # <CJK>
-0x2503D 0x5EDE # <CJK>
-0x2503E 0x5EE1 # <CJK>
-0x2503F 0x5F49 # <CJK>
-0x25040 0x5FB2 # <CJK>
-0x25041 0x618B # <CJK>
-0x25042 0x6183 # <CJK>
-0x25043 0x6179 # <CJK>
-0x25044 0x61B1 # <CJK>
-0x25045 0x61B0 # <CJK>
-0x25046 0x61A2 # <CJK>
-0x25047 0x6189 # <CJK>
-0x25048 0x619B # <CJK>
-0x25049 0x6193 # <CJK>
-0x2504A 0x61AF # <CJK>
-0x2504B 0x61AD # <CJK>
-0x2504C 0x619F # <CJK>
-0x2504D 0x6192 # <CJK>
-0x2504E 0x61AA # <CJK>
-0x2504F 0x61A1 # <CJK>
-0x25050 0x618D # <CJK>
-0x25051 0x6166 # <CJK>
-0x25052 0x61B3 # <CJK>
-0x25053 0x622D # <CJK>
-0x25054 0x646E # <CJK>
-0x25055 0x6470 # <CJK>
-0x25056 0x6496 # <CJK>
-0x25057 0x64A0 # <CJK>
-0x25058 0x6485 # <CJK>
-0x25059 0x6497 # <CJK>
-0x2505A 0x649C # <CJK>
-0x2505B 0x648F # <CJK>
-0x2505C 0x648B # <CJK>
-0x2505D 0x648A # <CJK>
-0x2505E 0x648C # <CJK>
-0x2505F 0x64A3 # <CJK>
-0x25060 0x649F # <CJK>
-0x25061 0x6468 # <CJK>
-0x25062 0x64B1 # <CJK>
-0x25063 0x6498 # <CJK>
-0x25064 0x6576 # <CJK>
-0x25065 0x657A # <CJK>
-0x25066 0x6579 # <CJK>
-0x25067 0x657B # <CJK>
-0x25068 0x65B2 # <CJK>
-0x25069 0x65B3 # <CJK>
-0x2506A 0x66B5 # <CJK>
-0x2506B 0x66B0 # <CJK>
-0x2506C 0x66A9 # <CJK>
-0x2506D 0x66B2 # <CJK>
-0x2506E 0x66B7 # <CJK>
-0x2506F 0x66AA # <CJK>
-0x25070 0x66AF # <CJK>
-0x25071 0x6A00 # <CJK>
-0x25072 0x6A06 # <CJK>
-0x25073 0x6A17 # <CJK>
-0x25074 0x69E5 # <CJK>
-0x25075 0x69F8 # <CJK>
-0x25076 0x6A15 # <CJK>
-0x25077 0x69F1 # <CJK>
-0x25078 0x69E4 # <CJK>
-0x25079 0x6A20 # <CJK>
-0x2507A 0x69FF # <CJK>
-0x2507B 0x69EC # <CJK>
-0x2507C 0x69E2 # <CJK>
-0x2507D 0x6A1B # <CJK>
-0x2507E 0x6A1D # <CJK>
-0x25121 0x69FE # <CJK>
-0x25122 0x6A27 # <CJK>
-0x25123 0x69F2 # <CJK>
-0x25124 0x69EE # <CJK>
-0x25125 0x6A14 # <CJK>
-0x25126 0x69F7 # <CJK>
-0x25127 0x69E7 # <CJK>
-0x25128 0x6A40 # <CJK>
-0x25129 0x6A08 # <CJK>
-0x2512A 0x69E6 # <CJK>
-0x2512B 0x69FB # <CJK>
-0x2512C 0x6A0D # <CJK>
-0x2512D 0x69FC # <CJK>
-0x2512E 0x69EB # <CJK>
-0x2512F 0x6A09 # <CJK>
-0x25130 0x6A04 # <CJK>
-0x25131 0x6A18 # <CJK>
-0x25132 0x6A25 # <CJK>
-0x25133 0x6A0F # <CJK>
-0x25134 0x69F6 # <CJK>
-0x25135 0x6A26 # <CJK>
-0x25136 0x6A07 # <CJK>
-0x25137 0x69F4 # <CJK>
-0x25138 0x6A16 # <CJK>
-0x25139 0x6B51 # <CJK>
-0x2513A 0x6BA5 # <CJK>
-0x2513B 0x6BA3 # <CJK>
-0x2513C 0x6BA2 # <CJK>
-0x2513D 0x6BA6 # <CJK>
-0x2513E 0x6C01 # <CJK>
-0x2513F 0x6C00 # <CJK>
-0x25140 0x6BFF # <CJK>
-0x25141 0x6C02 # <CJK>
-0x25142 0x6F41 # <CJK>
-0x25143 0x6F26 # <CJK>
-0x25144 0x6F7E # <CJK>
-0x25145 0x6F87 # <CJK>
-0x25146 0x6FC6 # <CJK>
-0x25147 0x6F92 # <CJK>
-0x25148 0x6F8D # <CJK>
-0x25149 0x6F89 # <CJK>
-0x2514A 0x6F8C # <CJK>
-0x2514B 0x6F62 # <CJK>
-0x2514C 0x6F4F # <CJK>
-0x2514D 0x6F85 # <CJK>
-0x2514E 0x6F5A # <CJK>
-0x2514F 0x6F96 # <CJK>
-0x25150 0x6F76 # <CJK>
-0x25151 0x6F6C # <CJK>
-0x25152 0x6F82 # <CJK>
-0x25153 0x6F55 # <CJK>
-0x25154 0x6F72 # <CJK>
-0x25155 0x6F52 # <CJK>
-0x25156 0x6F50 # <CJK>
-0x25157 0x6F57 # <CJK>
-0x25158 0x6F94 # <CJK>
-0x25159 0x6F93 # <CJK>
-0x2515A 0x6F5D # <CJK>
-0x2515B 0x6F00 # <CJK>
-0x2515C 0x6F61 # <CJK>
-0x2515D 0x6F6B # <CJK>
-0x2515E 0x6F7D # <CJK>
-0x2515F 0x6F67 # <CJK>
-0x25160 0x6F90 # <CJK>
-0x25161 0x6F53 # <CJK>
-0x25162 0x6F8B # <CJK>
-0x25163 0x6F69 # <CJK>
-0x25164 0x6F7F # <CJK>
-0x25165 0x6F95 # <CJK>
-0x25166 0x6F63 # <CJK>
-0x25167 0x6F77 # <CJK>
-0x25168 0x6F6A # <CJK>
-0x25169 0x6F7B # <CJK>
-0x2516A 0x71B2 # <CJK>
-0x2516B 0x71AF # <CJK>
-0x2516C 0x719B # <CJK>
-0x2516D 0x71B0 # <CJK>
-0x2516E 0x71A0 # <CJK>
-0x2516F 0x719A # <CJK>
-0x25170 0x71A9 # <CJK>
-0x25171 0x71B5 # <CJK>
-0x25172 0x719D # <CJK>
-0x25173 0x71A5 # <CJK>
-0x25174 0x719E # <CJK>
-0x25175 0x71A4 # <CJK>
-0x25176 0x71A1 # <CJK>
-0x25177 0x71AA # <CJK>
-0x25178 0x719C # <CJK>
-0x25179 0x71A7 # <CJK>
-0x2517A 0x71B3 # <CJK>
-0x2517B 0x7298 # <CJK>
-0x2517C 0x729A # <CJK>
-0x2517D 0x7358 # <CJK>
-0x2517E 0x7352 # <CJK>
-0x25221 0x735E # <CJK>
-0x25222 0x735F # <CJK>
-0x25223 0x7360 # <CJK>
-0x25224 0x735D # <CJK>
-0x25225 0x735B # <CJK>
-0x25226 0x7361 # <CJK>
-0x25227 0x735A # <CJK>
-0x25228 0x7359 # <CJK>
-0x25229 0x7362 # <CJK>
-0x2522A 0x7487 # <CJK>
-0x2522B 0x7489 # <CJK>
-0x2522C 0x748A # <CJK>
-0x2522D 0x7486 # <CJK>
-0x2522E 0x7481 # <CJK>
-0x2522F 0x747D # <CJK>
-0x25230 0x7485 # <CJK>
-0x25231 0x7488 # <CJK>
-0x25232 0x747C # <CJK>
-0x25233 0x7479 # <CJK>
-0x25234 0x7508 # <CJK>
-0x25235 0x7507 # <CJK>
-0x25236 0x757E # <CJK>
-0x25237 0x7625 # <CJK>
-0x25238 0x761E # <CJK>
-0x25239 0x7619 # <CJK>
-0x2523A 0x761D # <CJK>
-0x2523B 0x761C # <CJK>
-0x2523C 0x7623 # <CJK>
-0x2523D 0x761A # <CJK>
-0x2523E 0x7628 # <CJK>
-0x2523F 0x761B # <CJK>
-0x25240 0x769C # <CJK>
-0x25241 0x769D # <CJK>
-0x25242 0x769E # <CJK>
-0x25243 0x769B # <CJK>
-0x25244 0x778D # <CJK>
-0x25245 0x778F # <CJK>
-0x25246 0x7789 # <CJK>
-0x25247 0x7788 # <CJK>
-0x25248 0x78CD # <CJK>
-0x25249 0x78BB # <CJK>
-0x2524A 0x78CF # <CJK>
-0x2524B 0x78CC # <CJK>
-0x2524C 0x78D1 # <CJK>
-0x2524D 0x78CE # <CJK>
-0x2524E 0x78D4 # <CJK>
-0x2524F 0x78C8 # <CJK>
-0x25250 0x78C3 # <CJK>
-0x25251 0x78C4 # <CJK>
-0x25252 0x78C9 # <CJK>
-0x25253 0x799A # <CJK>
-0x25254 0x79A1 # <CJK>
-0x25255 0x79A0 # <CJK>
-0x25256 0x799C # <CJK>
-0x25257 0x79A2 # <CJK>
-0x25258 0x799B # <CJK>
-0x25259 0x6B76 # <CJK>
-0x2525A 0x7A39 # <CJK>
-0x2525B 0x7AB2 # <CJK>
-0x2525C 0x7AB4 # <CJK>
-0x2525D 0x7AB3 # <CJK>
-0x2525E 0x7BB7 # <CJK>
-0x2525F 0x7BCB # <CJK>
-0x25260 0x7BBE # <CJK>
-0x25261 0x7BAC # <CJK>
-0x25262 0x7BCE # <CJK>
-0x25263 0x7BAF # <CJK>
-0x25264 0x7BB9 # <CJK>
-0x25265 0x7BCA # <CJK>
-0x25266 0x7BB5 # <CJK>
-0x25267 0x7CC5 # <CJK>
-0x25268 0x7CC8 # <CJK>
-0x25269 0x7CCC # <CJK>
-0x2526A 0x7CCB # <CJK>
-0x2526B 0x7DF7 # <CJK>
-0x2526C 0x7DDB # <CJK>
-0x2526D 0x7DEA # <CJK>
-0x2526E 0x7DE7 # <CJK>
-0x2526F 0x7DD7 # <CJK>
-0x25270 0x7DE1 # <CJK>
-0x25271 0x7E03 # <CJK>
-0x25272 0x7DFA # <CJK>
-0x25273 0x7DE6 # <CJK>
-0x25274 0x7DF6 # <CJK>
-0x25275 0x7DF1 # <CJK>
-0x25276 0x7DF0 # <CJK>
-0x25277 0x7DEE # <CJK>
-0x25278 0x7DDF # <CJK>
-0x25279 0x7F76 # <CJK>
-0x2527A 0x7FAC # <CJK>
-0x2527B 0x7FB0 # <CJK>
-0x2527C 0x7FAD # <CJK>
-0x2527D 0x7FED # <CJK>
-0x2527E 0x7FEB # <CJK>
-0x25321 0x7FEA # <CJK>
-0x25322 0x7FEC # <CJK>
-0x25323 0x7FE6 # <CJK>
-0x25324 0x7FE8 # <CJK>
-0x25325 0x8064 # <CJK>
-0x25326 0x8067 # <CJK>
-0x25327 0x81A3 # <CJK>
-0x25328 0x819F # <CJK>
-0x25329 0x819E # <CJK>
-0x2532A 0x8195 # <CJK>
-0x2532B 0x81A2 # <CJK>
-0x2532C 0x8199 # <CJK>
-0x2532D 0x8197 # <CJK>
-0x2532E 0x8216 # <CJK>
-0x2532F 0x824F # <CJK>
-0x25330 0x8253 # <CJK>
-0x25331 0x8252 # <CJK>
-0x25332 0x8250 # <CJK>
-0x25333 0x824E # <CJK>
-0x25334 0x8251 # <CJK>
-0x25335 0x8524 # <CJK>
-0x25336 0x853B # <CJK>
-0x25337 0x850F # <CJK>
-0x25338 0x8500 # <CJK>
-0x25339 0x8529 # <CJK>
-0x2533A 0x850E # <CJK>
-0x2533B 0x8509 # <CJK>
-0x2533C 0x850D # <CJK>
-0x2533D 0x851F # <CJK>
-0x2533E 0x850A # <CJK>
-0x2533F 0x8527 # <CJK>
-0x25340 0x851C # <CJK>
-0x25341 0x84FB # <CJK>
-0x25342 0x852B # <CJK>
-0x25343 0x84FA # <CJK>
-0x25344 0x8508 # <CJK>
-0x25345 0x850C # <CJK>
-0x25346 0x84F4 # <CJK>
-0x25347 0x852A # <CJK>
-0x25348 0x84F2 # <CJK>
-0x25349 0x8515 # <CJK>
-0x2534A 0x84F7 # <CJK>
-0x2534B 0x84EB # <CJK>
-0x2534C 0x84F3 # <CJK>
-0x2534D 0x84FC # <CJK>
-0x2534E 0x8512 # <CJK>
-0x2534F 0x84EA # <CJK>
-0x25350 0x84E9 # <CJK>
-0x25351 0x8516 # <CJK>
-0x25352 0x84FE # <CJK>
-0x25353 0x8528 # <CJK>
-0x25354 0x851D # <CJK>
-0x25355 0x852E # <CJK>
-0x25356 0x8502 # <CJK>
-0x25357 0x84FD # <CJK>
-0x25358 0x851E # <CJK>
-0x25359 0x84F6 # <CJK>
-0x2535A 0x8531 # <CJK>
-0x2535B 0x8526 # <CJK>
-0x2535C 0x84E7 # <CJK>
-0x2535D 0x84E8 # <CJK>
-0x2535E 0x84F0 # <CJK>
-0x2535F 0x84EF # <CJK>
-0x25360 0x84F9 # <CJK>
-0x25361 0x8518 # <CJK>
-0x25362 0x8520 # <CJK>
-0x25363 0x8530 # <CJK>
-0x25364 0x850B # <CJK>
-0x25365 0x8519 # <CJK>
-0x25366 0x852F # <CJK>
-0x25367 0x8662 # <CJK>
-0x25368 0x8756 # <CJK>
-0x25369 0x8763 # <CJK>
-0x2536A 0x8764 # <CJK>
-0x2536B 0x8777 # <CJK>
-0x2536C 0x87E1 # <CJK>
-0x2536D 0x8773 # <CJK>
-0x2536E 0x8758 # <CJK>
-0x2536F 0x8754 # <CJK>
-0x25370 0x875B # <CJK>
-0x25371 0x8752 # <CJK>
-0x25372 0x8761 # <CJK>
-0x25373 0x875A # <CJK>
-0x25374 0x8751 # <CJK>
-0x25375 0x875E # <CJK>
-0x25376 0x876D # <CJK>
-0x25377 0x876A # <CJK>
-0x25378 0x8750 # <CJK>
-0x25379 0x874E # <CJK>
-0x2537A 0x875F # <CJK>
-0x2537B 0x875D # <CJK>
-0x2537C 0x876F # <CJK>
-0x2537D 0x876C # <CJK>
-0x2537E 0x877A # <CJK>
-0x25421 0x876E # <CJK>
-0x25422 0x875C # <CJK>
-0x25423 0x8765 # <CJK>
-0x25424 0x874F # <CJK>
-0x25425 0x877B # <CJK>
-0x25426 0x8775 # <CJK>
-0x25427 0x8762 # <CJK>
-0x25428 0x8767 # <CJK>
-0x25429 0x8769 # <CJK>
-0x2542A 0x885A # <CJK>
-0x2542B 0x8905 # <CJK>
-0x2542C 0x890C # <CJK>
-0x2542D 0x8914 # <CJK>
-0x2542E 0x890B # <CJK>
-0x2542F 0x8917 # <CJK>
-0x25430 0x8918 # <CJK>
-0x25431 0x8919 # <CJK>
-0x25432 0x8906 # <CJK>
-0x25433 0x8916 # <CJK>
-0x25434 0x8911 # <CJK>
-0x25435 0x890E # <CJK>
-0x25436 0x8909 # <CJK>
-0x25437 0x89A2 # <CJK>
-0x25438 0x89A4 # <CJK>
-0x25439 0x89A3 # <CJK>
-0x2543A 0x89ED # <CJK>
-0x2543B 0x89F0 # <CJK>
-0x2543C 0x89EC # <CJK>
-0x2543D 0x8ACF # <CJK>
-0x2543E 0x8AC6 # <CJK>
-0x2543F 0x8AB8 # <CJK>
-0x25440 0x8AD3 # <CJK>
-0x25441 0x8AD1 # <CJK>
-0x25442 0x8AD4 # <CJK>
-0x25443 0x8AD5 # <CJK>
-0x25444 0x8ABB # <CJK>
-0x25445 0x8AD7 # <CJK>
-0x25446 0x8ABE # <CJK>
-0x25447 0x8AC0 # <CJK>
-0x25448 0x8AC5 # <CJK>
-0x25449 0x8AD8 # <CJK>
-0x2544A 0x8AC3 # <CJK>
-0x2544B 0x8ABA # <CJK>
-0x2544C 0x8ABD # <CJK>
-0x2544D 0x8AD9 # <CJK>
-0x2544E 0x8C3E # <CJK>
-0x2544F 0x8C4D # <CJK>
-0x25450 0x8C8F # <CJK>
-0x25451 0x8CE5 # <CJK>
-0x25452 0x8CDF # <CJK>
-0x25453 0x8CD9 # <CJK>
-0x25454 0x8CE8 # <CJK>
-0x25455 0x8CDA # <CJK>
-0x25456 0x8CDD # <CJK>
-0x25457 0x8CE7 # <CJK>
-0x25458 0x8DA0 # <CJK>
-0x25459 0x8D9C # <CJK>
-0x2545A 0x8DA1 # <CJK>
-0x2545B 0x8D9B # <CJK>
-0x2545C 0x8E20 # <CJK>
-0x2545D 0x8E23 # <CJK>
-0x2545E 0x8E25 # <CJK>
-0x2545F 0x8E24 # <CJK>
-0x25460 0x8E2E # <CJK>
-0x25461 0x8E15 # <CJK>
-0x25462 0x8E1B # <CJK>
-0x25463 0x8E16 # <CJK>
-0x25464 0x8E11 # <CJK>
-0x25465 0x8E19 # <CJK>
-0x25466 0x8E26 # <CJK>
-0x25467 0x8E27 # <CJK>
-0x25468 0x8E14 # <CJK>
-0x25469 0x8E12 # <CJK>
-0x2546A 0x8E18 # <CJK>
-0x2546B 0x8E13 # <CJK>
-0x2546C 0x8E1C # <CJK>
-0x2546D 0x8E17 # <CJK>
-0x2546E 0x8E1A # <CJK>
-0x2546F 0x8F2C # <CJK>
-0x25470 0x8F24 # <CJK>
-0x25471 0x8F18 # <CJK>
-0x25472 0x8F1A # <CJK>
-0x25473 0x8F20 # <CJK>
-0x25474 0x8F23 # <CJK>
-0x25475 0x8F16 # <CJK>
-0x25476 0x8F17 # <CJK>
-0x25477 0x9073 # <CJK>
-0x25478 0x9070 # <CJK>
-0x25479 0x906F # <CJK>
-0x2547A 0x9067 # <CJK>
-0x2547B 0x906B # <CJK>
-0x2547C 0x912F # <CJK>
-0x2547D 0x912B # <CJK>
-0x2547E 0x9129 # <CJK>
-0x25521 0x912A # <CJK>
-0x25522 0x9132 # <CJK>
-0x25523 0x9126 # <CJK>
-0x25524 0x912E # <CJK>
-0x25525 0x9185 # <CJK>
-0x25526 0x9186 # <CJK>
-0x25527 0x918A # <CJK>
-0x25528 0x9181 # <CJK>
-0x25529 0x9182 # <CJK>
-0x2552A 0x9184 # <CJK>
-0x2552B 0x9180 # <CJK>
-0x2552C 0x92D0 # <CJK>
-0x2552D 0x92C3 # <CJK>
-0x2552E 0x92C4 # <CJK>
-0x2552F 0x92C0 # <CJK>
-0x25530 0x92D9 # <CJK>
-0x25531 0x92B6 # <CJK>
-0x25532 0x92CF # <CJK>
-0x25533 0x92F1 # <CJK>
-0x25534 0x92DF # <CJK>
-0x25535 0x92D8 # <CJK>
-0x25536 0x92E9 # <CJK>
-0x25537 0x92D7 # <CJK>
-0x25538 0x92DD # <CJK>
-0x25539 0x92CC # <CJK>
-0x2553A 0x92EF # <CJK>
-0x2553B 0x92C2 # <CJK>
-0x2553C 0x92E8 # <CJK>
-0x2553D 0x92CA # <CJK>
-0x2553E 0x92C8 # <CJK>
-0x2553F 0x92CE # <CJK>
-0x25540 0x92E6 # <CJK>
-0x25541 0x92CD # <CJK>
-0x25542 0x92D5 # <CJK>
-0x25543 0x92C9 # <CJK>
-0x25544 0x92E0 # <CJK>
-0x25545 0x92DE # <CJK>
-0x25546 0x92E7 # <CJK>
-0x25547 0x92D1 # <CJK>
-0x25548 0x92D3 # <CJK>
-0x25549 0x92B5 # <CJK>
-0x2554A 0x92E1 # <CJK>
-0x2554B 0x9325 # <CJK>
-0x2554C 0x92C6 # <CJK>
-0x2554D 0x92B4 # <CJK>
-0x2554E 0x957C # <CJK>
-0x2554F 0x95AC # <CJK>
-0x25550 0x95AB # <CJK>
-0x25551 0x95AE # <CJK>
-0x25552 0x95B0 # <CJK>
-0x25553 0x96A4 # <CJK>
-0x25554 0x96A2 # <CJK>
-0x25555 0x96D3 # <CJK>
-0x25556 0x9705 # <CJK>
-0x25557 0x9708 # <CJK>
-0x25558 0x9702 # <CJK>
-0x25559 0x975A # <CJK>
-0x2555A 0x978A # <CJK>
-0x2555B 0x978E # <CJK>
-0x2555C 0x9788 # <CJK>
-0x2555D 0x97D0 # <CJK>
-0x2555E 0x97CF # <CJK>
-0x2555F 0x981E # <CJK>
-0x25560 0x981D # <CJK>
-0x25561 0x9826 # <CJK>
-0x25562 0x9829 # <CJK>
-0x25563 0x9828 # <CJK>
-0x25564 0x9820 # <CJK>
-0x25565 0x981B # <CJK>
-0x25566 0x9827 # <CJK>
-0x25567 0x98B2 # <CJK>
-0x25568 0x9908 # <CJK>
-0x25569 0x98FA # <CJK>
-0x2556A 0x9911 # <CJK>
-0x2556B 0x9914 # <CJK>
-0x2556C 0x9916 # <CJK>
-0x2556D 0x9917 # <CJK>
-0x2556E 0x9915 # <CJK>
-0x2556F 0x99DC # <CJK>
-0x25570 0x99CD # <CJK>
-0x25571 0x99CF # <CJK>
-0x25572 0x99D3 # <CJK>
-0x25573 0x99D4 # <CJK>
-0x25574 0x99CE # <CJK>
-0x25575 0x99C9 # <CJK>
-0x25576 0x99D6 # <CJK>
-0x25577 0x99D8 # <CJK>
-0x25578 0x99CB # <CJK>
-0x25579 0x99D7 # <CJK>
-0x2557A 0x99CC # <CJK>
-0x2557B 0x9AB3 # <CJK>
-0x2557C 0x9AEC # <CJK>
-0x2557D 0x9AEB # <CJK>
-0x2557E 0x9AF3 # <CJK>
-0x25621 0x9AF2 # <CJK>
-0x25622 0x9AF1 # <CJK>
-0x25623 0x9B46 # <CJK>
-0x25624 0x9B43 # <CJK>
-0x25625 0x9B67 # <CJK>
-0x25626 0x9B74 # <CJK>
-0x25627 0x9B71 # <CJK>
-0x25628 0x9B66 # <CJK>
-0x25629 0x9B76 # <CJK>
-0x2562A 0x9B75 # <CJK>
-0x2562B 0x9B70 # <CJK>
-0x2562C 0x9B68 # <CJK>
-0x2562D 0x9B64 # <CJK>
-0x2562E 0x9B6C # <CJK>
-0x2562F 0x9CFC # <CJK>
-0x25630 0x9CFA # <CJK>
-0x25631 0x9CFD # <CJK>
-0x25632 0x9CFF # <CJK>
-0x25633 0x9CF7 # <CJK>
-0x25634 0x9D07 # <CJK>
-0x25635 0x9D00 # <CJK>
-0x25636 0x9CF9 # <CJK>
-0x25637 0x9CFB # <CJK>
-0x25638 0x9D08 # <CJK>
-0x25639 0x9D05 # <CJK>
-0x2563A 0x9D04 # <CJK>
-0x2563B 0x9E83 # <CJK>
-0x2563C 0x9ED3 # <CJK>
-0x2563D 0x9F0F # <CJK>
-0x2563E 0x9F10 # <CJK>
-0x2563F 0x511C # <CJK>
-0x25640 0x5113 # <CJK>
-0x25641 0x5117 # <CJK>
-0x25642 0x511A # <CJK>
-0x25643 0x5111 # <CJK>
-0x25644 0x51DE # <CJK>
-0x25645 0x5334 # <CJK>
-0x25646 0x53E1 # <CJK>
-0x25647 0x5670 # <CJK>
-0x25648 0x5660 # <CJK>
-0x25649 0x566E # <CJK>
-0x2564A 0x5673 # <CJK>
-0x2564B 0x5666 # <CJK>
-0x2564C 0x5663 # <CJK>
-0x2564D 0x566D # <CJK>
-0x2564E 0x5672 # <CJK>
-0x2564F 0x565E # <CJK>
-0x25650 0x5677 # <CJK>
-0x25651 0x571C # <CJK>
-0x25652 0x571B # <CJK>
-0x25653 0x58C8 # <CJK>
-0x25654 0x58BD # <CJK>
-0x25655 0x58C9 # <CJK>
-0x25656 0x58BF # <CJK>
-0x25657 0x58BA # <CJK>
-0x25658 0x58C2 # <CJK>
-0x25659 0x58BC # <CJK>
-0x2565A 0x58C6 # <CJK>
-0x2565B 0x5B17 # <CJK>
-0x2565C 0x5B19 # <CJK>
-0x2565D 0x5B1B # <CJK>
-0x2565E 0x5B21 # <CJK>
-0x2565F 0x5B14 # <CJK>
-0x25660 0x5B13 # <CJK>
-0x25661 0x5B10 # <CJK>
-0x25662 0x5B16 # <CJK>
-0x25663 0x5B28 # <CJK>
-0x25664 0x5B1A # <CJK>
-0x25665 0x5B20 # <CJK>
-0x25666 0x5B1E # <CJK>
-0x25667 0x5BEF # <CJK>
-0x25668 0x5DAC # <CJK>
-0x25669 0x5DB1 # <CJK>
-0x2566A 0x5DA9 # <CJK>
-0x2566B 0x5DA7 # <CJK>
-0x2566C 0x5DB5 # <CJK>
-0x2566D 0x5DB0 # <CJK>
-0x2566E 0x5DAE # <CJK>
-0x2566F 0x5DAA # <CJK>
-0x25670 0x5DA8 # <CJK>
-0x25671 0x5DB2 # <CJK>
-0x25672 0x5DAD # <CJK>
-0x25673 0x5DAF # <CJK>
-0x25674 0x5DB4 # <CJK>
-0x25675 0x5E67 # <CJK>
-0x25676 0x5E68 # <CJK>
-0x25677 0x5E66 # <CJK>
-0x25678 0x5E6F # <CJK>
-0x25679 0x5EE9 # <CJK>
-0x2567A 0x5EE7 # <CJK>
-0x2567B 0x5EE6 # <CJK>
-0x2567C 0x5EE8 # <CJK>
-0x2567D 0x5EE5 # <CJK>
-0x2567E 0x5F4B # <CJK>
-0x25721 0x5FBC # <CJK>
-0x25722 0x5FBB # <CJK>
-0x25723 0x619D # <CJK>
-0x25724 0x61A8 # <CJK>
-0x25725 0x6196 # <CJK>
-0x25726 0x61C5 # <CJK>
-0x25727 0x61B4 # <CJK>
-0x25728 0x61C6 # <CJK>
-0x25729 0x61C1 # <CJK>
-0x2572A 0x61CC # <CJK>
-0x2572B 0x61BA # <CJK>
-0x2572C 0x61BF # <CJK>
-0x2572D 0x61B8 # <CJK>
-0x2572E 0x618C # <CJK>
-0x2572F 0x64D7 # <CJK>
-0x25730 0x64D6 # <CJK>
-0x25731 0x64D0 # <CJK>
-0x25732 0x64CF # <CJK>
-0x25733 0x64C9 # <CJK>
-0x25734 0x64BD # <CJK>
-0x25735 0x6489 # <CJK>
-0x25736 0x64C3 # <CJK>
-0x25737 0x64DB # <CJK>
-0x25738 0x64F3 # <CJK>
-0x25739 0x64D9 # <CJK>
-0x2573A 0x6533 # <CJK>
-0x2573B 0x657F # <CJK>
-0x2573C 0x657C # <CJK>
-0x2573D 0x65A2 # <CJK>
-0x2573E 0x66C8 # <CJK>
-0x2573F 0x66BE # <CJK>
-0x25740 0x66C0 # <CJK>
-0x25741 0x66CA # <CJK>
-0x25742 0x66CB # <CJK>
-0x25743 0x66CF # <CJK>
-0x25744 0x66BD # <CJK>
-0x25745 0x66BB # <CJK>
-0x25746 0x66BA # <CJK>
-0x25747 0x66CC # <CJK>
-0x25748 0x6723 # <CJK>
-0x25749 0x6A34 # <CJK>
-0x2574A 0x6A66 # <CJK>
-0x2574B 0x6A49 # <CJK>
-0x2574C 0x6A67 # <CJK>
-0x2574D 0x6A32 # <CJK>
-0x2574E 0x6A68 # <CJK>
-0x2574F 0x6A3E # <CJK>
-0x25750 0x6A5D # <CJK>
-0x25751 0x6A6D # <CJK>
-0x25752 0x6A76 # <CJK>
-0x25753 0x6A5B # <CJK>
-0x25754 0x6A51 # <CJK>
-0x25755 0x6A28 # <CJK>
-0x25756 0x6A5A # <CJK>
-0x25757 0x6A3B # <CJK>
-0x25758 0x6A3F # <CJK>
-0x25759 0x6A41 # <CJK>
-0x2575A 0x6A6A # <CJK>
-0x2575B 0x6A64 # <CJK>
-0x2575C 0x6A50 # <CJK>
-0x2575D 0x6A4F # <CJK>
-0x2575E 0x6A54 # <CJK>
-0x2575F 0x6A6F # <CJK>
-0x25760 0x6A69 # <CJK>
-0x25761 0x6A60 # <CJK>
-0x25762 0x6A3C # <CJK>
-0x25763 0x6A5E # <CJK>
-0x25764 0x6A56 # <CJK>
-0x25765 0x6A55 # <CJK>
-0x25766 0x6A4D # <CJK>
-0x25767 0x6A4E # <CJK>
-0x25768 0x6A46 # <CJK>
-0x25769 0x6B55 # <CJK>
-0x2576A 0x6B54 # <CJK>
-0x2576B 0x6B56 # <CJK>
-0x2576C 0x6BA7 # <CJK>
-0x2576D 0x6BAA # <CJK>
-0x2576E 0x6BAB # <CJK>
-0x2576F 0x6BC8 # <CJK>
-0x25770 0x6BC7 # <CJK>
-0x25771 0x6C04 # <CJK>
-0x25772 0x6C03 # <CJK>
-0x25773 0x6C06 # <CJK>
-0x25774 0x6FAD # <CJK>
-0x25775 0x6FCB # <CJK>
-0x25776 0x6FA3 # <CJK>
-0x25777 0x6FC7 # <CJK>
-0x25778 0x6FBC # <CJK>
-0x25779 0x6FCE # <CJK>
-0x2577A 0x6FC8 # <CJK>
-0x2577B 0x6F5E # <CJK>
-0x2577C 0x6FC4 # <CJK>
-0x2577D 0x6FBD # <CJK>
-0x2577E 0x6F9E # <CJK>
-0x25821 0x6FCA # <CJK>
-0x25822 0x6FA8 # <CJK>
-0x25823 0x7004 # <CJK>
-0x25824 0x6FA5 # <CJK>
-0x25825 0x6FAE # <CJK>
-0x25826 0x6FBA # <CJK>
-0x25827 0x6FAC # <CJK>
-0x25828 0x6FAA # <CJK>
-0x25829 0x6FCF # <CJK>
-0x2582A 0x6FBF # <CJK>
-0x2582B 0x6FB8 # <CJK>
-0x2582C 0x6FA2 # <CJK>
-0x2582D 0x6FC9 # <CJK>
-0x2582E 0x6FAB # <CJK>
-0x2582F 0x6FCD # <CJK>
-0x25830 0x6FAF # <CJK>
-0x25831 0x6FB2 # <CJK>
-0x25832 0x6FB0 # <CJK>
-0x25833 0x71C5 # <CJK>
-0x25834 0x71C2 # <CJK>
-0x25835 0x71BF # <CJK>
-0x25836 0x71B8 # <CJK>
-0x25837 0x71D6 # <CJK>
-0x25838 0x71C0 # <CJK>
-0x25839 0x71C1 # <CJK>
-0x2583A 0x71CB # <CJK>
-0x2583B 0x71D4 # <CJK>
-0x2583C 0x71CA # <CJK>
-0x2583D 0x71C7 # <CJK>
-0x2583E 0x71CF # <CJK>
-0x2583F 0x71BD # <CJK>
-0x25840 0x71D8 # <CJK>
-0x25841 0x71BC # <CJK>
-0x25842 0x71C6 # <CJK>
-0x25843 0x71DA # <CJK>
-0x25844 0x71DB # <CJK>
-0x25845 0x729D # <CJK>
-0x25846 0x729E # <CJK>
-0x25847 0x7369 # <CJK>
-0x25848 0x7366 # <CJK>
-0x25849 0x7367 # <CJK>
-0x2584A 0x736C # <CJK>
-0x2584B 0x7365 # <CJK>
-0x2584C 0x736B # <CJK>
-0x2584D 0x736A # <CJK>
-0x2584E 0x747F # <CJK>
-0x2584F 0x749A # <CJK>
-0x25850 0x74A0 # <CJK>
-0x25851 0x7494 # <CJK>
-0x25852 0x7492 # <CJK>
-0x25853 0x7495 # <CJK>
-0x25854 0x74A1 # <CJK>
-0x25855 0x750B # <CJK>
-0x25856 0x7580 # <CJK>
-0x25857 0x762F # <CJK>
-0x25858 0x762D # <CJK>
-0x25859 0x7631 # <CJK>
-0x2585A 0x763D # <CJK>
-0x2585B 0x7633 # <CJK>
-0x2585C 0x763C # <CJK>
-0x2585D 0x7635 # <CJK>
-0x2585E 0x7632 # <CJK>
-0x2585F 0x7630 # <CJK>
-0x25860 0x76BB # <CJK>
-0x25861 0x76E6 # <CJK>
-0x25862 0x779A # <CJK>
-0x25863 0x779D # <CJK>
-0x25864 0x77A1 # <CJK>
-0x25865 0x779C # <CJK>
-0x25866 0x779B # <CJK>
-0x25867 0x77A2 # <CJK>
-0x25868 0x77A3 # <CJK>
-0x25869 0x7795 # <CJK>
-0x2586A 0x7799 # <CJK>
-0x2586B 0x7797 # <CJK>
-0x2586C 0x78DD # <CJK>
-0x2586D 0x78E9 # <CJK>
-0x2586E 0x78E5 # <CJK>
-0x2586F 0x78EA # <CJK>
-0x25870 0x78DE # <CJK>
-0x25871 0x78E3 # <CJK>
-0x25872 0x78DB # <CJK>
-0x25873 0x78E1 # <CJK>
-0x25874 0x78E2 # <CJK>
-0x25875 0x78ED # <CJK>
-0x25876 0x78DF # <CJK>
-0x25877 0x78E0 # <CJK>
-0x25878 0x79A4 # <CJK>
-0x25879 0x7A44 # <CJK>
-0x2587A 0x7A48 # <CJK>
-0x2587B 0x7A47 # <CJK>
-0x2587C 0x7AB6 # <CJK>
-0x2587D 0x7AB8 # <CJK>
-0x2587E 0x7AB5 # <CJK>
-0x25921 0x7AB1 # <CJK>
-0x25922 0x7AB7 # <CJK>
-0x25923 0x7BDE # <CJK>
-0x25924 0x7BE3 # <CJK>
-0x25925 0x7BE7 # <CJK>
-0x25926 0x7BDD # <CJK>
-0x25927 0x7BD5 # <CJK>
-0x25928 0x7BE5 # <CJK>
-0x25929 0x7BDA # <CJK>
-0x2592A 0x7BE8 # <CJK>
-0x2592B 0x7BF9 # <CJK>
-0x2592C 0x7BD4 # <CJK>
-0x2592D 0x7BEA # <CJK>
-0x2592E 0x7BE2 # <CJK>
-0x2592F 0x7BDC # <CJK>
-0x25930 0x7BEB # <CJK>
-0x25931 0x7BD8 # <CJK>
-0x25932 0x7BDF # <CJK>
-0x25933 0x7CD2 # <CJK>
-0x25934 0x7CD4 # <CJK>
-0x25935 0x7CD7 # <CJK>
-0x25936 0x7CD0 # <CJK>
-0x25937 0x7CD1 # <CJK>
-0x25938 0x7E12 # <CJK>
-0x25939 0x7E21 # <CJK>
-0x2593A 0x7E17 # <CJK>
-0x2593B 0x7E0C # <CJK>
-0x2593C 0x7E1F # <CJK>
-0x2593D 0x7E20 # <CJK>
-0x2593E 0x7E13 # <CJK>
-0x2593F 0x7E0E # <CJK>
-0x25940 0x7E1C # <CJK>
-0x25941 0x7E15 # <CJK>
-0x25942 0x7E1A # <CJK>
-0x25943 0x7E22 # <CJK>
-0x25944 0x7E0B # <CJK>
-0x25945 0x7E0F # <CJK>
-0x25946 0x7E16 # <CJK>
-0x25947 0x7E0D # <CJK>
-0x25948 0x7E14 # <CJK>
-0x25949 0x7E25 # <CJK>
-0x2594A 0x7E24 # <CJK>
-0x2594B 0x7F43 # <CJK>
-0x2594C 0x7F7B # <CJK>
-0x2594D 0x7F7C # <CJK>
-0x2594E 0x7F7A # <CJK>
-0x2594F 0x7FB1 # <CJK>
-0x25950 0x7FEF # <CJK>
-0x25951 0x802A # <CJK>
-0x25952 0x8029 # <CJK>
-0x25953 0x806C # <CJK>
-0x25954 0x81B1 # <CJK>
-0x25955 0x81A6 # <CJK>
-0x25956 0x81AE # <CJK>
-0x25957 0x81B9 # <CJK>
-0x25958 0x81B5 # <CJK>
-0x25959 0x81AB # <CJK>
-0x2595A 0x81B0 # <CJK>
-0x2595B 0x81AC # <CJK>
-0x2595C 0x81B4 # <CJK>
-0x2595D 0x81B2 # <CJK>
-0x2595E 0x81B7 # <CJK>
-0x2595F 0x81A7 # <CJK>
-0x25960 0x81F2 # <CJK>
-0x25961 0x8255 # <CJK>
-0x25962 0x8256 # <CJK>
-0x25963 0x8257 # <CJK>
-0x25964 0x8556 # <CJK>
-0x25965 0x8545 # <CJK>
-0x25966 0x856B # <CJK>
-0x25967 0x854D # <CJK>
-0x25968 0x8553 # <CJK>
-0x25969 0x8561 # <CJK>
-0x2596A 0x8558 # <CJK>
-0x2596B 0x8540 # <CJK>
-0x2596C 0x8546 # <CJK>
-0x2596D 0x8564 # <CJK>
-0x2596E 0x8541 # <CJK>
-0x2596F 0x8562 # <CJK>
-0x25970 0x8544 # <CJK>
-0x25971 0x8551 # <CJK>
-0x25972 0x8547 # <CJK>
-0x25973 0x8563 # <CJK>
-0x25974 0x853E # <CJK>
-0x25975 0x855B # <CJK>
-0x25976 0x8571 # <CJK>
-0x25977 0x854E # <CJK>
-0x25978 0x856E # <CJK>
-0x25979 0x8575 # <CJK>
-0x2597A 0x8555 # <CJK>
-0x2597B 0x8567 # <CJK>
-0x2597C 0x8560 # <CJK>
-0x2597D 0x858C # <CJK>
-0x2597E 0x8566 # <CJK>
-0x25A21 0x855D # <CJK>
-0x25A22 0x8554 # <CJK>
-0x25A23 0x8565 # <CJK>
-0x25A24 0x856C # <CJK>
-0x25A25 0x8663 # <CJK>
-0x25A26 0x8665 # <CJK>
-0x25A27 0x8664 # <CJK>
-0x25A28 0x87A4 # <CJK>
-0x25A29 0x879B # <CJK>
-0x25A2A 0x878F # <CJK>
-0x25A2B 0x8797 # <CJK>
-0x25A2C 0x8793 # <CJK>
-0x25A2D 0x8792 # <CJK>
-0x25A2E 0x8788 # <CJK>
-0x25A2F 0x8781 # <CJK>
-0x25A30 0x8796 # <CJK>
-0x25A31 0x8798 # <CJK>
-0x25A32 0x8779 # <CJK>
-0x25A33 0x8787 # <CJK>
-0x25A34 0x87A3 # <CJK>
-0x25A35 0x8785 # <CJK>
-0x25A36 0x8790 # <CJK>
-0x25A37 0x8791 # <CJK>
-0x25A38 0x879D # <CJK>
-0x25A39 0x8784 # <CJK>
-0x25A3A 0x8794 # <CJK>
-0x25A3B 0x879C # <CJK>
-0x25A3C 0x879A # <CJK>
-0x25A3D 0x8789 # <CJK>
-0x25A3E 0x891E # <CJK>
-0x25A3F 0x8926 # <CJK>
-0x25A40 0x8930 # <CJK>
-0x25A41 0x892D # <CJK>
-0x25A42 0x892E # <CJK>
-0x25A43 0x8927 # <CJK>
-0x25A44 0x8931 # <CJK>
-0x25A45 0x8922 # <CJK>
-0x25A46 0x8929 # <CJK>
-0x25A47 0x8923 # <CJK>
-0x25A48 0x892F # <CJK>
-0x25A49 0x892C # <CJK>
-0x25A4A 0x891F # <CJK>
-0x25A4B 0x89F1 # <CJK>
-0x25A4C 0x8AE0 # <CJK>
-0x25A4D 0x8AE2 # <CJK>
-0x25A4E 0x8AF2 # <CJK>
-0x25A4F 0x8AF4 # <CJK>
-0x25A50 0x8AF5 # <CJK>
-0x25A51 0x8ADD # <CJK>
-0x25A52 0x8B14 # <CJK>
-0x25A53 0x8AE4 # <CJK>
-0x25A54 0x8ADF # <CJK>
-0x25A55 0x8AF0 # <CJK>
-0x25A56 0x8AC8 # <CJK>
-0x25A57 0x8ADE # <CJK>
-0x25A58 0x8AE1 # <CJK>
-0x25A59 0x8AE8 # <CJK>
-0x25A5A 0x8AFF # <CJK>
-0x25A5B 0x8AEF # <CJK>
-0x25A5C 0x8AFB # <CJK>
-0x25A5D 0x8C91 # <CJK>
-0x25A5E 0x8C92 # <CJK>
-0x25A5F 0x8C90 # <CJK>
-0x25A60 0x8CF5 # <CJK>
-0x25A61 0x8CEE # <CJK>
-0x25A62 0x8CF1 # <CJK>
-0x25A63 0x8CF0 # <CJK>
-0x25A64 0x8CF3 # <CJK>
-0x25A65 0x8D6C # <CJK>
-0x25A66 0x8D6E # <CJK>
-0x25A67 0x8DA5 # <CJK>
-0x25A68 0x8DA7 # <CJK>
-0x25A69 0x8E33 # <CJK>
-0x25A6A 0x8E3E # <CJK>
-0x25A6B 0x8E38 # <CJK>
-0x25A6C 0x8E40 # <CJK>
-0x25A6D 0x8E45 # <CJK>
-0x25A6E 0x8E36 # <CJK>
-0x25A6F 0x8E3C # <CJK>
-0x25A70 0x8E3D # <CJK>
-0x25A71 0x8E41 # <CJK>
-0x25A72 0x8E30 # <CJK>
-0x25A73 0x8E3F # <CJK>
-0x25A74 0x8EBD # <CJK>
-0x25A75 0x8F36 # <CJK>
-0x25A76 0x8F2E # <CJK>
-0x25A77 0x8F35 # <CJK>
-0x25A78 0x8F32 # <CJK>
-0x25A79 0x8F39 # <CJK>
-0x25A7A 0x8F37 # <CJK>
-0x25A7B 0x8F34 # <CJK>
-0x25A7C 0x9076 # <CJK>
-0x25A7D 0x9079 # <CJK>
-0x25A7E 0x907B # <CJK>
-0x25B21 0x9086 # <CJK>
-0x25B22 0x90FA # <CJK>
-0x25B23 0x9133 # <CJK>
-0x25B24 0x9135 # <CJK>
-0x25B25 0x9136 # <CJK>
-0x25B26 0x9193 # <CJK>
-0x25B27 0x9190 # <CJK>
-0x25B28 0x9191 # <CJK>
-0x25B29 0x918D # <CJK>
-0x25B2A 0x918F # <CJK>
-0x25B2B 0x9327 # <CJK>
-0x25B2C 0x931E # <CJK>
-0x25B2D 0x9308 # <CJK>
-0x25B2E 0x931F # <CJK>
-0x25B2F 0x9306 # <CJK>
-0x25B30 0x930F # <CJK>
-0x25B31 0x937A # <CJK>
-0x25B32 0x9338 # <CJK>
-0x25B33 0x933C # <CJK>
-0x25B34 0x931B # <CJK>
-0x25B35 0x9323 # <CJK>
-0x25B36 0x9312 # <CJK>
-0x25B37 0x9301 # <CJK>
-0x25B38 0x9346 # <CJK>
-0x25B39 0x932D # <CJK>
-0x25B3A 0x930E # <CJK>
-0x25B3B 0x930D # <CJK>
-0x25B3C 0x92CB # <CJK>
-0x25B3D 0x931D # <CJK>
-0x25B3E 0x92FA # <CJK>
-0x25B3F 0x9313 # <CJK>
-0x25B40 0x92F9 # <CJK>
-0x25B41 0x92F7 # <CJK>
-0x25B42 0x9334 # <CJK>
-0x25B43 0x9302 # <CJK>
-0x25B44 0x9324 # <CJK>
-0x25B45 0x92FF # <CJK>
-0x25B46 0x9329 # <CJK>
-0x25B47 0x9339 # <CJK>
-0x25B48 0x9335 # <CJK>
-0x25B49 0x932A # <CJK>
-0x25B4A 0x9314 # <CJK>
-0x25B4B 0x930C # <CJK>
-0x25B4C 0x930B # <CJK>
-0x25B4D 0x92FE # <CJK>
-0x25B4E 0x9309 # <CJK>
-0x25B4F 0x9300 # <CJK>
-0x25B50 0x92FB # <CJK>
-0x25B51 0x9316 # <CJK>
-0x25B52 0x95BC # <CJK>
-0x25B53 0x95CD # <CJK>
-0x25B54 0x95BE # <CJK>
-0x25B55 0x95B9 # <CJK>
-0x25B56 0x95BA # <CJK>
-0x25B57 0x95B6 # <CJK>
-0x25B58 0x95BF # <CJK>
-0x25B59 0x95B5 # <CJK>
-0x25B5A 0x95BD # <CJK>
-0x25B5B 0x96A9 # <CJK>
-0x25B5C 0x96D4 # <CJK>
-0x25B5D 0x970B # <CJK>
-0x25B5E 0x9712 # <CJK>
-0x25B5F 0x9710 # <CJK>
-0x25B60 0x9799 # <CJK>
-0x25B61 0x9797 # <CJK>
-0x25B62 0x9794 # <CJK>
-0x25B63 0x97F0 # <CJK>
-0x25B64 0x97F8 # <CJK>
-0x25B65 0x9835 # <CJK>
-0x25B66 0x982F # <CJK>
-0x25B67 0x9832 # <CJK>
-0x25B68 0x9924 # <CJK>
-0x25B69 0x991F # <CJK>
-0x25B6A 0x9927 # <CJK>
-0x25B6B 0x9929 # <CJK>
-0x25B6C 0x999E # <CJK>
-0x25B6D 0x99EE # <CJK>
-0x25B6E 0x99EC # <CJK>
-0x25B6F 0x99E5 # <CJK>
-0x25B70 0x99E4 # <CJK>
-0x25B71 0x99F0 # <CJK>
-0x25B72 0x99E3 # <CJK>
-0x25B73 0x99EA # <CJK>
-0x25B74 0x99E9 # <CJK>
-0x25B75 0x99E7 # <CJK>
-0x25B76 0x9AB9 # <CJK>
-0x25B77 0x9ABF # <CJK>
-0x25B78 0x9AB4 # <CJK>
-0x25B79 0x9ABB # <CJK>
-0x25B7A 0x9AF6 # <CJK>
-0x25B7B 0x9AFA # <CJK>
-0x25B7C 0x9AF9 # <CJK>
-0x25B7D 0x9AF7 # <CJK>
-0x25B7E 0x9B33 # <CJK>
-0x25C21 0x9B80 # <CJK>
-0x25C22 0x9B85 # <CJK>
-0x25C23 0x9B87 # <CJK>
-0x25C24 0x9B7C # <CJK>
-0x25C25 0x9B7E # <CJK>
-0x25C26 0x9B7B # <CJK>
-0x25C27 0x9B82 # <CJK>
-0x25C28 0x9B93 # <CJK>
-0x25C29 0x9B92 # <CJK>
-0x25C2A 0x9B90 # <CJK>
-0x25C2B 0x9B7A # <CJK>
-0x25C2C 0x9B95 # <CJK>
-0x25C2D 0x9B7D # <CJK>
-0x25C2E 0x9B88 # <CJK>
-0x25C2F 0x9D25 # <CJK>
-0x25C30 0x9D17 # <CJK>
-0x25C31 0x9D20 # <CJK>
-0x25C32 0x9D1E # <CJK>
-0x25C33 0x9D14 # <CJK>
-0x25C34 0x9D29 # <CJK>
-0x25C35 0x9D1D # <CJK>
-0x25C36 0x9D18 # <CJK>
-0x25C37 0x9D22 # <CJK>
-0x25C38 0x9D10 # <CJK>
-0x25C39 0x9D19 # <CJK>
-0x25C3A 0x9D1F # <CJK>
-0x25C3B 0x9E88 # <CJK>
-0x25C3C 0x9E86 # <CJK>
-0x25C3D 0x9E87 # <CJK>
-0x25C3E 0x9EAE # <CJK>
-0x25C3F 0x9EAD # <CJK>
-0x25C40 0x9ED5 # <CJK>
-0x25C41 0x9ED6 # <CJK>
-0x25C42 0x9EFA # <CJK>
-0x25C43 0x9F12 # <CJK>
-0x25C44 0x9F3D # <CJK>
-0x25C45 0x5126 # <CJK>
-0x25C46 0x5125 # <CJK>
-0x25C47 0x5122 # <CJK>
-0x25C48 0x5124 # <CJK>
-0x25C49 0x5120 # <CJK>
-0x25C4A 0x5129 # <CJK>
-0x25C4B 0x52F4 # <CJK>
-0x25C4C 0x5693 # <CJK>
-0x25C4D 0x568C # <CJK>
-0x25C4E 0x568D # <CJK>
-0x25C4F 0x5686 # <CJK>
-0x25C50 0x5684 # <CJK>
-0x25C51 0x5683 # <CJK>
-0x25C52 0x567E # <CJK>
-0x25C53 0x5682 # <CJK>
-0x25C54 0x567F # <CJK>
-0x25C55 0x5681 # <CJK>
-0x25C56 0x58D6 # <CJK>
-0x25C57 0x58D4 # <CJK>
-0x25C58 0x58CF # <CJK>
-0x25C59 0x58D2 # <CJK>
-0x25C5A 0x5B2D # <CJK>
-0x25C5B 0x5B25 # <CJK>
-0x25C5C 0x5B32 # <CJK>
-0x25C5D 0x5B23 # <CJK>
-0x25C5E 0x5B2C # <CJK>
-0x25C5F 0x5B27 # <CJK>
-0x25C60 0x5B26 # <CJK>
-0x25C61 0x5B2F # <CJK>
-0x25C62 0x5B2E # <CJK>
-0x25C63 0x5B7B # <CJK>
-0x25C64 0x5BF1 # <CJK>
-0x25C65 0x5BF2 # <CJK>
-0x25C66 0x5DB7 # <CJK>
-0x25C67 0x5E6C # <CJK>
-0x25C68 0x5E6A # <CJK>
-0x25C69 0x5FBE # <CJK>
-0x25C6A 0x61C3 # <CJK>
-0x25C6B 0x61B5 # <CJK>
-0x25C6C 0x61BC # <CJK>
-0x25C6D 0x61E7 # <CJK>
-0x25C6E 0x61E0 # <CJK>
-0x25C6F 0x61E5 # <CJK>
-0x25C70 0x61E4 # <CJK>
-0x25C71 0x61E8 # <CJK>
-0x25C72 0x61DE # <CJK>
-0x25C73 0x64EF # <CJK>
-0x25C74 0x64E9 # <CJK>
-0x25C75 0x64E3 # <CJK>
-0x25C76 0x64EB # <CJK>
-0x25C77 0x64E4 # <CJK>
-0x25C78 0x64E8 # <CJK>
-0x25C79 0x6581 # <CJK>
-0x25C7A 0x6580 # <CJK>
-0x25C7B 0x65B6 # <CJK>
-0x25C7C 0x65DA # <CJK>
-0x25C7D 0x66D2 # <CJK>
-0x25C7E 0x6A8D # <CJK>
-0x25D21 0x6A96 # <CJK>
-0x25D22 0x6A81 # <CJK>
-0x25D23 0x6AA5 # <CJK>
-0x25D24 0x6A89 # <CJK>
-0x25D25 0x6A9F # <CJK>
-0x25D26 0x6A9B # <CJK>
-0x25D27 0x6AA1 # <CJK>
-0x25D28 0x6A9E # <CJK>
-0x25D29 0x6A87 # <CJK>
-0x25D2A 0x6A93 # <CJK>
-0x25D2B 0x6A8E # <CJK>
-0x25D2C 0x6A95 # <CJK>
-0x25D2D 0x6A83 # <CJK>
-0x25D2E 0x6AA8 # <CJK>
-0x25D2F 0x6AA4 # <CJK>
-0x25D30 0x6A91 # <CJK>
-0x25D31 0x6A7F # <CJK>
-0x25D32 0x6AA6 # <CJK>
-0x25D33 0x6A9A # <CJK>
-0x25D34 0x6A85 # <CJK>
-0x25D35 0x6A8C # <CJK>
-0x25D36 0x6A92 # <CJK>
-0x25D37 0x6B5B # <CJK>
-0x25D38 0x6BAD # <CJK>
-0x25D39 0x6C09 # <CJK>
-0x25D3A 0x6FCC # <CJK>
-0x25D3B 0x6FA9 # <CJK>
-0x25D3C 0x6FF4 # <CJK>
-0x25D3D 0x6FD4 # <CJK>
-0x25D3E 0x6FE3 # <CJK>
-0x25D3F 0x6FDC # <CJK>
-0x25D40 0x6FED # <CJK>
-0x25D41 0x6FE7 # <CJK>
-0x25D42 0x6FE6 # <CJK>
-0x25D43 0x6FDE # <CJK>
-0x25D44 0x6FF2 # <CJK>
-0x25D45 0x6FDD # <CJK>
-0x25D46 0x6FE2 # <CJK>
-0x25D47 0x6FE8 # <CJK>
-0x25D48 0x71E1 # <CJK>
-0x25D49 0x71F1 # <CJK>
-0x25D4A 0x71E8 # <CJK>
-0x25D4B 0x71F2 # <CJK>
-0x25D4C 0x71E4 # <CJK>
-0x25D4D 0x71F0 # <CJK>
-0x25D4E 0x71E2 # <CJK>
-0x25D4F 0x7373 # <CJK>
-0x25D50 0x736E # <CJK>
-0x25D51 0x736F # <CJK>
-0x25D52 0x7497 # <CJK>
-0x25D53 0x74B2 # <CJK>
-0x25D54 0x74AB # <CJK>
-0x25D55 0x7490 # <CJK>
-0x25D56 0x74AA # <CJK>
-0x25D57 0x74AD # <CJK>
-0x25D58 0x74B1 # <CJK>
-0x25D59 0x74A5 # <CJK>
-0x25D5A 0x74AF # <CJK>
-0x25D5B 0x7510 # <CJK>
-0x25D5C 0x7511 # <CJK>
-0x25D5D 0x7512 # <CJK>
-0x25D5E 0x750F # <CJK>
-0x25D5F 0x7584 # <CJK>
-0x25D60 0x7643 # <CJK>
-0x25D61 0x7648 # <CJK>
-0x25D62 0x7649 # <CJK>
-0x25D63 0x7647 # <CJK>
-0x25D64 0x76A4 # <CJK>
-0x25D65 0x76E9 # <CJK>
-0x25D66 0x77B5 # <CJK>
-0x25D67 0x77AB # <CJK>
-0x25D68 0x77B2 # <CJK>
-0x25D69 0x77B7 # <CJK>
-0x25D6A 0x77B6 # <CJK>
-0x25D6B 0x77B4 # <CJK>
-0x25D6C 0x77B1 # <CJK>
-0x25D6D 0x77A8 # <CJK>
-0x25D6E 0x77F0 # <CJK>
-0x25D6F 0x78F3 # <CJK>
-0x25D70 0x78FD # <CJK>
-0x25D71 0x7902 # <CJK>
-0x25D72 0x78FB # <CJK>
-0x25D73 0x78FC # <CJK>
-0x25D74 0x78FF # <CJK>
-0x25D75 0x78F2 # <CJK>
-0x25D76 0x7905 # <CJK>
-0x25D77 0x78F9 # <CJK>
-0x25D78 0x78FE # <CJK>
-0x25D79 0x7904 # <CJK>
-0x25D7A 0x79AB # <CJK>
-0x25D7B 0x79A8 # <CJK>
-0x25D7C 0x7A5C # <CJK>
-0x25D7D 0x7A5B # <CJK>
-0x25D7E 0x7A56 # <CJK>
-0x25E21 0x7A58 # <CJK>
-0x25E22 0x7A54 # <CJK>
-0x25E23 0x7A5A # <CJK>
-0x25E24 0x7ABE # <CJK>
-0x25E25 0x7AC0 # <CJK>
-0x25E26 0x7AC1 # <CJK>
-0x25E27 0x7C05 # <CJK>
-0x25E28 0x7C0F # <CJK>
-0x25E29 0x7BF2 # <CJK>
-0x25E2A 0x7C00 # <CJK>
-0x25E2B 0x7BFF # <CJK>
-0x25E2C 0x7BFB # <CJK>
-0x25E2D 0x7C0E # <CJK>
-0x25E2E 0x7BF4 # <CJK>
-0x25E2F 0x7C0B # <CJK>
-0x25E30 0x7BF3 # <CJK>
-0x25E31 0x7C02 # <CJK>
-0x25E32 0x7C09 # <CJK>
-0x25E33 0x7C03 # <CJK>
-0x25E34 0x7C01 # <CJK>
-0x25E35 0x7BF8 # <CJK>
-0x25E36 0x7BFD # <CJK>
-0x25E37 0x7C06 # <CJK>
-0x25E38 0x7BF0 # <CJK>
-0x25E39 0x7BF1 # <CJK>
-0x25E3A 0x7C10 # <CJK>
-0x25E3B 0x7C0A # <CJK>
-0x25E3C 0x7CE8 # <CJK>
-0x25E3D 0x7E2D # <CJK>
-0x25E3E 0x7E3C # <CJK>
-0x25E3F 0x7E42 # <CJK>
-0x25E40 0x7E33 # <CJK>
-0x25E41 0x9848 # <CJK>
-0x25E42 0x7E38 # <CJK>
-0x25E43 0x7E2A # <CJK>
-0x25E44 0x7E49 # <CJK>
-0x25E45 0x7E40 # <CJK>
-0x25E46 0x7E47 # <CJK>
-0x25E47 0x7E29 # <CJK>
-0x25E48 0x7E4C # <CJK>
-0x25E49 0x7E30 # <CJK>
-0x25E4A 0x7E3B # <CJK>
-0x25E4B 0x7E36 # <CJK>
-0x25E4C 0x7E44 # <CJK>
-0x25E4D 0x7E3A # <CJK>
-0x25E4E 0x7F45 # <CJK>
-0x25E4F 0x7F7F # <CJK>
-0x25E50 0x7F7E # <CJK>
-0x25E51 0x7F7D # <CJK>
-0x25E52 0x7FF4 # <CJK>
-0x25E53 0x7FF2 # <CJK>
-0x25E54 0x802C # <CJK>
-0x25E55 0x81BB # <CJK>
-0x25E56 0x81C4 # <CJK>
-0x25E57 0x81CC # <CJK>
-0x25E58 0x81CA # <CJK>
-0x25E59 0x81C5 # <CJK>
-0x25E5A 0x81C7 # <CJK>
-0x25E5B 0x81BC # <CJK>
-0x25E5C 0x81E9 # <CJK>
-0x25E5D 0x825B # <CJK>
-0x25E5E 0x825A # <CJK>
-0x25E5F 0x825C # <CJK>
-0x25E60 0x8583 # <CJK>
-0x25E61 0x8580 # <CJK>
-0x25E62 0x858F # <CJK>
-0x25E63 0x85A7 # <CJK>
-0x25E64 0x8595 # <CJK>
-0x25E65 0x85A0 # <CJK>
-0x25E66 0x858B # <CJK>
-0x25E67 0x85A3 # <CJK>
-0x25E68 0x857B # <CJK>
-0x25E69 0x85A4 # <CJK>
-0x25E6A 0x859A # <CJK>
-0x25E6B 0x859E # <CJK>
-0x25E6C 0x8577 # <CJK>
-0x25E6D 0x857C # <CJK>
-0x25E6E 0x8589 # <CJK>
-0x25E6F 0x85A1 # <CJK>
-0x25E70 0x857A # <CJK>
-0x25E71 0x8578 # <CJK>
-0x25E72 0x8557 # <CJK>
-0x25E73 0x858E # <CJK>
-0x25E74 0x8596 # <CJK>
-0x25E75 0x8586 # <CJK>
-0x25E76 0x858D # <CJK>
-0x25E77 0x8599 # <CJK>
-0x25E78 0x859D # <CJK>
-0x25E79 0x8581 # <CJK>
-0x25E7A 0x85A2 # <CJK>
-0x25E7B 0x8582 # <CJK>
-0x25E7C 0x8588 # <CJK>
-0x25E7D 0x8585 # <CJK>
-0x25E7E 0x8579 # <CJK>
-0x25F21 0x8576 # <CJK>
-0x25F22 0x8598 # <CJK>
-0x25F23 0x8590 # <CJK>
-0x25F24 0x859F # <CJK>
-0x25F25 0x8668 # <CJK>
-0x25F26 0x87BE # <CJK>
-0x25F27 0x87AA # <CJK>
-0x25F28 0x87AD # <CJK>
-0x25F29 0x87C5 # <CJK>
-0x25F2A 0x87B0 # <CJK>
-0x25F2B 0x87AC # <CJK>
-0x25F2C 0x87B9 # <CJK>
-0x25F2D 0x87B5 # <CJK>
-0x25F2E 0x87BC # <CJK>
-0x25F2F 0x87AE # <CJK>
-0x25F30 0x87C9 # <CJK>
-0x25F31 0x87C3 # <CJK>
-0x25F32 0x87C2 # <CJK>
-0x25F33 0x87CC # <CJK>
-0x25F34 0x87B7 # <CJK>
-0x25F35 0x87AF # <CJK>
-0x25F36 0x87C4 # <CJK>
-0x25F37 0x87CA # <CJK>
-0x25F38 0x87B4 # <CJK>
-0x25F39 0x87B6 # <CJK>
-0x25F3A 0x87BF # <CJK>
-0x25F3B 0x87B8 # <CJK>
-0x25F3C 0x87BD # <CJK>
-0x25F3D 0x87DE # <CJK>
-0x25F3E 0x87B2 # <CJK>
-0x25F3F 0x8935 # <CJK>
-0x25F40 0x8933 # <CJK>
-0x25F41 0x893C # <CJK>
-0x25F42 0x893E # <CJK>
-0x25F43 0x8941 # <CJK>
-0x25F44 0x8952 # <CJK>
-0x25F45 0x8937 # <CJK>
-0x25F46 0x8942 # <CJK>
-0x25F47 0x89AD # <CJK>
-0x25F48 0x89AF # <CJK>
-0x25F49 0x89AE # <CJK>
-0x25F4A 0x89F2 # <CJK>
-0x25F4B 0x89F3 # <CJK>
-0x25F4C 0x8B1E # <CJK>
-0x25F4D 0x8B18 # <CJK>
-0x25F4E 0x8B16 # <CJK>
-0x25F4F 0x8B11 # <CJK>
-0x25F50 0x8B05 # <CJK>
-0x25F51 0x8B0B # <CJK>
-0x25F52 0x8B22 # <CJK>
-0x25F53 0x8B0F # <CJK>
-0x25F54 0x8B12 # <CJK>
-0x25F55 0x8B15 # <CJK>
-0x25F56 0x8B07 # <CJK>
-0x25F57 0x8B0D # <CJK>
-0x25F58 0x8B08 # <CJK>
-0x25F59 0x8B06 # <CJK>
-0x25F5A 0x8B1C # <CJK>
-0x25F5B 0x8B13 # <CJK>
-0x25F5C 0x8B1A # <CJK>
-0x25F5D 0x8C4F # <CJK>
-0x25F5E 0x8C70 # <CJK>
-0x25F5F 0x8C72 # <CJK>
-0x25F60 0x8C71 # <CJK>
-0x25F61 0x8C6F # <CJK>
-0x25F62 0x8C95 # <CJK>
-0x25F63 0x8C94 # <CJK>
-0x25F64 0x8CF9 # <CJK>
-0x25F65 0x8D6F # <CJK>
-0x25F66 0x8E4E # <CJK>
-0x25F67 0x8E4D # <CJK>
-0x25F68 0x8E53 # <CJK>
-0x25F69 0x8E50 # <CJK>
-0x25F6A 0x8E4C # <CJK>
-0x25F6B 0x8E47 # <CJK>
-0x25F6C 0x8F43 # <CJK>
-0x25F6D 0x8F40 # <CJK>
-0x25F6E 0x9085 # <CJK>
-0x25F6F 0x907E # <CJK>
-0x25F70 0x9138 # <CJK>
-0x25F71 0x919A # <CJK>
-0x25F72 0x91A2 # <CJK>
-0x25F73 0x919B # <CJK>
-0x25F74 0x9199 # <CJK>
-0x25F75 0x919F # <CJK>
-0x25F76 0x91A1 # <CJK>
-0x25F77 0x919D # <CJK>
-0x25F78 0x91A0 # <CJK>
-0x25F79 0x93A1 # <CJK>
-0x25F7A 0x9383 # <CJK>
-0x25F7B 0x93AF # <CJK>
-0x25F7C 0x9364 # <CJK>
-0x25F7D 0x9356 # <CJK>
-0x25F7E 0x9347 # <CJK>
-0x26021 0x937C # <CJK>
-0x26022 0x9358 # <CJK>
-0x26023 0x935C # <CJK>
-0x26024 0x9376 # <CJK>
-0x26025 0x9349 # <CJK>
-0x26026 0x9350 # <CJK>
-0x26027 0x9351 # <CJK>
-0x26028 0x9360 # <CJK>
-0x26029 0x936D # <CJK>
-0x2602A 0x938F # <CJK>
-0x2602B 0x934C # <CJK>
-0x2602C 0x936A # <CJK>
-0x2602D 0x9379 # <CJK>
-0x2602E 0x9357 # <CJK>
-0x2602F 0x9355 # <CJK>
-0x26030 0x9352 # <CJK>
-0x26031 0x934F # <CJK>
-0x26032 0x9371 # <CJK>
-0x26033 0x9377 # <CJK>
-0x26034 0x937B # <CJK>
-0x26035 0x9361 # <CJK>
-0x26036 0x935E # <CJK>
-0x26037 0x9363 # <CJK>
-0x26038 0x9367 # <CJK>
-0x26039 0x934E # <CJK>
-0x2603A 0x9359 # <CJK>
-0x2603B 0x95C7 # <CJK>
-0x2603C 0x95C0 # <CJK>
-0x2603D 0x95C9 # <CJK>
-0x2603E 0x95C3 # <CJK>
-0x2603F 0x95C5 # <CJK>
-0x26040 0x95B7 # <CJK>
-0x26041 0x96AE # <CJK>
-0x26042 0x96B0 # <CJK>
-0x26043 0x96AC # <CJK>
-0x26044 0x9720 # <CJK>
-0x26045 0x971F # <CJK>
-0x26046 0x9718 # <CJK>
-0x26047 0x971D # <CJK>
-0x26048 0x9719 # <CJK>
-0x26049 0x979A # <CJK>
-0x2604A 0x97A1 # <CJK>
-0x2604B 0x979C # <CJK>
-0x2604C 0x979E # <CJK>
-0x2604D 0x979D # <CJK>
-0x2604E 0x97D5 # <CJK>
-0x2604F 0x97D4 # <CJK>
-0x26050 0x97F1 # <CJK>
-0x26051 0x9841 # <CJK>
-0x26052 0x9844 # <CJK>
-0x26053 0x984A # <CJK>
-0x26054 0x9849 # <CJK>
-0x26055 0x9845 # <CJK>
-0x26056 0x9843 # <CJK>
-0x26057 0x9925 # <CJK>
-0x26058 0x992B # <CJK>
-0x26059 0x992C # <CJK>
-0x2605A 0x992A # <CJK>
-0x2605B 0x9933 # <CJK>
-0x2605C 0x9932 # <CJK>
-0x2605D 0x992F # <CJK>
-0x2605E 0x992D # <CJK>
-0x2605F 0x9931 # <CJK>
-0x26060 0x9930 # <CJK>
-0x26061 0x9998 # <CJK>
-0x26062 0x99A3 # <CJK>
-0x26063 0x99A1 # <CJK>
-0x26064 0x9A02 # <CJK>
-0x26065 0x99FA # <CJK>
-0x26066 0x99F4 # <CJK>
-0x26067 0x99F7 # <CJK>
-0x26068 0x99F9 # <CJK>
-0x26069 0x99F8 # <CJK>
-0x2606A 0x99F6 # <CJK>
-0x2606B 0x99FB # <CJK>
-0x2606C 0x99FD # <CJK>
-0x2606D 0x99FE # <CJK>
-0x2606E 0x99FC # <CJK>
-0x2606F 0x9A03 # <CJK>
-0x26070 0x9ABE # <CJK>
-0x26071 0x9AFE # <CJK>
-0x26072 0x9AFD # <CJK>
-0x26073 0x9B01 # <CJK>
-0x26074 0x9AFC # <CJK>
-0x26075 0x9B48 # <CJK>
-0x26076 0x9B9A # <CJK>
-0x26077 0x9BA8 # <CJK>
-0x26078 0x9B9E # <CJK>
-0x26079 0x9B9B # <CJK>
-0x2607A 0x9BA6 # <CJK>
-0x2607B 0x9BA1 # <CJK>
-0x2607C 0x9BA5 # <CJK>
-0x2607D 0x9BA4 # <CJK>
-0x2607E 0x9B86 # <CJK>
-0x26121 0x9BA2 # <CJK>
-0x26122 0x9BA0 # <CJK>
-0x26123 0x9BAF # <CJK>
-0x26124 0x9D33 # <CJK>
-0x26125 0x9D41 # <CJK>
-0x26126 0x9D67 # <CJK>
-0x26127 0x9D36 # <CJK>
-0x26128 0x9D2E # <CJK>
-0x26129 0x9D2F # <CJK>
-0x2612A 0x9D31 # <CJK>
-0x2612B 0x9D38 # <CJK>
-0x2612C 0x9D30 # <CJK>
-0x2612D 0x9D45 # <CJK>
-0x2612E 0x9D42 # <CJK>
-0x2612F 0x9D43 # <CJK>
-0x26130 0x9D3E # <CJK>
-0x26131 0x9D37 # <CJK>
-0x26132 0x9D40 # <CJK>
-0x26133 0x9D3D # <CJK>
-0x26134 0x7FF5 # <CJK>
-0x26135 0x9D2D # <CJK>
-0x26136 0x9E8A # <CJK>
-0x26137 0x9E89 # <CJK>
-0x26138 0x9E8D # <CJK>
-0x26139 0x9EB0 # <CJK>
-0x2613A 0x9EC8 # <CJK>
-0x2613B 0x9EDA # <CJK>
-0x2613C 0x9EFB # <CJK>
-0x2613D 0x9EFF # <CJK>
-0x2613E 0x9F24 # <CJK>
-0x2613F 0x9F23 # <CJK>
-0x26140 0x9F22 # <CJK>
-0x26141 0x9F54 # <CJK>
-0x26142 0x9FA0 # <CJK>
-0x26143 0x5131 # <CJK>
-0x26144 0x512D # <CJK>
-0x26145 0x512E # <CJK>
-0x26146 0x5698 # <CJK>
-0x26147 0x569C # <CJK>
-0x26148 0x5697 # <CJK>
-0x26149 0x569A # <CJK>
-0x2614A 0x569D # <CJK>
-0x2614B 0x5699 # <CJK>
-0x2614C 0x5970 # <CJK>
-0x2614D 0x5B3C # <CJK>
-0x2614E 0x5C69 # <CJK>
-0x2614F 0x5C6A # <CJK>
-0x26150 0x5DC0 # <CJK>
-0x26151 0x5E6D # <CJK>
-0x26152 0x5E6E # <CJK>
-0x26153 0x61D8 # <CJK>
-0x26154 0x61DF # <CJK>
-0x26155 0x61ED # <CJK>
-0x26156 0x61EE # <CJK>
-0x26157 0x61F1 # <CJK>
-0x26158 0x61EA # <CJK>
-0x26159 0x61F0 # <CJK>
-0x2615A 0x61EB # <CJK>
-0x2615B 0x61D6 # <CJK>
-0x2615C 0x61E9 # <CJK>
-0x2615D 0x64FF # <CJK>
-0x2615E 0x6504 # <CJK>
-0x2615F 0x64FD # <CJK>
-0x26160 0x64F8 # <CJK>
-0x26161 0x6501 # <CJK>
-0x26162 0x6503 # <CJK>
-0x26163 0x64FC # <CJK>
-0x26164 0x6594 # <CJK>
-0x26165 0x65DB # <CJK>
-0x26166 0x66DA # <CJK>
-0x26167 0x66DB # <CJK>
-0x26168 0x66D8 # <CJK>
-0x26169 0x6AC5 # <CJK>
-0x2616A 0x6AB9 # <CJK>
-0x2616B 0x6ABD # <CJK>
-0x2616C 0x6AE1 # <CJK>
-0x2616D 0x6AC6 # <CJK>
-0x2616E 0x6ABA # <CJK>
-0x2616F 0x6AB6 # <CJK>
-0x26170 0x6AB7 # <CJK>
-0x26171 0x6AC7 # <CJK>
-0x26172 0x6AB4 # <CJK>
-0x26173 0x6AAD # <CJK>
-0x26174 0x6B5E # <CJK>
-0x26175 0x6BC9 # <CJK>
-0x26176 0x6C0B # <CJK>
-0x26177 0x7007 # <CJK>
-0x26178 0x700C # <CJK>
-0x26179 0x700D # <CJK>
-0x2617A 0x7001 # <CJK>
-0x2617B 0x7005 # <CJK>
-0x2617C 0x7014 # <CJK>
-0x2617D 0x700E # <CJK>
-0x2617E 0x6FFF # <CJK>
-0x26221 0x7000 # <CJK>
-0x26222 0x6FFB # <CJK>
-0x26223 0x7026 # <CJK>
-0x26224 0x6FFC # <CJK>
-0x26225 0x6FF7 # <CJK>
-0x26226 0x700A # <CJK>
-0x26227 0x7201 # <CJK>
-0x26228 0x71FF # <CJK>
-0x26229 0x71F9 # <CJK>
-0x2622A 0x7203 # <CJK>
-0x2622B 0x71FD # <CJK>
-0x2622C 0x7376 # <CJK>
-0x2622D 0x74B8 # <CJK>
-0x2622E 0x74C0 # <CJK>
-0x2622F 0x74B5 # <CJK>
-0x26230 0x74C1 # <CJK>
-0x26231 0x74BE # <CJK>
-0x26232 0x74B6 # <CJK>
-0x26233 0x74BB # <CJK>
-0x26234 0x74C2 # <CJK>
-0x26235 0x7514 # <CJK>
-0x26236 0x7513 # <CJK>
-0x26237 0x765C # <CJK>
-0x26238 0x7664 # <CJK>
-0x26239 0x7659 # <CJK>
-0x2623A 0x7650 # <CJK>
-0x2623B 0x7653 # <CJK>
-0x2623C 0x7657 # <CJK>
-0x2623D 0x765A # <CJK>
-0x2623E 0x76A6 # <CJK>
-0x2623F 0x76BD # <CJK>
-0x26240 0x76EC # <CJK>
-0x26241 0x77C2 # <CJK>
-0x26242 0x77BA # <CJK>
-0x26243 0x790C # <CJK>
-0x26244 0x7913 # <CJK>
-0x26245 0x7914 # <CJK>
-0x26246 0x7909 # <CJK>
-0x26247 0x7910 # <CJK>
-0x26248 0x7912 # <CJK>
-0x26249 0x7911 # <CJK>
-0x2624A 0x79AD # <CJK>
-0x2624B 0x79AC # <CJK>
-0x2624C 0x7A5F # <CJK>
-0x2624D 0x7C1C # <CJK>
-0x2624E 0x7C29 # <CJK>
-0x2624F 0x7C19 # <CJK>
-0x26250 0x7C20 # <CJK>
-0x26251 0x7C1F # <CJK>
-0x26252 0x7C2D # <CJK>
-0x26253 0x7C1D # <CJK>
-0x26254 0x7C26 # <CJK>
-0x26255 0x7C28 # <CJK>
-0x26256 0x7C22 # <CJK>
-0x26257 0x7C25 # <CJK>
-0x26258 0x7C30 # <CJK>
-0x26259 0x7E5C # <CJK>
-0x2625A 0x7E50 # <CJK>
-0x2625B 0x7E56 # <CJK>
-0x2625C 0x7E63 # <CJK>
-0x2625D 0x7E58 # <CJK>
-0x2625E 0x7E62 # <CJK>
-0x2625F 0x7E5F # <CJK>
-0x26260 0x7E51 # <CJK>
-0x26261 0x7E60 # <CJK>
-0x26262 0x7E57 # <CJK>
-0x26263 0x7E53 # <CJK>
-0x26264 0x7FB5 # <CJK>
-0x26265 0x7FB3 # <CJK>
-0x26266 0x7FF7 # <CJK>
-0x26267 0x7FF8 # <CJK>
-0x26268 0x8075 # <CJK>
-0x26269 0x81D1 # <CJK>
-0x2626A 0x81D2 # <CJK>
-0x2626B 0x81D0 # <CJK>
-0x2626C 0x825F # <CJK>
-0x2626D 0x825E # <CJK>
-0x2626E 0x85B4 # <CJK>
-0x2626F 0x85C6 # <CJK>
-0x26270 0x85C0 # <CJK>
-0x26271 0x85C3 # <CJK>
-0x26272 0x85C2 # <CJK>
-0x26273 0x85B3 # <CJK>
-0x26274 0x85B5 # <CJK>
-0x26275 0x85BD # <CJK>
-0x26276 0x85C7 # <CJK>
-0x26277 0x85C4 # <CJK>
-0x26278 0x85BF # <CJK>
-0x26279 0x85CB # <CJK>
-0x2627A 0x85CE # <CJK>
-0x2627B 0x85C8 # <CJK>
-0x2627C 0x85C5 # <CJK>
-0x2627D 0x85B1 # <CJK>
-0x2627E 0x85B6 # <CJK>
-0x26321 0x85D2 # <CJK>
-0x26322 0x8624 # <CJK>
-0x26323 0x85B8 # <CJK>
-0x26324 0x85B7 # <CJK>
-0x26325 0x85BE # <CJK>
-0x26326 0x8669 # <CJK>
-0x26327 0x87E7 # <CJK>
-0x26328 0x87E6 # <CJK>
-0x26329 0x87E2 # <CJK>
-0x2632A 0x87DB # <CJK>
-0x2632B 0x87EB # <CJK>
-0x2632C 0x87EA # <CJK>
-0x2632D 0x87E5 # <CJK>
-0x2632E 0x87DF # <CJK>
-0x2632F 0x87F3 # <CJK>
-0x26330 0x87E4 # <CJK>
-0x26331 0x87D4 # <CJK>
-0x26332 0x87DC # <CJK>
-0x26333 0x87D3 # <CJK>
-0x26334 0x87ED # <CJK>
-0x26335 0x87D8 # <CJK>
-0x26336 0x87E3 # <CJK>
-0x26337 0x87D7 # <CJK>
-0x26338 0x87D9 # <CJK>
-0x26339 0x8801 # <CJK>
-0x2633A 0x87F4 # <CJK>
-0x2633B 0x87E8 # <CJK>
-0x2633C 0x87DD # <CJK>
-0x2633D 0x8953 # <CJK>
-0x2633E 0x894B # <CJK>
-0x2633F 0x894F # <CJK>
-0x26340 0x894C # <CJK>
-0x26341 0x8946 # <CJK>
-0x26342 0x8950 # <CJK>
-0x26343 0x8951 # <CJK>
-0x26344 0x8949 # <CJK>
-0x26345 0x8B2A # <CJK>
-0x26346 0x8B27 # <CJK>
-0x26347 0x8B23 # <CJK>
-0x26348 0x8B33 # <CJK>
-0x26349 0x8B30 # <CJK>
-0x2634A 0x8B35 # <CJK>
-0x2634B 0x8B47 # <CJK>
-0x2634C 0x8B2F # <CJK>
-0x2634D 0x8B3C # <CJK>
-0x2634E 0x8B3E # <CJK>
-0x2634F 0x8B31 # <CJK>
-0x26350 0x8B25 # <CJK>
-0x26351 0x8B37 # <CJK>
-0x26352 0x8B26 # <CJK>
-0x26353 0x8B36 # <CJK>
-0x26354 0x8B2E # <CJK>
-0x26355 0x8B24 # <CJK>
-0x26356 0x8B3B # <CJK>
-0x26357 0x8B3D # <CJK>
-0x26358 0x8B3A # <CJK>
-0x26359 0x8C42 # <CJK>
-0x2635A 0x8C75 # <CJK>
-0x2635B 0x8C99 # <CJK>
-0x2635C 0x8C98 # <CJK>
-0x2635D 0x8C97 # <CJK>
-0x2635E 0x8CFE # <CJK>
-0x2635F 0x8D04 # <CJK>
-0x26360 0x8D02 # <CJK>
-0x26361 0x8D00 # <CJK>
-0x26362 0x8E5C # <CJK>
-0x26363 0x8E62 # <CJK>
-0x26364 0x8E60 # <CJK>
-0x26365 0x8E57 # <CJK>
-0x26366 0x8E56 # <CJK>
-0x26367 0x8E5E # <CJK>
-0x26368 0x8E65 # <CJK>
-0x26369 0x8E67 # <CJK>
-0x2636A 0x8E5B # <CJK>
-0x2636B 0x8E5A # <CJK>
-0x2636C 0x8E61 # <CJK>
-0x2636D 0x8E5D # <CJK>
-0x2636E 0x8E69 # <CJK>
-0x2636F 0x8E54 # <CJK>
-0x26370 0x8F46 # <CJK>
-0x26371 0x8F47 # <CJK>
-0x26372 0x8F48 # <CJK>
-0x26373 0x8F4B # <CJK>
-0x26374 0x9128 # <CJK>
-0x26375 0x913A # <CJK>
-0x26376 0x913B # <CJK>
-0x26377 0x913E # <CJK>
-0x26378 0x91A8 # <CJK>
-0x26379 0x91A5 # <CJK>
-0x2637A 0x91A7 # <CJK>
-0x2637B 0x91AF # <CJK>
-0x2637C 0x91AA # <CJK>
-0x2637D 0x93B5 # <CJK>
-0x2637E 0x938C # <CJK>
-0x26421 0x9392 # <CJK>
-0x26422 0x93B7 # <CJK>
-0x26423 0x939B # <CJK>
-0x26424 0x939D # <CJK>
-0x26425 0x9389 # <CJK>
-0x26426 0x93A7 # <CJK>
-0x26427 0x938E # <CJK>
-0x26428 0x93AA # <CJK>
-0x26429 0x939E # <CJK>
-0x2642A 0x93A6 # <CJK>
-0x2642B 0x9395 # <CJK>
-0x2642C 0x9388 # <CJK>
-0x2642D 0x9399 # <CJK>
-0x2642E 0x939F # <CJK>
-0x2642F 0x9380 # <CJK>
-0x26430 0x938D # <CJK>
-0x26431 0x93B1 # <CJK>
-0x26432 0x9391 # <CJK>
-0x26433 0x93B2 # <CJK>
-0x26434 0x93A4 # <CJK>
-0x26435 0x93A8 # <CJK>
-0x26436 0x93B4 # <CJK>
-0x26437 0x93A3 # <CJK>
-0x26438 0x95D2 # <CJK>
-0x26439 0x95D3 # <CJK>
-0x2643A 0x95D1 # <CJK>
-0x2643B 0x96B3 # <CJK>
-0x2643C 0x96D7 # <CJK>
-0x2643D 0x96DA # <CJK>
-0x2643E 0x5DC2 # <CJK>
-0x2643F 0x96DF # <CJK>
-0x26440 0x96D8 # <CJK>
-0x26441 0x96DD # <CJK>
-0x26442 0x9723 # <CJK>
-0x26443 0x9722 # <CJK>
-0x26444 0x9725 # <CJK>
-0x26445 0x97AC # <CJK>
-0x26446 0x97AE # <CJK>
-0x26447 0x97A8 # <CJK>
-0x26448 0x97AB # <CJK>
-0x26449 0x97A4 # <CJK>
-0x2644A 0x97AA # <CJK>
-0x2644B 0x97A2 # <CJK>
-0x2644C 0x97A5 # <CJK>
-0x2644D 0x97D7 # <CJK>
-0x2644E 0x97D9 # <CJK>
-0x2644F 0x97D6 # <CJK>
-0x26450 0x97D8 # <CJK>
-0x26451 0x97FA # <CJK>
-0x26452 0x9850 # <CJK>
-0x26453 0x9851 # <CJK>
-0x26454 0x9852 # <CJK>
-0x26455 0x98B8 # <CJK>
-0x26456 0x9941 # <CJK>
-0x26457 0x993C # <CJK>
-0x26458 0x993A # <CJK>
-0x26459 0x9A0F # <CJK>
-0x2645A 0x9A0B # <CJK>
-0x2645B 0x9A09 # <CJK>
-0x2645C 0x9A0D # <CJK>
-0x2645D 0x9A04 # <CJK>
-0x2645E 0x9A11 # <CJK>
-0x2645F 0x9A0A # <CJK>
-0x26460 0x9A05 # <CJK>
-0x26461 0x9A07 # <CJK>
-0x26462 0x9A06 # <CJK>
-0x26463 0x9AC0 # <CJK>
-0x26464 0x9ADC # <CJK>
-0x26465 0x9B08 # <CJK>
-0x26466 0x9B04 # <CJK>
-0x26467 0x9B05 # <CJK>
-0x26468 0x9B29 # <CJK>
-0x26469 0x9B35 # <CJK>
-0x2646A 0x9B4A # <CJK>
-0x2646B 0x9B4C # <CJK>
-0x2646C 0x9B4B # <CJK>
-0x2646D 0x9BC7 # <CJK>
-0x2646E 0x9BC6 # <CJK>
-0x2646F 0x9BC3 # <CJK>
-0x26470 0x9BBF # <CJK>
-0x26471 0x9BC1 # <CJK>
-0x26472 0x9BB5 # <CJK>
-0x26473 0x9BB8 # <CJK>
-0x26474 0x9BD3 # <CJK>
-0x26475 0x9BB6 # <CJK>
-0x26476 0x9BC4 # <CJK>
-0x26477 0x9BB9 # <CJK>
-0x26478 0x9BBD # <CJK>
-0x26479 0x9D5C # <CJK>
-0x2647A 0x9D53 # <CJK>
-0x2647B 0x9D4F # <CJK>
-0x2647C 0x9D4A # <CJK>
-0x2647D 0x9D5B # <CJK>
-0x2647E 0x9D4B # <CJK>
-0x26521 0x9D59 # <CJK>
-0x26522 0x9D56 # <CJK>
-0x26523 0x9D4C # <CJK>
-0x26524 0x9D57 # <CJK>
-0x26525 0x9D52 # <CJK>
-0x26526 0x9D54 # <CJK>
-0x26527 0x9D5F # <CJK>
-0x26528 0x9D58 # <CJK>
-0x26529 0x9D5A # <CJK>
-0x2652A 0x9E8E # <CJK>
-0x2652B 0x9E8C # <CJK>
-0x2652C 0x9EDF # <CJK>
-0x2652D 0x9F01 # <CJK>
-0x2652E 0x9F00 # <CJK>
-0x2652F 0x9F16 # <CJK>
-0x26530 0x9F25 # <CJK>
-0x26531 0x9F2B # <CJK>
-0x26532 0x9F2A # <CJK>
-0x26533 0x9F29 # <CJK>
-0x26534 0x9F28 # <CJK>
-0x26535 0x9F4C # <CJK>
-0x26536 0x9F55 # <CJK>
-0x26537 0x5134 # <CJK>
-0x26538 0x5135 # <CJK>
-0x26539 0x5296 # <CJK>
-0x2653A 0x52F7 # <CJK>
-0x2653B 0x53B4 # <CJK>
-0x2653C 0x56AB # <CJK>
-0x2653D 0x56AD # <CJK>
-0x2653E 0x56A6 # <CJK>
-0x2653F 0x56A7 # <CJK>
-0x26540 0x56AA # <CJK>
-0x26541 0x56AC # <CJK>
-0x26542 0x58DA # <CJK>
-0x26543 0x58DD # <CJK>
-0x26544 0x58DB # <CJK>
-0x26545 0x5912 # <CJK>
-0x26546 0x5B3D # <CJK>
-0x26547 0x5B3E # <CJK>
-0x26548 0x5B3F # <CJK>
-0x26549 0x5DC3 # <CJK>
-0x2654A 0x5E70 # <CJK>
-0x2654B 0x5FBF # <CJK>
-0x2654C 0x61FB # <CJK>
-0x2654D 0x6507 # <CJK>
-0x2654E 0x6510 # <CJK>
-0x2654F 0x650D # <CJK>
-0x26550 0x6509 # <CJK>
-0x26551 0x650C # <CJK>
-0x26552 0x650E # <CJK>
-0x26553 0x6584 # <CJK>
-0x26554 0x65DE # <CJK>
-0x26555 0x65DD # <CJK>
-0x26556 0x66DE # <CJK>
-0x26557 0x6AE7 # <CJK>
-0x26558 0x6AE0 # <CJK>
-0x26559 0x6ACC # <CJK>
-0x2655A 0x6AD1 # <CJK>
-0x2655B 0x6AD9 # <CJK>
-0x2655C 0x6ACB # <CJK>
-0x2655D 0x6ADF # <CJK>
-0x2655E 0x6ADC # <CJK>
-0x2655F 0x6AD0 # <CJK>
-0x26560 0x6AEB # <CJK>
-0x26561 0x6ACF # <CJK>
-0x26562 0x6ACD # <CJK>
-0x26563 0x6ADE # <CJK>
-0x26564 0x6B60 # <CJK>
-0x26565 0x6BB0 # <CJK>
-0x26566 0x6C0C # <CJK>
-0x26567 0x7019 # <CJK>
-0x26568 0x7027 # <CJK>
-0x26569 0x7020 # <CJK>
-0x2656A 0x7016 # <CJK>
-0x2656B 0x702B # <CJK>
-0x2656C 0x7021 # <CJK>
-0x2656D 0x7022 # <CJK>
-0x2656E 0x7023 # <CJK>
-0x2656F 0x7029 # <CJK>
-0x26570 0x7017 # <CJK>
-0x26571 0x7024 # <CJK>
-0x26572 0x701C # <CJK>
-0x26573 0x720C # <CJK>
-0x26574 0x720A # <CJK>
-0x26575 0x7207 # <CJK>
-0x26576 0x7202 # <CJK>
-0x26577 0x7205 # <CJK>
-0x26578 0x72A5 # <CJK>
-0x26579 0x72A6 # <CJK>
-0x2657A 0x72A4 # <CJK>
-0x2657B 0x72A3 # <CJK>
-0x2657C 0x72A1 # <CJK>
-0x2657D 0x74CB # <CJK>
-0x2657E 0x74C5 # <CJK>
-0x26621 0x74B7 # <CJK>
-0x26622 0x74C3 # <CJK>
-0x26623 0x7516 # <CJK>
-0x26624 0x7660 # <CJK>
-0x26625 0x77C9 # <CJK>
-0x26626 0x77CA # <CJK>
-0x26627 0x77C4 # <CJK>
-0x26628 0x77F1 # <CJK>
-0x26629 0x791D # <CJK>
-0x2662A 0x791B # <CJK>
-0x2662B 0x7921 # <CJK>
-0x2662C 0x791C # <CJK>
-0x2662D 0x7917 # <CJK>
-0x2662E 0x791E # <CJK>
-0x2662F 0x79B0 # <CJK>
-0x26630 0x7A67 # <CJK>
-0x26631 0x7A68 # <CJK>
-0x26632 0x7C33 # <CJK>
-0x26633 0x7C3C # <CJK>
-0x26634 0x7C39 # <CJK>
-0x26635 0x7C2C # <CJK>
-0x26636 0x7C3B # <CJK>
-0x26637 0x7CEC # <CJK>
-0x26638 0x7CEA # <CJK>
-0x26639 0x7E76 # <CJK>
-0x2663A 0x7E75 # <CJK>
-0x2663B 0x7E78 # <CJK>
-0x2663C 0x7E70 # <CJK>
-0x2663D 0x7E77 # <CJK>
-0x2663E 0x7E6F # <CJK>
-0x2663F 0x7E7A # <CJK>
-0x26640 0x7E72 # <CJK>
-0x26641 0x7E74 # <CJK>
-0x26642 0x7E68 # <CJK>
-0x26643 0x7F4B # <CJK>
-0x26644 0x7F4A # <CJK>
-0x26645 0x7F83 # <CJK>
-0x26646 0x7F86 # <CJK>
-0x26647 0x7FB7 # <CJK>
-0x26648 0x7FFD # <CJK>
-0x26649 0x7FFE # <CJK>
-0x2664A 0x8078 # <CJK>
-0x2664B 0x81D7 # <CJK>
-0x2664C 0x81D5 # <CJK>
-0x2664D 0x820B # <CJK>
-0x2664E 0x8264 # <CJK>
-0x2664F 0x8261 # <CJK>
-0x26650 0x8263 # <CJK>
-0x26651 0x85EB # <CJK>
-0x26652 0x85F1 # <CJK>
-0x26653 0x85ED # <CJK>
-0x26654 0x85D9 # <CJK>
-0x26655 0x85E1 # <CJK>
-0x26656 0x85E8 # <CJK>
-0x26657 0x85DA # <CJK>
-0x26658 0x85D7 # <CJK>
-0x26659 0x85EC # <CJK>
-0x2665A 0x85F2 # <CJK>
-0x2665B 0x85F8 # <CJK>
-0x2665C 0x85D8 # <CJK>
-0x2665D 0x85DF # <CJK>
-0x2665E 0x85E3 # <CJK>
-0x2665F 0x85DC # <CJK>
-0x26660 0x85D1 # <CJK>
-0x26661 0x85F0 # <CJK>
-0x26662 0x85E6 # <CJK>
-0x26663 0x85EF # <CJK>
-0x26664 0x85DE # <CJK>
-0x26665 0x85E2 # <CJK>
-0x26666 0x8800 # <CJK>
-0x26667 0x87FA # <CJK>
-0x26668 0x8803 # <CJK>
-0x26669 0x87F6 # <CJK>
-0x2666A 0x87F7 # <CJK>
-0x2666B 0x8809 # <CJK>
-0x2666C 0x880C # <CJK>
-0x2666D 0x880B # <CJK>
-0x2666E 0x8806 # <CJK>
-0x2666F 0x87FC # <CJK>
-0x26670 0x8808 # <CJK>
-0x26671 0x87FF # <CJK>
-0x26672 0x880A # <CJK>
-0x26673 0x8802 # <CJK>
-0x26674 0x8962 # <CJK>
-0x26675 0x895A # <CJK>
-0x26676 0x895B # <CJK>
-0x26677 0x8957 # <CJK>
-0x26678 0x8961 # <CJK>
-0x26679 0x895C # <CJK>
-0x2667A 0x8958 # <CJK>
-0x2667B 0x895D # <CJK>
-0x2667C 0x8959 # <CJK>
-0x2667D 0x8988 # <CJK>
-0x2667E 0x89B7 # <CJK>
-0x26721 0x89B6 # <CJK>
-0x26722 0x89F6 # <CJK>
-0x26723 0x8B50 # <CJK>
-0x26724 0x8B48 # <CJK>
-0x26725 0x8B4A # <CJK>
-0x26726 0x8B40 # <CJK>
-0x26727 0x8B53 # <CJK>
-0x26728 0x8B56 # <CJK>
-0x26729 0x8B54 # <CJK>
-0x2672A 0x8B4B # <CJK>
-0x2672B 0x8B55 # <CJK>
-0x2672C 0x8B51 # <CJK>
-0x2672D 0x8B42 # <CJK>
-0x2672E 0x8B52 # <CJK>
-0x2672F 0x8B57 # <CJK>
-0x26730 0x8C43 # <CJK>
-0x26731 0x8C77 # <CJK>
-0x26732 0x8C76 # <CJK>
-0x26733 0x8C9A # <CJK>
-0x26734 0x8D06 # <CJK>
-0x26735 0x8D07 # <CJK>
-0x26736 0x8D09 # <CJK>
-0x26737 0x8DAC # <CJK>
-0x26738 0x8DAA # <CJK>
-0x26739 0x8DAD # <CJK>
-0x2673A 0x8DAB # <CJK>
-0x2673B 0x8E6D # <CJK>
-0x2673C 0x8E78 # <CJK>
-0x2673D 0x8E73 # <CJK>
-0x2673E 0x8E6A # <CJK>
-0x2673F 0x8E6F # <CJK>
-0x26740 0x8E7B # <CJK>
-0x26741 0x8EC2 # <CJK>
-0x26742 0x8F52 # <CJK>
-0x26743 0x8F51 # <CJK>
-0x26744 0x8F4F # <CJK>
-0x26745 0x8F50 # <CJK>
-0x26746 0x8F53 # <CJK>
-0x26747 0x8FB4 # <CJK>
-0x26748 0x9140 # <CJK>
-0x26749 0x913F # <CJK>
-0x2674A 0x91B0 # <CJK>
-0x2674B 0x91AD # <CJK>
-0x2674C 0x93DE # <CJK>
-0x2674D 0x93C7 # <CJK>
-0x2674E 0x93CF # <CJK>
-0x2674F 0x93C2 # <CJK>
-0x26750 0x93DA # <CJK>
-0x26751 0x93D0 # <CJK>
-0x26752 0x93F9 # <CJK>
-0x26753 0x93EC # <CJK>
-0x26754 0x93CC # <CJK>
-0x26755 0x93D9 # <CJK>
-0x26756 0x93A9 # <CJK>
-0x26757 0x93E6 # <CJK>
-0x26758 0x93CA # <CJK>
-0x26759 0x93D4 # <CJK>
-0x2675A 0x93EE # <CJK>
-0x2675B 0x93E3 # <CJK>
-0x2675C 0x93D5 # <CJK>
-0x2675D 0x93C4 # <CJK>
-0x2675E 0x93CE # <CJK>
-0x2675F 0x93C0 # <CJK>
-0x26760 0x93D2 # <CJK>
-0x26761 0x93A5 # <CJK>
-0x26762 0x93E7 # <CJK>
-0x26763 0x957D # <CJK>
-0x26764 0x95DA # <CJK>
-0x26765 0x95DB # <CJK>
-0x26766 0x96E1 # <CJK>
-0x26767 0x9729 # <CJK>
-0x26768 0x972B # <CJK>
-0x26769 0x972C # <CJK>
-0x2676A 0x9728 # <CJK>
-0x2676B 0x9726 # <CJK>
-0x2676C 0x97B3 # <CJK>
-0x2676D 0x97B7 # <CJK>
-0x2676E 0x97B6 # <CJK>
-0x2676F 0x97DD # <CJK>
-0x26770 0x97DE # <CJK>
-0x26771 0x97DF # <CJK>
-0x26772 0x985C # <CJK>
-0x26773 0x9859 # <CJK>
-0x26774 0x985D # <CJK>
-0x26775 0x9857 # <CJK>
-0x26776 0x98BF # <CJK>
-0x26777 0x98BD # <CJK>
-0x26778 0x98BB # <CJK>
-0x26779 0x98BE # <CJK>
-0x2677A 0x9948 # <CJK>
-0x2677B 0x9947 # <CJK>
-0x2677C 0x9943 # <CJK>
-0x2677D 0x99A6 # <CJK>
-0x2677E 0x99A7 # <CJK>
-0x26821 0x9A1A # <CJK>
-0x26822 0x9A15 # <CJK>
-0x26823 0x9A25 # <CJK>
-0x26824 0x9A1D # <CJK>
-0x26825 0x9A24 # <CJK>
-0x26826 0x9A1B # <CJK>
-0x26827 0x9A22 # <CJK>
-0x26828 0x9A20 # <CJK>
-0x26829 0x9A27 # <CJK>
-0x2682A 0x9A23 # <CJK>
-0x2682B 0x9A1E # <CJK>
-0x2682C 0x9A1C # <CJK>
-0x2682D 0x9A14 # <CJK>
-0x2682E 0x9AC2 # <CJK>
-0x2682F 0x9B0B # <CJK>
-0x26830 0x9B0A # <CJK>
-0x26831 0x9B0E # <CJK>
-0x26832 0x9B0C # <CJK>
-0x26833 0x9B37 # <CJK>
-0x26834 0x9BEA # <CJK>
-0x26835 0x9BEB # <CJK>
-0x26836 0x9BE0 # <CJK>
-0x26837 0x9BDE # <CJK>
-0x26838 0x9BE4 # <CJK>
-0x26839 0x9BE6 # <CJK>
-0x2683A 0x9BE2 # <CJK>
-0x2683B 0x9BF0 # <CJK>
-0x2683C 0x9BD4 # <CJK>
-0x2683D 0x9BD7 # <CJK>
-0x2683E 0x9BEC # <CJK>
-0x2683F 0x9BDC # <CJK>
-0x26840 0x9BD9 # <CJK>
-0x26841 0x9BE5 # <CJK>
-0x26842 0x9BD5 # <CJK>
-0x26843 0x9BE1 # <CJK>
-0x26844 0x9BDA # <CJK>
-0x26845 0x9D77 # <CJK>
-0x26846 0x9D81 # <CJK>
-0x26847 0x9D8A # <CJK>
-0x26848 0x9D84 # <CJK>
-0x26849 0x9D88 # <CJK>
-0x2684A 0x9D71 # <CJK>
-0x2684B 0x9D80 # <CJK>
-0x2684C 0x9D78 # <CJK>
-0x2684D 0x9D86 # <CJK>
-0x2684E 0x9D8B # <CJK>
-0x2684F 0x9D8C # <CJK>
-0x26850 0x9D7D # <CJK>
-0x26851 0x9D6B # <CJK>
-0x26852 0x9D74 # <CJK>
-0x26853 0x9D75 # <CJK>
-0x26854 0x9D70 # <CJK>
-0x26855 0x9D69 # <CJK>
-0x26856 0x9D85 # <CJK>
-0x26857 0x9D73 # <CJK>
-0x26858 0x9D7B # <CJK>
-0x26859 0x9D82 # <CJK>
-0x2685A 0x9D6F # <CJK>
-0x2685B 0x9D79 # <CJK>
-0x2685C 0x9D7F # <CJK>
-0x2685D 0x9D87 # <CJK>
-0x2685E 0x9D68 # <CJK>
-0x2685F 0x9E94 # <CJK>
-0x26860 0x9E91 # <CJK>
-0x26861 0x9EC0 # <CJK>
-0x26862 0x9EFC # <CJK>
-0x26863 0x9F2D # <CJK>
-0x26864 0x9F40 # <CJK>
-0x26865 0x9F41 # <CJK>
-0x26866 0x9F4D # <CJK>
-0x26867 0x9F56 # <CJK>
-0x26868 0x9F57 # <CJK>
-0x26869 0x9F58 # <CJK>
-0x2686A 0x5337 # <CJK>
-0x2686B 0x56B2 # <CJK>
-0x2686C 0x56B5 # <CJK>
-0x2686D 0x56B3 # <CJK>
-0x2686E 0x58E3 # <CJK>
-0x2686F 0x5B45 # <CJK>
-0x26870 0x5DC6 # <CJK>
-0x26871 0x5DC7 # <CJK>
-0x26872 0x5EEE # <CJK>
-0x26873 0x5EEF # <CJK>
-0x26874 0x5FC0 # <CJK>
-0x26875 0x5FC1 # <CJK>
-0x26876 0x61F9 # <CJK>
-0x26877 0x6517 # <CJK>
-0x26878 0x6516 # <CJK>
-0x26879 0x6515 # <CJK>
-0x2687A 0x6513 # <CJK>
-0x2687B 0x65DF # <CJK>
-0x2687C 0x66E8 # <CJK>
-0x2687D 0x66E3 # <CJK>
-0x2687E 0x66E4 # <CJK>
-0x26921 0x6AF3 # <CJK>
-0x26922 0x6AF0 # <CJK>
-0x26923 0x6AEA # <CJK>
-0x26924 0x6AE8 # <CJK>
-0x26925 0x6AF9 # <CJK>
-0x26926 0x6AF1 # <CJK>
-0x26927 0x6AEE # <CJK>
-0x26928 0x6AEF # <CJK>
-0x26929 0x703C # <CJK>
-0x2692A 0x7035 # <CJK>
-0x2692B 0x702F # <CJK>
-0x2692C 0x7037 # <CJK>
-0x2692D 0x7034 # <CJK>
-0x2692E 0x7031 # <CJK>
-0x2692F 0x7042 # <CJK>
-0x26930 0x7038 # <CJK>
-0x26931 0x703F # <CJK>
-0x26932 0x703A # <CJK>
-0x26933 0x7039 # <CJK>
-0x26934 0x702A # <CJK>
-0x26935 0x7040 # <CJK>
-0x26936 0x703B # <CJK>
-0x26937 0x7033 # <CJK>
-0x26938 0x7041 # <CJK>
-0x26939 0x7213 # <CJK>
-0x2693A 0x7214 # <CJK>
-0x2693B 0x72A8 # <CJK>
-0x2693C 0x737D # <CJK>
-0x2693D 0x737C # <CJK>
-0x2693E 0x74BA # <CJK>
-0x2693F 0x76AB # <CJK>
-0x26940 0x76AA # <CJK>
-0x26941 0x76BE # <CJK>
-0x26942 0x76ED # <CJK>
-0x26943 0x77CC # <CJK>
-0x26944 0x77CE # <CJK>
-0x26945 0x77CF # <CJK>
-0x26946 0x77CD # <CJK>
-0x26947 0x77F2 # <CJK>
-0x26948 0x7925 # <CJK>
-0x26949 0x7923 # <CJK>
-0x2694A 0x7927 # <CJK>
-0x2694B 0x7928 # <CJK>
-0x2694C 0x7924 # <CJK>
-0x2694D 0x7929 # <CJK>
-0x2694E 0x79B2 # <CJK>
-0x2694F 0x7A6E # <CJK>
-0x26950 0x7A6C # <CJK>
-0x26951 0x7A6D # <CJK>
-0x26952 0x7AF7 # <CJK>
-0x26953 0x7C49 # <CJK>
-0x26954 0x7C48 # <CJK>
-0x26955 0x7C4A # <CJK>
-0x26956 0x7C47 # <CJK>
-0x26957 0x7C45 # <CJK>
-0x26958 0x7CEE # <CJK>
-0x26959 0x7E7B # <CJK>
-0x2695A 0x7E7E # <CJK>
-0x2695B 0x7E81 # <CJK>
-0x2695C 0x7E80 # <CJK>
-0x2695D 0x7FBA # <CJK>
-0x2695E 0x7FFF # <CJK>
-0x2695F 0x8079 # <CJK>
-0x26960 0x81DB # <CJK>
-0x26961 0x81D9 # <CJK>
-0x26962 0x8268 # <CJK>
-0x26963 0x8269 # <CJK>
-0x26964 0x8622 # <CJK>
-0x26965 0x85FF # <CJK>
-0x26966 0x8601 # <CJK>
-0x26967 0x85FE # <CJK>
-0x26968 0x861B # <CJK>
-0x26969 0x8600 # <CJK>
-0x2696A 0x85F6 # <CJK>
-0x2696B 0x8604 # <CJK>
-0x2696C 0x8609 # <CJK>
-0x2696D 0x8605 # <CJK>
-0x2696E 0x860C # <CJK>
-0x2696F 0x85FD # <CJK>
-0x26970 0x8819 # <CJK>
-0x26971 0x8810 # <CJK>
-0x26972 0x8811 # <CJK>
-0x26973 0x8817 # <CJK>
-0x26974 0x8813 # <CJK>
-0x26975 0x8816 # <CJK>
-0x26976 0x8963 # <CJK>
-0x26977 0x8966 # <CJK>
-0x26978 0x89B9 # <CJK>
-0x26979 0x89F7 # <CJK>
-0x2697A 0x8B60 # <CJK>
-0x2697B 0x8B6A # <CJK>
-0x2697C 0x8B5D # <CJK>
-0x2697D 0x8B68 # <CJK>
-0x2697E 0x8B63 # <CJK>
-0x26A21 0x8B65 # <CJK>
-0x26A22 0x8B67 # <CJK>
-0x26A23 0x8B6D # <CJK>
-0x26A24 0x8DAE # <CJK>
-0x26A25 0x8E86 # <CJK>
-0x26A26 0x8E88 # <CJK>
-0x26A27 0x8E84 # <CJK>
-0x26A28 0x8F59 # <CJK>
-0x26A29 0x8F56 # <CJK>
-0x26A2A 0x8F57 # <CJK>
-0x26A2B 0x8F55 # <CJK>
-0x26A2C 0x8F58 # <CJK>
-0x26A2D 0x8F5A # <CJK>
-0x26A2E 0x908D # <CJK>
-0x26A2F 0x9143 # <CJK>
-0x26A30 0x9141 # <CJK>
-0x26A31 0x91B7 # <CJK>
-0x26A32 0x91B5 # <CJK>
-0x26A33 0x91B2 # <CJK>
-0x26A34 0x91B3 # <CJK>
-0x26A35 0x940B # <CJK>
-0x26A36 0x9413 # <CJK>
-0x26A37 0x93FB # <CJK>
-0x26A38 0x9420 # <CJK>
-0x26A39 0x940F # <CJK>
-0x26A3A 0x9414 # <CJK>
-0x26A3B 0x93FE # <CJK>
-0x26A3C 0x9415 # <CJK>
-0x26A3D 0x9410 # <CJK>
-0x26A3E 0x9428 # <CJK>
-0x26A3F 0x9419 # <CJK>
-0x26A40 0x940D # <CJK>
-0x26A41 0x93F5 # <CJK>
-0x26A42 0x9400 # <CJK>
-0x26A43 0x93F7 # <CJK>
-0x26A44 0x9407 # <CJK>
-0x26A45 0x940E # <CJK>
-0x26A46 0x9416 # <CJK>
-0x26A47 0x9412 # <CJK>
-0x26A48 0x93FA # <CJK>
-0x26A49 0x9409 # <CJK>
-0x26A4A 0x93F8 # <CJK>
-0x26A4B 0x943C # <CJK>
-0x26A4C 0x940A # <CJK>
-0x26A4D 0x93FF # <CJK>
-0x26A4E 0x93FC # <CJK>
-0x26A4F 0x940C # <CJK>
-0x26A50 0x93F6 # <CJK>
-0x26A51 0x9411 # <CJK>
-0x26A52 0x9406 # <CJK>
-0x26A53 0x95DE # <CJK>
-0x26A54 0x95E0 # <CJK>
-0x26A55 0x95DF # <CJK>
-0x26A56 0x972E # <CJK>
-0x26A57 0x972F # <CJK>
-0x26A58 0x97B9 # <CJK>
-0x26A59 0x97BB # <CJK>
-0x26A5A 0x97FD # <CJK>
-0x26A5B 0x97FE # <CJK>
-0x26A5C 0x9860 # <CJK>
-0x26A5D 0x9862 # <CJK>
-0x26A5E 0x9863 # <CJK>
-0x26A5F 0x985F # <CJK>
-0x26A60 0x98C1 # <CJK>
-0x26A61 0x98C2 # <CJK>
-0x26A62 0x9950 # <CJK>
-0x26A63 0x994E # <CJK>
-0x26A64 0x9959 # <CJK>
-0x26A65 0x994C # <CJK>
-0x26A66 0x994B # <CJK>
-0x26A67 0x9953 # <CJK>
-0x26A68 0x9A32 # <CJK>
-0x26A69 0x9A34 # <CJK>
-0x26A6A 0x9A31 # <CJK>
-0x26A6B 0x9A2C # <CJK>
-0x26A6C 0x9A2A # <CJK>
-0x26A6D 0x9A36 # <CJK>
-0x26A6E 0x9A29 # <CJK>
-0x26A6F 0x9A2E # <CJK>
-0x26A70 0x9A38 # <CJK>
-0x26A71 0x9A2D # <CJK>
-0x26A72 0x9AC7 # <CJK>
-0x26A73 0x9ACA # <CJK>
-0x26A74 0x9AC6 # <CJK>
-0x26A75 0x9B10 # <CJK>
-0x26A76 0x9B12 # <CJK>
-0x26A77 0x9B11 # <CJK>
-0x26A78 0x9C0B # <CJK>
-0x26A79 0x9C08 # <CJK>
-0x26A7A 0x9BF7 # <CJK>
-0x26A7B 0x9C05 # <CJK>
-0x26A7C 0x9C12 # <CJK>
-0x26A7D 0x9BF8 # <CJK>
-0x26A7E 0x9C40 # <CJK>
-0x26B21 0x9C07 # <CJK>
-0x26B22 0x9C0E # <CJK>
-0x26B23 0x9C06 # <CJK>
-0x26B24 0x9C17 # <CJK>
-0x26B25 0x9C14 # <CJK>
-0x26B26 0x9C09 # <CJK>
-0x26B27 0x9D9F # <CJK>
-0x26B28 0x9D99 # <CJK>
-0x26B29 0x9DA4 # <CJK>
-0x26B2A 0x9D9D # <CJK>
-0x26B2B 0x9D92 # <CJK>
-0x26B2C 0x9D98 # <CJK>
-0x26B2D 0x9D90 # <CJK>
-0x26B2E 0x9D9B # <CJK>
-0x26B2F 0x9DA0 # <CJK>
-0x26B30 0x9D94 # <CJK>
-0x26B31 0x9D9C # <CJK>
-0x26B32 0x9DAA # <CJK>
-0x26B33 0x9D97 # <CJK>
-0x26B34 0x9DA1 # <CJK>
-0x26B35 0x9D9A # <CJK>
-0x26B36 0x9DA2 # <CJK>
-0x26B37 0x9DA8 # <CJK>
-0x26B38 0x9D9E # <CJK>
-0x26B39 0x9DA3 # <CJK>
-0x26B3A 0x9DBF # <CJK>
-0x26B3B 0x9DA9 # <CJK>
-0x26B3C 0x9D96 # <CJK>
-0x26B3D 0x9DA6 # <CJK>
-0x26B3E 0x9DA7 # <CJK>
-0x26B3F 0x9E99 # <CJK>
-0x26B40 0x9E9B # <CJK>
-0x26B41 0x9E9A # <CJK>
-0x26B42 0x9EE5 # <CJK>
-0x26B43 0x9EE4 # <CJK>
-0x26B44 0x9EE7 # <CJK>
-0x26B45 0x9EE6 # <CJK>
-0x26B46 0x9F30 # <CJK>
-0x26B47 0x9F2E # <CJK>
-0x26B48 0x9F5B # <CJK>
-0x26B49 0x9F60 # <CJK>
-0x26B4A 0x9F5E # <CJK>
-0x26B4B 0x9F5D # <CJK>
-0x26B4C 0x9F59 # <CJK>
-0x26B4D 0x9F91 # <CJK>
-0x26B4E 0x513A # <CJK>
-0x26B4F 0x5139 # <CJK>
-0x26B50 0x5298 # <CJK>
-0x26B51 0x5297 # <CJK>
-0x26B52 0x56C3 # <CJK>
-0x26B53 0x56BD # <CJK>
-0x26B54 0x56BE # <CJK>
-0x26B55 0x5B48 # <CJK>
-0x26B56 0x5B47 # <CJK>
-0x26B57 0x5DCB # <CJK>
-0x26B58 0x5DCF # <CJK>
-0x26B59 0x5EF1 # <CJK>
-0x26B5A 0x61FD # <CJK>
-0x26B5B 0x651B # <CJK>
-0x26B5C 0x6B02 # <CJK>
-0x26B5D 0x6AFC # <CJK>
-0x26B5E 0x6B03 # <CJK>
-0x26B5F 0x6AF8 # <CJK>
-0x26B60 0x6B00 # <CJK>
-0x26B61 0x7043 # <CJK>
-0x26B62 0x7044 # <CJK>
-0x26B63 0x704A # <CJK>
-0x26B64 0x7048 # <CJK>
-0x26B65 0x7049 # <CJK>
-0x26B66 0x7045 # <CJK>
-0x26B67 0x7046 # <CJK>
-0x26B68 0x721D # <CJK>
-0x26B69 0x721A # <CJK>
-0x26B6A 0x7219 # <CJK>
-0x26B6B 0x737E # <CJK>
-0x26B6C 0x7517 # <CJK>
-0x26B6D 0x766A # <CJK>
-0x26B6E 0x77D0 # <CJK>
-0x26B6F 0x792D # <CJK>
-0x26B70 0x7931 # <CJK>
-0x26B71 0x792F # <CJK>
-0x26B72 0x7C54 # <CJK>
-0x26B73 0x7C53 # <CJK>
-0x26B74 0x7CF2 # <CJK>
-0x26B75 0x7E8A # <CJK>
-0x26B76 0x7E87 # <CJK>
-0x26B77 0x7E88 # <CJK>
-0x26B78 0x7E8B # <CJK>
-0x26B79 0x7E86 # <CJK>
-0x26B7A 0x7E8D # <CJK>
-0x26B7B 0x7F4D # <CJK>
-0x26B7C 0x7FBB # <CJK>
-0x26B7D 0x8030 # <CJK>
-0x26B7E 0x81DD # <CJK>
-0x26C21 0x8618 # <CJK>
-0x26C22 0x862A # <CJK>
-0x26C23 0x8626 # <CJK>
-0x26C24 0x861F # <CJK>
-0x26C25 0x8623 # <CJK>
-0x26C26 0x861C # <CJK>
-0x26C27 0x8619 # <CJK>
-0x26C28 0x8627 # <CJK>
-0x26C29 0x862E # <CJK>
-0x26C2A 0x8621 # <CJK>
-0x26C2B 0x8620 # <CJK>
-0x26C2C 0x8629 # <CJK>
-0x26C2D 0x861E # <CJK>
-0x26C2E 0x8625 # <CJK>
-0x26C2F 0x8829 # <CJK>
-0x26C30 0x881D # <CJK>
-0x26C31 0x881B # <CJK>
-0x26C32 0x8820 # <CJK>
-0x26C33 0x8824 # <CJK>
-0x26C34 0x881C # <CJK>
-0x26C35 0x882B # <CJK>
-0x26C36 0x884A # <CJK>
-0x26C37 0x896D # <CJK>
-0x26C38 0x8969 # <CJK>
-0x26C39 0x896E # <CJK>
-0x26C3A 0x896B # <CJK>
-0x26C3B 0x89FA # <CJK>
-0x26C3C 0x8B79 # <CJK>
-0x26C3D 0x8B78 # <CJK>
-0x26C3E 0x8B45 # <CJK>
-0x26C3F 0x8B7A # <CJK>
-0x26C40 0x8B7B # <CJK>
-0x26C41 0x8D10 # <CJK>
-0x26C42 0x8D14 # <CJK>
-0x26C43 0x8DAF # <CJK>
-0x26C44 0x8E8E # <CJK>
-0x26C45 0x8E8C # <CJK>
-0x26C46 0x8F5E # <CJK>
-0x26C47 0x8F5B # <CJK>
-0x26C48 0x8F5D # <CJK>
-0x26C49 0x9146 # <CJK>
-0x26C4A 0x9144 # <CJK>
-0x26C4B 0x9145 # <CJK>
-0x26C4C 0x91B9 # <CJK>
-0x26C4D 0x943F # <CJK>
-0x26C4E 0x943B # <CJK>
-0x26C4F 0x9436 # <CJK>
-0x26C50 0x9429 # <CJK>
-0x26C51 0x943D # <CJK>
-0x26C52 0x9430 # <CJK>
-0x26C53 0x9439 # <CJK>
-0x26C54 0x942A # <CJK>
-0x26C55 0x9437 # <CJK>
-0x26C56 0x942C # <CJK>
-0x26C57 0x9440 # <CJK>
-0x26C58 0x9431 # <CJK>
-0x26C59 0x95E5 # <CJK>
-0x26C5A 0x95E4 # <CJK>
-0x26C5B 0x95E3 # <CJK>
-0x26C5C 0x9735 # <CJK>
-0x26C5D 0x973A # <CJK>
-0x26C5E 0x97BF # <CJK>
-0x26C5F 0x97E1 # <CJK>
-0x26C60 0x9864 # <CJK>
-0x26C61 0x98C9 # <CJK>
-0x26C62 0x98C6 # <CJK>
-0x26C63 0x98C0 # <CJK>
-0x26C64 0x9958 # <CJK>
-0x26C65 0x9956 # <CJK>
-0x26C66 0x9A39 # <CJK>
-0x26C67 0x9A3D # <CJK>
-0x26C68 0x9A46 # <CJK>
-0x26C69 0x9A44 # <CJK>
-0x26C6A 0x9A42 # <CJK>
-0x26C6B 0x9A41 # <CJK>
-0x26C6C 0x9A3A # <CJK>
-0x26C6D 0x9A3F # <CJK>
-0x26C6E 0x9ACD # <CJK>
-0x26C6F 0x9B15 # <CJK>
-0x26C70 0x9B17 # <CJK>
-0x26C71 0x9B18 # <CJK>
-0x26C72 0x9B16 # <CJK>
-0x26C73 0x9B3A # <CJK>
-0x26C74 0x9B52 # <CJK>
-0x26C75 0x9C2B # <CJK>
-0x26C76 0x9C1D # <CJK>
-0x26C77 0x9C1C # <CJK>
-0x26C78 0x9C2C # <CJK>
-0x26C79 0x9C23 # <CJK>
-0x26C7A 0x9C28 # <CJK>
-0x26C7B 0x9C29 # <CJK>
-0x26C7C 0x9C24 # <CJK>
-0x26C7D 0x9C21 # <CJK>
-0x26C7E 0x9DB7 # <CJK>
-0x26D21 0x9DB6 # <CJK>
-0x26D22 0x9DBC # <CJK>
-0x26D23 0x9DC1 # <CJK>
-0x26D24 0x9DC7 # <CJK>
-0x26D25 0x9DCA # <CJK>
-0x26D26 0x9DCF # <CJK>
-0x26D27 0x9DBE # <CJK>
-0x26D28 0x9DC5 # <CJK>
-0x26D29 0x9DC3 # <CJK>
-0x26D2A 0x9DBB # <CJK>
-0x26D2B 0x9DB5 # <CJK>
-0x26D2C 0x9DCE # <CJK>
-0x26D2D 0x9DB9 # <CJK>
-0x26D2E 0x9DBA # <CJK>
-0x26D2F 0x9DAC # <CJK>
-0x26D30 0x9DC8 # <CJK>
-0x26D31 0x9DB1 # <CJK>
-0x26D32 0x9DAD # <CJK>
-0x26D33 0x9DCC # <CJK>
-0x26D34 0x9DB3 # <CJK>
-0x26D35 0x9DCD # <CJK>
-0x26D36 0x9DB2 # <CJK>
-0x26D37 0x9E7A # <CJK>
-0x26D38 0x9E9C # <CJK>
-0x26D39 0x9EEB # <CJK>
-0x26D3A 0x9EEE # <CJK>
-0x26D3B 0x9EED # <CJK>
-0x26D3C 0x9F1B # <CJK>
-0x26D3D 0x9F18 # <CJK>
-0x26D3E 0x9F1A # <CJK>
-0x26D3F 0x9F31 # <CJK>
-0x26D40 0x9F4E # <CJK>
-0x26D41 0x9F65 # <CJK>
-0x26D42 0x9F64 # <CJK>
-0x26D43 0x9F92 # <CJK>
-0x26D44 0x4EB9 # <CJK>
-0x26D45 0x56C6 # <CJK>
-0x26D46 0x56C5 # <CJK>
-0x26D47 0x56CB # <CJK>
-0x26D48 0x5971 # <CJK>
-0x26D49 0x5B4B # <CJK>
-0x26D4A 0x5B4C # <CJK>
-0x26D4B 0x5DD5 # <CJK>
-0x26D4C 0x5DD1 # <CJK>
-0x26D4D 0x5EF2 # <CJK>
-0x26D4E 0x6521 # <CJK>
-0x26D4F 0x6520 # <CJK>
-0x26D50 0x6526 # <CJK>
-0x26D51 0x6522 # <CJK>
-0x26D52 0x6B0B # <CJK>
-0x26D53 0x6B08 # <CJK>
-0x26D54 0x6B09 # <CJK>
-0x26D55 0x6C0D # <CJK>
-0x26D56 0x7055 # <CJK>
-0x26D57 0x7056 # <CJK>
-0x26D58 0x7057 # <CJK>
-0x26D59 0x7052 # <CJK>
-0x26D5A 0x721E # <CJK>
-0x26D5B 0x721F # <CJK>
-0x26D5C 0x72A9 # <CJK>
-0x26D5D 0x737F # <CJK>
-0x26D5E 0x74D8 # <CJK>
-0x26D5F 0x74D5 # <CJK>
-0x26D60 0x74D9 # <CJK>
-0x26D61 0x74D7 # <CJK>
-0x26D62 0x766D # <CJK>
-0x26D63 0x76AD # <CJK>
-0x26D64 0x7935 # <CJK>
-0x26D65 0x79B4 # <CJK>
-0x26D66 0x7A70 # <CJK>
-0x26D67 0x7A71 # <CJK>
-0x26D68 0x7C57 # <CJK>
-0x26D69 0x7C5C # <CJK>
-0x26D6A 0x7C59 # <CJK>
-0x26D6B 0x7C5B # <CJK>
-0x26D6C 0x7C5A # <CJK>
-0x26D6D 0x7CF4 # <CJK>
-0x26D6E 0x7CF1 # <CJK>
-0x26D6F 0x7E91 # <CJK>
-0x26D70 0x7F4F # <CJK>
-0x26D71 0x7F87 # <CJK>
-0x26D72 0x81DE # <CJK>
-0x26D73 0x826B # <CJK>
-0x26D74 0x8634 # <CJK>
-0x26D75 0x8635 # <CJK>
-0x26D76 0x8633 # <CJK>
-0x26D77 0x862C # <CJK>
-0x26D78 0x8632 # <CJK>
-0x26D79 0x8636 # <CJK>
-0x26D7A 0x882C # <CJK>
-0x26D7B 0x8828 # <CJK>
-0x26D7C 0x8826 # <CJK>
-0x26D7D 0x882A # <CJK>
-0x26D7E 0x8825 # <CJK>
-0x26E21 0x8971 # <CJK>
-0x26E22 0x89BF # <CJK>
-0x26E23 0x89BE # <CJK>
-0x26E24 0x89FB # <CJK>
-0x26E25 0x8B7E # <CJK>
-0x26E26 0x8B84 # <CJK>
-0x26E27 0x8B82 # <CJK>
-0x26E28 0x8B86 # <CJK>
-0x26E29 0x8B85 # <CJK>
-0x26E2A 0x8B7F # <CJK>
-0x26E2B 0x8D15 # <CJK>
-0x26E2C 0x8E95 # <CJK>
-0x26E2D 0x8E94 # <CJK>
-0x26E2E 0x8E9A # <CJK>
-0x26E2F 0x8E92 # <CJK>
-0x26E30 0x8E90 # <CJK>
-0x26E31 0x8E96 # <CJK>
-0x26E32 0x8E97 # <CJK>
-0x26E33 0x8F60 # <CJK>
-0x26E34 0x8F62 # <CJK>
-0x26E35 0x9147 # <CJK>
-0x26E36 0x944C # <CJK>
-0x26E37 0x9450 # <CJK>
-0x26E38 0x944A # <CJK>
-0x26E39 0x944B # <CJK>
-0x26E3A 0x944F # <CJK>
-0x26E3B 0x9447 # <CJK>
-0x26E3C 0x9445 # <CJK>
-0x26E3D 0x9448 # <CJK>
-0x26E3E 0x9449 # <CJK>
-0x26E3F 0x9446 # <CJK>
-0x26E40 0x973F # <CJK>
-0x26E41 0x97E3 # <CJK>
-0x26E42 0x986A # <CJK>
-0x26E43 0x9869 # <CJK>
-0x26E44 0x98CB # <CJK>
-0x26E45 0x9954 # <CJK>
-0x26E46 0x995B # <CJK>
-0x26E47 0x9A4E # <CJK>
-0x26E48 0x9A53 # <CJK>
-0x26E49 0x9A54 # <CJK>
-0x26E4A 0x9A4C # <CJK>
-0x26E4B 0x9A4F # <CJK>
-0x26E4C 0x9A48 # <CJK>
-0x26E4D 0x9A4A # <CJK>
-0x26E4E 0x9A49 # <CJK>
-0x26E4F 0x9A52 # <CJK>
-0x26E50 0x9A50 # <CJK>
-0x26E51 0x9AD0 # <CJK>
-0x26E52 0x9B19 # <CJK>
-0x26E53 0x9B2B # <CJK>
-0x26E54 0x9B3B # <CJK>
-0x26E55 0x9B56 # <CJK>
-0x26E56 0x9B55 # <CJK>
-0x26E57 0x9C46 # <CJK>
-0x26E58 0x9C48 # <CJK>
-0x26E59 0x9C3F # <CJK>
-0x26E5A 0x9C44 # <CJK>
-0x26E5B 0x9C39 # <CJK>
-0x26E5C 0x9C33 # <CJK>
-0x26E5D 0x9C41 # <CJK>
-0x26E5E 0x9C3C # <CJK>
-0x26E5F 0x9C37 # <CJK>
-0x26E60 0x9C34 # <CJK>
-0x26E61 0x9C32 # <CJK>
-0x26E62 0x9C3D # <CJK>
-0x26E63 0x9C36 # <CJK>
-0x26E64 0x9DDB # <CJK>
-0x26E65 0x9DD2 # <CJK>
-0x26E66 0x9DDE # <CJK>
-0x26E67 0x9DDA # <CJK>
-0x26E68 0x9DCB # <CJK>
-0x26E69 0x9DD0 # <CJK>
-0x26E6A 0x9DDC # <CJK>
-0x26E6B 0x9DD1 # <CJK>
-0x26E6C 0x9DDF # <CJK>
-0x26E6D 0x9DE9 # <CJK>
-0x26E6E 0x9DD9 # <CJK>
-0x26E6F 0x9DD8 # <CJK>
-0x26E70 0x9DD6 # <CJK>
-0x26E71 0x9DF5 # <CJK>
-0x26E72 0x9DD5 # <CJK>
-0x26E73 0x9DDD # <CJK>
-0x26E74 0x9EB6 # <CJK>
-0x26E75 0x9EF0 # <CJK>
-0x26E76 0x9F35 # <CJK>
-0x26E77 0x9F33 # <CJK>
-0x26E78 0x9F32 # <CJK>
-0x26E79 0x9F42 # <CJK>
-0x26E7A 0x9F6B # <CJK>
-0x26E7B 0x9F95 # <CJK>
-0x26E7C 0x9FA2 # <CJK>
-0x26E7D 0x513D # <CJK>
-0x26E7E 0x5299 # <CJK>
-0x26F21 0x58E8 # <CJK>
-0x26F22 0x58E7 # <CJK>
-0x26F23 0x5972 # <CJK>
-0x26F24 0x5B4D # <CJK>
-0x26F25 0x5DD8 # <CJK>
-0x26F26 0x882F # <CJK>
-0x26F27 0x5F4F # <CJK>
-0x26F28 0x6201 # <CJK>
-0x26F29 0x6203 # <CJK>
-0x26F2A 0x6204 # <CJK>
-0x26F2B 0x6529 # <CJK>
-0x26F2C 0x6525 # <CJK>
-0x26F2D 0x6596 # <CJK>
-0x26F2E 0x66EB # <CJK>
-0x26F2F 0x6B11 # <CJK>
-0x26F30 0x6B12 # <CJK>
-0x26F31 0x6B0F # <CJK>
-0x26F32 0x6BCA # <CJK>
-0x26F33 0x705B # <CJK>
-0x26F34 0x705A # <CJK>
-0x26F35 0x7222 # <CJK>
-0x26F36 0x7382 # <CJK>
-0x26F37 0x7381 # <CJK>
-0x26F38 0x7383 # <CJK>
-0x26F39 0x7670 # <CJK>
-0x26F3A 0x77D4 # <CJK>
-0x26F3B 0x7C67 # <CJK>
-0x26F3C 0x7C66 # <CJK>
-0x26F3D 0x7E95 # <CJK>
-0x26F3E 0x826C # <CJK>
-0x26F3F 0x863A # <CJK>
-0x26F40 0x8640 # <CJK>
-0x26F41 0x8639 # <CJK>
-0x26F42 0x863C # <CJK>
-0x26F43 0x8631 # <CJK>
-0x26F44 0x863B # <CJK>
-0x26F45 0x863E # <CJK>
-0x26F46 0x8830 # <CJK>
-0x26F47 0x8832 # <CJK>
-0x26F48 0x882E # <CJK>
-0x26F49 0x8833 # <CJK>
-0x26F4A 0x8976 # <CJK>
-0x26F4B 0x8974 # <CJK>
-0x26F4C 0x8973 # <CJK>
-0x26F4D 0x89FE # <CJK>
-0x26F4E 0x8B8C # <CJK>
-0x26F4F 0x8B8E # <CJK>
-0x26F50 0x8B8B # <CJK>
-0x26F51 0x8B88 # <CJK>
-0x26F52 0x8C45 # <CJK>
-0x26F53 0x8D19 # <CJK>
-0x26F54 0x8E98 # <CJK>
-0x26F55 0x8F64 # <CJK>
-0x26F56 0x8F63 # <CJK>
-0x26F57 0x91BC # <CJK>
-0x26F58 0x9462 # <CJK>
-0x26F59 0x9455 # <CJK>
-0x26F5A 0x945D # <CJK>
-0x26F5B 0x9457 # <CJK>
-0x26F5C 0x945E # <CJK>
-0x26F5D 0x97C4 # <CJK>
-0x26F5E 0x97C5 # <CJK>
-0x26F5F 0x9800 # <CJK>
-0x26F60 0x9A56 # <CJK>
-0x26F61 0x9A59 # <CJK>
-0x26F62 0x9B1E # <CJK>
-0x26F63 0x9B1F # <CJK>
-0x26F64 0x9B20 # <CJK>
-0x26F65 0x9C52 # <CJK>
-0x26F66 0x9C58 # <CJK>
-0x26F67 0x9C50 # <CJK>
-0x26F68 0x9C4A # <CJK>
-0x26F69 0x9C4D # <CJK>
-0x26F6A 0x9C4B # <CJK>
-0x26F6B 0x9C55 # <CJK>
-0x26F6C 0x9C59 # <CJK>
-0x26F6D 0x9C4C # <CJK>
-0x26F6E 0x9C4E # <CJK>
-0x26F6F 0x9DFB # <CJK>
-0x26F70 0x9DF7 # <CJK>
-0x26F71 0x9DEF # <CJK>
-0x26F72 0x9DE3 # <CJK>
-0x26F73 0x9DEB # <CJK>
-0x26F74 0x9DF8 # <CJK>
-0x26F75 0x9DE4 # <CJK>
-0x26F76 0x9DF6 # <CJK>
-0x26F77 0x9DE1 # <CJK>
-0x26F78 0x9DEE # <CJK>
-0x26F79 0x9DE6 # <CJK>
-0x26F7A 0x9DF2 # <CJK>
-0x26F7B 0x9DF0 # <CJK>
-0x26F7C 0x9DE2 # <CJK>
-0x26F7D 0x9DEC # <CJK>
-0x26F7E 0x9DF4 # <CJK>
-0x27021 0x9DF3 # <CJK>
-0x27022 0x9DE8 # <CJK>
-0x27023 0x9DED # <CJK>
-0x27024 0x9EC2 # <CJK>
-0x27025 0x9ED0 # <CJK>
-0x27026 0x9EF2 # <CJK>
-0x27027 0x9EF3 # <CJK>
-0x27028 0x9F06 # <CJK>
-0x27029 0x9F1C # <CJK>
-0x2702A 0x9F38 # <CJK>
-0x2702B 0x9F37 # <CJK>
-0x2702C 0x9F36 # <CJK>
-0x2702D 0x9F43 # <CJK>
-0x2702E 0x9F4F # <CJK>
-0x2702F 0x9F71 # <CJK>
-0x27030 0x9F70 # <CJK>
-0x27031 0x9F6E # <CJK>
-0x27032 0x9F6F # <CJK>
-0x27033 0x56D3 # <CJK>
-0x27034 0x56CD # <CJK>
-0x27035 0x5B4E # <CJK>
-0x27036 0x5C6D # <CJK>
-0x27037 0x652D # <CJK>
-0x27038 0x66ED # <CJK>
-0x27039 0x66EE # <CJK>
-0x2703A 0x6B13 # <CJK>
-0x2703B 0x705F # <CJK>
-0x2703C 0x7061 # <CJK>
-0x2703D 0x705D # <CJK>
-0x2703E 0x7060 # <CJK>
-0x2703F 0x7223 # <CJK>
-0x27040 0x74DB # <CJK>
-0x27041 0x74E5 # <CJK>
-0x27042 0x77D5 # <CJK>
-0x27043 0x7938 # <CJK>
-0x27044 0x79B7 # <CJK>
-0x27045 0x79B6 # <CJK>
-0x27046 0x7C6A # <CJK>
-0x27047 0x7E97 # <CJK>
-0x27048 0x7F89 # <CJK>
-0x27049 0x826D # <CJK>
-0x2704A 0x8643 # <CJK>
-0x2704B 0x8838 # <CJK>
-0x2704C 0x8837 # <CJK>
-0x2704D 0x8835 # <CJK>
-0x2704E 0x884B # <CJK>
-0x2704F 0x8B94 # <CJK>
-0x27050 0x8B95 # <CJK>
-0x27051 0x8E9E # <CJK>
-0x27052 0x8E9F # <CJK>
-0x27053 0x8EA0 # <CJK>
-0x27054 0x8E9D # <CJK>
-0x27055 0x91BE # <CJK>
-0x27056 0x91BD # <CJK>
-0x27057 0x91C2 # <CJK>
-0x27058 0x946B # <CJK>
-0x27059 0x9468 # <CJK>
-0x2705A 0x9469 # <CJK>
-0x2705B 0x96E5 # <CJK>
-0x2705C 0x9746 # <CJK>
-0x2705D 0x9743 # <CJK>
-0x2705E 0x9747 # <CJK>
-0x2705F 0x97C7 # <CJK>
-0x27060 0x97E5 # <CJK>
-0x27061 0x9A5E # <CJK>
-0x27062 0x9AD5 # <CJK>
-0x27063 0x9B59 # <CJK>
-0x27064 0x9C63 # <CJK>
-0x27065 0x9C67 # <CJK>
-0x27066 0x9C66 # <CJK>
-0x27067 0x9C62 # <CJK>
-0x27068 0x9C5E # <CJK>
-0x27069 0x9C60 # <CJK>
-0x2706A 0x9E02 # <CJK>
-0x2706B 0x9DFE # <CJK>
-0x2706C 0x9E07 # <CJK>
-0x2706D 0x9E03 # <CJK>
-0x2706E 0x9E06 # <CJK>
-0x2706F 0x9E05 # <CJK>
-0x27070 0x9E00 # <CJK>
-0x27071 0x9E01 # <CJK>
-0x27072 0x9E09 # <CJK>
-0x27073 0x9DFF # <CJK>
-0x27074 0x9DFD # <CJK>
-0x27075 0x9E04 # <CJK>
-0x27076 0x9EA0 # <CJK>
-0x27077 0x9F1E # <CJK>
-0x27078 0x9F46 # <CJK>
-0x27079 0x9F74 # <CJK>
-0x2707A 0x9F75 # <CJK>
-0x2707B 0x9F76 # <CJK>
-0x2707C 0x56D4 # <CJK>
-0x2707D 0x652E # <CJK>
-0x2707E 0x65B8 # <CJK>
-0x27121 0x6B18 # <CJK>
-0x27122 0x6B19 # <CJK>
-0x27123 0x6B17 # <CJK>
-0x27124 0x6B1A # <CJK>
-0x27125 0x7062 # <CJK>
-0x27126 0x7226 # <CJK>
-0x27127 0x72AA # <CJK>
-0x27128 0x77D8 # <CJK>
-0x27129 0x77D9 # <CJK>
-0x2712A 0x7939 # <CJK>
-0x2712B 0x7C69 # <CJK>
-0x2712C 0x7C6B # <CJK>
-0x2712D 0x7CF6 # <CJK>
-0x2712E 0x7E9A # <CJK>
-0x2712F 0x7E98 # <CJK>
-0x27130 0x7E9B # <CJK>
-0x27131 0x7E99 # <CJK>
-0x27132 0x81E0 # <CJK>
-0x27133 0x81E1 # <CJK>
-0x27134 0x8646 # <CJK>
-0x27135 0x8647 # <CJK>
-0x27136 0x8648 # <CJK>
-0x27137 0x8979 # <CJK>
-0x27138 0x897A # <CJK>
-0x27139 0x897C # <CJK>
-0x2713A 0x897B # <CJK>
-0x2713B 0x89FF # <CJK>
-0x2713C 0x8B98 # <CJK>
-0x2713D 0x8B99 # <CJK>
-0x2713E 0x8EA5 # <CJK>
-0x2713F 0x8EA4 # <CJK>
-0x27140 0x8EA3 # <CJK>
-0x27141 0x946E # <CJK>
-0x27142 0x946D # <CJK>
-0x27143 0x946F # <CJK>
-0x27144 0x9471 # <CJK>
-0x27145 0x9473 # <CJK>
-0x27146 0x9749 # <CJK>
-0x27147 0x9872 # <CJK>
-0x27148 0x995F # <CJK>
-0x27149 0x9C68 # <CJK>
-0x2714A 0x9C6E # <CJK>
-0x2714B 0x9C6D # <CJK>
-0x2714C 0x9E0B # <CJK>
-0x2714D 0x9E0D # <CJK>
-0x2714E 0x9E10 # <CJK>
-0x2714F 0x9E0F # <CJK>
-0x27150 0x9E12 # <CJK>
-0x27151 0x9E11 # <CJK>
-0x27152 0x9EA1 # <CJK>
-0x27153 0x9EF5 # <CJK>
-0x27154 0x9F09 # <CJK>
-0x27155 0x9F47 # <CJK>
-0x27156 0x9F78 # <CJK>
-0x27157 0x9F7B # <CJK>
-0x27158 0x9F7A # <CJK>
-0x27159 0x9F79 # <CJK>
-0x2715A 0x571E # <CJK>
-0x2715B 0x7066 # <CJK>
-0x2715C 0x7C6F # <CJK>
-0x2715D 0x883C # <CJK>
-0x2715E 0x8DB2 # <CJK>
-0x2715F 0x8EA6 # <CJK>
-0x27160 0x91C3 # <CJK>
-0x27161 0x9474 # <CJK>
-0x27162 0x9478 # <CJK>
-0x27163 0x9476 # <CJK>
-0x27164 0x9475 # <CJK>
-0x27165 0x9A60 # <CJK>
-0x27166 0x9B2E # <CJK>
-0x27167 0x9C74 # <CJK>
-0x27168 0x9C73 # <CJK>
-0x27169 0x9C71 # <CJK>
-0x2716A 0x9C75 # <CJK>
-0x2716B 0x9E14 # <CJK>
-0x2716C 0x9E13 # <CJK>
-0x2716D 0x9EF6 # <CJK>
-0x2716E 0x9F0A # <CJK>
-0x2716F 0x9FA4 # <CJK>
-0x27170 0x7068 # <CJK>
-0x27171 0x7065 # <CJK>
-0x27172 0x7CF7 # <CJK>
-0x27173 0x866A # <CJK>
-0x27174 0x883E # <CJK>
-0x27175 0x883D # <CJK>
-0x27176 0x883F # <CJK>
-0x27177 0x8B9E # <CJK>
-0x27178 0x8C9C # <CJK>
-0x27179 0x8EA9 # <CJK>
-0x2717A 0x8EC9 # <CJK>
-0x2717B 0x974B # <CJK>
-0x2717C 0x9873 # <CJK>
-0x2717D 0x9874 # <CJK>
-0x2717E 0x98CC # <CJK>
-0x27221 0x9961 # <CJK>
-0x27222 0x99AB # <CJK>
-0x27223 0x9A64 # <CJK>
-0x27224 0x9A66 # <CJK>
-0x27225 0x9A67 # <CJK>
-0x27226 0x9B24 # <CJK>
-0x27227 0x9E15 # <CJK>
-0x27228 0x9E17 # <CJK>
-0x27229 0x9F48 # <CJK>
-0x2722A 0x6207 # <CJK>
-0x2722B 0x6B1E # <CJK>
-0x2722C 0x7227 # <CJK>
-0x2722D 0x864C # <CJK>
-0x2722E 0x8EA8 # <CJK>
-0x2722F 0x9482 # <CJK>
-0x27230 0x9480 # <CJK>
-0x27231 0x9481 # <CJK>
-0x27232 0x9A69 # <CJK>
-0x27233 0x9A68 # <CJK>
-0x27234 0x9E19 # <CJK>
-0x27235 0x864B # <CJK>
-0x27236 0x8B9F # <CJK>
-0x27237 0x9483 # <CJK>
-0x27238 0x9C79 # <CJK>
-0x27239 0x9EB7 # <CJK>
-0x2723A 0x7675 # <CJK>
-0x2723B 0x9A6B # <CJK>
-0x2723C 0x9C7A # <CJK>
-0x2723D 0x9E1D # <CJK>
-0x2723E 0x7069 # <CJK>
-0x2723F 0x706A # <CJK>
-0x27240 0x7229 # <CJK>
-0x27241 0x9EA4 # <CJK>
-0x27242 0x9F7E # <CJK>
-0x27243 0x9F49 # <CJK>
-0x27244 0x9F98 # <CJK>
-0xE2121 0x4E28 # <CJK>
-0xE2122 0x4E36 # <CJK>
-0xE2123 0x4E3F # <CJK>
-0xE2124 0x4E85 # <CJK>
-0xE2125 0x4E05 # <CJK>
-0xE2126 0x4E04 # <CJK>
-0xE2127 0x5182 # <CJK>
-0xE2128 0x5196 # <CJK>
-0xE2129 0x5338 # <CJK>
-0xE212A 0x5369 # <CJK>
-0xE212B 0x53B6 # <CJK>
-0xE212C 0x4E2A # <CJK>
-0xE212D 0x4E87 # <CJK>
-0xE212E 0x4E49 # <CJK>
-0xE212F 0x51E2 # <CJK>
-0xE2130 0x4E46 # <CJK>
-0xE2131 0x4E8F # <CJK>
-0xE2132 0x4EBC # <CJK>
-0xE2133 0x4EBE # <CJK>
-0xE2134 0x5166 # <CJK>
-0xE2135 0x51E3 # <CJK>
-0xE2136 0x5204 # <CJK>
-0xE2137 0x529C # <CJK>
-0xE2139 0x5902 # <CJK>
-0xE213A 0x590A # <CJK>
-0xE213B 0x5B80 # <CJK>
-0xE213C 0x5DDB # <CJK>
-0xE213D 0x5E7A # <CJK>
-0xE213E 0x5E7F # <CJK>
-0xE213F 0x5EF4 # <CJK>
-0xE2140 0x5F50 # <CJK>
-0xE2141 0x5F51 # <CJK>
-0xE2142 0x5F61 # <CJK>
-0xE2143 0x961D # <CJK>
-0xE2145 0x4E63 # <CJK>
-0xE2146 0x4E62 # <CJK>
-0xE2147 0x4EA3 # <CJK>
-0xE2148 0x5185 # <CJK>
-0xE2149 0x4EC5 # <CJK>
-0xE214A 0x4ECF # <CJK>
-0xE214B 0x4ECE # <CJK>
-0xE214C 0x4ECC # <CJK>
-0xE214D 0x5184 # <CJK>
-0xE214E 0x5186 # <CJK>
-0xE2151 0x51E4 # <CJK>
-0xE2152 0x5205 # <CJK>
-0xE2153 0x529E # <CJK>
-0xE2154 0x529D # <CJK>
-0xE2155 0x52FD # <CJK>
-0xE2156 0x5300 # <CJK>
-0xE2157 0x533A # <CJK>
-0xE2159 0x5346 # <CJK>
-0xE215A 0x535D # <CJK>
-0xE215B 0x5386 # <CJK>
-0xE215C 0x53B7 # <CJK>
-0xE215E 0x53CC # <CJK>
-0xE2160 0x53CE # <CJK>
-0xE2161 0x5721 # <CJK>
-0xE2163 0x5E00 # <CJK>
-0xE2164 0x5F0C # <CJK>
-0xE2165 0x6237 # <CJK>
-0xE2166 0x6238 # <CJK>
-0xE2167 0x6534 # <CJK>
-0xE2168 0x6535 # <CJK>
-0xE2169 0x65E0 # <CJK>
-0xE216B 0x738D # <CJK>
-0xE216C 0x4E97 # <CJK>
-0xE216D 0x4EE0 # <CJK>
-0xE2170 0x4EE7 # <CJK>
-0xE2172 0x4EE6 # <CJK>
-0xE2177 0x56D8 # <CJK>
-0xE2178 0x518B # <CJK>
-0xE2179 0x518C # <CJK>
-0xE217A 0x5199 # <CJK>
-0xE217B 0x51E5 # <CJK>
-0xE217D 0x520B # <CJK>
-0xE2222 0x5304 # <CJK>
-0xE2223 0x5303 # <CJK>
-0xE2224 0x5307 # <CJK>
-0xE2226 0x531E # <CJK>
-0xE2227 0x535F # <CJK>
-0xE2228 0x536D # <CJK>
-0xE2229 0x5389 # <CJK>
-0xE222A 0x53BA # <CJK>
-0xE222B 0x53D0 # <CJK>
-0xE222D 0x53F6 # <CJK>
-0xE222E 0x53F7 # <CJK>
-0xE222F 0x53F9 # <CJK>
-0xE2231 0x53F4 # <CJK>
-0xE2234 0x5724 # <CJK>
-0xE2235 0x5904 # <CJK>
-0xE2236 0x5918 # <CJK>
-0xE2237 0x5932 # <CJK>
-0xE2238 0x5930 # <CJK>
-0xE2239 0x5934 # <CJK>
-0xE223B 0x5975 # <CJK>
-0xE223D 0x5B82 # <CJK>
-0xE223E 0x5BF9 # <CJK>
-0xE223F 0x5C14 # <CJK>
-0xE2247 0x5E81 # <CJK>
-0xE2248 0x5E83 # <CJK>
-0xE2249 0x5F0D # <CJK>
-0xE224A 0x5F52 # <CJK>
-0xE224C 0x5FCA # <CJK>
-0xE224D 0x5FC7 # <CJK>
-0xE224E 0x6239 # <CJK>
-0xE2250 0x624F # <CJK>
-0xE2251 0x65E7 # <CJK>
-0xE2252 0x672F # <CJK>
-0xE2253 0x6B7A # <CJK>
-0xE2254 0x6C39 # <CJK>
-0xE2257 0x6C37 # <CJK>
-0xE2258 0x6C44 # <CJK>
-0xE2259 0x6C45 # <CJK>
-0xE225A 0x738C # <CJK>
-0xE225B 0x7592 # <CJK>
-0xE225C 0x7676 # <CJK>
-0xE225D 0x9093 # <CJK>
-0xE225E 0x9092 # <CJK>
-0xE2261 0x4E21 # <CJK>
-0xE2262 0x4E20 # <CJK>
-0xE2263 0x4E22 # <CJK>
-0xE2264 0x4E68 # <CJK>
-0xE2265 0x4E89 # <CJK>
-0xE2266 0x4E98 # <CJK>
-0xE2267 0x4EF9 # <CJK>
-0xE2268 0x4EEF # <CJK>
-0xE226B 0x4EF8 # <CJK>
-0xE226C 0x4F06 # <CJK>
-0xE226D 0x4F03 # <CJK>
-0xE226E 0x4EFC # <CJK>
-0xE226F 0x4EEE # <CJK>
-0xE2270 0x4F16 # <CJK>
-0xE2272 0x4F28 # <CJK>
-0xE2273 0x4F1C # <CJK>
-0xE2274 0x4F07 # <CJK>
-0xE2275 0x4F1A # <CJK>
-0xE2276 0x4EFA # <CJK>
-0xE2277 0x4F17 # <CJK>
-0xE2278 0x514A # <CJK>
-0xE227A 0x5172 # <CJK>
-0xE227C 0x51B4 # <CJK>
-0xE227D 0x51B3 # <CJK>
-0xE227E 0x51B2 # <CJK>
-0xE2322 0x51E8 # <CJK>
-0xE2324 0x5214 # <CJK>
-0xE2325 0x520F # <CJK>
-0xE2326 0x5215 # <CJK>
-0xE2327 0x5218 # <CJK>
-0xE2328 0x52A8 # <CJK>
-0xE232A 0x534B # <CJK>
-0xE232B 0x534F # <CJK>
-0xE232D 0x5350 # <CJK>
-0xE232F 0x538B # <CJK>
-0xE2331 0x53BE # <CJK>
-0xE2333 0x53D2 # <CJK>
-0xE2334 0x5416 # <CJK>
-0xE2335 0x53FF # <CJK>
-0xE2337 0x5400 # <CJK>
-0xE2339 0x5405 # <CJK>
-0xE233A 0x5413 # <CJK>
-0xE233B 0x5415 # <CJK>
-0xE233E 0x56E3 # <CJK>
-0xE233F 0x5735 # <CJK>
-0xE2340 0x5736 # <CJK>
-0xE2341 0x5731 # <CJK>
-0xE2342 0x5732 # <CJK>
-0xE2343 0x58EE # <CJK>
-0xE2344 0x5905 # <CJK>
-0xE2345 0x4E54 # <CJK>
-0xE2347 0x5936 # <CJK>
-0xE234B 0x597A # <CJK>
-0xE234D 0x5986 # <CJK>
-0xE2350 0x5B86 # <CJK>
-0xE2351 0x5F53 # <CJK>
-0xE2352 0x5C18 # <CJK>
-0xE2354 0x5C3D # <CJK>
-0xE2355 0x5C78 # <CJK>
-0xE235A 0x5C80 # <CJK>
-0xE235C 0x5E08 # <CJK>
-0xE2361 0x5EF5 # <CJK>
-0xE2362 0x5F0E # <CJK>
-0xE2366 0x5FD3 # <CJK>
-0xE2367 0x5FDA # <CJK>
-0xE2369 0x5FDB # <CJK>
-0xE236B 0x620F # <CJK>
-0xE236C 0x625D # <CJK>
-0xE236D 0x625F # <CJK>
-0xE236E 0x6267 # <CJK>
-0xE236F 0x6257 # <CJK>
-0xE2370 0x9F50 # <CJK>
-0xE2372 0x65EB # <CJK>
-0xE2373 0x65EA # <CJK>
-0xE2375 0x6737 # <CJK>
-0xE2377 0x6732 # <CJK>
-0xE2378 0x6736 # <CJK>
-0xE2379 0x6B22 # <CJK>
-0xE237A 0x6BCE # <CJK>
-0xE237C 0x6C58 # <CJK>
-0xE237D 0x6C51 # <CJK>
-0xE237E 0x6C77 # <CJK>
-0xE2421 0x6C3C # <CJK>
-0xE2423 0x6C5A # <CJK>
-0xE2425 0x6C53 # <CJK>
-0xE2426 0x706F # <CJK>
-0xE2427 0x7072 # <CJK>
-0xE2428 0x706E # <CJK>
-0xE242B 0x7073 # <CJK>
-0xE242C 0x72B1 # <CJK>
-0xE242D 0x72B2 # <CJK>
-0xE242F 0x738F # <CJK>
-0xE2433 0x793C # <CJK>
-0xE2435 0x808D # <CJK>
-0xE2436 0x808E # <CJK>
-0xE2438 0x827B # <CJK>
-0xE243A 0x8D71 # <CJK>
-0xE243B 0x8FB9 # <CJK>
-0xE243C 0x9096 # <CJK>
-0xE243D 0x909A # <CJK>
-0xE243F 0x4E24 # <CJK>
-0xE2440 0x4E71 # <CJK>
-0xE2442 0x4E9C # <CJK>
-0xE2443 0x4F45 # <CJK>
-0xE2444 0x4F4A # <CJK>
-0xE2445 0x4F39 # <CJK>
-0xE2446 0x4F37 # <CJK>
-0xE2448 0x4F32 # <CJK>
-0xE2449 0x4F42 # <CJK>
-0xE244B 0x4F44 # <CJK>
-0xE244C 0x4F4B # <CJK>
-0xE244E 0x4F40 # <CJK>
-0xE244F 0x4F35 # <CJK>
-0xE2450 0x4F31 # <CJK>
-0xE2451 0x5151 # <CJK>
-0xE2453 0x5150 # <CJK>
-0xE2454 0x514E # <CJK>
-0xE2457 0x519D # <CJK>
-0xE2459 0x51B5 # <CJK>
-0xE245A 0x51B8 # <CJK>
-0xE245B 0x51EC # <CJK>
-0xE245C 0x5223 # <CJK>
-0xE245D 0x5227 # <CJK>
-0xE245E 0x5226 # <CJK>
-0xE245F 0x521F # <CJK>
-0xE2460 0x522B # <CJK>
-0xE2461 0x5220 # <CJK>
-0xE2462 0x52B4 # <CJK>
-0xE2463 0x52B3 # <CJK>
-0xE2465 0x5325 # <CJK>
-0xE2466 0x533B # <CJK>
-0xE2467 0x5374 # <CJK>
-0xE246D 0x544D # <CJK>
-0xE2470 0x543A # <CJK>
-0xE2473 0x5444 # <CJK>
-0xE2474 0x544C # <CJK>
-0xE2475 0x5423 # <CJK>
-0xE2476 0x541A # <CJK>
-0xE2477 0x5432 # <CJK>
-0xE2478 0x544B # <CJK>
-0xE2479 0x5421 # <CJK>
-0xE247B 0x5434 # <CJK>
-0xE247C 0x5449 # <CJK>
-0xE247D 0x5450 # <CJK>
-0xE247E 0x5422 # <CJK>
-0xE2521 0x543F # <CJK>
-0xE2522 0x5451 # <CJK>
-0xE2523 0x545A # <CJK>
-0xE2524 0x542F # <CJK>
-0xE2526 0x56E9 # <CJK>
-0xE2527 0x56F2 # <CJK>
-0xE2528 0x56F3 # <CJK>
-0xE2529 0x56EF # <CJK>
-0xE252A 0x56ED # <CJK>
-0xE252B 0x56EC # <CJK>
-0xE252C 0x56E6 # <CJK>
-0xE252D 0x5748 # <CJK>
-0xE252F 0x5744 # <CJK>
-0xE2530 0x573F # <CJK>
-0xE2531 0x573C # <CJK>
-0xE2532 0x5753 # <CJK>
-0xE2533 0x5756 # <CJK>
-0xE2535 0x575F # <CJK>
-0xE2536 0x5743 # <CJK>
-0xE2537 0x5758 # <CJK>
-0xE2538 0x5757 # <CJK>
-0xE253C 0x5746 # <CJK>
-0xE253E 0x573D # <CJK>
-0xE2540 0x5742 # <CJK>
-0xE2541 0x5754 # <CJK>
-0xE2542 0x5755 # <CJK>
-0xE2543 0x58F1 # <CJK>
-0xE2544 0x58F2 # <CJK>
-0xE2545 0x58F0 # <CJK>
-0xE2546 0x590B # <CJK>
-0xE2547 0x9EA6 # <CJK>
-0xE2548 0x56F1 # <CJK>
-0xE2549 0x593D # <CJK>
-0xE254B 0x5994 # <CJK>
-0xE254C 0x598C # <CJK>
-0xE254E 0x599C # <CJK>
-0xE2551 0x599F # <CJK>
-0xE2553 0x599B # <CJK>
-0xE2555 0x5989 # <CJK>
-0xE2556 0x599A # <CJK>
-0xE2558 0x6588 # <CJK>
-0xE255A 0x5B8D # <CJK>
-0xE255C 0x5BFE # <CJK>
-0xE255D 0x5BFF # <CJK>
-0xE255E 0x5BFD # <CJK>
-0xE255F 0x5C2B # <CJK>
-0xE2561 0x5C84 # <CJK>
-0xE2562 0x5C8E # <CJK>
-0xE2563 0x5C9C # <CJK>
-0xE2566 0x5C85 # <CJK>
-0xE2567 0x5DF5 # <CJK>
-0xE2568 0x5E09 # <CJK>
-0xE256B 0x5E0B # <CJK>
-0xE256D 0x5E92 # <CJK>
-0xE256E 0x5E90 # <CJK>
-0xE256F 0x5F03 # <CJK>
-0xE2571 0x5F1E # <CJK>
-0xE2572 0x5F63 # <CJK>
-0xE2574 0x5FE7 # <CJK>
-0xE2575 0x5FFE # <CJK>
-0xE2576 0x5FE6 # <CJK>
-0xE2577 0x5FDC # <CJK>
-0xE2578 0x5FCE # <CJK>
-0xE257A 0x5FFC # <CJK>
-0xE257B 0x5FDF # <CJK>
-0xE257C 0x5FEC # <CJK>
-0xE257D 0x5FF6 # <CJK>
-0xE2621 0x5FF2 # <CJK>
-0xE2622 0x5FF0 # <CJK>
-0xE2623 0x5FF9 # <CJK>
-0xE2625 0x6213 # <CJK>
-0xE2628 0x623B # <CJK>
-0xE2629 0x623C # <CJK>
-0xE262A 0x6282 # <CJK>
-0xE262E 0x6278 # <CJK>
-0xE262F 0x628B # <CJK>
-0xE2631 0x629E # <CJK>
-0xE2632 0x62A5 # <CJK>
-0xE2633 0x629B # <CJK>
-0xE2634 0x629C # <CJK>
-0xE2635 0x6299 # <CJK>
-0xE2636 0x628D # <CJK>
-0xE2637 0x6285 # <CJK>
-0xE2638 0x629D # <CJK>
-0xE2639 0x6275 # <CJK>
-0xE263D 0x65F6 # <CJK>
-0xE2641 0x66F5 # <CJK>
-0xE2642 0x675B # <CJK>
-0xE2644 0x6754 # <CJK>
-0xE2645 0x6752 # <CJK>
-0xE2647 0x6758 # <CJK>
-0xE2648 0x6744 # <CJK>
-0xE2649 0x674A # <CJK>
-0xE264A 0x6761 # <CJK>
-0xE264C 0x6C7F # <CJK>
-0xE264D 0x6C91 # <CJK>
-0xE264E 0x6C9E # <CJK>
-0xE2650 0x6C6E # <CJK>
-0xE2651 0x6C7C # <CJK>
-0xE2652 0x6C9F # <CJK>
-0xE2653 0x6C75 # <CJK>
-0xE2655 0x6C56 # <CJK>
-0xE2656 0x6CA2 # <CJK>
-0xE2657 0x6C79 # <CJK>
-0xE2659 0x6CA1 # <CJK>
-0xE265B 0x6CAA # <CJK>
-0xE265C 0x6CA0 # <CJK>
-0xE265E 0x7079 # <CJK>
-0xE265F 0x7077 # <CJK>
-0xE2660 0x707E # <CJK>
-0xE2662 0x7075 # <CJK>
-0xE2663 0x707B # <CJK>
-0xE2664 0x7264 # <CJK>
-0xE2666 0x72BB # <CJK>
-0xE2667 0x72BC # <CJK>
-0xE2668 0x72C7 # <CJK>
-0xE2669 0x72B9 # <CJK>
-0xE266A 0x72BE # <CJK>
-0xE266B 0x72B6 # <CJK>
-0xE266E 0x7398 # <CJK>
-0xE2673 0x7593 # <CJK>
-0xE2674 0x7680 # <CJK>
-0xE2676 0x7683 # <CJK>
-0xE2677 0x76C0 # <CJK>
-0xE2678 0x76C1 # <CJK>
-0xE267B 0x77F4 # <CJK>
-0xE267C 0x77F5 # <CJK>
-0xE267E 0x7ACC # <CJK>
-0xE2721 0x7ACD # <CJK>
-0xE2722 0x7CFA # <CJK>
-0xE2723 0x809F # <CJK>
-0xE2724 0x8091 # <CJK>
-0xE2725 0x8097 # <CJK>
-0xE2726 0x8094 # <CJK>
-0xE2728 0x8286 # <CJK>
-0xE2729 0x828C # <CJK>
-0xE272B 0x8295 # <CJK>
-0xE272D 0x866C # <CJK>
-0xE272F 0x8FB5 # <CJK>
-0xE2730 0x8FBE # <CJK>
-0xE2731 0x8FC7 # <CJK>
-0xE2733 0x8FC1 # <CJK>
-0xE2734 0x90A9 # <CJK>
-0xE2735 0x90A4 # <CJK>
-0xE2739 0x90A8 # <CJK>
-0xE273A 0x9627 # <CJK>
-0xE273B 0x9626 # <CJK>
-0xE273C 0x962B # <CJK>
-0xE273D 0x9633 # <CJK>
-0xE273E 0x9634 # <CJK>
-0xE273F 0x9629 # <CJK>
-0xE2740 0x4E3D # <CJK>
-0xE2742 0x4E9D # <CJK>
-0xE2743 0x4F93 # <CJK>
-0xE2744 0x4F8A # <CJK>
-0xE2747 0x4F6D # <CJK>
-0xE2748 0x4F8E # <CJK>
-0xE2749 0x4FA0 # <CJK>
-0xE274A 0x4FA2 # <CJK>
-0xE274B 0x4FA1 # <CJK>
-0xE274C 0x4F9F # <CJK>
-0xE274D 0x4FA3 # <CJK>
-0xE274F 0x4F72 # <CJK>
-0xE2751 0x4F8C # <CJK>
-0xE2752 0x5156 # <CJK>
-0xE2755 0x5190 # <CJK>
-0xE2759 0x51ED # <CJK>
-0xE275A 0x51FE # <CJK>
-0xE275B 0x522F # <CJK>
-0xE275D 0x523C # <CJK>
-0xE275E 0x5234 # <CJK>
-0xE275F 0x5239 # <CJK>
-0xE2760 0x52B9 # <CJK>
-0xE2761 0x52B5 # <CJK>
-0xE2762 0x52BF # <CJK>
-0xE2763 0x5355 # <CJK>
-0xE2765 0x5376 # <CJK>
-0xE2766 0x537A # <CJK>
-0xE2767 0x5393 # <CJK>
-0xE2769 0x53C1 # <CJK>
-0xE276A 0x53C2 # <CJK>
-0xE276B 0x53D5 # <CJK>
-0xE276C 0x5485 # <CJK>
-0xE276E 0x545F # <CJK>
-0xE276F 0x5493 # <CJK>
-0xE2770 0x5489 # <CJK>
-0xE2771 0x5479 # <CJK>
-0xE2772 0x9EFE # <CJK>
-0xE2773 0x548F # <CJK>
-0xE2774 0x5469 # <CJK>
-0xE2775 0x546D # <CJK>
-0xE2777 0x5494 # <CJK>
-0xE2778 0x546A # <CJK>
-0xE2779 0x548A # <CJK>
-0xE277B 0x56FD # <CJK>
-0xE277C 0x56FB # <CJK>
-0xE277D 0x56F8 # <CJK>
-0xE2821 0x56FC # <CJK>
-0xE2822 0x56F6 # <CJK>
-0xE2823 0x5765 # <CJK>
-0xE2824 0x5781 # <CJK>
-0xE2825 0x5763 # <CJK>
-0xE2826 0x5767 # <CJK>
-0xE2828 0x576E # <CJK>
-0xE2829 0x5778 # <CJK>
-0xE282A 0x577F # <CJK>
-0xE282D 0x58F3 # <CJK>
-0xE282E 0x594B # <CJK>
-0xE282F 0x594C # <CJK>
-0xE2833 0x59AD # <CJK>
-0xE2835 0x59C4 # <CJK>
-0xE2837 0x59C2 # <CJK>
-0xE2838 0x59B0 # <CJK>
-0xE283D 0x59BF # <CJK>
-0xE283F 0x59C9 # <CJK>
-0xE2840 0x59B8 # <CJK>
-0xE2841 0x59AC # <CJK>
-0xE2845 0x59B7 # <CJK>
-0xE2846 0x59D7 # <CJK>
-0xE2848 0x5B60 # <CJK>
-0xE284A 0x5B96 # <CJK>
-0xE284B 0x5B9E # <CJK>
-0xE284C 0x5B94 # <CJK>
-0xE284D 0x5B9F # <CJK>
-0xE284E 0x5B9D # <CJK>
-0xE2850 0x5C00 # <CJK>
-0xE2851 0x5C19 # <CJK>
-0xE2854 0x5C49 # <CJK>
-0xE2855 0x5C4A # <CJK>
-0xE2857 0x5CBB # <CJK>
-0xE2858 0x5CC1 # <CJK>
-0xE285C 0x5CB9 # <CJK>
-0xE285D 0x5C9E # <CJK>
-0xE285E 0x5CB4 # <CJK>
-0xE285F 0x5CBA # <CJK>
-0xE2860 0x5DF6 # <CJK>
-0xE2861 0x5E13 # <CJK>
-0xE2862 0x5E12 # <CJK>
-0xE2863 0x5E77 # <CJK>
-0xE2865 0x5E98 # <CJK>
-0xE2867 0x5E99 # <CJK>
-0xE2868 0x5E9D # <CJK>
-0xE2869 0x5EF8 # <CJK>
-0xE286B 0x5EF9 # <CJK>
-0xE286D 0x5F06 # <CJK>
-0xE286E 0x5F21 # <CJK>
-0xE2870 0x5F25 # <CJK>
-0xE2871 0x5F55 # <CJK>
-0xE2875 0x5F84 # <CJK>
-0xE2876 0x5F83 # <CJK>
-0xE2877 0x6030 # <CJK>
-0xE2878 0x6007 # <CJK>
-0xE287A 0x6036 # <CJK>
-0xE287E 0x5FE9 # <CJK>
-0xE2921 0x603D # <CJK>
-0xE2922 0x6008 # <CJK>
-0xE2925 0x62BA # <CJK>
-0xE2926 0x62B2 # <CJK>
-0xE2928 0x62B7 # <CJK>
-0xE2929 0x62E4 # <CJK>
-0xE292A 0x62A7 # <CJK>
-0xE292E 0x62D5 # <CJK>
-0xE292F 0x62E1 # <CJK>
-0xE2930 0x62DD # <CJK>
-0xE2931 0x62A6 # <CJK>
-0xE2932 0x62C1 # <CJK>
-0xE2933 0x62C5 # <CJK>
-0xE2934 0x62C0 # <CJK>
-0xE2935 0x62DF # <CJK>
-0xE2936 0x62E0 # <CJK>
-0xE2937 0x62DE # <CJK>
-0xE2939 0x6589 # <CJK>
-0xE293B 0x65A6 # <CJK>
-0xE293C 0x65BA # <CJK>
-0xE293E 0x65FF # <CJK>
-0xE2940 0x6617 # <CJK>
-0xE2941 0x6618 # <CJK>
-0xE2942 0x6601 # <CJK>
-0xE2943 0x65FE # <CJK>
-0xE2945 0x670C # <CJK>
-0xE2947 0x676B # <CJK>
-0xE2948 0x6796 # <CJK>
-0xE2949 0x6782 # <CJK>
-0xE294A 0x678A # <CJK>
-0xE294C 0x67A3 # <CJK>
-0xE294E 0x67A2 # <CJK>
-0xE294F 0x678F # <CJK>
-0xE2951 0x67F9 # <CJK>
-0xE2952 0x6780 # <CJK>
-0xE2953 0x6B26 # <CJK>
-0xE2954 0x6B27 # <CJK>
-0xE2955 0x6B68 # <CJK>
-0xE2956 0x6B69 # <CJK>
-0xE2958 0x6B81 # <CJK>
-0xE2959 0x6BB4 # <CJK>
-0xE295A 0x6BD1 # <CJK>
-0xE295D 0x6C1C # <CJK>
-0xE2963 0x6C97 # <CJK>
-0xE2964 0x6C6C # <CJK>
-0xE2965 0x6CDF # <CJK>
-0xE2967 0x6CEA # <CJK>
-0xE2969 0x6CE4 # <CJK>
-0xE296A 0x6CD8 # <CJK>
-0xE296B 0x6CB2 # <CJK>
-0xE296C 0x6CCE # <CJK>
-0xE296D 0x6CC8 # <CJK>
-0xE296F 0x708B # <CJK>
-0xE2970 0x7088 # <CJK>
-0xE2971 0x7090 # <CJK>
-0xE2972 0x708F # <CJK>
-0xE2974 0x7087 # <CJK>
-0xE2975 0x7089 # <CJK>
-0xE2976 0x708D # <CJK>
-0xE2977 0x7081 # <CJK>
-0xE2979 0x708C # <CJK>
-0xE297C 0x7240 # <CJK>
-0xE2A21 0x7265 # <CJK>
-0xE2A22 0x7266 # <CJK>
-0xE2A23 0x7268 # <CJK>
-0xE2A26 0x72CD # <CJK>
-0xE2A27 0x72D3 # <CJK>
-0xE2A28 0x72DB # <CJK>
-0xE2A2A 0x72CF # <CJK>
-0xE2A2B 0x73A7 # <CJK>
-0xE2A2C 0x73A3 # <CJK>
-0xE2A2D 0x739E # <CJK>
-0xE2A2F 0x73AF # <CJK>
-0xE2A32 0x73AA # <CJK>
-0xE2A33 0x739C # <CJK>
-0xE2A35 0x7542 # <CJK>
-0xE2A36 0x7544 # <CJK>
-0xE2A37 0x753B # <CJK>
-0xE2A38 0x7541 # <CJK>
-0xE2A3A 0x759B # <CJK>
-0xE2A3B 0x759E # <CJK>
-0xE2A3D 0x79C4 # <CJK>
-0xE2A3E 0x79C3 # <CJK>
-0xE2A3F 0x79C6 # <CJK>
-0xE2A42 0x79C7 # <CJK>
-0xE2A44 0x79CA # <CJK>
-0xE2A47 0x7ACF # <CJK>
-0xE2A48 0x7C76 # <CJK>
-0xE2A49 0x7C74 # <CJK>
-0xE2A4A 0x7CFF # <CJK>
-0xE2A4B 0x7CFC # <CJK>
-0xE2A4E 0x7F59 # <CJK>
-0xE2A4F 0x80A8 # <CJK>
-0xE2A52 0x80B0 # <CJK>
-0xE2A54 0x80B3 # <CJK>
-0xE2A56 0x80A4 # <CJK>
-0xE2A57 0x80B6 # <CJK>
-0xE2A58 0x80A7 # <CJK>
-0xE2A59 0x80AC # <CJK>
-0xE2A5B 0x80A6 # <CJK>
-0xE2A5C 0x5367 # <CJK>
-0xE2A5D 0x820E # <CJK>
-0xE2A5E 0x82C4 # <CJK>
-0xE2A5F 0x833E # <CJK>
-0xE2A60 0x829C # <CJK>
-0xE2A66 0x82AA # <CJK>
-0xE2A68 0x82C9 # <CJK>
-0xE2A6B 0x82A6 # <CJK>
-0xE2A6C 0x82B2 # <CJK>
-0xE2A70 0x8FCC # <CJK>
-0xE2A71 0x8FD9 # <CJK>
-0xE2A72 0x8FCA # <CJK>
-0xE2A73 0x8FD8 # <CJK>
-0xE2A74 0x8FCF # <CJK>
-0xE2A75 0x90B7 # <CJK>
-0xE2A77 0x90AD # <CJK>
-0xE2A78 0x90B9 # <CJK>
-0xE2A79 0x9637 # <CJK>
-0xE2A7B 0x9641 # <CJK>
-0xE2A7C 0x963E # <CJK>
-0xE2A7D 0x96B6 # <CJK>
-0xE2A7E 0x9751 # <CJK>
-0xE2B21 0x9763 # <CJK>
-0xE2B22 0x4E57 # <CJK>
-0xE2B23 0x4E79 # <CJK>
-0xE2B24 0x4EB2 # <CJK>
-0xE2B25 0x4EB0 # <CJK>
-0xE2B26 0x4EAF # <CJK>
-0xE2B27 0x4EB1 # <CJK>
-0xE2B28 0x4FD2 # <CJK>
-0xE2B29 0x4FD5 # <CJK>
-0xE2B2B 0x4FBE # <CJK>
-0xE2B2C 0x4FB8 # <CJK>
-0xE2B2D 0x4FB0 # <CJK>
-0xE2B2E 0x4FB1 # <CJK>
-0xE2B2F 0x4FC8 # <CJK>
-0xE2B32 0x4FC6 # <CJK>
-0xE2B33 0x4FCC # <CJK>
-0xE2B34 0x4FE5 # <CJK>
-0xE2B35 0x4FE3 # <CJK>
-0xE2B36 0x4FB4 # <CJK>
-0xE2B37 0x516A # <CJK>
-0xE2B39 0x519F # <CJK>
-0xE2B3B 0x51C1 # <CJK>
-0xE2B3D 0x51C2 # <CJK>
-0xE2B3E 0x51C3 # <CJK>
-0xE2B3F 0x5245 # <CJK>
-0xE2B40 0x5248 # <CJK>
-0xE2B43 0x524F # <CJK>
-0xE2B46 0x52C5 # <CJK>
-0xE2B47 0x52CA # <CJK>
-0xE2B48 0x52C4 # <CJK>
-0xE2B49 0x5327 # <CJK>
-0xE2B4A 0x5358 # <CJK>
-0xE2B4B 0x537D # <CJK>
-0xE2B4D 0x53DD # <CJK>
-0xE2B4E 0x53DC # <CJK>
-0xE2B4F 0x53DA # <CJK>
-0xE2B50 0x53D9 # <CJK>
-0xE2B51 0x54B9 # <CJK>
-0xE2B53 0x54D0 # <CJK>
-0xE2B54 0x54B4 # <CJK>
-0xE2B55 0x54CA # <CJK>
-0xE2B57 0x54A3 # <CJK>
-0xE2B58 0x54DA # <CJK>
-0xE2B59 0x54A4 # <CJK>
-0xE2B5B 0x54B2 # <CJK>
-0xE2B5C 0x549E # <CJK>
-0xE2B5D 0x549F # <CJK>
-0xE2B5E 0x54B5 # <CJK>
-0xE2B61 0x54CD # <CJK>
-0xE2B63 0x54CC # <CJK>
-0xE2B65 0x5700 # <CJK>
-0xE2B66 0x57AC # <CJK>
-0xE2B67 0x5791 # <CJK>
-0xE2B68 0x578E # <CJK>
-0xE2B69 0x578D # <CJK>
-0xE2B6A 0x5792 # <CJK>
-0xE2B6B 0x57A1 # <CJK>
-0xE2B6C 0x5790 # <CJK>
-0xE2B6D 0x57A6 # <CJK>
-0xE2B6E 0x57A8 # <CJK>
-0xE2B70 0x579C # <CJK>
-0xE2B71 0x5796 # <CJK>
-0xE2B72 0x57A7 # <CJK>
-0xE2B77 0x58F5 # <CJK>
-0xE2B79 0x5909 # <CJK>
-0xE2B7A 0x5908 # <CJK>
-0xE2B7C 0x5952 # <CJK>
-0xE2C21 0x59DF # <CJK>
-0xE2C23 0x59EB # <CJK>
-0xE2C24 0x59EF # <CJK>
-0xE2C25 0x59F0 # <CJK>
-0xE2C26 0x59D5 # <CJK>
-0xE2C27 0x5A0D # <CJK>
-0xE2C28 0x5A04 # <CJK>
-0xE2C29 0x59F9 # <CJK>
-0xE2C2A 0x5A02 # <CJK>
-0xE2C2B 0x59F8 # <CJK>
-0xE2C2C 0x59E2 # <CJK>
-0xE2C2D 0x59D9 # <CJK>
-0xE2C2E 0x59E7 # <CJK>
-0xE2C2F 0x5B6A # <CJK>
-0xE2C32 0x5BAB # <CJK>
-0xE2C34 0x5C1B # <CJK>
-0xE2C35 0x5C2F # <CJK>
-0xE2C37 0x663C # <CJK>
-0xE2C3B 0x5CD1 # <CJK>
-0xE2C3C 0x5CDC # <CJK>
-0xE2C3D 0x5CE6 # <CJK>
-0xE2C3E 0x5CE1 # <CJK>
-0xE2C3F 0x5CCD # <CJK>
-0xE2C41 0x5CE2 # <CJK>
-0xE2C42 0x5CDD # <CJK>
-0xE2C43 0x5CE5 # <CJK>
-0xE2C44 0x5DFB # <CJK>
-0xE2C45 0x5DFA # <CJK>
-0xE2C46 0x5E1E # <CJK>
-0xE2C48 0x5EA1 # <CJK>
-0xE2C4B 0x5EFC # <CJK>
-0xE2C4C 0x5EFB # <CJK>
-0xE2C4D 0x5F2F # <CJK>
-0xE2C50 0x5F66 # <CJK>
-0xE2C54 0x605C # <CJK>
-0xE2C56 0x604E # <CJK>
-0xE2C57 0x6051 # <CJK>
-0xE2C5A 0x6023 # <CJK>
-0xE2C5B 0x6031 # <CJK>
-0xE2C5C 0x607C # <CJK>
-0xE2C5D 0x6052 # <CJK>
-0xE2C5F 0x6060 # <CJK>
-0xE2C60 0x604A # <CJK>
-0xE2C61 0x6061 # <CJK>
-0xE2C63 0x6218 # <CJK>
-0xE2C6B 0x631F # <CJK>
-0xE2C6C 0x6317 # <CJK>
-0xE2C6D 0x62EA # <CJK>
-0xE2C6E 0x6321 # <CJK>
-0xE2C6F 0x6304 # <CJK>
-0xE2C70 0x6305 # <CJK>
-0xE2C72 0x6531 # <CJK>
-0xE2C73 0x6544 # <CJK>
-0xE2C74 0x6540 # <CJK>
-0xE2C76 0x6542 # <CJK>
-0xE2C77 0x65BE # <CJK>
-0xE2C79 0x6629 # <CJK>
-0xE2C7A 0x661B # <CJK>
-0xE2C7C 0x6623 # <CJK>
-0xE2C7D 0x662C # <CJK>
-0xE2C7E 0x661A # <CJK>
-0xE2D21 0x6630 # <CJK>
-0xE2D22 0x663B # <CJK>
-0xE2D23 0x661E # <CJK>
-0xE2D24 0x6637 # <CJK>
-0xE2D25 0x6638 # <CJK>
-0xE2D27 0x670E # <CJK>
-0xE2D2A 0x67E8 # <CJK>
-0xE2D2B 0x67D6 # <CJK>
-0xE2D2D 0x67C7 # <CJK>
-0xE2D2E 0x67BC # <CJK>
-0xE2D2F 0x6852 # <CJK>
-0xE2D30 0x67BF # <CJK>
-0xE2D31 0x67D5 # <CJK>
-0xE2D32 0x67FE # <CJK>
-0xE2D33 0x8363 # <CJK>
-0xE2D34 0x67FB # <CJK>
-0xE2D36 0x67B1 # <CJK>
-0xE2D37 0x6801 # <CJK>
-0xE2D38 0x6805 # <CJK>
-0xE2D39 0x6800 # <CJK>
-0xE2D3A 0x67D7 # <CJK>
-0xE2D3C 0x6B2A # <CJK>
-0xE2D3D 0x6B6B # <CJK>
-0xE2D42 0x6BE1 # <CJK>
-0xE2D45 0x6D23 # <CJK>
-0xE2D46 0x6CFF # <CJK>
-0xE2D47 0x6D14 # <CJK>
-0xE2D48 0x6D05 # <CJK>
-0xE2D49 0x6D13 # <CJK>
-0xE2D4A 0x6D06 # <CJK>
-0xE2D4B 0x6D21 # <CJK>
-0xE2D4D 0x6D15 # <CJK>
-0xE2D4E 0x6CAF # <CJK>
-0xE2D4F 0x6CF4 # <CJK>
-0xE2D50 0x6D02 # <CJK>
-0xE2D51 0x6D45 # <CJK>
-0xE2D53 0x6D26 # <CJK>
-0xE2D55 0x6D44 # <CJK>
-0xE2D57 0x6D24 # <CJK>
-0xE2D58 0x70A5 # <CJK>
-0xE2D5A 0x70A3 # <CJK>
-0xE2D5C 0x70A2 # <CJK>
-0xE2D5D 0x70BB # <CJK>
-0xE2D5E 0x70A0 # <CJK>
-0xE2D5F 0x70AA # <CJK>
-0xE2D62 0x70A8 # <CJK>
-0xE2D63 0x70B6 # <CJK>
-0xE2D64 0x70B2 # <CJK>
-0xE2D65 0x70A7 # <CJK>
-0xE2D68 0x70B9 # <CJK>
-0xE2D69 0x722E # <CJK>
-0xE2D6B 0x723C # <CJK>
-0xE2D6D 0x726D # <CJK>
-0xE2D70 0x72E7 # <CJK>
-0xE2D71 0x72ED # <CJK>
-0xE2D73 0x72EC # <CJK>
-0xE2D74 0x72E5 # <CJK>
-0xE2D75 0x72E2 # <CJK>
-0xE2D77 0x73C4 # <CJK>
-0xE2D78 0x73BD # <CJK>
-0xE2D79 0x73CF # <CJK>
-0xE2D7A 0x73C9 # <CJK>
-0xE2D7B 0x73C1 # <CJK>
-0xE2D7C 0x73D0 # <CJK>
-0xE2D7E 0x73CE # <CJK>
-0xE2E21 0x74ED # <CJK>
-0xE2E22 0x74EB # <CJK>
-0xE2E24 0x74EF # <CJK>
-0xE2E25 0x7549 # <CJK>
-0xE2E26 0x7550 # <CJK>
-0xE2E27 0x7546 # <CJK>
-0xE2E28 0x754A # <CJK>
-0xE2E2A 0x754D # <CJK>
-0xE2E2B 0x75A6 # <CJK>
-0xE2E2F 0x75A8 # <CJK>
-0xE2E32 0x76C7 # <CJK>
-0xE2E33 0x76FF # <CJK>
-0xE2E35 0x76FD # <CJK>
-0xE2E36 0x77E6 # <CJK>
-0xE2E37 0x780A # <CJK>
-0xE2E39 0x7804 # <CJK>
-0xE2E3A 0x780B # <CJK>
-0xE2E3B 0x7807 # <CJK>
-0xE2E3D 0x7815 # <CJK>
-0xE2E3E 0x7808 # <CJK>
-0xE2E40 0x79D3 # <CJK>
-0xE2E41 0x79D4 # <CJK>
-0xE2E42 0x79D0 # <CJK>
-0xE2E43 0x79D7 # <CJK>
-0xE2E44 0x7A7C # <CJK>
-0xE2E47 0x7A7D # <CJK>
-0xE2E48 0x7A83 # <CJK>
-0xE2E49 0x7A82 # <CJK>
-0xE2E4B 0x7AD4 # <CJK>
-0xE2E4C 0x7AD5 # <CJK>
-0xE2E4D 0x7AD3 # <CJK>
-0xE2E4E 0x7AD0 # <CJK>
-0xE2E4F 0x7AD2 # <CJK>
-0xE2E50 0x7AFE # <CJK>
-0xE2E51 0x7AFC # <CJK>
-0xE2E52 0x7C77 # <CJK>
-0xE2E53 0x7C7C # <CJK>
-0xE2E54 0x7C7B # <CJK>
-0xE2E5D 0x7F8F # <CJK>
-0xE2E5E 0x80D3 # <CJK>
-0xE2E60 0x80CB # <CJK>
-0xE2E61 0x80D2 # <CJK>
-0xE2E63 0x8109 # <CJK>
-0xE2E64 0x80E2 # <CJK>
-0xE2E65 0x80DF # <CJK>
-0xE2E66 0x80C6 # <CJK>
-0xE2E68 0x8224 # <CJK>
-0xE2E69 0x82F7 # <CJK>
-0xE2E6A 0x82D8 # <CJK>
-0xE2E6B 0x82DD # <CJK>
-0xE2E6E 0x82F8 # <CJK>
-0xE2E6F 0x82FC # <CJK>
-0xE2E72 0x82E9 # <CJK>
-0xE2E74 0x82EE # <CJK>
-0xE2E76 0x82D0 # <CJK>
-0xE2E77 0x830E # <CJK>
-0xE2E78 0x82E2 # <CJK>
-0xE2E79 0x830B # <CJK>
-0xE2E7A 0x82FD # <CJK>
-0xE2E7B 0x5179 # <CJK>
-0xE2E7C 0x8676 # <CJK>
-0xE2E7E 0x8678 # <CJK>
-0xE2F23 0x8675 # <CJK>
-0xE2F24 0x867D # <CJK>
-0xE2F26 0x8842 # <CJK>
-0xE2F27 0x8866 # <CJK>
-0xE2F29 0x898C # <CJK>
-0xE2F2A 0x8A05 # <CJK>
-0xE2F2C 0x8A06 # <CJK>
-0xE2F2E 0x8C9F # <CJK>
-0xE2F30 0x8FF1 # <CJK>
-0xE2F31 0x8FE7 # <CJK>
-0xE2F32 0x8FE9 # <CJK>
-0xE2F33 0x8FEF # <CJK>
-0xE2F34 0x90C2 # <CJK>
-0xE2F35 0x90BC # <CJK>
-0xE2F37 0x90C6 # <CJK>
-0xE2F38 0x90C0 # <CJK>
-0xE2F3B 0x90CD # <CJK>
-0xE2F3C 0x90C9 # <CJK>
-0xE2F3E 0x90C4 # <CJK>
-0xE2F40 0x9581 # <CJK>
-0xE2F42 0x9CEC # <CJK>
-0xE2F43 0x5032 # <CJK>
-0xE2F44 0x4FF9 # <CJK>
-0xE2F45 0x501D # <CJK>
-0xE2F46 0x4FFF # <CJK>
-0xE2F47 0x5004 # <CJK>
-0xE2F48 0x4FF0 # <CJK>
-0xE2F49 0x5003 # <CJK>
-0xE2F4B 0x5002 # <CJK>
-0xE2F4C 0x4FFC # <CJK>
-0xE2F4D 0x4FF2 # <CJK>
-0xE2F4E 0x5024 # <CJK>
-0xE2F4F 0x5008 # <CJK>
-0xE2F50 0x5036 # <CJK>
-0xE2F51 0x502E # <CJK>
-0xE2F53 0x5010 # <CJK>
-0xE2F54 0x5038 # <CJK>
-0xE2F55 0x5039 # <CJK>
-0xE2F56 0x4FFD # <CJK>
-0xE2F57 0x5056 # <CJK>
-0xE2F58 0x4FFB # <CJK>
-0xE2F59 0x51A3 # <CJK>
-0xE2F5A 0x51A6 # <CJK>
-0xE2F5B 0x51A1 # <CJK>
-0xE2F5E 0x51C7 # <CJK>
-0xE2F5F 0x51C9 # <CJK>
-0xE2F60 0x5260 # <CJK>
-0xE2F61 0x5264 # <CJK>
-0xE2F62 0x5259 # <CJK>
-0xE2F63 0x5265 # <CJK>
-0xE2F64 0x5267 # <CJK>
-0xE2F65 0x5257 # <CJK>
-0xE2F66 0x5263 # <CJK>
-0xE2F68 0x5253 # <CJK>
-0xE2F6A 0x52CF # <CJK>
-0xE2F6C 0x52CE # <CJK>
-0xE2F6D 0x52D0 # <CJK>
-0xE2F6E 0x52D1 # <CJK>
-0xE2F6F 0x52CC # <CJK>
-0xE2F73 0x550D # <CJK>
-0xE2F74 0x54F4 # <CJK>
-0xE2F76 0x5513 # <CJK>
-0xE2F77 0x54EF # <CJK>
-0xE2F78 0x54F5 # <CJK>
-0xE2F79 0x54F9 # <CJK>
-0xE2F7A 0x5502 # <CJK>
-0xE2F7B 0x5500 # <CJK>
-0xE2F7E 0x5518 # <CJK>
-0xE3021 0x54F0 # <CJK>
-0xE3022 0x54F6 # <CJK>
-0xE3025 0x5519 # <CJK>
-0xE3027 0x5705 # <CJK>
-0xE3028 0x57C9 # <CJK>
-0xE302A 0x57B7 # <CJK>
-0xE302B 0x57CD # <CJK>
-0xE302F 0x57BE # <CJK>
-0xE3030 0x57BB # <CJK>
-0xE3032 0x57DB # <CJK>
-0xE3033 0x57C8 # <CJK>
-0xE3034 0x57C4 # <CJK>
-0xE3035 0x57C5 # <CJK>
-0xE3036 0x57D1 # <CJK>
-0xE3037 0x57CA # <CJK>
-0xE3038 0x57C0 # <CJK>
-0xE303B 0x5A21 # <CJK>
-0xE303C 0x5A2A # <CJK>
-0xE303E 0x5A1D # <CJK>
-0xE3040 0x5A0B # <CJK>
-0xE3045 0x5A22 # <CJK>
-0xE3048 0x5A24 # <CJK>
-0xE304A 0x5A14 # <CJK>
-0xE304B 0x5A31 # <CJK>
-0xE304D 0x5A2F # <CJK>
-0xE304E 0x5A1A # <CJK>
-0xE304F 0x5A12 # <CJK>
-0xE3052 0x5A26 # <CJK>
-0xE3055 0x5BBC # <CJK>
-0xE3056 0x5BBB # <CJK>
-0xE3057 0x5BB7 # <CJK>
-0xE3058 0x5C05 # <CJK>
-0xE3059 0x5C06 # <CJK>
-0xE305A 0x5C52 # <CJK>
-0xE305B 0x5C53 # <CJK>
-0xE305E 0x5CFA # <CJK>
-0xE305F 0x5CEB # <CJK>
-0xE3061 0x5CF3 # <CJK>
-0xE3062 0x5CF5 # <CJK>
-0xE3063 0x5CE9 # <CJK>
-0xE3064 0x5CEF # <CJK>
-0xE3066 0x5E2A # <CJK>
-0xE3067 0x5E30 # <CJK>
-0xE3068 0x5E2E # <CJK>
-0xE3069 0x5E2C # <CJK>
-0xE306A 0x5E2F # <CJK>
-0xE306B 0x5EAF # <CJK>
-0xE306C 0x5EA9 # <CJK>
-0xE306E 0x5EFD # <CJK>
-0xE306F 0x5F32 # <CJK>
-0xE3070 0x5F8E # <CJK>
-0xE3071 0x5F93 # <CJK>
-0xE3072 0x5F8F # <CJK>
-0xE3073 0x604F # <CJK>
-0xE3074 0x6099 # <CJK>
-0xE3076 0x607E # <CJK>
-0xE3078 0x6074 # <CJK>
-0xE3079 0x604B # <CJK>
-0xE307A 0x6073 # <CJK>
-0xE307B 0x6075 # <CJK>
-0xE307E 0x6056 # <CJK>
-0xE3121 0x60A9 # <CJK>
-0xE3122 0x608B # <CJK>
-0xE3123 0x60A6 # <CJK>
-0xE3125 0x6093 # <CJK>
-0xE3126 0x60AE # <CJK>
-0xE3127 0x609E # <CJK>
-0xE3128 0x60A7 # <CJK>
-0xE3129 0x6245 # <CJK>
-0xE312C 0x632E # <CJK>
-0xE312E 0x6352 # <CJK>
-0xE312F 0x6330 # <CJK>
-0xE3130 0x635B # <CJK>
-0xE3132 0x6319 # <CJK>
-0xE3133 0x631B # <CJK>
-0xE3135 0x6331 # <CJK>
-0xE3136 0x635D # <CJK>
-0xE3137 0x6337 # <CJK>
-0xE3138 0x6335 # <CJK>
-0xE3139 0x6353 # <CJK>
-0xE313B 0x635C # <CJK>
-0xE313C 0x633F # <CJK>
-0xE313D 0x654B # <CJK>
-0xE3140 0x658B # <CJK>
-0xE3142 0x659A # <CJK>
-0xE3143 0x6650 # <CJK>
-0xE3144 0x6646 # <CJK>
-0xE3145 0x664E # <CJK>
-0xE3146 0x6640 # <CJK>
-0xE3148 0x664B # <CJK>
-0xE3149 0x6648 # <CJK>
-0xE314B 0x6660 # <CJK>
-0xE314C 0x6644 # <CJK>
-0xE314D 0x664D # <CJK>
-0xE314F 0x6837 # <CJK>
-0xE3150 0x6824 # <CJK>
-0xE3153 0x681B # <CJK>
-0xE3154 0x6836 # <CJK>
-0xE3156 0x682C # <CJK>
-0xE3157 0x6819 # <CJK>
-0xE3158 0x6856 # <CJK>
-0xE3159 0x6847 # <CJK>
-0xE315A 0x683E # <CJK>
-0xE315B 0x681E # <CJK>
-0xE315D 0x6815 # <CJK>
-0xE315E 0x6822 # <CJK>
-0xE315F 0x6827 # <CJK>
-0xE3160 0x6859 # <CJK>
-0xE3161 0x6858 # <CJK>
-0xE3162 0x6855 # <CJK>
-0xE3163 0x6830 # <CJK>
-0xE3164 0x6823 # <CJK>
-0xE3165 0x6B2E # <CJK>
-0xE3166 0x6B2B # <CJK>
-0xE3167 0x6B30 # <CJK>
-0xE3168 0x6B6C # <CJK>
-0xE316A 0x6B8B # <CJK>
-0xE316C 0x6BE9 # <CJK>
-0xE316D 0x6BEA # <CJK>
-0xE316E 0x6BE5 # <CJK>
-0xE316F 0x6D6B # <CJK>
-0xE3172 0x6D73 # <CJK>
-0xE3173 0x6D57 # <CJK>
-0xE3176 0x6D5D # <CJK>
-0xE3177 0x6D56 # <CJK>
-0xE3178 0x6D8F # <CJK>
-0xE3179 0x6D5B # <CJK>
-0xE317A 0x6D1C # <CJK>
-0xE317B 0x6D9A # <CJK>
-0xE317C 0x6D9B # <CJK>
-0xE317D 0x6D99 # <CJK>
-0xE3221 0x6D81 # <CJK>
-0xE3222 0x6D71 # <CJK>
-0xE3225 0x6D72 # <CJK>
-0xE3226 0x6D5C # <CJK>
-0xE3227 0x6D96 # <CJK>
-0xE3228 0x70C4 # <CJK>
-0xE3229 0x70DB # <CJK>
-0xE322A 0x70CC # <CJK>
-0xE322B 0x70D0 # <CJK>
-0xE322C 0x70E3 # <CJK>
-0xE322D 0x70DF # <CJK>
-0xE322F 0x70D6 # <CJK>
-0xE3230 0x70EE # <CJK>
-0xE3231 0x70D5 # <CJK>
-0xE3236 0x727A # <CJK>
-0xE3238 0x72F5 # <CJK>
-0xE3239 0x7302 # <CJK>
-0xE323C 0x73E2 # <CJK>
-0xE323D 0x73EC # <CJK>
-0xE323E 0x73D5 # <CJK>
-0xE323F 0x73F9 # <CJK>
-0xE3240 0x73DF # <CJK>
-0xE3241 0x73E6 # <CJK>
-0xE3246 0x73E4 # <CJK>
-0xE3247 0x73E1 # <CJK>
-0xE3248 0x74F3 # <CJK>
-0xE324D 0x7556 # <CJK>
-0xE324E 0x7555 # <CJK>
-0xE324F 0x7558 # <CJK>
-0xE3250 0x7557 # <CJK>
-0xE3251 0x755E # <CJK>
-0xE3252 0x75C3 # <CJK>
-0xE3255 0x75B4 # <CJK>
-0xE3257 0x75B1 # <CJK>
-0xE325A 0x76CB # <CJK>
-0xE325B 0x76CC # <CJK>
-0xE325C 0x772A # <CJK>
-0xE325E 0x7716 # <CJK>
-0xE325F 0x770F # <CJK>
-0xE3262 0x773F # <CJK>
-0xE3263 0x772B # <CJK>
-0xE3264 0x770E # <CJK>
-0xE3265 0x7724 # <CJK>
-0xE3267 0x7721 # <CJK>
-0xE3268 0x7718 # <CJK>
-0xE3269 0x77DD # <CJK>
-0xE326C 0x7824 # <CJK>
-0xE326D 0x7836 # <CJK>
-0xE326F 0x7958 # <CJK>
-0xE3270 0x7959 # <CJK>
-0xE3272 0x7962 # <CJK>
-0xE3273 0x79DA # <CJK>
-0xE3274 0x79D9 # <CJK>
-0xE3276 0x79E1 # <CJK>
-0xE3277 0x79E5 # <CJK>
-0xE3278 0x79E8 # <CJK>
-0xE3279 0x79DB # <CJK>
-0xE327B 0x79E2 # <CJK>
-0xE327C 0x79F0 # <CJK>
-0xE3323 0x7ADA # <CJK>
-0xE3324 0x7ADD # <CJK>
-0xE3326 0x7ADB # <CJK>
-0xE3327 0x7ADC # <CJK>
-0xE332A 0x7B0D # <CJK>
-0xE332B 0x7B0B # <CJK>
-0xE332C 0x7B14 # <CJK>
-0xE332D 0x7C8E # <CJK>
-0xE332E 0x7C86 # <CJK>
-0xE3330 0x7C87 # <CJK>
-0xE3331 0x7C83 # <CJK>
-0xE3332 0x7C8B # <CJK>
-0xE3337 0x7D24 # <CJK>
-0xE333B 0x7D25 # <CJK>
-0xE333C 0x7F62 # <CJK>
-0xE333D 0x7F93 # <CJK>
-0xE333E 0x7F99 # <CJK>
-0xE333F 0x7F97 # <CJK>
-0xE3342 0x7FC4 # <CJK>
-0xE3343 0x7FC6 # <CJK>
-0xE3344 0x800A # <CJK>
-0xE3347 0x8040 # <CJK>
-0xE3348 0x803C # <CJK>
-0xE3349 0x803B # <CJK>
-0xE334A 0x80F6 # <CJK>
-0xE334B 0x80FF # <CJK>
-0xE334C 0x80EE # <CJK>
-0xE334D 0x8104 # <CJK>
-0xE334E 0x8103 # <CJK>
-0xE334F 0x8107 # <CJK>
-0xE3352 0x80F7 # <CJK>
-0xE3355 0x822D # <CJK>
-0xE3357 0x8227 # <CJK>
-0xE3358 0x8229 # <CJK>
-0xE3359 0x831F # <CJK>
-0xE335A 0x8357 # <CJK>
-0xE335F 0x8321 # <CJK>
-0xE3362 0x8318 # <CJK>
-0xE3363 0x8358 # <CJK>
-0xE3369 0x8684 # <CJK>
-0xE336A 0x869F # <CJK>
-0xE336B 0x869B # <CJK>
-0xE336C 0x8689 # <CJK>
-0xE336D 0x86A6 # <CJK>
-0xE336E 0x8692 # <CJK>
-0xE336F 0x868F # <CJK>
-0xE3370 0x86A0 # <CJK>
-0xE3371 0x884F # <CJK>
-0xE3372 0x8878 # <CJK>
-0xE3373 0x887A # <CJK>
-0xE3374 0x886E # <CJK>
-0xE3375 0x887B # <CJK>
-0xE3376 0x8884 # <CJK>
-0xE3377 0x8873 # <CJK>
-0xE337A 0x8A0D # <CJK>
-0xE337B 0x8A0B # <CJK>
-0xE337C 0x8A19 # <CJK>
-0xE3425 0x8FF9 # <CJK>
-0xE3426 0x9009 # <CJK>
-0xE3427 0x9008 # <CJK>
-0xE3429 0x90DE # <CJK>
-0xE342A 0x9151 # <CJK>
-0xE342D 0x91DB # <CJK>
-0xE342E 0x91DF # <CJK>
-0xE342F 0x91DE # <CJK>
-0xE3430 0x91D6 # <CJK>
-0xE3431 0x91E0 # <CJK>
-0xE3432 0x9585 # <CJK>
-0xE3433 0x9660 # <CJK>
-0xE3434 0x9659 # <CJK>
-0xE3436 0x9656 # <CJK>
-0xE3439 0x96BD # <CJK>
-0xE343C 0x5042 # <CJK>
-0xE343D 0x5059 # <CJK>
-0xE343F 0x5044 # <CJK>
-0xE3440 0x5066 # <CJK>
-0xE3441 0x5052 # <CJK>
-0xE3442 0x5054 # <CJK>
-0xE3443 0x5071 # <CJK>
-0xE3444 0x5050 # <CJK>
-0xE3445 0x507B # <CJK>
-0xE3446 0x507C # <CJK>
-0xE3447 0x5058 # <CJK>
-0xE344A 0x5079 # <CJK>
-0xE344B 0x506C # <CJK>
-0xE344C 0x5078 # <CJK>
-0xE344D 0x51A8 # <CJK>
-0xE344E 0x51D1 # <CJK>
-0xE344F 0x51CF # <CJK>
-0xE3450 0x5268 # <CJK>
-0xE3451 0x5276 # <CJK>
-0xE3452 0x52D4 # <CJK>
-0xE3454 0x53A0 # <CJK>
-0xE3455 0x53C4 # <CJK>
-0xE3457 0x5558 # <CJK>
-0xE3458 0x554C # <CJK>
-0xE3459 0x5568 # <CJK>
-0xE345B 0x5549 # <CJK>
-0xE345E 0x555D # <CJK>
-0xE345F 0x5529 # <CJK>
-0xE3461 0x5554 # <CJK>
-0xE3462 0x5553 # <CJK>
-0xE3464 0x555A # <CJK>
-0xE3466 0x553A # <CJK>
-0xE3467 0x553F # <CJK>
-0xE3468 0x552B # <CJK>
-0xE3469 0x57EA # <CJK>
-0xE346B 0x57EF # <CJK>
-0xE346E 0x57DD # <CJK>
-0xE346F 0x57FE # <CJK>
-0xE3471 0x57DE # <CJK>
-0xE3472 0x57E6 # <CJK>
-0xE3474 0x57E8 # <CJK>
-0xE3475 0x57FF # <CJK>
-0xE3476 0x5803 # <CJK>
-0xE3477 0x58F7 # <CJK>
-0xE3478 0x68A6 # <CJK>
-0xE3479 0x591F # <CJK>
-0xE347B 0x595B # <CJK>
-0xE347C 0x595D # <CJK>
-0xE347D 0x595E # <CJK>
-0xE3522 0x5A2B # <CJK>
-0xE3524 0x5A3B # <CJK>
-0xE3527 0x5A61 # <CJK>
-0xE3528 0x5A3A # <CJK>
-0xE3529 0x5A6E # <CJK>
-0xE352A 0x5A4B # <CJK>
-0xE352B 0x5A6B # <CJK>
-0xE352E 0x5A45 # <CJK>
-0xE352F 0x5A4E # <CJK>
-0xE3530 0x5A68 # <CJK>
-0xE3531 0x5A3D # <CJK>
-0xE3532 0x5A71 # <CJK>
-0xE3533 0x5A3F # <CJK>
-0xE3534 0x5A6F # <CJK>
-0xE3535 0x5A75 # <CJK>
-0xE3537 0x5A73 # <CJK>
-0xE3538 0x5A2C # <CJK>
-0xE3539 0x5A59 # <CJK>
-0xE353A 0x5A54 # <CJK>
-0xE353B 0x5A4F # <CJK>
-0xE353C 0x5A63 # <CJK>
-0xE353F 0x5BC8 # <CJK>
-0xE3541 0x5BC3 # <CJK>
-0xE3543 0x5C5B # <CJK>
-0xE3544 0x5C61 # <CJK>
-0xE3546 0x5D21 # <CJK>
-0xE3547 0x5D0A # <CJK>
-0xE3548 0x5D09 # <CJK>
-0xE354A 0x5D2C # <CJK>
-0xE354B 0x5D08 # <CJK>
-0xE354E 0x5D2A # <CJK>
-0xE354F 0x5D15 # <CJK>
-0xE3551 0x5D10 # <CJK>
-0xE3552 0x5D13 # <CJK>
-0xE3554 0x5D2F # <CJK>
-0xE3555 0x5D18 # <CJK>
-0xE3557 0x5DE3 # <CJK>
-0xE3558 0x5E39 # <CJK>
-0xE3559 0x5E35 # <CJK>
-0xE355A 0x5E3A # <CJK>
-0xE355B 0x5E32 # <CJK>
-0xE3560 0x5EBB # <CJK>
-0xE3561 0x5EBA # <CJK>
-0xE3562 0x5F34 # <CJK>
-0xE3563 0x5F39 # <CJK>
-0xE3568 0x6098 # <CJK>
-0xE356A 0x60D0 # <CJK>
-0xE356E 0x60D7 # <CJK>
-0xE356F 0x60AA # <CJK>
-0xE3571 0x60A1 # <CJK>
-0xE3572 0x60A4 # <CJK>
-0xE3574 0x60EE # <CJK>
-0xE3576 0x60E7 # <CJK>
-0xE3579 0x60DE # <CJK>
-0xE357C 0x637E # <CJK>
-0xE357D 0x638B # <CJK>
-0xE3622 0x6379 # <CJK>
-0xE3623 0x6386 # <CJK>
-0xE3624 0x6393 # <CJK>
-0xE3626 0x6373 # <CJK>
-0xE3627 0x636A # <CJK>
-0xE3629 0x636C # <CJK>
-0xE362B 0x637F # <CJK>
-0xE362D 0x63B2 # <CJK>
-0xE362E 0x63BA # <CJK>
-0xE3631 0x6366 # <CJK>
-0xE3632 0x6374 # <CJK>
-0xE3634 0x655A # <CJK>
-0xE3636 0x654E # <CJK>
-0xE3637 0x654D # <CJK>
-0xE3638 0x658D # <CJK>
-0xE3639 0x658E # <CJK>
-0xE363A 0x65AD # <CJK>
-0xE363C 0x65C7 # <CJK>
-0xE363D 0x65CA # <CJK>
-0xE363F 0x65C9 # <CJK>
-0xE3641 0x65E3 # <CJK>
-0xE3642 0x6657 # <CJK>
-0xE3644 0x6663 # <CJK>
-0xE3645 0x6667 # <CJK>
-0xE3646 0x671A # <CJK>
-0xE3647 0x6719 # <CJK>
-0xE3648 0x6716 # <CJK>
-0xE364B 0x689E # <CJK>
-0xE364C 0x68B6 # <CJK>
-0xE364D 0x6898 # <CJK>
-0xE364E 0x6873 # <CJK>
-0xE3650 0x689A # <CJK>
-0xE3651 0x688E # <CJK>
-0xE3652 0x68B7 # <CJK>
-0xE3653 0x68DB # <CJK>
-0xE3654 0x68A5 # <CJK>
-0xE3655 0x686C # <CJK>
-0xE3656 0x68C1 # <CJK>
-0xE3657 0x6884 # <CJK>
-0xE365A 0x6895 # <CJK>
-0xE365B 0x687A # <CJK>
-0xE365C 0x6899 # <CJK>
-0xE365E 0x68B8 # <CJK>
-0xE365F 0x68B9 # <CJK>
-0xE3660 0x6870 # <CJK>
-0xE3662 0x6B35 # <CJK>
-0xE3664 0x6B90 # <CJK>
-0xE3665 0x6BBB # <CJK>
-0xE3666 0x6BED # <CJK>
-0xE366A 0x6DC1 # <CJK>
-0xE366B 0x6DC3 # <CJK>
-0xE366C 0x6DCE # <CJK>
-0xE366F 0x6DAD # <CJK>
-0xE3670 0x6E04 # <CJK>
-0xE3672 0x6DB9 # <CJK>
-0xE3674 0x6DE7 # <CJK>
-0xE3676 0x6E08 # <CJK>
-0xE3677 0x6E06 # <CJK>
-0xE3679 0x6E0A # <CJK>
-0xE367A 0x6DB0 # <CJK>
-0xE367C 0x6DF8 # <CJK>
-0xE367D 0x6E0C # <CJK>
-0xE3721 0x6DB1 # <CJK>
-0xE3723 0x6E02 # <CJK>
-0xE3724 0x6E07 # <CJK>
-0xE3725 0x6E09 # <CJK>
-0xE3726 0x6E01 # <CJK>
-0xE3727 0x6E17 # <CJK>
-0xE3728 0x6DFF # <CJK>
-0xE3729 0x6E12 # <CJK>
-0xE372C 0x7103 # <CJK>
-0xE372D 0x7107 # <CJK>
-0xE372E 0x7101 # <CJK>
-0xE372F 0x70F5 # <CJK>
-0xE3730 0x70F1 # <CJK>
-0xE3731 0x7108 # <CJK>
-0xE3732 0x70F2 # <CJK>
-0xE3733 0x710F # <CJK>
-0xE3735 0x70FE # <CJK>
-0xE3739 0x731A # <CJK>
-0xE373A 0x7310 # <CJK>
-0xE373B 0x730E # <CJK>
-0xE373C 0x7402 # <CJK>
-0xE373D 0x73F3 # <CJK>
-0xE3740 0x73FB # <CJK>
-0xE3744 0x751B # <CJK>
-0xE3745 0x7523 # <CJK>
-0xE3746 0x7561 # <CJK>
-0xE3747 0x7568 # <CJK>
-0xE3749 0x7567 # <CJK>
-0xE374A 0x75D3 # <CJK>
-0xE374D 0x7690 # <CJK>
-0xE3750 0x76D5 # <CJK>
-0xE3751 0x76D7 # <CJK>
-0xE3752 0x76D6 # <CJK>
-0xE3753 0x7730 # <CJK>
-0xE3755 0x7726 # <CJK>
-0xE3757 0x7740 # <CJK>
-0xE3759 0x771E # <CJK>
-0xE375D 0x7847 # <CJK>
-0xE375F 0x784B # <CJK>
-0xE3760 0x7851 # <CJK>
-0xE3761 0x784F # <CJK>
-0xE3762 0x7842 # <CJK>
-0xE3763 0x7846 # <CJK>
-0xE3765 0x796E # <CJK>
-0xE3766 0x796C # <CJK>
-0xE3767 0x79F2 # <CJK>
-0xE3769 0x79F1 # <CJK>
-0xE376A 0x79F5 # <CJK>
-0xE376B 0x79F3 # <CJK>
-0xE376C 0x79F9 # <CJK>
-0xE3770 0x7A9A # <CJK>
-0xE3771 0x7A93 # <CJK>
-0xE3772 0x7A91 # <CJK>
-0xE3773 0x7AE1 # <CJK>
-0xE3776 0x7B21 # <CJK>
-0xE3777 0x7B1C # <CJK>
-0xE3778 0x7B16 # <CJK>
-0xE3779 0x7B17 # <CJK>
-0xE377A 0x7B36 # <CJK>
-0xE377B 0x7B1F # <CJK>
-0xE377D 0x7C93 # <CJK>
-0xE377E 0x7C99 # <CJK>
-0xE3821 0x7C9A # <CJK>
-0xE3822 0x7C9C # <CJK>
-0xE3824 0x7D49 # <CJK>
-0xE3826 0x7D34 # <CJK>
-0xE3827 0x7D37 # <CJK>
-0xE3829 0x7D2D # <CJK>
-0xE382B 0x7D4C # <CJK>
-0xE382E 0x7D48 # <CJK>
-0xE3831 0x7F3B # <CJK>
-0xE3836 0x8008 # <CJK>
-0xE3837 0x801A # <CJK>
-0xE3839 0x801D # <CJK>
-0xE383B 0x8049 # <CJK>
-0xE383C 0x8045 # <CJK>
-0xE383D 0x8044 # <CJK>
-0xE383E 0x7C9B # <CJK>
-0xE3841 0x812A # <CJK>
-0xE3842 0x812E # <CJK>
-0xE3845 0x8131 # <CJK>
-0xE3847 0x811A # <CJK>
-0xE3848 0x8134 # <CJK>
-0xE3849 0x8117 # <CJK>
-0xE384D 0x831D # <CJK>
-0xE384E 0x8371 # <CJK>
-0xE384F 0x8384 # <CJK>
-0xE3850 0x8380 # <CJK>
-0xE3851 0x8372 # <CJK>
-0xE3852 0x83A1 # <CJK>
-0xE3854 0x8379 # <CJK>
-0xE3855 0x8391 # <CJK>
-0xE3857 0x839F # <CJK>
-0xE3858 0x83AD # <CJK>
-0xE385B 0x8323 # <CJK>
-0xE385D 0x8385 # <CJK>
-0xE385E 0x839C # <CJK>
-0xE385F 0x83B7 # <CJK>
-0xE3860 0x8658 # <CJK>
-0xE3861 0x865A # <CJK>
-0xE3863 0x8657 # <CJK>
-0xE3864 0x86B2 # <CJK>
-0xE3866 0x86AE # <CJK>
-0xE386A 0x8845 # <CJK>
-0xE386B 0x889C # <CJK>
-0xE386C 0x8894 # <CJK>
-0xE386D 0x88A3 # <CJK>
-0xE386E 0x888F # <CJK>
-0xE386F 0x88A5 # <CJK>
-0xE3870 0x88A9 # <CJK>
-0xE3871 0x88A6 # <CJK>
-0xE3872 0x888A # <CJK>
-0xE3873 0x88A0 # <CJK>
-0xE3874 0x8890 # <CJK>
-0xE3875 0x8992 # <CJK>
-0xE3876 0x8991 # <CJK>
-0xE3877 0x8994 # <CJK>
-0xE3879 0x8A26 # <CJK>
-0xE387A 0x8A32 # <CJK>
-0xE387B 0x8A28 # <CJK>
-0xE387E 0x8A1C # <CJK>
-0xE3922 0x8A2B # <CJK>
-0xE3923 0x8A20 # <CJK>
-0xE3925 0x8A29 # <CJK>
-0xE3929 0x8A21 # <CJK>
-0xE392A 0x8C3A # <CJK>
-0xE392C 0x8C5B # <CJK>
-0xE392D 0x8C58 # <CJK>
-0xE392E 0x8C7C # <CJK>
-0xE3930 0x8CA6 # <CJK>
-0xE3931 0x8CAE # <CJK>
-0xE3932 0x8CAD # <CJK>
-0xE3933 0x8D65 # <CJK>
-0xE3935 0x8D7E # <CJK>
-0xE3937 0x8D7C # <CJK>
-0xE3938 0x8D7F # <CJK>
-0xE3939 0x8D7A # <CJK>
-0xE393A 0x8DBD # <CJK>
-0xE393D 0x8DC0 # <CJK>
-0xE393E 0x8DBB # <CJK>
-0xE393F 0x8EAD # <CJK>
-0xE3940 0x8EAF # <CJK>
-0xE3941 0x8ED6 # <CJK>
-0xE3947 0x8ED9 # <CJK>
-0xE394A 0x9012 # <CJK>
-0xE394B 0x900E # <CJK>
-0xE394C 0x9025 # <CJK>
-0xE394E 0x9013 # <CJK>
-0xE394F 0x90EE # <CJK>
-0xE3951 0x90AB # <CJK>
-0xE3952 0x90F7 # <CJK>
-0xE3954 0x9159 # <CJK>
-0xE3955 0x9154 # <CJK>
-0xE3956 0x91F2 # <CJK>
-0xE3957 0x91F0 # <CJK>
-0xE3958 0x91E5 # <CJK>
-0xE3959 0x91F6 # <CJK>
-0xE395C 0x9587 # <CJK>
-0xE395E 0x965A # <CJK>
-0xE3961 0x966E # <CJK>
-0xE3965 0x9679 # <CJK>
-0xE3967 0x98E1 # <CJK>
-0xE3968 0x98E6 # <CJK>
-0xE396A 0x9EC4 # <CJK>
-0xE396B 0x9ED2 # <CJK>
-0xE396C 0x4E80 # <CJK>
-0xE396E 0x4E81 # <CJK>
-0xE396F 0x508F # <CJK>
-0xE3970 0x5097 # <CJK>
-0xE3971 0x5088 # <CJK>
-0xE3972 0x5089 # <CJK>
-0xE3975 0x5081 # <CJK>
-0xE3976 0x5160 # <CJK>
-0xE3979 0x5E42 # <CJK>
-0xE397A 0x51D3 # <CJK>
-0xE397D 0x51D2 # <CJK>
-0xE397E 0x51D6 # <CJK>
-0xE3A21 0x5273 # <CJK>
-0xE3A23 0x5270 # <CJK>
-0xE3A27 0x53A8 # <CJK>
-0xE3A28 0x53A6 # <CJK>
-0xE3A29 0x53C5 # <CJK>
-0xE3A2A 0x5597 # <CJK>
-0xE3A2B 0x55DE # <CJK>
-0xE3A2E 0x5596 # <CJK>
-0xE3A2F 0x55B4 # <CJK>
-0xE3A31 0x5585 # <CJK>
-0xE3A33 0x559B # <CJK>
-0xE3A34 0x55A0 # <CJK>
-0xE3A36 0x5559 # <CJK>
-0xE3A38 0x5586 # <CJK>
-0xE3A3B 0x55AF # <CJK>
-0xE3A3C 0x557A # <CJK>
-0xE3A40 0x559E # <CJK>
-0xE3A42 0x55A9 # <CJK>
-0xE3A43 0x570F # <CJK>
-0xE3A44 0x570E # <CJK>
-0xE3A45 0x581A # <CJK>
-0xE3A47 0x581F # <CJK>
-0xE3A49 0x583C # <CJK>
-0xE3A4A 0x5818 # <CJK>
-0xE3A4B 0x583E # <CJK>
-0xE3A4C 0x5826 # <CJK>
-0xE3A4E 0x583A # <CJK>
-0xE3A50 0x5822 # <CJK>
-0xE3A52 0x58FB # <CJK>
-0xE3A53 0x5963 # <CJK>
-0xE3A54 0x5964 # <CJK>
-0xE3A56 0x5AA8 # <CJK>
-0xE3A57 0x5AA3 # <CJK>
-0xE3A58 0x5A82 # <CJK>
-0xE3A59 0x5A88 # <CJK>
-0xE3A5A 0x5AA1 # <CJK>
-0xE3A5B 0x5A85 # <CJK>
-0xE3A5C 0x5A98 # <CJK>
-0xE3A5E 0x5A99 # <CJK>
-0xE3A60 0x5A89 # <CJK>
-0xE3A61 0x5A81 # <CJK>
-0xE3A62 0x5A96 # <CJK>
-0xE3A63 0x5A80 # <CJK>
-0xE3A66 0x5A91 # <CJK>
-0xE3A6B 0x5ACF # <CJK>
-0xE3A72 0x5A87 # <CJK>
-0xE3A73 0x5AA0 # <CJK>
-0xE3A75 0x5A79 # <CJK>
-0xE3A77 0x5A86 # <CJK>
-0xE3A78 0x5AAB # <CJK>
-0xE3A79 0x5AAA # <CJK>
-0xE3A7A 0x5AA4 # <CJK>
-0xE3A7B 0x5A8D # <CJK>
-0xE3A7C 0x5A7E # <CJK>
-0xE3A7E 0x5BD5 # <CJK>
-0xE3B24 0x5C1E # <CJK>
-0xE3B25 0x5C5F # <CJK>
-0xE3B26 0x5C5E # <CJK>
-0xE3B27 0x5D44 # <CJK>
-0xE3B28 0x5D3E # <CJK>
-0xE3B2A 0x5D48 # <CJK>
-0xE3B2B 0x5D1C # <CJK>
-0xE3B2D 0x5D5B # <CJK>
-0xE3B2E 0x5D4D # <CJK>
-0xE3B31 0x5D57 # <CJK>
-0xE3B33 0x5D53 # <CJK>
-0xE3B34 0x5D4F # <CJK>
-0xE3B36 0x5D3B # <CJK>
-0xE3B37 0x5D46 # <CJK>
-0xE3B3A 0x5E46 # <CJK>
-0xE3B3B 0x5E47 # <CJK>
-0xE3B3D 0x5E48 # <CJK>
-0xE3B3E 0x5EC0 # <CJK>
-0xE3B3F 0x5EBD # <CJK>
-0xE3B40 0x5EBF # <CJK>
-0xE3B42 0x5F11 # <CJK>
-0xE3B44 0x5F3E # <CJK>
-0xE3B45 0x5F3B # <CJK>
-0xE3B47 0x5F3A # <CJK>
-0xE3B4B 0x5FA7 # <CJK>
-0xE3B4D 0x60EA # <CJK>
-0xE3B4F 0x6107 # <CJK>
-0xE3B50 0x6122 # <CJK>
-0xE3B51 0x610C # <CJK>
-0xE3B54 0x60B3 # <CJK>
-0xE3B55 0x60D6 # <CJK>
-0xE3B56 0x60D2 # <CJK>
-0xE3B58 0x60E3 # <CJK>
-0xE3B59 0x60E5 # <CJK>
-0xE3B5A 0x60E9 # <CJK>
-0xE3B5D 0x6111 # <CJK>
-0xE3B5E 0x60FD # <CJK>
-0xE3B61 0x611E # <CJK>
-0xE3B62 0x6120 # <CJK>
-0xE3B63 0x6121 # <CJK>
-0xE3B64 0x621E # <CJK>
-0xE3B66 0x63E2 # <CJK>
-0xE3B67 0x63DE # <CJK>
-0xE3B68 0x63E6 # <CJK>
-0xE3B6D 0x63F8 # <CJK>
-0xE3B6F 0x63FE # <CJK>
-0xE3B70 0x63C1 # <CJK>
-0xE3B71 0x63BF # <CJK>
-0xE3B72 0x63F7 # <CJK>
-0xE3B73 0x63D1 # <CJK>
-0xE3B74 0x655F # <CJK>
-0xE3B75 0x6560 # <CJK>
-0xE3B76 0x6561 # <CJK>
-0xE3B79 0x65D1 # <CJK>
-0xE3B7C 0x667D # <CJK>
-0xE3B7D 0x666B # <CJK>
-0xE3B7E 0x667F # <CJK>
-0xE3C23 0x6673 # <CJK>
-0xE3C24 0x6681 # <CJK>
-0xE3C25 0x666D # <CJK>
-0xE3C26 0x6669 # <CJK>
-0xE3C29 0x671E # <CJK>
-0xE3C2A 0x68ED # <CJK>
-0xE3C2F 0x6903 # <CJK>
-0xE3C31 0x68FE # <CJK>
-0xE3C32 0x68E5 # <CJK>
-0xE3C33 0x691E # <CJK>
-0xE3C34 0x6902 # <CJK>
-0xE3C37 0x6909 # <CJK>
-0xE3C38 0x68CA # <CJK>
-0xE3C39 0x6900 # <CJK>
-0xE3C3B 0x6901 # <CJK>
-0xE3C3C 0x6918 # <CJK>
-0xE3C3D 0x68E2 # <CJK>
-0xE3C3E 0x68CF # <CJK>
-0xE3C40 0x692E # <CJK>
-0xE3C41 0x68C5 # <CJK>
-0xE3C42 0x68FF # <CJK>
-0xE3C44 0x691C # <CJK>
-0xE3C45 0x68C3 # <CJK>
-0xE3C47 0x6B6F # <CJK>
-0xE3C49 0x6B6E # <CJK>
-0xE3C4B 0x6BBE # <CJK>
-0xE3C4D 0x6BF4 # <CJK>
-0xE3C4E 0x6C2D # <CJK>
-0xE3C50 0x6DB6 # <CJK>
-0xE3C51 0x6E75 # <CJK>
-0xE3C52 0x6E1E # <CJK>
-0xE3C54 0x6E18 # <CJK>
-0xE3C56 0x6E48 # <CJK>
-0xE3C58 0x6E4F # <CJK>
-0xE3C5A 0x6E42 # <CJK>
-0xE3C5B 0x6E6A # <CJK>
-0xE3C5C 0x6E70 # <CJK>
-0xE3C5D 0x6DFE # <CJK>
-0xE3C60 0x6E6D # <CJK>
-0xE3C62 0x6E7B # <CJK>
-0xE3C63 0x6E7E # <CJK>
-0xE3C64 0x6E59 # <CJK>
-0xE3C66 0x6E57 # <CJK>
-0xE3C68 0x6E80 # <CJK>
-0xE3C69 0x6E50 # <CJK>
-0xE3C6B 0x6E29 # <CJK>
-0xE3C6C 0x6E76 # <CJK>
-0xE3C6D 0x6E2A # <CJK>
-0xE3C6E 0x6E4C # <CJK>
-0xE3C6F 0x712A # <CJK>
-0xE3C71 0x7135 # <CJK>
-0xE3C72 0x712C # <CJK>
-0xE3C73 0x7137 # <CJK>
-0xE3C74 0x711D # <CJK>
-0xE3C77 0x7138 # <CJK>
-0xE3C79 0x7134 # <CJK>
-0xE3C7A 0x712B # <CJK>
-0xE3C7B 0x7133 # <CJK>
-0xE3C7C 0x7127 # <CJK>
-0xE3C7D 0x7124 # <CJK>
-0xE3D21 0x712D # <CJK>
-0xE3D22 0x7232 # <CJK>
-0xE3D23 0x7283 # <CJK>
-0xE3D24 0x7282 # <CJK>
-0xE3D25 0x7287 # <CJK>
-0xE3D26 0x7306 # <CJK>
-0xE3D27 0x7324 # <CJK>
-0xE3D28 0x7338 # <CJK>
-0xE3D29 0x732A # <CJK>
-0xE3D2A 0x732C # <CJK>
-0xE3D2B 0x732B # <CJK>
-0xE3D2D 0x732F # <CJK>
-0xE3D2E 0x7328 # <CJK>
-0xE3D2F 0x7417 # <CJK>
-0xE3D32 0x7419 # <CJK>
-0xE3D33 0x7438 # <CJK>
-0xE3D35 0x741F # <CJK>
-0xE3D36 0x7414 # <CJK>
-0xE3D37 0x743C # <CJK>
-0xE3D38 0x73F7 # <CJK>
-0xE3D39 0x741C # <CJK>
-0xE3D3A 0x7415 # <CJK>
-0xE3D3B 0x7418 # <CJK>
-0xE3D3C 0x7439 # <CJK>
-0xE3D3D 0x74F9 # <CJK>
-0xE3D3E 0x7524 # <CJK>
-0xE3D42 0x756E # <CJK>
-0xE3D43 0x756D # <CJK>
-0xE3D44 0x7571 # <CJK>
-0xE3D45 0x758E # <CJK>
-0xE3D47 0x75E5 # <CJK>
-0xE3D4C 0x7694 # <CJK>
-0xE3D4D 0x76B3 # <CJK>
-0xE3D4F 0x76D9 # <CJK>
-0xE3D51 0x7748 # <CJK>
-0xE3D52 0x7749 # <CJK>
-0xE3D53 0x7743 # <CJK>
-0xE3D56 0x7742 # <CJK>
-0xE3D57 0x77DF # <CJK>
-0xE3D59 0x7863 # <CJK>
-0xE3D5A 0x7876 # <CJK>
-0xE3D5C 0x785F # <CJK>
-0xE3D5D 0x7866 # <CJK>
-0xE3D5E 0x7966 # <CJK>
-0xE3D5F 0x7971 # <CJK>
-0xE3D62 0x7976 # <CJK>
-0xE3D63 0x7984 # <CJK>
-0xE3D64 0x7975 # <CJK>
-0xE3D65 0x79FF # <CJK>
-0xE3D66 0x7A07 # <CJK>
-0xE3D68 0x7A0E # <CJK>
-0xE3D69 0x7A09 # <CJK>
-0xE3D70 0x7AE7 # <CJK>
-0xE3D71 0x7AE2 # <CJK>
-0xE3D72 0x7B55 # <CJK>
-0xE3D75 0x7B43 # <CJK>
-0xE3D76 0x7B57 # <CJK>
-0xE3D77 0x7B6C # <CJK>
-0xE3D78 0x7B42 # <CJK>
-0xE3D79 0x7B53 # <CJK>
-0xE3D7B 0x7B41 # <CJK>
-0xE3D7E 0x7CA7 # <CJK>
-0xE3E21 0x7CA0 # <CJK>
-0xE3E22 0x7CA6 # <CJK>
-0xE3E23 0x7CA4 # <CJK>
-0xE3E24 0x7D74 # <CJK>
-0xE3E26 0x7D59 # <CJK>
-0xE3E28 0x7D60 # <CJK>
-0xE3E29 0x7D57 # <CJK>
-0xE3E2A 0x7D6C # <CJK>
-0xE3E2B 0x7D7E # <CJK>
-0xE3E2C 0x7D64 # <CJK>
-0xE3E2E 0x7D5A # <CJK>
-0xE3E2F 0x7D5D # <CJK>
-0xE3E33 0x7D76 # <CJK>
-0xE3E34 0x7D4D # <CJK>
-0xE3E35 0x7D75 # <CJK>
-0xE3E37 0x7FD3 # <CJK>
-0xE3E38 0x7FD6 # <CJK>
-0xE3E3B 0x8060 # <CJK>
-0xE3E3C 0x804E # <CJK>
-0xE3E3D 0x8145 # <CJK>
-0xE3E3E 0x813B # <CJK>
-0xE3E40 0x8148 # <CJK>
-0xE3E41 0x8142 # <CJK>
-0xE3E42 0x8149 # <CJK>
-0xE3E43 0x8140 # <CJK>
-0xE3E44 0x8114 # <CJK>
-0xE3E45 0x8141 # <CJK>
-0xE3E47 0x81EF # <CJK>
-0xE3E48 0x81F6 # <CJK>
-0xE3E49 0x8203 # <CJK>
-0xE3E4B 0x83ED # <CJK>
-0xE3E4D 0x83DA # <CJK>
-0xE3E4E 0x8418 # <CJK>
-0xE3E4F 0x83D2 # <CJK>
-0xE3E50 0x8408 # <CJK>
-0xE3E52 0x8400 # <CJK>
-0xE3E56 0x8417 # <CJK>
-0xE3E57 0x8346 # <CJK>
-0xE3E58 0x8414 # <CJK>
-0xE3E59 0x83D3 # <CJK>
-0xE3E5A 0x8405 # <CJK>
-0xE3E5B 0x841F # <CJK>
-0xE3E5C 0x8402 # <CJK>
-0xE3E5D 0x8416 # <CJK>
-0xE3E5E 0x83CD # <CJK>
-0xE3E5F 0x83E6 # <CJK>
-0xE3E61 0x865D # <CJK>
-0xE3E62 0x86D5 # <CJK>
-0xE3E63 0x86E1 # <CJK>
-0xE3E68 0x86EE # <CJK>
-0xE3E69 0x8847 # <CJK>
-0xE3E6A 0x8846 # <CJK>
-0xE3E6D 0x88BB # <CJK>
-0xE3E6F 0x88BF # <CJK>
-0xE3E70 0x88B4 # <CJK>
-0xE3E72 0x88B5 # <CJK>
-0xE3E74 0x899A # <CJK>
-0xE3E75 0x8A43 # <CJK>
-0xE3E78 0x8A5A # <CJK>
-0xE3E7C 0x8A35 # <CJK>
-0xE3E7D 0x8A38 # <CJK>
-0xE3E7E 0x8A42 # <CJK>
-0xE3F21 0x8A49 # <CJK>
-0xE3F22 0x8A5D # <CJK>
-0xE3F23 0x8A4B # <CJK>
-0xE3F24 0x8A3D # <CJK>
-0xE3F29 0x8C60 # <CJK>
-0xE3F2A 0x8C5E # <CJK>
-0xE3F2B 0x8C7F # <CJK>
-0xE3F2C 0x8C7E # <CJK>
-0xE3F2D 0x8C83 # <CJK>
-0xE3F2F 0x8CB1 # <CJK>
-0xE3F30 0x8D87 # <CJK>
-0xE3F33 0x8D88 # <CJK>
-0xE3F34 0x8D83 # <CJK>
-0xE3F37 0x8D86 # <CJK>
-0xE3F38 0x8D8B # <CJK>
-0xE3F39 0x8D82 # <CJK>
-0xE3F3A 0x8DCA # <CJK>
-0xE3F3B 0x8DD2 # <CJK>
-0xE3F3E 0x8DD4 # <CJK>
-0xE3F3F 0x8DC9 # <CJK>
-0xE3F40 0x8EB0 # <CJK>
-0xE3F44 0x8EF2 # <CJK>
-0xE3F45 0x8EE4 # <CJK>
-0xE3F46 0x8EF3 # <CJK>
-0xE3F47 0x8EEA # <CJK>
-0xE3F49 0x8EFD # <CJK>
-0xE3F4B 0x8F9D # <CJK>
-0xE3F4C 0x902B # <CJK>
-0xE3F4D 0x902A # <CJK>
-0xE3F4F 0x9028 # <CJK>
-0xE3F50 0x9029 # <CJK>
-0xE3F51 0x902C # <CJK>
-0xE3F54 0x903A # <CJK>
-0xE3F55 0x9030 # <CJK>
-0xE3F56 0x9037 # <CJK>
-0xE3F57 0x903B # <CJK>
-0xE3F59 0x910A # <CJK>
-0xE3F5D 0x91FE # <CJK>
-0xE3F5E 0x9220 # <CJK>
-0xE3F60 0x920B # <CJK>
-0xE3F62 0x9218 # <CJK>
-0xE3F63 0x9222 # <CJK>
-0xE3F65 0x921B # <CJK>
-0xE3F66 0x9208 # <CJK>
-0xE3F68 0x920E # <CJK>
-0xE3F69 0x9213 # <CJK>
-0xE3F6C 0x9595 # <CJK>
-0xE3F70 0x968C # <CJK>
-0xE3F71 0x967B # <CJK>
-0xE3F72 0x967F # <CJK>
-0xE3F73 0x9681 # <CJK>
-0xE3F75 0x9682 # <CJK>
-0xE3F7B 0x96EE # <CJK>
-0xE3F7C 0x96ED # <CJK>
-0xE3F7E 0x96EC # <CJK>
-0xE4021 0x975F # <CJK>
-0xE4022 0x976F # <CJK>
-0xE4024 0x976D # <CJK>
-0xE402B 0x98F0 # <CJK>
-0xE402F 0x9AA9 # <CJK>
-0xE4032 0x9AE0 # <CJK>
-0xE4033 0x4EB7 # <CJK>
-0xE4036 0x50CC # <CJK>
-0xE4037 0x50BC # <CJK>
-0xE4039 0x50AA # <CJK>
-0xE403A 0x50B9 # <CJK>
-0xE403C 0x50AB # <CJK>
-0xE403D 0x50C3 # <CJK>
-0xE403E 0x50CD # <CJK>
-0xE403F 0x517E # <CJK>
-0xE4040 0x527E # <CJK>
-0xE4041 0x5279 # <CJK>
-0xE4044 0x52E1 # <CJK>
-0xE4045 0x52E0 # <CJK>
-0xE4046 0x52E7 # <CJK>
-0xE4047 0x5380 # <CJK>
-0xE4048 0x53AB # <CJK>
-0xE4049 0x53AA # <CJK>
-0xE404A 0x53A9 # <CJK>
-0xE404B 0x53E0 # <CJK>
-0xE404C 0x55EA # <CJK>
-0xE404E 0x55D7 # <CJK>
-0xE4051 0x55C1 # <CJK>
-0xE4052 0x5715 # <CJK>
-0xE4054 0x586C # <CJK>
-0xE4056 0x585C # <CJK>
-0xE4057 0x5850 # <CJK>
-0xE4058 0x5861 # <CJK>
-0xE4059 0x586A # <CJK>
-0xE405A 0x5869 # <CJK>
-0xE405B 0x5856 # <CJK>
-0xE405C 0x5860 # <CJK>
-0xE405D 0x5866 # <CJK>
-0xE405E 0x585F # <CJK>
-0xE405F 0x5923 # <CJK>
-0xE4060 0x5966 # <CJK>
-0xE4061 0x5968 # <CJK>
-0xE4064 0x5ACE # <CJK>
-0xE4066 0x5AC5 # <CJK>
-0xE4067 0x5AC3 # <CJK>
-0xE406A 0x5AD0 # <CJK>
-0xE4071 0x5B74 # <CJK>
-0xE4072 0x5B76 # <CJK>
-0xE4073 0x5BDC # <CJK>
-0xE4074 0x5BD7 # <CJK>
-0xE4075 0x5BDA # <CJK>
-0xE4076 0x5BDB # <CJK>
-0xE4078 0x5C20 # <CJK>
-0xE4079 0x5D6D # <CJK>
-0xE407A 0x5D66 # <CJK>
-0xE407C 0x5D64 # <CJK>
-0xE407D 0x5D6E # <CJK>
-0xE4121 0x5D60 # <CJK>
-0xE4122 0x5F42 # <CJK>
-0xE4123 0x5F5A # <CJK>
-0xE4124 0x5F6E # <CJK>
-0xE4127 0x6130 # <CJK>
-0xE4128 0x613A # <CJK>
-0xE4129 0x612A # <CJK>
-0xE412A 0x6143 # <CJK>
-0xE412B 0x6119 # <CJK>
-0xE412C 0x6131 # <CJK>
-0xE412E 0x613D # <CJK>
-0xE4132 0x6408 # <CJK>
-0xE4133 0x6432 # <CJK>
-0xE4134 0x6438 # <CJK>
-0xE4136 0x6431 # <CJK>
-0xE4138 0x6419 # <CJK>
-0xE413A 0x6411 # <CJK>
-0xE413D 0x6429 # <CJK>
-0xE413E 0x641D # <CJK>
-0xE4142 0x643C # <CJK>
-0xE4144 0x6446 # <CJK>
-0xE4145 0x6447 # <CJK>
-0xE4148 0x643A # <CJK>
-0xE4149 0x6407 # <CJK>
-0xE414B 0x656B # <CJK>
-0xE414D 0x6570 # <CJK>
-0xE414E 0x656D # <CJK>
-0xE4150 0x65E4 # <CJK>
-0xE4151 0x6693 # <CJK>
-0xE4156 0x668F # <CJK>
-0xE4159 0x6692 # <CJK>
-0xE415B 0x668E # <CJK>
-0xE415D 0x6946 # <CJK>
-0xE4165 0x6931 # <CJK>
-0xE4168 0x693E # <CJK>
-0xE416A 0x697C # <CJK>
-0xE416B 0x6943 # <CJK>
-0xE416D 0x6973 # <CJK>
-0xE416F 0x6955 # <CJK>
-0xE4172 0x6985 # <CJK>
-0xE4173 0x694D # <CJK>
-0xE4174 0x6950 # <CJK>
-0xE4175 0x6947 # <CJK>
-0xE4176 0x6967 # <CJK>
-0xE4177 0x6936 # <CJK>
-0xE4178 0x6964 # <CJK>
-0xE4179 0x6961 # <CJK>
-0xE417B 0x697D # <CJK>
-0xE417C 0x6B44 # <CJK>
-0xE417D 0x6B40 # <CJK>
-0xE417E 0x6B71 # <CJK>
-0xE4221 0x6B73 # <CJK>
-0xE4222 0x6B9C # <CJK>
-0xE4226 0x6BC1 # <CJK>
-0xE4228 0x6BFA # <CJK>
-0xE4229 0x6C31 # <CJK>
-0xE422A 0x6C32 # <CJK>
-0xE422D 0x6EB8 # <CJK>
-0xE422E 0x6EA8 # <CJK>
-0xE4230 0x6E91 # <CJK>
-0xE4231 0x6EBB # <CJK>
-0xE4233 0x6E9A # <CJK>
-0xE4236 0x6EA9 # <CJK>
-0xE4239 0x6EB5 # <CJK>
-0xE423A 0x6E6C # <CJK>
-0xE423B 0x6EE8 # <CJK>
-0xE423D 0x6EDD # <CJK>
-0xE423E 0x6EDA # <CJK>
-0xE423F 0x6EE6 # <CJK>
-0xE4240 0x6EAC # <CJK>
-0xE4244 0x6ED9 # <CJK>
-0xE4245 0x6EE3 # <CJK>
-0xE4246 0x6EE9 # <CJK>
-0xE4247 0x6EDB # <CJK>
-0xE4249 0x716F # <CJK>
-0xE424C 0x7148 # <CJK>
-0xE424E 0x714A # <CJK>
-0xE424F 0x716B # <CJK>
-0xE4251 0x714F # <CJK>
-0xE4252 0x7157 # <CJK>
-0xE4253 0x7174 # <CJK>
-0xE4257 0x7145 # <CJK>
-0xE4258 0x7151 # <CJK>
-0xE4259 0x716D # <CJK>
-0xE425B 0x7251 # <CJK>
-0xE425C 0x7250 # <CJK>
-0xE425D 0x724E # <CJK>
-0xE425F 0x7341 # <CJK>
-0xE4261 0x732E # <CJK>
-0xE4262 0x7346 # <CJK>
-0xE4264 0x7427 # <CJK>
-0xE4266 0x7448 # <CJK>
-0xE4267 0x7453 # <CJK>
-0xE4268 0x743D # <CJK>
-0xE426A 0x745D # <CJK>
-0xE426B 0x7456 # <CJK>
-0xE426D 0x741E # <CJK>
-0xE426E 0x7447 # <CJK>
-0xE426F 0x7443 # <CJK>
-0xE4270 0x7458 # <CJK>
-0xE4271 0x7449 # <CJK>
-0xE4273 0x744C # <CJK>
-0xE4274 0x7445 # <CJK>
-0xE4275 0x743E # <CJK>
-0xE4277 0x7501 # <CJK>
-0xE4278 0x751E # <CJK>
-0xE427B 0x757A # <CJK>
-0xE427C 0x75EE # <CJK>
-0xE427D 0x7602 # <CJK>
-0xE427E 0x7697 # <CJK>
-0xE4321 0x7698 # <CJK>
-0xE4325 0x775D # <CJK>
-0xE4326 0x7764 # <CJK>
-0xE4327 0x7753 # <CJK>
-0xE4328 0x7758 # <CJK>
-0xE4329 0x7882 # <CJK>
-0xE432A 0x7890 # <CJK>
-0xE432B 0x788A # <CJK>
-0xE432D 0x787A # <CJK>
-0xE432E 0x787D # <CJK>
-0xE4330 0x788B # <CJK>
-0xE4331 0x7878 # <CJK>
-0xE4334 0x788D # <CJK>
-0xE4335 0x7888 # <CJK>
-0xE4336 0x7892 # <CJK>
-0xE4337 0x7881 # <CJK>
-0xE4338 0x797E # <CJK>
-0xE4339 0x7983 # <CJK>
-0xE433D 0x7980 # <CJK>
-0xE4341 0x7A0F # <CJK>
-0xE4344 0x7A1D # <CJK>
-0xE4346 0x7AA1 # <CJK>
-0xE4347 0x7AA4 # <CJK>
-0xE4349 0x7AE9 # <CJK>
-0xE434A 0x7AEA # <CJK>
-0xE434C 0x7B62 # <CJK>
-0xE434D 0x7B6B # <CJK>
-0xE434F 0x7B5E # <CJK>
-0xE4351 0x7B79 # <CJK>
-0xE4354 0x7B6F # <CJK>
-0xE4355 0x7B68 # <CJK>
-0xE4358 0x7CAE # <CJK>
-0xE435C 0x7CB0 # <CJK>
-0xE435E 0x7D90 # <CJK>
-0xE4360 0x7D8A # <CJK>
-0xE4362 0x7D8B # <CJK>
-0xE4363 0x7D99 # <CJK>
-0xE4364 0x7D95 # <CJK>
-0xE4366 0x7D87 # <CJK>
-0xE4367 0x7D78 # <CJK>
-0xE4368 0x7D97 # <CJK>
-0xE4369 0x7D89 # <CJK>
-0xE436A 0x7D98 # <CJK>
-0xE436E 0x7FA3 # <CJK>
-0xE4372 0x7FDD # <CJK>
-0xE4373 0x8057 # <CJK>
-0xE4375 0x8163 # <CJK>
-0xE4376 0x816A # <CJK>
-0xE4377 0x816C # <CJK>
-0xE437B 0x815D # <CJK>
-0xE437C 0x8175 # <CJK>
-0xE437E 0x815F # <CJK>
-0xE4422 0x817D # <CJK>
-0xE4423 0x816D # <CJK>
-0xE4426 0x8241 # <CJK>
-0xE4427 0x844F # <CJK>
-0xE4428 0x8484 # <CJK>
-0xE442A 0x847F # <CJK>
-0xE442C 0x8448 # <CJK>
-0xE442D 0x842A # <CJK>
-0xE442E 0x847B # <CJK>
-0xE442F 0x8472 # <CJK>
-0xE4430 0x8464 # <CJK>
-0xE4431 0x842E # <CJK>
-0xE4432 0x845C # <CJK>
-0xE4433 0x8453 # <CJK>
-0xE4435 0x8441 # <CJK>
-0xE4436 0x84C8 # <CJK>
-0xE4438 0x8462 # <CJK>
-0xE4439 0x8480 # <CJK>
-0xE443A 0x843E # <CJK>
-0xE443B 0x8483 # <CJK>
-0xE443C 0x8471 # <CJK>
-0xE443E 0x844A # <CJK>
-0xE443F 0x8455 # <CJK>
-0xE4440 0x8458 # <CJK>
-0xE4444 0x86FC # <CJK>
-0xE4445 0x86FD # <CJK>
-0xE4446 0x8715 # <CJK>
-0xE4448 0x8716 # <CJK>
-0xE4449 0x86FF # <CJK>
-0xE444D 0x8858 # <CJK>
-0xE444E 0x88CF # <CJK>
-0xE444F 0x88E0 # <CJK>
-0xE4454 0x89E7 # <CJK>
-0xE4455 0x8A6A # <CJK>
-0xE4456 0x8A80 # <CJK>
-0xE4458 0x8A6F # <CJK>
-0xE4459 0x8A65 # <CJK>
-0xE445B 0x8A78 # <CJK>
-0xE445C 0x8A7D # <CJK>
-0xE445D 0x8A88 # <CJK>
-0xE4460 0x8A64 # <CJK>
-0xE4461 0x8A7E # <CJK>
-0xE4463 0x8A67 # <CJK>
-0xE4464 0x8C63 # <CJK>
-0xE4465 0x8C88 # <CJK>
-0xE4467 0x8CCD # <CJK>
-0xE4469 0x8CC9 # <CJK>
-0xE446B 0x8DED # <CJK>
-0xE4473 0x8EB1 # <CJK>
-0xE4476 0x8F04 # <CJK>
-0xE4477 0x8F9E # <CJK>
-0xE4478 0x8FA0 # <CJK>
-0xE4479 0x9043 # <CJK>
-0xE447A 0x9046 # <CJK>
-0xE447B 0x9048 # <CJK>
-0xE447C 0x9045 # <CJK>
-0xE447D 0x9040 # <CJK>
-0xE447E 0x904C # <CJK>
-0xE4523 0x910C # <CJK>
-0xE4524 0x9113 # <CJK>
-0xE4525 0x9115 # <CJK>
-0xE4527 0x916B # <CJK>
-0xE4528 0x9167 # <CJK>
-0xE4529 0x925D # <CJK>
-0xE452A 0x9255 # <CJK>
-0xE452B 0x9235 # <CJK>
-0xE452D 0x9259 # <CJK>
-0xE452E 0x922F # <CJK>
-0xE452F 0x923C # <CJK>
-0xE4530 0x928F # <CJK>
-0xE4531 0x925C # <CJK>
-0xE4532 0x926A # <CJK>
-0xE4533 0x9262 # <CJK>
-0xE4534 0x925F # <CJK>
-0xE4535 0x926B # <CJK>
-0xE4536 0x926E # <CJK>
-0xE4537 0x923B # <CJK>
-0xE4538 0x9244 # <CJK>
-0xE4539 0x9241 # <CJK>
-0xE453A 0x959A # <CJK>
-0xE453C 0x9599 # <CJK>
-0xE4540 0x968F # <CJK>
-0xE4542 0x9696 # <CJK>
-0xE4546 0x96F4 # <CJK>
-0xE4547 0x96FC # <CJK>
-0xE4549 0x9755 # <CJK>
-0xE454B 0x9779 # <CJK>
-0xE454F 0x97EE # <CJK>
-0xE4550 0x97F5 # <CJK>
-0xE4552 0x980B # <CJK>
-0xE4554 0x98F3 # <CJK>
-0xE4557 0x98F7 # <CJK>
-0xE4558 0x98FF # <CJK>
-0xE4559 0x98F5 # <CJK>
-0xE455B 0x98EC # <CJK>
-0xE455C 0x98F1 # <CJK>
-0xE455F 0x999A # <CJK>
-0xE4561 0x9AE2 # <CJK>
-0xE4562 0x9B3D # <CJK>
-0xE4563 0x9B5D # <CJK>
-0xE4564 0x9CE8 # <CJK>
-0xE4566 0x9CEB # <CJK>
-0xE4567 0x9CEF # <CJK>
-0xE4568 0x9CEE # <CJK>
-0xE4569 0x9E81 # <CJK>
-0xE456A 0x9F14 # <CJK>
-0xE456B 0x50D0 # <CJK>
-0xE456C 0x50D9 # <CJK>
-0xE456D 0x50DC # <CJK>
-0xE456E 0x50D8 # <CJK>
-0xE4570 0x50E1 # <CJK>
-0xE4571 0x50EB # <CJK>
-0xE4574 0x50F4 # <CJK>
-0xE4575 0x50E2 # <CJK>
-0xE4576 0x50DE # <CJK>
-0xE457A 0x51F4 # <CJK>
-0xE457E 0x52ED # <CJK>
-0xE4621 0x52EA # <CJK>
-0xE4623 0x5332 # <CJK>
-0xE4625 0x53AE # <CJK>
-0xE4626 0x53B0 # <CJK>
-0xE4628 0x55FB # <CJK>
-0xE4629 0x5603 # <CJK>
-0xE462A 0x560B # <CJK>
-0xE462C 0x5607 # <CJK>
-0xE462E 0x55F8 # <CJK>
-0xE4630 0x5628 # <CJK>
-0xE4631 0x561E # <CJK>
-0xE4633 0x5618 # <CJK>
-0xE4634 0x5611 # <CJK>
-0xE4635 0x5651 # <CJK>
-0xE4636 0x5605 # <CJK>
-0xE4637 0x5717 # <CJK>
-0xE4638 0x5892 # <CJK>
-0xE463A 0x588C # <CJK>
-0xE463C 0x5878 # <CJK>
-0xE463D 0x5884 # <CJK>
-0xE463E 0x5873 # <CJK>
-0xE463F 0x58AD # <CJK>
-0xE4640 0x5897 # <CJK>
-0xE4641 0x5895 # <CJK>
-0xE4642 0x5877 # <CJK>
-0xE4643 0x5872 # <CJK>
-0xE4644 0x5896 # <CJK>
-0xE4645 0x588D # <CJK>
-0xE4646 0x5910 # <CJK>
-0xE4648 0x596C # <CJK>
-0xE464A 0x5AE7 # <CJK>
-0xE464C 0x5AE4 # <CJK>
-0xE464F 0x5AEF # <CJK>
-0xE4650 0x5626 # <CJK>
-0xE4653 0x5AF0 # <CJK>
-0xE4654 0x5D7B # <CJK>
-0xE4656 0x5D83 # <CJK>
-0xE4659 0x5D8B # <CJK>
-0xE465A 0x5D8C # <CJK>
-0xE465C 0x5D78 # <CJK>
-0xE465D 0x5E52 # <CJK>
-0xE4660 0x5ED0 # <CJK>
-0xE4661 0x5ECF # <CJK>
-0xE4663 0x5FB3 # <CJK>
-0xE4664 0x5FB4 # <CJK>
-0xE4668 0x617B # <CJK>
-0xE466A 0x616F # <CJK>
-0xE466B 0x6181 # <CJK>
-0xE466C 0x613C # <CJK>
-0xE466D 0x6142 # <CJK>
-0xE466E 0x6138 # <CJK>
-0xE466F 0x6133 # <CJK>
-0xE4671 0x6160 # <CJK>
-0xE4672 0x6169 # <CJK>
-0xE4673 0x617D # <CJK>
-0xE4674 0x6186 # <CJK>
-0xE4675 0x622C # <CJK>
-0xE4676 0x6228 # <CJK>
-0xE4678 0x644C # <CJK>
-0xE467A 0x6457 # <CJK>
-0xE467B 0x647C # <CJK>
-0xE467E 0x6455 # <CJK>
-0xE4721 0x6462 # <CJK>
-0xE4722 0x6471 # <CJK>
-0xE4723 0x646A # <CJK>
-0xE4724 0x6456 # <CJK>
-0xE4725 0x643B # <CJK>
-0xE4726 0x6481 # <CJK>
-0xE4728 0x644F # <CJK>
-0xE4729 0x647E # <CJK>
-0xE472A 0x6464 # <CJK>
-0xE4730 0x6571 # <CJK>
-0xE4733 0x66A5 # <CJK>
-0xE4734 0x669A # <CJK>
-0xE4735 0x669C # <CJK>
-0xE4737 0x66A6 # <CJK>
-0xE4739 0x66A4 # <CJK>
-0xE473A 0x698F # <CJK>
-0xE473B 0x69C5 # <CJK>
-0xE473C 0x69C8 # <CJK>
-0xE473D 0x6992 # <CJK>
-0xE473E 0x69B2 # <CJK>
-0xE4742 0x69E3 # <CJK>
-0xE4743 0x69C0 # <CJK>
-0xE4744 0x69D6 # <CJK>
-0xE4745 0x69D1 # <CJK>
-0xE4746 0x699F # <CJK>
-0xE4747 0x69A2 # <CJK>
-0xE4748 0x69D2 # <CJK>
-0xE474C 0x69E1 # <CJK>
-0xE474D 0x69D5 # <CJK>
-0xE474E 0x699D # <CJK>
-0xE4751 0x6998 # <CJK>
-0xE4753 0x6B74 # <CJK>
-0xE4754 0x6BA1 # <CJK>
-0xE4756 0x6EF0 # <CJK>
-0xE4757 0x6EF3 # <CJK>
-0xE475A 0x6F1B # <CJK>
-0xE475B 0x6F0C # <CJK>
-0xE475C 0x6F1D # <CJK>
-0xE475D 0x6F34 # <CJK>
-0xE475E 0x6F28 # <CJK>
-0xE475F 0x6F17 # <CJK>
-0xE4761 0x6F44 # <CJK>
-0xE4762 0x6F42 # <CJK>
-0xE4763 0x6F04 # <CJK>
-0xE4764 0x6F11 # <CJK>
-0xE4765 0x6EFA # <CJK>
-0xE4766 0x6F4A # <CJK>
-0xE4767 0x7191 # <CJK>
-0xE4768 0x718E # <CJK>
-0xE476A 0x718B # <CJK>
-0xE476B 0x718D # <CJK>
-0xE476C 0x717F # <CJK>
-0xE476D 0x718C # <CJK>
-0xE476E 0x717E # <CJK>
-0xE476F 0x717C # <CJK>
-0xE4770 0x7183 # <CJK>
-0xE4772 0x7188 # <CJK>
-0xE4775 0x7294 # <CJK>
-0xE4777 0x7355 # <CJK>
-0xE4778 0x7353 # <CJK>
-0xE4779 0x734F # <CJK>
-0xE477A 0x7354 # <CJK>
-0xE477B 0x746C # <CJK>
-0xE477C 0x7465 # <CJK>
-0xE477D 0x7466 # <CJK>
-0xE477E 0x7461 # <CJK>
-0xE4821 0x746B # <CJK>
-0xE4822 0x7468 # <CJK>
-0xE4823 0x7476 # <CJK>
-0xE4825 0x7460 # <CJK>
-0xE4827 0x7474 # <CJK>
-0xE4828 0x7506 # <CJK>
-0xE4829 0x760E # <CJK>
-0xE482B 0x7607 # <CJK>
-0xE482E 0x76B9 # <CJK>
-0xE4830 0x76B7 # <CJK>
-0xE4831 0x76E2 # <CJK>
-0xE4833 0x7774 # <CJK>
-0xE4834 0x7777 # <CJK>
-0xE4835 0x7776 # <CJK>
-0xE4836 0x7775 # <CJK>
-0xE4838 0x7778 # <CJK>
-0xE4839 0x7771 # <CJK>
-0xE483B 0x777A # <CJK>
-0xE483C 0x715B # <CJK>
-0xE483D 0x777B # <CJK>
-0xE483E 0x78A6 # <CJK>
-0xE483F 0x78AE # <CJK>
-0xE4840 0x78B8 # <CJK>
-0xE4844 0x78B1 # <CJK>
-0xE4845 0x78AF # <CJK>
-0xE4847 0x7989 # <CJK>
-0xE4848 0x7987 # <CJK>
-0xE484B 0x7A29 # <CJK>
-0xE484D 0x7A2A # <CJK>
-0xE484F 0x7A2D # <CJK>
-0xE4850 0x7A2C # <CJK>
-0xE4852 0x7A32 # <CJK>
-0xE4854 0x7AEC # <CJK>
-0xE4855 0x7AF0 # <CJK>
-0xE4856 0x7B81 # <CJK>
-0xE4857 0x7B9E # <CJK>
-0xE4858 0x7B83 # <CJK>
-0xE485A 0x7B92 # <CJK>
-0xE485C 0x7BA3 # <CJK>
-0xE485D 0x7B9F # <CJK>
-0xE485E 0x7B93 # <CJK>
-0xE4860 0x7B86 # <CJK>
-0xE4861 0x7CB8 # <CJK>
-0xE4862 0x7CB7 # <CJK>
-0xE4868 0x7DC8 # <CJK>
-0xE4869 0x7DB6 # <CJK>
-0xE486B 0x7DD1 # <CJK>
-0xE486D 0x7DA8 # <CJK>
-0xE486E 0x7DAB # <CJK>
-0xE4870 0x7DB3 # <CJK>
-0xE4871 0x7DCD # <CJK>
-0xE4873 0x7DCF # <CJK>
-0xE4874 0x7DA4 # <CJK>
-0xE4877 0x7F41 # <CJK>
-0xE4878 0x7F6F # <CJK>
-0xE4879 0x7F71 # <CJK>
-0xE4922 0x8023 # <CJK>
-0xE4923 0x805B # <CJK>
-0xE4925 0x8061 # <CJK>
-0xE4926 0x805F # <CJK>
-0xE4927 0x8181 # <CJK>
-0xE492A 0x8184 # <CJK>
-0xE492B 0x8213 # <CJK>
-0xE492D 0x824A # <CJK>
-0xE492E 0x824C # <CJK>
-0xE4932 0x84BD # <CJK>
-0xE4933 0x8495 # <CJK>
-0xE4935 0x8492 # <CJK>
-0xE4936 0x84C3 # <CJK>
-0xE4938 0x8496 # <CJK>
-0xE4939 0x84A5 # <CJK>
-0xE493A 0x84B5 # <CJK>
-0xE493B 0x84B3 # <CJK>
-0xE493C 0x84A3 # <CJK>
-0xE493D 0x84E4 # <CJK>
-0xE493E 0x84D8 # <CJK>
-0xE493F 0x84D5 # <CJK>
-0xE4941 0x84B7 # <CJK>
-0xE4942 0x84AD # <CJK>
-0xE4943 0x84DA # <CJK>
-0xE4944 0x8493 # <CJK>
-0xE4945 0x8736 # <CJK>
-0xE4949 0x873D # <CJK>
-0xE494A 0x872B # <CJK>
-0xE494B 0x8747 # <CJK>
-0xE494C 0x8739 # <CJK>
-0xE494E 0x8745 # <CJK>
-0xE494F 0x871D # <CJK>
-0xE4951 0x88FF # <CJK>
-0xE4952 0x88EA # <CJK>
-0xE4954 0x88F5 # <CJK>
-0xE4956 0x8900 # <CJK>
-0xE4957 0x88ED # <CJK>
-0xE4958 0x8903 # <CJK>
-0xE4959 0x88E9 # <CJK>
-0xE495C 0x89EA # <CJK>
-0xE495E 0x8A9B # <CJK>
-0xE495F 0x8A8E # <CJK>
-0xE4960 0x8AA2 # <CJK>
-0xE4962 0x8A9C # <CJK>
-0xE4963 0x8A94 # <CJK>
-0xE4964 0x8A90 # <CJK>
-0xE4965 0x8AA9 # <CJK>
-0xE4966 0x8AAC # <CJK>
-0xE4968 0x8A9F # <CJK>
-0xE496B 0x8A9D # <CJK>
-0xE496D 0x8C67 # <CJK>
-0xE4970 0x8CD0 # <CJK>
-0xE4971 0x8CD6 # <CJK>
-0xE4972 0x8CD4 # <CJK>
-0xE4973 0x8D98 # <CJK>
-0xE4974 0x8D9A # <CJK>
-0xE4975 0x8D97 # <CJK>
-0xE4979 0x8E0B # <CJK>
-0xE497A 0x8E08 # <CJK>
-0xE497B 0x8E01 # <CJK>
-0xE497C 0x8EB4 # <CJK>
-0xE497D 0x8EB3 # <CJK>
-0xE4A21 0x8FA1 # <CJK>
-0xE4A22 0x8FA2 # <CJK>
-0xE4A24 0x905A # <CJK>
-0xE4A26 0x9061 # <CJK>
-0xE4A27 0x905F # <CJK>
-0xE4A2A 0x9125 # <CJK>
-0xE4A2B 0x917B # <CJK>
-0xE4A2C 0x9176 # <CJK>
-0xE4A2D 0x917C # <CJK>
-0xE4A2F 0x9289 # <CJK>
-0xE4A30 0x92F6 # <CJK>
-0xE4A31 0x92B1 # <CJK>
-0xE4A32 0x92AD # <CJK>
-0xE4A33 0x9292 # <CJK>
-0xE4A34 0x9281 # <CJK>
-0xE4A35 0x9284 # <CJK>
-0xE4A37 0x92AE # <CJK>
-0xE4A38 0x9290 # <CJK>
-0xE4A39 0x929E # <CJK>
-0xE4A3D 0x95A2 # <CJK>
-0xE4A3E 0x95A7 # <CJK>
-0xE4A44 0x96A0 # <CJK>
-0xE4A45 0x969D # <CJK>
-0xE4A46 0x969F # <CJK>
-0xE4A47 0x96D0 # <CJK>
-0xE4A49 0x96D1 # <CJK>
-0xE4A4C 0x9759 # <CJK>
-0xE4A4E 0x9764 # <CJK>
-0xE4A52 0x9819 # <CJK>
-0xE4A54 0x9814 # <CJK>
-0xE4A55 0x9815 # <CJK>
-0xE4A56 0x981A # <CJK>
-0xE4A5B 0x9906 # <CJK>
-0xE4A5D 0x98F8 # <CJK>
-0xE4A5E 0x9901 # <CJK>
-0xE4A60 0x99BE # <CJK>
-0xE4A61 0x99BC # <CJK>
-0xE4A62 0x99B7 # <CJK>
-0xE4A63 0x99B6 # <CJK>
-0xE4A64 0x99C0 # <CJK>
-0xE4A66 0x99B8 # <CJK>
-0xE4A6A 0x99C4 # <CJK>
-0xE4A6C 0x99BF # <CJK>
-0xE4A6E 0x9ADA # <CJK>
-0xE4A6F 0x9AE4 # <CJK>
-0xE4A70 0x9AE9 # <CJK>
-0xE4A71 0x9AE8 # <CJK>
-0xE4A72 0x9AEA # <CJK>
-0xE4A73 0x9AE5 # <CJK>
-0xE4A75 0x9B26 # <CJK>
-0xE4A78 0x9B40 # <CJK>
-0xE4B22 0x9EBD # <CJK>
-0xE4B27 0x510E # <CJK>
-0xE4B29 0x50F7 # <CJK>
-0xE4B2B 0x50FC # <CJK>
-0xE4B2C 0x510D # <CJK>
-0xE4B2D 0x5101 # <CJK>
-0xE4B2E 0x51DA # <CJK>
-0xE4B2F 0x51D9 # <CJK>
-0xE4B30 0x51DB # <CJK>
-0xE4B31 0x5286 # <CJK>
-0xE4B32 0x528E # <CJK>
-0xE4B33 0x52EE # <CJK>
-0xE4B34 0x5333 # <CJK>
-0xE4B35 0x53B1 # <CJK>
-0xE4B37 0x5647 # <CJK>
-0xE4B38 0x562D # <CJK>
-0xE4B39 0x5654 # <CJK>
-0xE4B3B 0x564B # <CJK>
-0xE4B3C 0x5652 # <CJK>
-0xE4B3D 0x5631 # <CJK>
-0xE4B3E 0x5644 # <CJK>
-0xE4B3F 0x5656 # <CJK>
-0xE4B40 0x5650 # <CJK>
-0xE4B41 0x562B # <CJK>
-0xE4B43 0x564D # <CJK>
-0xE4B44 0x5637 # <CJK>
-0xE4B45 0x564F # <CJK>
-0xE4B46 0x58A2 # <CJK>
-0xE4B47 0x58B7 # <CJK>
-0xE4B49 0x58B2 # <CJK>
-0xE4B4B 0x58AA # <CJK>
-0xE4B4C 0x58B5 # <CJK>
-0xE4B4D 0x58B0 # <CJK>
-0xE4B4F 0x58B4 # <CJK>
-0xE4B50 0x58A4 # <CJK>
-0xE4B51 0x58A7 # <CJK>
-0xE4B53 0x5926 # <CJK>
-0xE4B54 0x5AFE # <CJK>
-0xE4B56 0x5B04 # <CJK>
-0xE4B58 0x5AFC # <CJK>
-0xE4B5A 0x5B06 # <CJK>
-0xE4B5B 0x5B0A # <CJK>
-0xE4B5C 0x5AFA # <CJK>
-0xE4B5D 0x5B0D # <CJK>
-0xE4B5E 0x5B00 # <CJK>
-0xE4B5F 0x5B0E # <CJK>
-0xE4B63 0x5D91 # <CJK>
-0xE4B65 0x5D8F # <CJK>
-0xE4B66 0x5D90 # <CJK>
-0xE4B67 0x5D98 # <CJK>
-0xE4B68 0x5DA4 # <CJK>
-0xE4B69 0x5D9B # <CJK>
-0xE4B6A 0x5DA3 # <CJK>
-0xE4B6B 0x5D96 # <CJK>
-0xE4B6C 0x5DE4 # <CJK>
-0xE4B6D 0x5E5A # <CJK>
-0xE4B70 0x5E5E # <CJK>
-0xE4B72 0x5FB8 # <CJK>
-0xE4B73 0x6157 # <CJK>
-0xE4B74 0x615C # <CJK>
-0xE4B75 0x61A6 # <CJK>
-0xE4B76 0x6195 # <CJK>
-0xE4B77 0x6188 # <CJK>
-0xE4B79 0x61A3 # <CJK>
-0xE4B7A 0x618F # <CJK>
-0xE4B7C 0x6164 # <CJK>
-0xE4B7E 0x6159 # <CJK>
-0xE4C21 0x6178 # <CJK>
-0xE4C23 0x6185 # <CJK>
-0xE4C24 0x6187 # <CJK>
-0xE4C25 0x619E # <CJK>
-0xE4C28 0x6198 # <CJK>
-0xE4C29 0x619C # <CJK>
-0xE4C2C 0x622F # <CJK>
-0xE4C2D 0x6480 # <CJK>
-0xE4C2E 0x649B # <CJK>
-0xE4C2F 0x648E # <CJK>
-0xE4C30 0x648D # <CJK>
-0xE4C31 0x6494 # <CJK>
-0xE4C32 0x64C6 # <CJK>
-0xE4C34 0x64A8 # <CJK>
-0xE4C35 0x6483 # <CJK>
-0xE4C37 0x64B9 # <CJK>
-0xE4C38 0x6486 # <CJK>
-0xE4C39 0x64B4 # <CJK>
-0xE4C3A 0x64AF # <CJK>
-0xE4C3B 0x6491 # <CJK>
-0xE4C3D 0x64AA # <CJK>
-0xE4C3E 0x64A1 # <CJK>
-0xE4C3F 0x64A7 # <CJK>
-0xE4C40 0x66B6 # <CJK>
-0xE4C41 0x66B3 # <CJK>
-0xE4C43 0x66BC # <CJK>
-0xE4C44 0x66AC # <CJK>
-0xE4C46 0x66AD # <CJK>
-0xE4C47 0x6A0E # <CJK>
-0xE4C49 0x6A1C # <CJK>
-0xE4C4A 0x6A1A # <CJK>
-0xE4C4D 0x6A0B # <CJK>
-0xE4C4F 0x69EF # <CJK>
-0xE4C50 0x6A0C # <CJK>
-0xE4C51 0x69F0 # <CJK>
-0xE4C52 0x6A22 # <CJK>
-0xE4C54 0x69D8 # <CJK>
-0xE4C56 0x6A12 # <CJK>
-0xE4C57 0x69FA # <CJK>
-0xE4C59 0x6A2A # <CJK>
-0xE4C5B 0x6A10 # <CJK>
-0xE4C5E 0x6A29 # <CJK>
-0xE4C5F 0x69F9 # <CJK>
-0xE4C60 0x69EA # <CJK>
-0xE4C61 0x6A2C # <CJK>
-0xE4C62 0x6A24 # <CJK>
-0xE4C64 0x69E9 # <CJK>
-0xE4C65 0x6B52 # <CJK>
-0xE4C66 0x6B4F # <CJK>
-0xE4C67 0x6B53 # <CJK>
-0xE4C6A 0x6F10 # <CJK>
-0xE4C6B 0x6F65 # <CJK>
-0xE4C6C 0x6F75 # <CJK>
-0xE4C71 0x6FD0 # <CJK>
-0xE4C73 0x6F5C # <CJK>
-0xE4C74 0x6F3D # <CJK>
-0xE4C75 0x6F71 # <CJK>
-0xE4C77 0x6F91 # <CJK>
-0xE4C78 0x6F0B # <CJK>
-0xE4C79 0x6F79 # <CJK>
-0xE4C7A 0x6F81 # <CJK>
-0xE4C7B 0x6F8F # <CJK>
-0xE4C7D 0x6F59 # <CJK>
-0xE4C7E 0x6F74 # <CJK>
-0xE4D22 0x71AE # <CJK>
-0xE4D24 0x71A3 # <CJK>
-0xE4D25 0x71AD # <CJK>
-0xE4D28 0x71AB # <CJK>
-0xE4D29 0x71A6 # <CJK>
-0xE4D2A 0x71A2 # <CJK>
-0xE4D2C 0x52F2 # <CJK>
-0xE4D2D 0x7257 # <CJK>
-0xE4D2E 0x7255 # <CJK>
-0xE4D2F 0x7299 # <CJK>
-0xE4D30 0x734B # <CJK>
-0xE4D31 0x747A # <CJK>
-0xE4D35 0x748C # <CJK>
-0xE4D36 0x7484 # <CJK>
-0xE4D39 0x7482 # <CJK>
-0xE4D3A 0x7493 # <CJK>
-0xE4D3B 0x747B # <CJK>
-0xE4D3D 0x7509 # <CJK>
-0xE4D44 0x778A # <CJK>
-0xE4D46 0x7790 # <CJK>
-0xE4D48 0x78C6 # <CJK>
-0xE4D49 0x78D3 # <CJK>
-0xE4D4A 0x78C0 # <CJK>
-0xE4D4B 0x78D2 # <CJK>
-0xE4D4C 0x78C7 # <CJK>
-0xE4D4D 0x78C2 # <CJK>
-0xE4D4F 0x799F # <CJK>
-0xE4D50 0x799D # <CJK>
-0xE4D51 0x799E # <CJK>
-0xE4D53 0x7A41 # <CJK>
-0xE4D55 0x7A38 # <CJK>
-0xE4D56 0x7A3A # <CJK>
-0xE4D57 0x7A42 # <CJK>
-0xE4D5A 0x7A3E # <CJK>
-0xE4D5B 0x7AB0 # <CJK>
-0xE4D5C 0x7BAE # <CJK>
-0xE4D5D 0x7BB3 # <CJK>
-0xE4D60 0x7BBF # <CJK>
-0xE4D63 0x7BCD # <CJK>
-0xE4D65 0x7BB2 # <CJK>
-0xE4D6D 0x7CC4 # <CJK>
-0xE4D6E 0x7CCD # <CJK>
-0xE4D6F 0x7CC2 # <CJK>
-0xE4D70 0x7CC6 # <CJK>
-0xE4D71 0x7CC3 # <CJK>
-0xE4D72 0x7CC9 # <CJK>
-0xE4D73 0x7CC7 # <CJK>
-0xE4D75 0x7DF8 # <CJK>
-0xE4D77 0x7DED # <CJK>
-0xE4D78 0x7DE2 # <CJK>
-0xE4D7C 0x7DDC # <CJK>
-0xE4D7D 0x7E02 # <CJK>
-0xE4D7E 0x7E01 # <CJK>
-0xE4E22 0x7DD6 # <CJK>
-0xE4E24 0x7DE4 # <CJK>
-0xE4E25 0x7DFE # <CJK>
-0xE4E27 0x7E00 # <CJK>
-0xE4E28 0x7DFC # <CJK>
-0xE4E29 0x7DFD # <CJK>
-0xE4E2B 0x7DF5 # <CJK>
-0xE4E2C 0x7DFF # <CJK>
-0xE4E2E 0x7DEB # <CJK>
-0xE4E2F 0x7DE5 # <CJK>
-0xE4E30 0x7F78 # <CJK>
-0xE4E31 0x7FAE # <CJK>
-0xE4E32 0x7FE7 # <CJK>
-0xE4E34 0x8065 # <CJK>
-0xE4E35 0x806A # <CJK>
-0xE4E36 0x8066 # <CJK>
-0xE4E37 0x8068 # <CJK>
-0xE4E38 0x806B # <CJK>
-0xE4E39 0x8194 # <CJK>
-0xE4E3A 0x81A1 # <CJK>
-0xE4E3B 0x8192 # <CJK>
-0xE4E3C 0x8196 # <CJK>
-0xE4E3D 0x8193 # <CJK>
-0xE4E40 0x8501 # <CJK>
-0xE4E42 0x84F8 # <CJK>
-0xE4E44 0x84F5 # <CJK>
-0xE4E46 0x8504 # <CJK>
-0xE4E4B 0x851B # <CJK>
-0xE4E4C 0x8503 # <CJK>
-0xE4E4D 0x8533 # <CJK>
-0xE4E4E 0x8534 # <CJK>
-0xE4E4F 0x84ED # <CJK>
-0xE4E52 0x8535 # <CJK>
-0xE4E54 0x8505 # <CJK>
-0xE4E59 0x877D # <CJK>
-0xE4E5D 0x8771 # <CJK>
-0xE4E5F 0x885C # <CJK>
-0xE4E60 0x88E6 # <CJK>
-0xE4E61 0x890F # <CJK>
-0xE4E62 0x891B # <CJK>
-0xE4E64 0x89A9 # <CJK>
-0xE4E65 0x89A5 # <CJK>
-0xE4E66 0x89EE # <CJK>
-0xE4E67 0x8AB1 # <CJK>
-0xE4E69 0x8ACC # <CJK>
-0xE4E6A 0x8ACE # <CJK>
-0xE4E6C 0x8AB7 # <CJK>
-0xE4E6E 0x8AB5 # <CJK>
-0xE4E6F 0x8AE9 # <CJK>
-0xE4E70 0x8AB4 # <CJK>
-0xE4E72 0x8AB3 # <CJK>
-0xE4E73 0x8AC1 # <CJK>
-0xE4E74 0x8AAF # <CJK>
-0xE4E75 0x8ACA # <CJK>
-0xE4E76 0x8AD0 # <CJK>
-0xE4E7A 0x8C8E # <CJK>
-0xE4E7D 0x8CE9 # <CJK>
-0xE4E7E 0x8CDB # <CJK>
-0xE4F22 0x8CEB # <CJK>
-0xE4F23 0x8DA4 # <CJK>
-0xE4F25 0x8DA2 # <CJK>
-0xE4F26 0x8D9D # <CJK>
-0xE4F2B 0x8E2A # <CJK>
-0xE4F2C 0x8E28 # <CJK>
-0xE4F2F 0x8EB8 # <CJK>
-0xE4F30 0x8EB6 # <CJK>
-0xE4F31 0x8EB9 # <CJK>
-0xE4F32 0x8EB7 # <CJK>
-0xE4F33 0x8F22 # <CJK>
-0xE4F34 0x8F2B # <CJK>
-0xE4F35 0x8F27 # <CJK>
-0xE4F36 0x8F19 # <CJK>
-0xE4F37 0x8FA4 # <CJK>
-0xE4F39 0x8FB3 # <CJK>
-0xE4F3B 0x9071 # <CJK>
-0xE4F3C 0x906A # <CJK>
-0xE4F3F 0x9188 # <CJK>
-0xE4F40 0x918C # <CJK>
-0xE4F41 0x92BF # <CJK>
-0xE4F42 0x92B8 # <CJK>
-0xE4F43 0x92BE # <CJK>
-0xE4F44 0x92DC # <CJK>
-0xE4F45 0x92E5 # <CJK>
-0xE4F48 0x92D4 # <CJK>
-0xE4F49 0x92D6 # <CJK>
-0xE4F4B 0x92DA # <CJK>
-0xE4F4C 0x92ED # <CJK>
-0xE4F4D 0x92F3 # <CJK>
-0xE4F4E 0x92DB # <CJK>
-0xE4F50 0x92B9 # <CJK>
-0xE4F51 0x92E2 # <CJK>
-0xE4F52 0x92EB # <CJK>
-0xE4F53 0x95AF # <CJK>
-0xE4F55 0x95B2 # <CJK>
-0xE4F56 0x95B3 # <CJK>
-0xE4F5A 0x96A3 # <CJK>
-0xE4F5B 0x96A5 # <CJK>
-0xE4F60 0x970A # <CJK>
-0xE4F62 0x9787 # <CJK>
-0xE4F63 0x9789 # <CJK>
-0xE4F64 0x978C # <CJK>
-0xE4F65 0x97EF # <CJK>
-0xE4F66 0x982A # <CJK>
-0xE4F67 0x9822 # <CJK>
-0xE4F69 0x981F # <CJK>
-0xE4F6B 0x9919 # <CJK>
-0xE4F6D 0x99CA # <CJK>
-0xE4F6E 0x99DA # <CJK>
-0xE4F72 0x99DE # <CJK>
-0xE4F73 0x99C8 # <CJK>
-0xE4F74 0x99E0 # <CJK>
-0xE4F76 0x9AB6 # <CJK>
-0xE4F77 0x9AB5 # <CJK>
-0xE4F79 0x9AF4 # <CJK>
-0xE4F7B 0x9B6B # <CJK>
-0xE4F7C 0x9B69 # <CJK>
-0xE4F7D 0x9B72 # <CJK>
-0xE4F7E 0x9B63 # <CJK>
-0xE5022 0x9D0D # <CJK>
-0xE5024 0x9D01 # <CJK>
-0xE5025 0x9D0C # <CJK>
-0xE5027 0x9CF8 # <CJK>
-0xE502A 0x9CFE # <CJK>
-0xE502B 0x9D02 # <CJK>
-0xE502C 0x9E84 # <CJK>
-0xE502E 0x9EAB # <CJK>
-0xE502F 0x9EAA # <CJK>
-0xE5030 0x511D # <CJK>
-0xE5031 0x5116 # <CJK>
-0xE5033 0x512B # <CJK>
-0xE5034 0x511E # <CJK>
-0xE5035 0x511B # <CJK>
-0xE5036 0x5290 # <CJK>
-0xE5037 0x5294 # <CJK>
-0xE5038 0x5314 # <CJK>
-0xE503B 0x5667 # <CJK>
-0xE503D 0x567B # <CJK>
-0xE503F 0x565F # <CJK>
-0xE5040 0x5661 # <CJK>
-0xE5048 0x58C3 # <CJK>
-0xE5049 0x58CA # <CJK>
-0xE504A 0x58BB # <CJK>
-0xE504B 0x58C0 # <CJK>
-0xE504C 0x58C4 # <CJK>
-0xE504D 0x5901 # <CJK>
-0xE504E 0x5B1F # <CJK>
-0xE504F 0x5B18 # <CJK>
-0xE5050 0x5B11 # <CJK>
-0xE5051 0x5B15 # <CJK>
-0xE5053 0x5B12 # <CJK>
-0xE5054 0x5B1C # <CJK>
-0xE5056 0x5B22 # <CJK>
-0xE5057 0x5B79 # <CJK>
-0xE5058 0x5DA6 # <CJK>
-0xE505A 0x5DB3 # <CJK>
-0xE505B 0x5DAB # <CJK>
-0xE505C 0x5EEA # <CJK>
-0xE505E 0x5F5B # <CJK>
-0xE5061 0x61B7 # <CJK>
-0xE5062 0x61CE # <CJK>
-0xE5063 0x61B9 # <CJK>
-0xE5064 0x61BD # <CJK>
-0xE5065 0x61CF # <CJK>
-0xE5066 0x61C0 # <CJK>
-0xE5067 0x6199 # <CJK>
-0xE5068 0x6197 # <CJK>
-0xE506A 0x61BB # <CJK>
-0xE506B 0x61D0 # <CJK>
-0xE506C 0x61C4 # <CJK>
-0xE506D 0x6231 # <CJK>
-0xE506F 0x64D3 # <CJK>
-0xE5070 0x64C0 # <CJK>
-0xE5075 0x64DC # <CJK>
-0xE5076 0x64D1 # <CJK>
-0xE5077 0x64C8 # <CJK>
-0xE5079 0x64D5 # <CJK>
-0xE507A 0x66C3 # <CJK>
-0xE507D 0x66BF # <CJK>
-0xE507E 0x66C5 # <CJK>
-0xE5122 0x66CD # <CJK>
-0xE5123 0x66C1 # <CJK>
-0xE5124 0x6706 # <CJK>
-0xE5126 0x6724 # <CJK>
-0xE5127 0x6A63 # <CJK>
-0xE5128 0x6A42 # <CJK>
-0xE5129 0x6A52 # <CJK>
-0xE512B 0x6A43 # <CJK>
-0xE512C 0x6A33 # <CJK>
-0xE512E 0x6A6C # <CJK>
-0xE512F 0x6A57 # <CJK>
-0xE5131 0x6A4C # <CJK>
-0xE5132 0x6A6E # <CJK>
-0xE5138 0x6A37 # <CJK>
-0xE513A 0x6A71 # <CJK>
-0xE513B 0x6A4A # <CJK>
-0xE513C 0x6A36 # <CJK>
-0xE513E 0x6A53 # <CJK>
-0xE5140 0x6A45 # <CJK>
-0xE5141 0x6A70 # <CJK>
-0xE5144 0x6A5C # <CJK>
-0xE5145 0x6B58 # <CJK>
-0xE5146 0x6B57 # <CJK>
-0xE514D 0x6FBB # <CJK>
-0xE5150 0x6FBE # <CJK>
-0xE5154 0x6FB5 # <CJK>
-0xE5155 0x6FD3 # <CJK>
-0xE5156 0x6F9F # <CJK>
-0xE5158 0x6FB7 # <CJK>
-0xE5159 0x6FF5 # <CJK>
-0xE515A 0x71B7 # <CJK>
-0xE515C 0x71BB # <CJK>
-0xE515E 0x71D1 # <CJK>
-0xE5160 0x71BA # <CJK>
-0xE5162 0x71B6 # <CJK>
-0xE5163 0x71CC # <CJK>
-0xE5166 0x71D3 # <CJK>
-0xE5167 0x749B # <CJK>
-0xE516A 0x7496 # <CJK>
-0xE516B 0x74A2 # <CJK>
-0xE516C 0x749D # <CJK>
-0xE516D 0x750A # <CJK>
-0xE516E 0x750E # <CJK>
-0xE5170 0x7581 # <CJK>
-0xE5171 0x762C # <CJK>
-0xE5172 0x7637 # <CJK>
-0xE5173 0x7636 # <CJK>
-0xE5174 0x763B # <CJK>
-0xE5176 0x76A1 # <CJK>
-0xE5179 0x7798 # <CJK>
-0xE517B 0x7796 # <CJK>
-0xE5221 0x78D6 # <CJK>
-0xE5222 0x78EB # <CJK>
-0xE5224 0x78DC # <CJK>
-0xE5226 0x79A5 # <CJK>
-0xE5227 0x79A9 # <CJK>
-0xE5228 0x9834 # <CJK>
-0xE5229 0x7A53 # <CJK>
-0xE522A 0x7A45 # <CJK>
-0xE522C 0x7A4F # <CJK>
-0xE522E 0x7ABD # <CJK>
-0xE522F 0x7ABB # <CJK>
-0xE5230 0x7AF1 # <CJK>
-0xE5233 0x7BEC # <CJK>
-0xE5234 0x7BED # <CJK>
-0xE5237 0x7CD3 # <CJK>
-0xE5239 0x7CE1 # <CJK>
-0xE523B 0x7E19 # <CJK>
-0xE523F 0x7E27 # <CJK>
-0xE5240 0x7E26 # <CJK>
-0xE5243 0x806E # <CJK>
-0xE5244 0x81AF # <CJK>
-0xE5247 0x81AD # <CJK>
-0xE5249 0x81AA # <CJK>
-0xE524A 0x8218 # <CJK>
-0xE524F 0x856F # <CJK>
-0xE5250 0x854C # <CJK>
-0xE5252 0x8542 # <CJK>
-0xE5254 0x855C # <CJK>
-0xE5255 0x8570 # <CJK>
-0xE5256 0x855F # <CJK>
-0xE5258 0x855A # <CJK>
-0xE5259 0x854B # <CJK>
-0xE525A 0x853F # <CJK>
-0xE525B 0x878A # <CJK>
-0xE525D 0x878B # <CJK>
-0xE525E 0x87A1 # <CJK>
-0xE525F 0x878E # <CJK>
-0xE5262 0x8799 # <CJK>
-0xE5263 0x885E # <CJK>
-0xE5264 0x885F # <CJK>
-0xE5265 0x8924 # <CJK>
-0xE5266 0x89A7 # <CJK>
-0xE5267 0x8AEA # <CJK>
-0xE5268 0x8AFD # <CJK>
-0xE5269 0x8AF9 # <CJK>
-0xE526A 0x8AE3 # <CJK>
-0xE526B 0x8AE5 # <CJK>
-0xE526E 0x8AEC # <CJK>
-0xE5273 0x8CF2 # <CJK>
-0xE5275 0x8CEF # <CJK>
-0xE5277 0x8DA6 # <CJK>
-0xE527B 0x8E3B # <CJK>
-0xE527C 0x8E43 # <CJK>
-0xE527E 0x8E32 # <CJK>
-0xE5321 0x8F31 # <CJK>
-0xE5322 0x8F30 # <CJK>
-0xE5324 0x8F2D # <CJK>
-0xE5325 0x8F3C # <CJK>
-0xE5326 0x8FA7 # <CJK>
-0xE5327 0x8FA5 # <CJK>
-0xE532B 0x9137 # <CJK>
-0xE532C 0x9195 # <CJK>
-0xE532D 0x918E # <CJK>
-0xE532F 0x9196 # <CJK>
-0xE5331 0x9345 # <CJK>
-0xE5332 0x930A # <CJK>
-0xE5335 0x92FD # <CJK>
-0xE5336 0x9317 # <CJK>
-0xE5337 0x931C # <CJK>
-0xE5338 0x9307 # <CJK>
-0xE5339 0x9331 # <CJK>
-0xE533A 0x9332 # <CJK>
-0xE533B 0x932C # <CJK>
-0xE533C 0x9330 # <CJK>
-0xE533D 0x9303 # <CJK>
-0xE533E 0x9305 # <CJK>
-0xE5340 0x95C2 # <CJK>
-0xE5342 0x95B8 # <CJK>
-0xE5344 0x95C1 # <CJK>
-0xE5348 0x96AB # <CJK>
-0xE5349 0x96B7 # <CJK>
-0xE534C 0x9715 # <CJK>
-0xE534D 0x9714 # <CJK>
-0xE5350 0x970C # <CJK>
-0xE5351 0x9717 # <CJK>
-0xE5353 0x9793 # <CJK>
-0xE5355 0x97D2 # <CJK>
-0xE5358 0x9836 # <CJK>
-0xE5359 0x9831 # <CJK>
-0xE535A 0x9833 # <CJK>
-0xE535B 0x983C # <CJK>
-0xE535C 0x982E # <CJK>
-0xE535D 0x983A # <CJK>
-0xE535F 0x983D # <CJK>
-0xE5361 0x98B5 # <CJK>
-0xE5362 0x9922 # <CJK>
-0xE5363 0x9923 # <CJK>
-0xE5364 0x9920 # <CJK>
-0xE5365 0x991C # <CJK>
-0xE5366 0x991D # <CJK>
-0xE5368 0x99A0 # <CJK>
-0xE536A 0x99EF # <CJK>
-0xE536B 0x99E8 # <CJK>
-0xE536C 0x99EB # <CJK>
-0xE5370 0x99E1 # <CJK>
-0xE5371 0x99E6 # <CJK>
-0xE5374 0x9AF8 # <CJK>
-0xE5375 0x9AF5 # <CJK>
-0xE5378 0x9B83 # <CJK>
-0xE5379 0x9B94 # <CJK>
-0xE537A 0x9B84 # <CJK>
-0xE537C 0x9B8B # <CJK>
-0xE537D 0x9B8F # <CJK>
-0xE5421 0x9B8C # <CJK>
-0xE5423 0x9B89 # <CJK>
-0xE5425 0x9B8E # <CJK>
-0xE5429 0x9D24 # <CJK>
-0xE542A 0x9D0F # <CJK>
-0xE542C 0x9D13 # <CJK>
-0xE542D 0x9D0A # <CJK>
-0xE5432 0x9D2A # <CJK>
-0xE5433 0x9D1A # <CJK>
-0xE5435 0x9D27 # <CJK>
-0xE5436 0x9D16 # <CJK>
-0xE5437 0x9D21 # <CJK>
-0xE5439 0x9E85 # <CJK>
-0xE543A 0x9EAC # <CJK>
-0xE543B 0x9EC6 # <CJK>
-0xE543C 0x9EC5 # <CJK>
-0xE543D 0x9ED7 # <CJK>
-0xE543E 0x9F53 # <CJK>
-0xE5440 0x5128 # <CJK>
-0xE5441 0x5127 # <CJK>
-0xE5442 0x51DF # <CJK>
-0xE5444 0x5335 # <CJK>
-0xE5445 0x53B3 # <CJK>
-0xE5447 0x568A # <CJK>
-0xE5448 0x567D # <CJK>
-0xE5449 0x5689 # <CJK>
-0xE544B 0x58CD # <CJK>
-0xE544C 0x58D0 # <CJK>
-0xE544E 0x5B2B # <CJK>
-0xE544F 0x5B33 # <CJK>
-0xE5450 0x5B29 # <CJK>
-0xE5451 0x5B35 # <CJK>
-0xE5452 0x5B31 # <CJK>
-0xE5453 0x5B37 # <CJK>
-0xE5454 0x5C36 # <CJK>
-0xE5455 0x5DBE # <CJK>
-0xE5457 0x5DB9 # <CJK>
-0xE5459 0x5DBB # <CJK>
-0xE545B 0x61E2 # <CJK>
-0xE545C 0x61DB # <CJK>
-0xE545D 0x61DD # <CJK>
-0xE545E 0x61DC # <CJK>
-0xE545F 0x61DA # <CJK>
-0xE5461 0x61D9 # <CJK>
-0xE5464 0x64DF # <CJK>
-0xE5467 0x64E1 # <CJK>
-0xE5469 0x64EE # <CJK>
-0xE546B 0x65B5 # <CJK>
-0xE546C 0x66D4 # <CJK>
-0xE546D 0x66D5 # <CJK>
-0xE546F 0x66D0 # <CJK>
-0xE5470 0x66D1 # <CJK>
-0xE5471 0x66CE # <CJK>
-0xE5472 0x66D7 # <CJK>
-0xE5475 0x6A7D # <CJK>
-0xE5476 0x6A8A # <CJK>
-0xE5478 0x6AA7 # <CJK>
-0xE547A 0x6A99 # <CJK>
-0xE547B 0x6A82 # <CJK>
-0xE547C 0x6A88 # <CJK>
-0xE5521 0x6A86 # <CJK>
-0xE5523 0x6A98 # <CJK>
-0xE5524 0x6A9D # <CJK>
-0xE5527 0x6A8F # <CJK>
-0xE5529 0x6AAA # <CJK>
-0xE552B 0x6B5D # <CJK>
-0xE552D 0x6C0A # <CJK>
-0xE552F 0x6FD7 # <CJK>
-0xE5530 0x6FD6 # <CJK>
-0xE5531 0x6FE5 # <CJK>
-0xE5535 0x6FD9 # <CJK>
-0xE5536 0x6FDA # <CJK>
-0xE5537 0x6FEA # <CJK>
-0xE5539 0x6FF6 # <CJK>
-0xE553C 0x71E3 # <CJK>
-0xE553E 0x71E9 # <CJK>
-0xE5540 0x71EB # <CJK>
-0xE5541 0x71EF # <CJK>
-0xE5542 0x71F3 # <CJK>
-0xE5543 0x71EA # <CJK>
-0xE5549 0x7371 # <CJK>
-0xE554B 0x74AE # <CJK>
-0xE554D 0x74B3 # <CJK>
-0xE554F 0x74AC # <CJK>
-0xE5552 0x7583 # <CJK>
-0xE5553 0x7645 # <CJK>
-0xE5554 0x764E # <CJK>
-0xE5555 0x7644 # <CJK>
-0xE5556 0x76A3 # <CJK>
-0xE5557 0x76A5 # <CJK>
-0xE5558 0x77A6 # <CJK>
-0xE5559 0x77A4 # <CJK>
-0xE555B 0x77A9 # <CJK>
-0xE555C 0x77AF # <CJK>
-0xE5560 0x78F0 # <CJK>
-0xE5561 0x78F8 # <CJK>
-0xE5562 0x78F1 # <CJK>
-0xE5564 0x7A49 # <CJK>
-0xE5568 0x7AC2 # <CJK>
-0xE5569 0x7AF2 # <CJK>
-0xE556A 0x7AF3 # <CJK>
-0xE556B 0x7BFA # <CJK>
-0xE556D 0x7BF6 # <CJK>
-0xE556E 0x7BFC # <CJK>
-0xE556F 0x7C18 # <CJK>
-0xE5570 0x7C08 # <CJK>
-0xE5571 0x7C12 # <CJK>
-0xE5574 0x7CDB # <CJK>
-0xE5575 0x7CDA # <CJK>
-0xE5579 0x7E2C # <CJK>
-0xE557A 0x7E4D # <CJK>
-0xE557D 0x7F46 # <CJK>
-0xE557E 0x7FF6 # <CJK>
-0xE5621 0x802B # <CJK>
-0xE5622 0x8074 # <CJK>
-0xE5623 0x81B8 # <CJK>
-0xE5624 0x81C8 # <CJK>
-0xE5628 0x8592 # <CJK>
-0xE5629 0x8593 # <CJK>
-0xE562B 0x857F # <CJK>
-0xE562C 0x85AB # <CJK>
-0xE562D 0x8597 # <CJK>
-0xE5630 0x85AC # <CJK>
-0xE5634 0x87CE # <CJK>
-0xE5636 0x87CD # <CJK>
-0xE5639 0x87C1 # <CJK>
-0xE563A 0x87B1 # <CJK>
-0xE563B 0x87C7 # <CJK>
-0xE563D 0x8940 # <CJK>
-0xE563F 0x893F # <CJK>
-0xE5640 0x8939 # <CJK>
-0xE5642 0x8943 # <CJK>
-0xE5646 0x89AB # <CJK>
-0xE5648 0x8B1F # <CJK>
-0xE5649 0x8B09 # <CJK>
-0xE564A 0x8B0C # <CJK>
-0xE564D 0x8C40 # <CJK>
-0xE564F 0x8C96 # <CJK>
-0xE5651 0x8CF6 # <CJK>
-0xE5652 0x8CF7 # <CJK>
-0xE5654 0x8E46 # <CJK>
-0xE5655 0x8E4F # <CJK>
-0xE5659 0x8F3D # <CJK>
-0xE565A 0x8F41 # <CJK>
-0xE565B 0x9366 # <CJK>
-0xE565C 0x9378 # <CJK>
-0xE565D 0x935D # <CJK>
-0xE565E 0x9369 # <CJK>
-0xE565F 0x9374 # <CJK>
-0xE5660 0x937D # <CJK>
-0xE5661 0x936E # <CJK>
-0xE5662 0x9372 # <CJK>
-0xE5663 0x9373 # <CJK>
-0xE5664 0x9362 # <CJK>
-0xE5665 0x9348 # <CJK>
-0xE5666 0x9353 # <CJK>
-0xE5667 0x935F # <CJK>
-0xE5668 0x9368 # <CJK>
-0xE566A 0x937F # <CJK>
-0xE566B 0x936B # <CJK>
-0xE566D 0x95C4 # <CJK>
-0xE566F 0x96AF # <CJK>
-0xE5670 0x96AD # <CJK>
-0xE5671 0x96B2 # <CJK>
-0xE5674 0x971A # <CJK>
-0xE5675 0x971B # <CJK>
-0xE567A 0x979B # <CJK>
-0xE567B 0x979F # <CJK>
-0xE5726 0x9840 # <CJK>
-0xE5728 0x9847 # <CJK>
-0xE572A 0x98B7 # <CJK>
-0xE5730 0x99A2 # <CJK>
-0xE5733 0x9A00 # <CJK>
-0xE5734 0x99F3 # <CJK>
-0xE5737 0x99F5 # <CJK>
-0xE573A 0x9ABD # <CJK>
-0xE573B 0x9B00 # <CJK>
-0xE573C 0x9B02 # <CJK>
-0xE573E 0x9B34 # <CJK>
-0xE573F 0x9B49 # <CJK>
-0xE5740 0x9B9F # <CJK>
-0xE5742 0x9BA3 # <CJK>
-0xE5743 0x9BCD # <CJK>
-0xE5744 0x9B99 # <CJK>
-0xE5745 0x9B9D # <CJK>
-0xE5748 0x9D39 # <CJK>
-0xE574A 0x9D44 # <CJK>
-0xE574D 0x9D35 # <CJK>
-0xE5750 0x9EAF # <CJK>
-0xE5752 0x512F # <CJK>
-0xE5755 0x9F8E # <CJK>
-0xE5757 0x569F # <CJK>
-0xE5758 0x569B # <CJK>
-0xE5759 0x569E # <CJK>
-0xE575A 0x5696 # <CJK>
-0xE575B 0x5694 # <CJK>
-0xE575C 0x56A0 # <CJK>
-0xE575E 0x5B3B # <CJK>
-0xE5761 0x5B3A # <CJK>
-0xE5762 0x5DC1 # <CJK>
-0xE5763 0x5F4D # <CJK>
-0xE5764 0x5F5D # <CJK>
-0xE5765 0x61F3 # <CJK>
-0xE576A 0x64F6 # <CJK>
-0xE576B 0x64E5 # <CJK>
-0xE576C 0x64EA # <CJK>
-0xE576D 0x64E7 # <CJK>
-0xE576E 0x6505 # <CJK>
-0xE5770 0x64F9 # <CJK>
-0xE5774 0x6AAB # <CJK>
-0xE5775 0x6AED # <CJK>
-0xE5776 0x6AB2 # <CJK>
-0xE5777 0x6AB0 # <CJK>
-0xE5778 0x6AB5 # <CJK>
-0xE5779 0x6ABE # <CJK>
-0xE577A 0x6AC1 # <CJK>
-0xE577B 0x6AC8 # <CJK>
-0xE577D 0x6AC0 # <CJK>
-0xE577E 0x6ABC # <CJK>
-0xE5821 0x6AB1 # <CJK>
-0xE5822 0x6AC4 # <CJK>
-0xE5823 0x6ABF # <CJK>
-0xE5826 0x7008 # <CJK>
-0xE5827 0x7003 # <CJK>
-0xE5828 0x6FFD # <CJK>
-0xE5829 0x7010 # <CJK>
-0xE582A 0x7002 # <CJK>
-0xE582B 0x7013 # <CJK>
-0xE582D 0x71FA # <CJK>
-0xE582E 0x7200 # <CJK>
-0xE582F 0x74B9 # <CJK>
-0xE5830 0x74BC # <CJK>
-0xE5832 0x765B # <CJK>
-0xE5833 0x7651 # <CJK>
-0xE5834 0x764F # <CJK>
-0xE5835 0x76EB # <CJK>
-0xE5836 0x77B8 # <CJK>
-0xE5838 0x77B9 # <CJK>
-0xE5839 0x77C1 # <CJK>
-0xE583A 0x77C0 # <CJK>
-0xE583B 0x77BE # <CJK>
-0xE583C 0x790B # <CJK>
-0xE583E 0x7907 # <CJK>
-0xE583F 0x790A # <CJK>
-0xE5840 0x7908 # <CJK>
-0xE5842 0x790D # <CJK>
-0xE5843 0x7906 # <CJK>
-0xE5844 0x7915 # <CJK>
-0xE5845 0x79AF # <CJK>
-0xE5849 0x7AF5 # <CJK>
-0xE584C 0x7C2E # <CJK>
-0xE584E 0x7C1B # <CJK>
-0xE5850 0x7C1A # <CJK>
-0xE5851 0x7C24 # <CJK>
-0xE5854 0x7CE6 # <CJK>
-0xE5855 0x7CE3 # <CJK>
-0xE5858 0x7E5D # <CJK>
-0xE5859 0x7E4F # <CJK>
-0xE585A 0x7E66 # <CJK>
-0xE585B 0x7E5B # <CJK>
-0xE585C 0x7F47 # <CJK>
-0xE585D 0x7FB4 # <CJK>
-0xE5861 0x7FFA # <CJK>
-0xE5862 0x802E # <CJK>
-0xE5865 0x81CE # <CJK>
-0xE5868 0x8219 # <CJK>
-0xE586B 0x85CC # <CJK>
-0xE586C 0x85B2 # <CJK>
-0xE586E 0x85BB # <CJK>
-0xE586F 0x85C1 # <CJK>
-0xE5873 0x87E9 # <CJK>
-0xE5874 0x87EE # <CJK>
-0xE5875 0x87F0 # <CJK>
-0xE5876 0x87D6 # <CJK>
-0xE5877 0x880E # <CJK>
-0xE5878 0x87DA # <CJK>
-0xE5879 0x8948 # <CJK>
-0xE587A 0x894A # <CJK>
-0xE587B 0x894E # <CJK>
-0xE587C 0x894D # <CJK>
-0xE587D 0x89B1 # <CJK>
-0xE587E 0x89B0 # <CJK>
-0xE5921 0x89B3 # <CJK>
-0xE5923 0x8B38 # <CJK>
-0xE5924 0x8B32 # <CJK>
-0xE5926 0x8B2D # <CJK>
-0xE5928 0x8B34 # <CJK>
-0xE592A 0x8B29 # <CJK>
-0xE592B 0x8C74 # <CJK>
-0xE592E 0x8D03 # <CJK>
-0xE5931 0x8DA9 # <CJK>
-0xE5932 0x8E58 # <CJK>
-0xE5935 0x8EBF # <CJK>
-0xE5936 0x8EC1 # <CJK>
-0xE5937 0x8F4A # <CJK>
-0xE5938 0x8FAC # <CJK>
-0xE593A 0x9089 # <CJK>
-0xE593B 0x913D # <CJK>
-0xE593C 0x913C # <CJK>
-0xE593D 0x91A9 # <CJK>
-0xE593E 0x93A0 # <CJK>
-0xE5940 0x9390 # <CJK>
-0xE5942 0x9393 # <CJK>
-0xE5943 0x938B # <CJK>
-0xE5944 0x93AD # <CJK>
-0xE5945 0x93BB # <CJK>
-0xE5946 0x93B8 # <CJK>
-0xE5949 0x939C # <CJK>
-0xE594A 0x95D8 # <CJK>
-0xE594B 0x95D7 # <CJK>
-0xE594F 0x975D # <CJK>
-0xE5950 0x97A9 # <CJK>
-0xE5951 0x97DA # <CJK>
-0xE5956 0x9854 # <CJK>
-0xE5958 0x9855 # <CJK>
-0xE5959 0x984B # <CJK>
-0xE595B 0x983F # <CJK>
-0xE595C 0x98B9 # <CJK>
-0xE5961 0x9938 # <CJK>
-0xE5962 0x9936 # <CJK>
-0xE5963 0x9940 # <CJK>
-0xE5965 0x993B # <CJK>
-0xE5966 0x9939 # <CJK>
-0xE5967 0x99A4 # <CJK>
-0xE596A 0x9A08 # <CJK>
-0xE596B 0x9A0C # <CJK>
-0xE596D 0x9A10 # <CJK>
-0xE596F 0x9B07 # <CJK>
-0xE5971 0x9BD2 # <CJK>
-0xE5973 0x9BC2 # <CJK>
-0xE5974 0x9BBB # <CJK>
-0xE5975 0x9BCC # <CJK>
-0xE5976 0x9BCB # <CJK>
-0xE5979 0x9D4D # <CJK>
-0xE597A 0x9D63 # <CJK>
-0xE597B 0x9D4E # <CJK>
-0xE597D 0x9D50 # <CJK>
-0xE597E 0x9D55 # <CJK>
-0xE5A22 0x9D5E # <CJK>
-0xE5A24 0x9E90 # <CJK>
-0xE5A25 0x9EB2 # <CJK>
-0xE5A26 0x9EB1 # <CJK>
-0xE5A28 0x9ECA # <CJK>
-0xE5A29 0x9F02 # <CJK>
-0xE5A2A 0x9F27 # <CJK>
-0xE5A2B 0x9F26 # <CJK>
-0xE5A2D 0x56AF # <CJK>
-0xE5A2E 0x58E0 # <CJK>
-0xE5A2F 0x58DC # <CJK>
-0xE5A31 0x5B39 # <CJK>
-0xE5A34 0x5B7C # <CJK>
-0xE5A35 0x5BF3 # <CJK>
-0xE5A38 0x5C6B # <CJK>
-0xE5A39 0x5DC4 # <CJK>
-0xE5A3A 0x650B # <CJK>
-0xE5A3B 0x6508 # <CJK>
-0xE5A3C 0x650A # <CJK>
-0xE5A3F 0x65DC # <CJK>
-0xE5A42 0x66E1 # <CJK>
-0xE5A43 0x66DF # <CJK>
-0xE5A44 0x6ACE # <CJK>
-0xE5A45 0x6AD4 # <CJK>
-0xE5A46 0x6AE3 # <CJK>
-0xE5A47 0x6AD7 # <CJK>
-0xE5A48 0x6AE2 # <CJK>
-0xE5A4D 0x6AD8 # <CJK>
-0xE5A4E 0x6AD5 # <CJK>
-0xE5A4F 0x6AD2 # <CJK>
-0xE5A52 0x701E # <CJK>
-0xE5A53 0x702C # <CJK>
-0xE5A54 0x7025 # <CJK>
-0xE5A55 0x6FF3 # <CJK>
-0xE5A56 0x7204 # <CJK>
-0xE5A57 0x7208 # <CJK>
-0xE5A58 0x7215 # <CJK>
-0xE5A5A 0x74C4 # <CJK>
-0xE5A5B 0x74C9 # <CJK>
-0xE5A5C 0x74C7 # <CJK>
-0xE5A5D 0x74C8 # <CJK>
-0xE5A5E 0x76A9 # <CJK>
-0xE5A5F 0x77C6 # <CJK>
-0xE5A60 0x77C5 # <CJK>
-0xE5A61 0x7918 # <CJK>
-0xE5A62 0x791A # <CJK>
-0xE5A63 0x7920 # <CJK>
-0xE5A65 0x7A66 # <CJK>
-0xE5A66 0x7A64 # <CJK>
-0xE5A67 0x7A6A # <CJK>
-0xE5A6E 0x7C35 # <CJK>
-0xE5A6F 0x7C34 # <CJK>
-0xE5A72 0x7E6C # <CJK>
-0xE5A74 0x7E6E # <CJK>
-0xE5A75 0x7E71 # <CJK>
-0xE5A77 0x81D4 # <CJK>
-0xE5A78 0x81D6 # <CJK>
-0xE5A79 0x821A # <CJK>
-0xE5A7A 0x8262 # <CJK>
-0xE5A7B 0x8265 # <CJK>
-0xE5A7C 0x8276 # <CJK>
-0xE5A7D 0x85DB # <CJK>
-0xE5A7E 0x85D6 # <CJK>
-0xE5B22 0x85E7 # <CJK>
-0xE5B25 0x85F4 # <CJK>
-0xE5B27 0x87FD # <CJK>
-0xE5B28 0x87D5 # <CJK>
-0xE5B29 0x8807 # <CJK>
-0xE5B2B 0x880F # <CJK>
-0xE5B2C 0x87F8 # <CJK>
-0xE5B2F 0x8987 # <CJK>
-0xE5B31 0x89B5 # <CJK>
-0xE5B32 0x89F5 # <CJK>
-0xE5B34 0x8B3F # <CJK>
-0xE5B35 0x8B43 # <CJK>
-0xE5B36 0x8B4C # <CJK>
-0xE5B38 0x8D0B # <CJK>
-0xE5B39 0x8E6B # <CJK>
-0xE5B3A 0x8E68 # <CJK>
-0xE5B3B 0x8E70 # <CJK>
-0xE5B3C 0x8E75 # <CJK>
-0xE5B3D 0x8E77 # <CJK>
-0xE5B3F 0x8EC3 # <CJK>
-0xE5B41 0x93E9 # <CJK>
-0xE5B42 0x93EA # <CJK>
-0xE5B43 0x93CB # <CJK>
-0xE5B44 0x93C5 # <CJK>
-0xE5B45 0x93C6 # <CJK>
-0xE5B47 0x93ED # <CJK>
-0xE5B48 0x93D3 # <CJK>
-0xE5B4A 0x93E5 # <CJK>
-0xE5B4D 0x93DB # <CJK>
-0xE5B4E 0x93EB # <CJK>
-0xE5B4F 0x93E0 # <CJK>
-0xE5B50 0x93C1 # <CJK>
-0xE5B53 0x95DD # <CJK>
-0xE5B5D 0x97B2 # <CJK>
-0xE5B5E 0x97B4 # <CJK>
-0xE5B5F 0x97B1 # <CJK>
-0xE5B60 0x97B5 # <CJK>
-0xE5B61 0x97F2 # <CJK>
-0xE5B65 0x9856 # <CJK>
-0xE5B69 0x9944 # <CJK>
-0xE5B6B 0x9A26 # <CJK>
-0xE5B6C 0x9A1F # <CJK>
-0xE5B6D 0x9A18 # <CJK>
-0xE5B6E 0x9A21 # <CJK>
-0xE5B6F 0x9A17 # <CJK>
-0xE5B71 0x9B09 # <CJK>
-0xE5B74 0x9BC5 # <CJK>
-0xE5B75 0x9BDF # <CJK>
-0xE5B77 0x9BE3 # <CJK>
-0xE5B79 0x9BE9 # <CJK>
-0xE5B7A 0x9BEE # <CJK>
-0xE5B7D 0x9D66 # <CJK>
-0xE5B7E 0x9D7A # <CJK>
-0xE5C22 0x9D6E # <CJK>
-0xE5C23 0x9D91 # <CJK>
-0xE5C24 0x9D83 # <CJK>
-0xE5C25 0x9D76 # <CJK>
-0xE5C26 0x9D7E # <CJK>
-0xE5C27 0x9D6D # <CJK>
-0xE5C29 0x9E95 # <CJK>
-0xE5C2A 0x9EE3 # <CJK>
-0xE5C2D 0x9F03 # <CJK>
-0xE5C2E 0x9F04 # <CJK>
-0xE5C30 0x9F17 # <CJK>
-0xE5C32 0x5136 # <CJK>
-0xE5C34 0x5336 # <CJK>
-0xE5C36 0x5B42 # <CJK>
-0xE5C39 0x5B44 # <CJK>
-0xE5C3A 0x5B46 # <CJK>
-0xE5C3B 0x5B7E # <CJK>
-0xE5C3C 0x5DCA # <CJK>
-0xE5C3D 0x5DC8 # <CJK>
-0xE5C3E 0x5DCC # <CJK>
-0xE5C3F 0x5EF0 # <CJK>
-0xE5C41 0x6585 # <CJK>
-0xE5C42 0x66E5 # <CJK>
-0xE5C43 0x66E7 # <CJK>
-0xE5C47 0x6AF4 # <CJK>
-0xE5C49 0x6AE9 # <CJK>
-0xE5C4F 0x703D # <CJK>
-0xE5C51 0x7036 # <CJK>
-0xE5C53 0x7216 # <CJK>
-0xE5C55 0x7212 # <CJK>
-0xE5C56 0x720F # <CJK>
-0xE5C57 0x7217 # <CJK>
-0xE5C58 0x7211 # <CJK>
-0xE5C59 0x720B # <CJK>
-0xE5C5C 0x74CD # <CJK>
-0xE5C5D 0x74D0 # <CJK>
-0xE5C5E 0x74CC # <CJK>
-0xE5C5F 0x74CE # <CJK>
-0xE5C60 0x74D1 # <CJK>
-0xE5C62 0x7589 # <CJK>
-0xE5C64 0x7A6F # <CJK>
-0xE5C65 0x7C4B # <CJK>
-0xE5C66 0x7C44 # <CJK>
-0xE5C6C 0x7E7F # <CJK>
-0xE5C6D 0x8B71 # <CJK>
-0xE5C6F 0x802F # <CJK>
-0xE5C70 0x807A # <CJK>
-0xE5C71 0x807B # <CJK>
-0xE5C72 0x807C # <CJK>
-0xE5C76 0x85FC # <CJK>
-0xE5C77 0x8610 # <CJK>
-0xE5C78 0x8602 # <CJK>
-0xE5C7B 0x85EE # <CJK>
-0xE5C7C 0x8603 # <CJK>
-0xE5C7E 0x860D # <CJK>
-0xE5D21 0x8613 # <CJK>
-0xE5D22 0x8608 # <CJK>
-0xE5D23 0x860F # <CJK>
-0xE5D24 0x8818 # <CJK>
-0xE5D25 0x8812 # <CJK>
-0xE5D28 0x8967 # <CJK>
-0xE5D29 0x8965 # <CJK>
-0xE5D2A 0x89BB # <CJK>
-0xE5D2B 0x8B69 # <CJK>
-0xE5D2C 0x8B62 # <CJK>
-0xE5D2E 0x8B6E # <CJK>
-0xE5D30 0x8B61 # <CJK>
-0xE5D32 0x8B64 # <CJK>
-0xE5D33 0x8B4D # <CJK>
-0xE5D34 0x8C51 # <CJK>
-0xE5D37 0x8E83 # <CJK>
-0xE5D38 0x8EC6 # <CJK>
-0xE5D3A 0x941F # <CJK>
-0xE5D3C 0x9404 # <CJK>
-0xE5D3D 0x9417 # <CJK>
-0xE5D3E 0x9408 # <CJK>
-0xE5D3F 0x9405 # <CJK>
-0xE5D41 0x93F3 # <CJK>
-0xE5D42 0x941E # <CJK>
-0xE5D43 0x9402 # <CJK>
-0xE5D44 0x941A # <CJK>
-0xE5D45 0x941B # <CJK>
-0xE5D46 0x9427 # <CJK>
-0xE5D47 0x941C # <CJK>
-0xE5D49 0x96B5 # <CJK>
-0xE5D4C 0x9733 # <CJK>
-0xE5D4E 0x9734 # <CJK>
-0xE5D4F 0x9731 # <CJK>
-0xE5D50 0x97B8 # <CJK>
-0xE5D51 0x97BA # <CJK>
-0xE5D53 0x97FC # <CJK>
-0xE5D56 0x98C3 # <CJK>
-0xE5D58 0x994D # <CJK>
-0xE5D5A 0x9A2F # <CJK>
-0xE5D5E 0x9AC9 # <CJK>
-0xE5D60 0x9AC8 # <CJK>
-0xE5D61 0x9AC4 # <CJK>
-0xE5D62 0x9B2A # <CJK>
-0xE5D63 0x9B38 # <CJK>
-0xE5D64 0x9B50 # <CJK>
-0xE5D66 0x9C0A # <CJK>
-0xE5D67 0x9BFB # <CJK>
-0xE5D68 0x9C04 # <CJK>
-0xE5D69 0x9BFC # <CJK>
-0xE5D6A 0x9BFE # <CJK>
-0xE5D6E 0x9C02 # <CJK>
-0xE5D6F 0x9BF6 # <CJK>
-0xE5D70 0x9C1B # <CJK>
-0xE5D71 0x9BF9 # <CJK>
-0xE5D72 0x9C15 # <CJK>
-0xE5D73 0x9C10 # <CJK>
-0xE5D74 0x9BFF # <CJK>
-0xE5D75 0x9C00 # <CJK>
-0xE5D76 0x9C0C # <CJK>
-0xE5D79 0x9D95 # <CJK>
-0xE5D7A 0x9DA5 # <CJK>
-0xE5E21 0x9E98 # <CJK>
-0xE5E22 0x9EC1 # <CJK>
-0xE5E24 0x9F5A # <CJK>
-0xE5E25 0x5164 # <CJK>
-0xE5E26 0x56BB # <CJK>
-0xE5E28 0x58E6 # <CJK>
-0xE5E29 0x5B49 # <CJK>
-0xE5E2A 0x5BF7 # <CJK>
-0xE5E2D 0x5DD0 # <CJK>
-0xE5E2F 0x5FC2 # <CJK>
-0xE5E31 0x6511 # <CJK>
-0xE5E33 0x6AFF # <CJK>
-0xE5E34 0x6AFE # <CJK>
-0xE5E35 0x6AFD # <CJK>
-0xE5E37 0x6B01 # <CJK>
-0xE5E3A 0x704B # <CJK>
-0xE5E3B 0x704D # <CJK>
-0xE5E3C 0x7047 # <CJK>
-0xE5E3D 0x74D3 # <CJK>
-0xE5E3E 0x7668 # <CJK>
-0xE5E3F 0x7667 # <CJK>
-0xE5E42 0x77D1 # <CJK>
-0xE5E43 0x7930 # <CJK>
-0xE5E44 0x7932 # <CJK>
-0xE5E45 0x792E # <CJK>
-0xE5E47 0x9F9D # <CJK>
-0xE5E48 0x7AC9 # <CJK>
-0xE5E49 0x7AC8 # <CJK>
-0xE5E4B 0x7C56 # <CJK>
-0xE5E4C 0x7C51 # <CJK>
-0xE5E50 0x7E85 # <CJK>
-0xE5E51 0x7E89 # <CJK>
-0xE5E52 0x7E8E # <CJK>
-0xE5E53 0x7E84 # <CJK>
-0xE5E55 0x826A # <CJK>
-0xE5E56 0x862B # <CJK>
-0xE5E57 0x862F # <CJK>
-0xE5E58 0x8628 # <CJK>
-0xE5E5A 0x8616 # <CJK>
-0xE5E5B 0x8615 # <CJK>
-0xE5E5C 0x861D # <CJK>
-0xE5E5D 0x881A # <CJK>
-0xE5E61 0x89BC # <CJK>
-0xE5E62 0x8B75 # <CJK>
-0xE5E63 0x8B7C # <CJK>
-0xE5E65 0x8D11 # <CJK>
-0xE5E66 0x8D12 # <CJK>
-0xE5E67 0x8F5C # <CJK>
-0xE5E68 0x91BB # <CJK>
-0xE5E6A 0x93F4 # <CJK>
-0xE5E6D 0x942D # <CJK>
-0xE5E70 0x96E4 # <CJK>
-0xE5E71 0x9737 # <CJK>
-0xE5E72 0x9736 # <CJK>
-0xE5E73 0x9767 # <CJK>
-0xE5E74 0x97BE # <CJK>
-0xE5E75 0x97BD # <CJK>
-0xE5E76 0x97E2 # <CJK>
-0xE5E77 0x9868 # <CJK>
-0xE5E78 0x9866 # <CJK>
-0xE5E79 0x98C8 # <CJK>
-0xE5E7A 0x98CA # <CJK>
-0xE5E7B 0x98C7 # <CJK>
-0xE5E7C 0x98DC # <CJK>
-0xE5E7E 0x994F # <CJK>
-0xE5F21 0x99A9 # <CJK>
-0xE5F22 0x9A3C # <CJK>
-0xE5F24 0x9A3B # <CJK>
-0xE5F25 0x9ACE # <CJK>
-0xE5F27 0x9B14 # <CJK>
-0xE5F28 0x9B53 # <CJK>
-0xE5F2A 0x9C2E # <CJK>
-0xE5F2C 0x9C1F # <CJK>
-0xE5F31 0x9DB0 # <CJK>
-0xE5F32 0x9DBD # <CJK>
-0xE5F35 0x9DAE # <CJK>
-0xE5F36 0x9DC4 # <CJK>
-0xE5F37 0x9E7B # <CJK>
-0xE5F3A 0x9E9E # <CJK>
-0xE5F3C 0x9F05 # <CJK>
-0xE5F3E 0x9F69 # <CJK>
-0xE5F3F 0x9FA1 # <CJK>
-0xE5F40 0x56C7 # <CJK>
-0xE5F41 0x571D # <CJK>
-0xE5F42 0x5B4A # <CJK>
-0xE5F43 0x5DD3 # <CJK>
-0xE5F45 0x5F72 # <CJK>
-0xE5F46 0x6202 # <CJK>
-0xE5F48 0x6235 # <CJK>
-0xE5F49 0x6527 # <CJK>
-0xE5F4A 0x651E # <CJK>
-0xE5F4B 0x651F # <CJK>
-0xE5F4E 0x6B07 # <CJK>
-0xE5F4F 0x6B06 # <CJK>
-0xE5F52 0x7054 # <CJK>
-0xE5F53 0x721C # <CJK>
-0xE5F54 0x7220 # <CJK>
-0xE5F55 0x7AF8 # <CJK>
-0xE5F57 0x7C5D # <CJK>
-0xE5F58 0x7C58 # <CJK>
-0xE5F5A 0x7E92 # <CJK>
-0xE5F5B 0x7F4E # <CJK>
-0xE5F5F 0x8827 # <CJK>
-0xE5F61 0x8B81 # <CJK>
-0xE5F62 0x8B83 # <CJK>
-0xE5F64 0x8C44 # <CJK>
-0xE5F69 0x9442 # <CJK>
-0xE5F6A 0x944D # <CJK>
-0xE5F6B 0x9454 # <CJK>
-0xE5F6C 0x944E # <CJK>
-0xE5F6E 0x9443 # <CJK>
-0xE5F71 0x973C # <CJK>
-0xE5F72 0x9740 # <CJK>
-0xE5F73 0x97C0 # <CJK>
-0xE5F78 0x995A # <CJK>
-0xE5F79 0x9A51 # <CJK>
-0xE5F7B 0x9ADD # <CJK>
-0xE5F7E 0x9C38 # <CJK>
-0xE6022 0x9C45 # <CJK>
-0xE6023 0x9C3A # <CJK>
-0xE6025 0x9C35 # <CJK>
-0xE6029 0x9EF1 # <CJK>
-0xE602B 0x9F93 # <CJK>
-0xE602C 0x529A # <CJK>
-0xE602F 0x8641 # <CJK>
-0xE6030 0x5DD7 # <CJK>
-0xE6032 0x6528 # <CJK>
-0xE6036 0x7053 # <CJK>
-0xE6037 0x7059 # <CJK>
-0xE6039 0x7221 # <CJK>
-0xE603B 0x766F # <CJK>
-0xE603C 0x7937 # <CJK>
-0xE603D 0x79B5 # <CJK>
-0xE603E 0x7C62 # <CJK>
-0xE603F 0x7C5E # <CJK>
-0xE6040 0x7CF5 # <CJK>
-0xE6043 0x863D # <CJK>
-0xE6045 0x882D # <CJK>
-0xE6046 0x8989 # <CJK>
-0xE6047 0x8B8D # <CJK>
-0xE6048 0x8B87 # <CJK>
-0xE6049 0x8B90 # <CJK>
-0xE604A 0x8D1A # <CJK>
-0xE604B 0x8E99 # <CJK>
-0xE604F 0x945F # <CJK>
-0xE6052 0x9456 # <CJK>
-0xE6053 0x9461 # <CJK>
-0xE6054 0x945B # <CJK>
-0xE6055 0x945A # <CJK>
-0xE6056 0x945C # <CJK>
-0xE6057 0x9465 # <CJK>
-0xE6059 0x9741 # <CJK>
-0xE605C 0x986E # <CJK>
-0xE605D 0x986C # <CJK>
-0xE605E 0x986D # <CJK>
-0xE6060 0x99AA # <CJK>
-0xE6061 0x9A5C # <CJK>
-0xE6062 0x9A58 # <CJK>
-0xE6063 0x9ADE # <CJK>
-0xE6065 0x9C4F # <CJK>
-0xE6066 0x9C51 # <CJK>
-0xE6068 0x9C53 # <CJK>
-0xE606C 0x9DFC # <CJK>
-0xE606D 0x9F39 # <CJK>
-0xE606F 0x513E # <CJK>
-0xE6071 0x56D2 # <CJK>
-0xE6073 0x5B4F # <CJK>
-0xE6074 0x6B14 # <CJK>
-0xE6076 0x7A72 # <CJK>
-0xE6077 0x7A73 # <CJK>
-0xE607B 0x8B91 # <CJK>
-0xE607E 0x91BF # <CJK>
-0xE6122 0x946C # <CJK>
-0xE6125 0x96E6 # <CJK>
-0xE6126 0x9745 # <CJK>
-0xE6128 0x97C8 # <CJK>
-0xE6129 0x97E4 # <CJK>
-0xE612A 0x995D # <CJK>
-0xE612C 0x9B21 # <CJK>
-0xE612E 0x9B2C # <CJK>
-0xE612F 0x9B57 # <CJK>
-0xE6132 0x9C5D # <CJK>
-0xE6133 0x9C61 # <CJK>
-0xE6134 0x9C65 # <CJK>
-0xE6135 0x9E08 # <CJK>
-0xE613B 0x9F45 # <CJK>
-0xE613E 0x6205 # <CJK>
-0xE613F 0x66EF # <CJK>
-0xE6140 0x6B1B # <CJK>
-0xE6141 0x6B1D # <CJK>
-0xE6142 0x7225 # <CJK>
-0xE6143 0x7224 # <CJK>
-0xE6144 0x7C6D # <CJK>
-0xE6146 0x8642 # <CJK>
-0xE6147 0x8649 # <CJK>
-0xE6149 0x8978 # <CJK>
-0xE614A 0x898A # <CJK>
-0xE614B 0x8B97 # <CJK>
-0xE614D 0x8C9B # <CJK>
-0xE614E 0x8D1C # <CJK>
-0xE6150 0x8EA2 # <CJK>
-0xE6159 0x9C6C # <CJK>
-0xE615B 0x9C6F # <CJK>
-0xE615D 0x9E0E # <CJK>
-0xE615F 0x9F08 # <CJK>
-0xE6160 0x9F1D # <CJK>
-0xE6161 0x9FA3 # <CJK>
-0xE6164 0x5F60 # <CJK>
-0xE6165 0x6B1C # <CJK>
-0xE6169 0x7CF3 # <CJK>
-0xE616B 0x8B9B # <CJK>
-0xE616C 0x8EA7 # <CJK>
-0xE616D 0x91C4 # <CJK>
-0xE616F 0x947A # <CJK>
-0xE6172 0x9A61 # <CJK>
-0xE6173 0x9A63 # <CJK>
-0xE6174 0x9AD7 # <CJK>
-0xE6175 0x9C76 # <CJK>
-0xE6177 0x9FA5 # <CJK>
-0xE6179 0x7067 # <CJK>
-0xE617B 0x72AB # <CJK>
-0xE617C 0x864A # <CJK>
-0xE617D 0x897D # <CJK>
-0xE617E 0x8B9D # <CJK>
-0xE6221 0x8C53 # <CJK>
-0xE6222 0x8F65 # <CJK>
-0xE6223 0x947B # <CJK>
-0xE6225 0x98CD # <CJK>
-0xE6226 0x98DD # <CJK>
-0xE6228 0x9B30 # <CJK>
-0xE6229 0x9E16 # <CJK>
-0xE622F 0x96E7 # <CJK>
-0xE6230 0x9E18 # <CJK>
-0xE6231 0x9EA2 # <CJK>
-0xE6233 0x9F7C # <CJK>
-0xE6235 0x7E9E # <CJK>
-0xE6236 0x9484 # <CJK>
-0xE6238 0x9E1C # <CJK>
-0xE623A 0x7C71 # <CJK>
-0xE623B 0x97CA # <CJK>
-0xE623F 0x9EA3 # <CJK>
-0xE6241 0x9C7B # <CJK>
-0xE6242 0x9F97 # <CJK>
-0xE6245 0x9750 # <CJK>
-0xE6249 0x5727 # <CJK>
-0xE624A 0x5C13 # <CJK>
-0xE6251 0x5FC8 # <CJK>
-0xE6257 0x6765 # <CJK>
-0xE625A 0x52BD # <CJK>
-0xE625C 0x5B66 # <CJK>
-0xE625E 0x65F9 # <CJK>
-0xE625F 0x6788 # <CJK>
-0xE6260 0x6CE6 # <CJK>
-0xE6261 0x6CCB # <CJK>
-0xE6263 0x4FBD # <CJK>
-0xE6264 0x5F8D # <CJK>
-0xE6266 0x6018 # <CJK>
-0xE6267 0x6048 # <CJK>
-0xE6269 0x6B29 # <CJK>
-0xE626A 0x70A6 # <CJK>
-0xE626C 0x7706 # <CJK>
-0xE6270 0x5A10 # <CJK>
-0xE6271 0x5CFC # <CJK>
-0xE6272 0x5CFE # <CJK>
-0xE6279 0x70C9 # <CJK>
-0xE6323 0x9579 # <CJK>
-0xE6325 0x96BA # <CJK>
-0xE632D 0x7B29 # <CJK>
-0xE632E 0x8128 # <CJK>
-0xE6330 0x8A2E # <CJK>
-0xE6334 0x9AD9 # <CJK>
-0xE6336 0x582B # <CJK>
-0xE6337 0x5845 # <CJK>
-0xE6339 0x63FA # <CJK>
-0xE633D 0x6E86 # <CJK>
-0xE6343 0x5867 # <CJK>
-0xE6345 0x5BDD # <CJK>
-0xE6346 0x656E # <CJK>
-0xE634A 0x8C87 # <CJK>
-0xE634C 0x50D2 # <CJK>
-0xE634D 0x50DF # <CJK>
-0xE6352 0x69BA # <CJK>
-0xE6354 0x6B9D # <CJK>
-0xE6356 0x8059 # <CJK>
-0xE6363 0x6F8A # <CJK>
-0xE6366 0x7BC3 # <CJK>
-0xE6367 0x7BC2 # <CJK>
-0xE636C 0x90F6 # <CJK>
-0xE636E 0x9823 # <CJK>
-0xE6374 0x71CD # <CJK>
-0xE6375 0x7499 # <CJK>
-0xE637B 0x9842 # <CJK>
-0xE6422 0x7F84 # <CJK>
-0xE6428 0x8D0E # <CJK>
-0xE642A 0x9861 # <CJK>
-0xE642D 0x8B73 # <CJK>
-0xE642F 0x9C27 # <CJK>
-0xE6431 0x9458 # <CJK>
-0xE6432 0x77D6 # <CJK>
-0xE6433 0x9B2D # <CJK>
-0xE6448 0x4F66 # <CJK>
-0xE6449 0x4F68 # <CJK>
-0xE644A 0x4FE7 # <CJK>
-0xE644B 0x503F # <CJK>
-0xE644D 0x50A6 # <CJK>
-0xE644E 0x510F # <CJK>
-0xE644F 0x523E # <CJK>
-0xE6450 0x5324 # <CJK>
-0xE6451 0x5365 # <CJK>
-0xE6452 0x539B # <CJK>
-0xE6453 0x517F # <CJK>
-0xE6454 0x54CB # <CJK>
-0xE6455 0x5573 # <CJK>
-0xE6456 0x5571 # <CJK>
-0xE6457 0x556B # <CJK>
-0xE6458 0x55F4 # <CJK>
-0xE6459 0x5622 # <CJK>
-0xE645A 0x5620 # <CJK>
-0xE645B 0x5692 # <CJK>
-0xE645C 0x56BA # <CJK>
-0xE645D 0x5691 # <CJK>
-0xE645E 0x56B0 # <CJK>
-0xE645F 0x5759 # <CJK>
-0xE6460 0x578A # <CJK>
-0xE6461 0x580F # <CJK>
-0xE6462 0x5812 # <CJK>
-0xE6463 0x5813 # <CJK>
-0xE6464 0x5847 # <CJK>
-0xE6465 0x589B # <CJK>
-0xE6466 0x5900 # <CJK>
-0xE6467 0x594D # <CJK>
-0xE6468 0x5AD1 # <CJK>
-0xE6469 0x5AD3 # <CJK>
-0xE646A 0x5B67 # <CJK>
-0xE646B 0x5C57 # <CJK>
-0xE646C 0x5C77 # <CJK>
-0xE646D 0x5CD5 # <CJK>
-0xE646E 0x5D75 # <CJK>
-0xE646F 0x5D8E # <CJK>
-0xE6470 0x5DA5 # <CJK>
-0xE6471 0x5DB6 # <CJK>
-0xE6472 0x5DBF # <CJK>
-0xE6473 0x5E65 # <CJK>
-0xE6474 0x5ECD # <CJK>
-0xE6475 0x5EED # <CJK>
-0xE6476 0x5F94 # <CJK>
-0xE6477 0x5F9A # <CJK>
-0xE6478 0x5FBA # <CJK>
-0xE6479 0x6125 # <CJK>
-0xE647A 0x6150 # <CJK>
-0xE647B 0x62A3 # <CJK>
-0xE647C 0x6360 # <CJK>
-0xE647D 0x6364 # <CJK>
-0xE647E 0x63B6 # <CJK>
-0xE6521 0x6403 # <CJK>
-0xE6522 0x64B6 # <CJK>
-0xE6523 0x651A # <CJK>
-0xE6524 0x7A25 # <CJK>
-0xE6525 0x5C21 # <CJK>
-0xE6526 0x66E2 # <CJK>
-0xE6527 0x6702 # <CJK>
-0xE6528 0x67A4 # <CJK>
-0xE6529 0x67AC # <CJK>
-0xE652A 0x6810 # <CJK>
-0xE652B 0x6806 # <CJK>
-0xE652C 0x685E # <CJK>
-0xE652D 0x685A # <CJK>
-0xE652E 0x692C # <CJK>
-0xE652F 0x6929 # <CJK>
-0xE6530 0x6A2D # <CJK>
-0xE6531 0x6A77 # <CJK>
-0xE6532 0x6A7A # <CJK>
-0xE6533 0x6ACA # <CJK>
-0xE6534 0x6AE6 # <CJK>
-0xE6535 0x6AF5 # <CJK>
-0xE6536 0x6B0D # <CJK>
-0xE6537 0x6B0E # <CJK>
-0xE6538 0x6BDC # <CJK>
-0xE6539 0x6BDD # <CJK>
-0xE653A 0x6BF6 # <CJK>
-0xE653B 0x6C1E # <CJK>
-0xE653C 0x6C63 # <CJK>
-0xE653D 0x6DA5 # <CJK>
-0xE653E 0x6E0F # <CJK>
-0xE653F 0x6E8A # <CJK>
-0xE6540 0x6E84 # <CJK>
-0xE6541 0x6E8B # <CJK>
-0xE6542 0x6E7C # <CJK>
-0xE6543 0x6F4C # <CJK>
-0xE6544 0x6F48 # <CJK>
-0xE6545 0x6F49 # <CJK>
-0xE6546 0x6F9D # <CJK>
-0xE6547 0x6F99 # <CJK>
-0xE6548 0x6FF8 # <CJK>
-0xE6549 0x702E # <CJK>
-0xE654A 0x702D # <CJK>
-0xE654B 0x705C # <CJK>
-0xE654C 0x79CC # <CJK>
-0xE654D 0x70BF # <CJK>
-0xE654E 0x70EA # <CJK>
-0xE654F 0x70E5 # <CJK>
-0xE6550 0x7111 # <CJK>
-0xE6551 0x7112 # <CJK>
-0xE6552 0x713F # <CJK>
-0xE6553 0x7139 # <CJK>
-0xE6554 0x713B # <CJK>
-0xE6555 0x713D # <CJK>
-0xE6556 0x7177 # <CJK>
-0xE6557 0x7175 # <CJK>
-0xE6558 0x7176 # <CJK>
-0xE6559 0x7171 # <CJK>
-0xE655A 0x7196 # <CJK>
-0xE655B 0x7193 # <CJK>
-0xE655C 0x71B4 # <CJK>
-0xE655D 0x71DD # <CJK>
-0xE655E 0x71DE # <CJK>
-0xE655F 0x720E # <CJK>
-0xE6560 0x5911 # <CJK>
-0xE6561 0x7218 # <CJK>
-0xE6562 0x7347 # <CJK>
-0xE6563 0x7348 # <CJK>
-0xE6564 0x73EF # <CJK>
-0xE6565 0x7412 # <CJK>
-0xE6566 0x743B # <CJK>
-0xE6567 0x74A4 # <CJK>
-0xE6568 0x748D # <CJK>
-0xE6569 0x74B4 # <CJK>
-0xE656A 0x7673 # <CJK>
-0xE656B 0x7677 # <CJK>
-0xE656C 0x76BC # <CJK>
-0xE656D 0x7819 # <CJK>
-0xE656E 0x781B # <CJK>
-0xE656F 0x783D # <CJK>
-0xE6570 0x7853 # <CJK>
-0xE6571 0x7854 # <CJK>
-0xE6572 0x7858 # <CJK>
-0xE6573 0x78B7 # <CJK>
-0xE6574 0x78D8 # <CJK>
-0xE6575 0x78EE # <CJK>
-0xE6576 0x7922 # <CJK>
-0xE6577 0x794D # <CJK>
-0xE6578 0x7986 # <CJK>
-0xE6579 0x7999 # <CJK>
-0xE657A 0x79A3 # <CJK>
-0xE657B 0x79BC # <CJK>
-0xE657C 0x7AA7 # <CJK>
-0xE657D 0x7B37 # <CJK>
-0xE657E 0x7B59 # <CJK>
-0xE6621 0x7BD0 # <CJK>
-0xE6622 0x7C2F # <CJK>
-0xE6623 0x7C32 # <CJK>
-0xE6624 0x7C42 # <CJK>
-0xE6625 0x7C4E # <CJK>
-0xE6626 0x7C68 # <CJK>
-0xE6627 0x7CA9 # <CJK>
-0xE6628 0x7CED # <CJK>
-0xE6629 0x7DD0 # <CJK>
-0xE662A 0x7E07 # <CJK>
-0xE662B 0x7DD3 # <CJK>
-0xE662C 0x7E64 # <CJK>
-0xE662D 0x7F40 # <CJK>
-0xE662F 0x8041 # <CJK>
-0xE6630 0x8063 # <CJK>
-0xE6631 0x80BB # <CJK>
-0xE6632 0x6711 # <CJK>
-0xE6633 0x6725 # <CJK>
-0xE6634 0x8248 # <CJK>
-0xE6635 0x8310 # <CJK>
-0xE6636 0x8362 # <CJK>
-0xE6637 0x8312 # <CJK>
-0xE6638 0x8421 # <CJK>
-0xE6639 0x841E # <CJK>
-0xE663A 0x84E2 # <CJK>
-0xE663B 0x84DE # <CJK>
-0xE663C 0x84E1 # <CJK>
-0xE663D 0x8573 # <CJK>
-0xE663E 0x85D4 # <CJK>
-0xE663F 0x85F5 # <CJK>
-0xE6640 0x8637 # <CJK>
-0xE6641 0x8645 # <CJK>
-0xE6642 0x8672 # <CJK>
-0xE6643 0x874A # <CJK>
-0xE6644 0x87A9 # <CJK>
-0xE6645 0x87A5 # <CJK>
-0xE6646 0x87F5 # <CJK>
-0xE6647 0x8834 # <CJK>
-0xE6648 0x8850 # <CJK>
-0xE6649 0x8887 # <CJK>
-0xE664A 0x8954 # <CJK>
-0xE664B 0x8984 # <CJK>
-0xE664C 0x8B03 # <CJK>
-0xE664D 0x8C52 # <CJK>
-0xE664E 0x8CD8 # <CJK>
-0xE664F 0x8D0C # <CJK>
-0xE6650 0x8D18 # <CJK>
-0xE6651 0x8DB0 # <CJK>
-0xE6652 0x8EBC # <CJK>
-0xE6653 0x8ED5 # <CJK>
-0xE6654 0x8FAA # <CJK>
-0xE6655 0x909C # <CJK>
-0xE6657 0x915C # <CJK>
-0xE6658 0x922B # <CJK>
-0xE6659 0x9221 # <CJK>
-0xE665A 0x9273 # <CJK>
-0xE665B 0x92F4 # <CJK>
-0xE665C 0x92F5 # <CJK>
-0xE665D 0x933F # <CJK>
-0xE665E 0x9342 # <CJK>
-0xE665F 0x9386 # <CJK>
-0xE6660 0x93BE # <CJK>
-0xE6661 0x93BC # <CJK>
-0xE6662 0x93BD # <CJK>
-0xE6663 0x93F1 # <CJK>
-0xE6664 0x93F2 # <CJK>
-0xE6665 0x93EF # <CJK>
-0xE6666 0x9422 # <CJK>
-0xE6667 0x9423 # <CJK>
-0xE6668 0x9424 # <CJK>
-0xE6669 0x9467 # <CJK>
-0xE666A 0x9466 # <CJK>
-0xE666B 0x9597 # <CJK>
-0xE666C 0x95CE # <CJK>
-0xE666D 0x95E7 # <CJK>
-0xE666E 0x973B # <CJK>
-0xE666F 0x974D # <CJK>
-0xE6670 0x98E4 # <CJK>
-0xE6671 0x9942 # <CJK>
-0xE6672 0x9B1D # <CJK>
-0xE6673 0x9B98 # <CJK>
-0xE6675 0x9D49 # <CJK>
-0xE6676 0x6449 # <CJK>
-0xE6677 0x5E71 # <CJK>
-0xE6678 0x5E85 # <CJK>
-0xE6679 0x61D3 # <CJK>
-0xE667A 0x990E # <CJK>
-0xE667B 0x8002 # <CJK>
-0xE667C 0x781E # <CJK>
-0xE6721 0x5528 # <CJK>
-0xE6722 0x5572 # <CJK>
-0xE6723 0x55BA # <CJK>
-0xE6724 0x55F0 # <CJK>
-0xE6725 0x55EE # <CJK>
-0xE6726 0x56B8 # <CJK>
-0xE6727 0x56B9 # <CJK>
-0xE6728 0x56C4 # <CJK>
-0xE6729 0x8053 # <CJK>
-0xE672A 0x92B0 # <CJK>
diff --git a/tools/encoding/cp1250.txt b/tools/encoding/cp1250.txt
index ca94b25..081d776 100644
--- a/tools/encoding/cp1250.txt
+++ b/tools/encoding/cp1250.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 04/15/98
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE
0xFE 0x0163 #LATIN SMALL LETTER T WITH CEDILLA
-0xFF 0x02D9 #DOT ABOVE \ No newline at end of file
+0xFF 0x02D9 #DOT ABOVE
diff --git a/tools/encoding/cp1251.txt b/tools/encoding/cp1251.txt
index c990b66..37eadbd 100644
--- a/tools/encoding/cp1251.txt
+++ b/tools/encoding/cp1251.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 04/15/98
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC 0x044C #CYRILLIC SMALL LETTER SOFT SIGN
0xFD 0x044D #CYRILLIC SMALL LETTER E
0xFE 0x044E #CYRILLIC SMALL LETTER YU
-0xFF 0x044F #CYRILLIC SMALL LETTER YA \ No newline at end of file
+0xFF 0x044F #CYRILLIC SMALL LETTER YA
diff --git a/tools/encoding/cp1252.txt b/tools/encoding/cp1252.txt
index 7da1bc7..2ca4486 100644
--- a/tools/encoding/cp1252.txt
+++ b/tools/encoding/cp1252.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 04/15/98
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE
0xFE 0x00FE #LATIN SMALL LETTER THORN
-0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS \ No newline at end of file
+0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/tools/encoding/cp1253.txt b/tools/encoding/cp1253.txt
index 5063b70..2ba51a0 100644
--- a/tools/encoding/cp1253.txt
+++ b/tools/encoding/cp1253.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 04/15/98
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC 0x03CC #GREEK SMALL LETTER OMICRON WITH TONOS
0xFD 0x03CD #GREEK SMALL LETTER UPSILON WITH TONOS
0xFE 0x03CE #GREEK SMALL LETTER OMEGA WITH TONOS
-0xFF #UNDEFINED \ No newline at end of file
+0xFF #UNDEFINED
diff --git a/tools/encoding/cp1254.txt b/tools/encoding/cp1254.txt
index 5f82b8f..ca1a1eb 100644
--- a/tools/encoding/cp1254.txt
+++ b/tools/encoding/cp1254.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 04/15/98
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x0131 #LATIN SMALL LETTER DOTLESS I
0xFE 0x015F #LATIN SMALL LETTER S WITH CEDILLA
-0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS \ No newline at end of file
+0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/tools/encoding/cp1255.txt b/tools/encoding/cp1255.txt
index 2d05966..341517f 100644
--- a/tools/encoding/cp1255.txt
+++ b/tools/encoding/cp1255.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 1/7/2000
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC #UNDEFINED
0xFD 0x200E #LEFT-TO-RIGHT MARK
0xFE 0x200F #RIGHT-TO-LEFT MARK
-0xFF #UNDEFINED \ No newline at end of file
+0xFF #UNDEFINED
diff --git a/tools/encoding/cp1256.txt b/tools/encoding/cp1256.txt
index 1f8cabb..0edd081 100644
--- a/tools/encoding/cp1256.txt
+++ b/tools/encoding/cp1256.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 01/5/99
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x200E #LEFT-TO-RIGHT MARK
0xFE 0x200F #RIGHT-TO-LEFT MARK
-0xFF 0x06D2 #ARABIC LETTER YEH BARREE \ No newline at end of file
+0xFF 0x06D2 #ARABIC LETTER YEH BARREE
diff --git a/tools/encoding/cp1257.txt b/tools/encoding/cp1257.txt
index 66ad8e6..97979d9 100644
--- a/tools/encoding/cp1257.txt
+++ b/tools/encoding/cp1257.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 04/15/98
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE
0xFE 0x017E #LATIN SMALL LETTER Z WITH CARON
-0xFF 0x02D9 #DOT ABOVE \ No newline at end of file
+0xFF 0x02D9 #DOT ABOVE
diff --git a/tools/encoding/cp1258.txt b/tools/encoding/cp1258.txt
index bd1b81c..392310a 100644
--- a/tools/encoding/cp1258.txt
+++ b/tools/encoding/cp1258.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 04/15/98
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x01B0 #LATIN SMALL LETTER U WITH HORN
0xFE 0x20AB #DONG SIGN
-0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS \ No newline at end of file
+0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/tools/encoding/cp874.txt b/tools/encoding/cp874.txt
index 210a566..1eb71df 100644
--- a/tools/encoding/cp874.txt
+++ b/tools/encoding/cp874.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 02/28/98
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -271,4 +271,4 @@
0xFC #UNDEFINED
0xFD #UNDEFINED
0xFE #UNDEFINED
-0xFF #UNDEFINED \ No newline at end of file
+0xFF #UNDEFINED
diff --git a/tools/encoding/cp932.txt b/tools/encoding/cp932.txt
index aa9daf7..36bfdbf 100644
--- a/tools/encoding/cp932.txt
+++ b/tools/encoding/cp932.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 04/15/98
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -7995,4 +7995,4 @@
0xFC48 0x9D6B #CJK UNIFIED IDEOGRAPH
0xFC49 0xFA2D #CJK COMPATIBILITY IDEOGRAPH
0xFC4A 0x9E19 #CJK UNIFIED IDEOGRAPH
-0xFC4B 0x9ED1 #CJK UNIFIED IDEOGRAPH \ No newline at end of file
+0xFC4B 0x9ED1 #CJK UNIFIED IDEOGRAPH
diff --git a/tools/encoding/cp936.txt b/tools/encoding/cp936.txt
index 13f714a..66a541b 100644
--- a/tools/encoding/cp936.txt
+++ b/tools/encoding/cp936.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 1/7/2000
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -22062,4 +22062,4 @@
0xFE4C 0xFA24 #CJK COMPATIBILITY IDEOGRAPH
0xFE4D 0xFA27 #CJK COMPATIBILITY IDEOGRAPH
0xFE4E 0xFA28 #CJK COMPATIBILITY IDEOGRAPH
-0xFE4F 0xFA29 #CJK COMPATIBILITY IDEOGRAPH \ No newline at end of file
+0xFE4F 0xFA29 #CJK COMPATIBILITY IDEOGRAPH
diff --git a/tools/encoding/cp949.txt b/tools/encoding/cp949.txt
index 08fe554..6bbda39 100644
--- a/tools/encoding/cp949.txt
+++ b/tools/encoding/cp949.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 1/7/2000
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -17319,4 +17319,4 @@
0xFDFB 0x79A7 #CJK UNIFIED IDEOGRAPH
0xFDFC 0x7A00 #CJK UNIFIED IDEOGRAPH
0xFDFD 0x7FB2 #CJK UNIFIED IDEOGRAPH
-0xFDFE 0x8A70 #CJK UNIFIED IDEOGRAPH \ No newline at end of file
+0xFDFE 0x8A70 #CJK UNIFIED IDEOGRAPH
diff --git a/tools/encoding/cp950.txt b/tools/encoding/cp950.txt
index d67462e..7fadbbc 100644
--- a/tools/encoding/cp950.txt
+++ b/tools/encoding/cp950.txt
@@ -5,7 +5,7 @@
# Table format: Format A
# Date: 1/7/2000
#
-# Contact: Shawn.Steele@microsoft.com
+# Contact: cpxlate@microsoft.com
#
# General notes: none
#
@@ -13774,4 +13774,4 @@
0xF9FB 0x256E #BOX DRAWINGS LIGHT ARC DOWN AND LEFT
0xF9FC 0x2570 #BOX DRAWINGS LIGHT ARC UP AND RIGHT
0xF9FD 0x256F #BOX DRAWINGS LIGHT ARC UP AND LEFT
-0xF9FE 0x2593 #DARK SHADE \ No newline at end of file
+0xF9FE 0x2593 #DARK SHADE
diff --git a/tools/encoding/gb2312.txt b/tools/encoding/gb2312.txt
index 900e520..fc9f6f0 100644
--- a/tools/encoding/gb2312.txt
+++ b/tools/encoding/gb2312.txt
@@ -2,7 +2,7 @@
#
# GB2312 to Unicode table (modified)
#
-# Copyright (c) 1998-1999 Scriptics Corporation.
+# Copyright (c) 1998-1999 by Scriptics Corporation.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
diff --git a/tools/encoding/iso8859-1.txt b/tools/encoding/iso8859-1.txt
index 5293ada..473ecab 100644
--- a/tools/encoding/iso8859-1.txt
+++ b/tools/encoding/iso8859-1.txt
@@ -1,14 +1,26 @@
-# 8859-1.TXT
-# Date: 2015-12-02 20:19:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-1:1998 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -23,16 +35,15 @@
# The entries are in ISO/IEC 8859-1 order.
#
# Version history
-# 1.0 version: updates 0.1 version by adding mappings for all
-# control characters.
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -289,4 +300,4 @@
0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
0xFE 0x00FE # LATIN SMALL LETTER THORN (Icelandic)
-0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS \ No newline at end of file
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/tools/encoding/iso8859-10.txt b/tools/encoding/iso8859-10.txt
index 7cf21f8..374a42b 100644
--- a/tools/encoding/iso8859-10.txt
+++ b/tools/encoding/iso8859-10.txt
@@ -1,14 +1,26 @@
-# 8859-10.TXT
-# Date: 2015-12-02 21:53:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-10:1998 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.1
# Table format: Format A
-# Date: 1999 October 11 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 October 11
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -24,15 +36,14 @@
#
# Version history
# 1.0 version new.
-# 1.1 corrected mistake in mapping of 0xA4
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
+# 1.1 corrected mistake in mapping of 0xA4
#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -289,4 +300,4 @@
0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
0xFE 0x00FE # LATIN SMALL LETTER THORN (Icelandic)
-0xFF 0x0138 # LATIN SMALL LETTER KRA \ No newline at end of file
+0xFF 0x0138 # LATIN SMALL LETTER KRA
diff --git a/tools/encoding/iso8859-11.txt b/tools/encoding/iso8859-11.txt
deleted file mode 100644
index 85d289f..0000000
--- a/tools/encoding/iso8859-11.txt
+++ /dev/null
@@ -1,286 +0,0 @@
-# 8859-11.TXT
-# Date: 2015-12-02 21:55:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
-# Name: ISO/IEC 8859-11:2001 to Unicode
-# Unicode version: 3.2
-# Table version: 2.0
-# Table format: Format A
-# Date: 2002 October 7 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
-#
-# General notes:
-#
-# This table contains the data the Unicode Consortium has on how
-# ISO/IEC 8859-11:2001 characters map into Unicode.
-#
-# ISO/IEC 8859-11:2001 is equivalent to TIS 620-2533 (1990) with
-# the addition of 0xA0 NO-BREAK SPACE.
-#
-# Format: Three tab-separated columns
-# Column #1 is the ISO/IEC 8859-11 code (in hex as 0xXX)
-# Column #2 is the Unicode (in hex as 0xXXXX)
-# Column #3 the Unicode name (follows a comment sign, '#')
-#
-# The entries are in ISO/IEC 8859-11 order.
-#
-# Version history:
-# 2002 October 7 Created
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
-#
-# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
-#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
-#
-0x00 0x0000 # NULL
-0x01 0x0001 # START OF HEADING
-0x02 0x0002 # START OF TEXT
-0x03 0x0003 # END OF TEXT
-0x04 0x0004 # END OF TRANSMISSION
-0x05 0x0005 # ENQUIRY
-0x06 0x0006 # ACKNOWLEDGE
-0x07 0x0007 # BELL
-0x08 0x0008 # BACKSPACE
-0x09 0x0009 # HORIZONTAL TABULATION
-0x0A 0x000A # LINE FEED
-0x0B 0x000B # VERTICAL TABULATION
-0x0C 0x000C # FORM FEED
-0x0D 0x000D # CARRIAGE RETURN
-0x0E 0x000E # SHIFT OUT
-0x0F 0x000F # SHIFT IN
-0x10 0x0010 # DATA LINK ESCAPE
-0x11 0x0011 # DEVICE CONTROL ONE
-0x12 0x0012 # DEVICE CONTROL TWO
-0x13 0x0013 # DEVICE CONTROL THREE
-0x14 0x0014 # DEVICE CONTROL FOUR
-0x15 0x0015 # NEGATIVE ACKNOWLEDGE
-0x16 0x0016 # SYNCHRONOUS IDLE
-0x17 0x0017 # END OF TRANSMISSION BLOCK
-0x18 0x0018 # CANCEL
-0x19 0x0019 # END OF MEDIUM
-0x1A 0x001A # SUBSTITUTE
-0x1B 0x001B # ESCAPE
-0x1C 0x001C # FILE SEPARATOR
-0x1D 0x001D # GROUP SEPARATOR
-0x1E 0x001E # RECORD SEPARATOR
-0x1F 0x001F # UNIT SEPARATOR
-0x20 0x0020 # SPACE
-0x21 0x0021 # EXCLAMATION MARK
-0x22 0x0022 # QUOTATION MARK
-0x23 0x0023 # NUMBER SIGN
-0x24 0x0024 # DOLLAR SIGN
-0x25 0x0025 # PERCENT SIGN
-0x26 0x0026 # AMPERSAND
-0x27 0x0027 # APOSTROPHE
-0x28 0x0028 # LEFT PARENTHESIS
-0x29 0x0029 # RIGHT PARENTHESIS
-0x2A 0x002A # ASTERISK
-0x2B 0x002B # PLUS SIGN
-0x2C 0x002C # COMMA
-0x2D 0x002D # HYPHEN-MINUS
-0x2E 0x002E # FULL STOP
-0x2F 0x002F # SOLIDUS
-0x30 0x0030 # DIGIT ZERO
-0x31 0x0031 # DIGIT ONE
-0x32 0x0032 # DIGIT TWO
-0x33 0x0033 # DIGIT THREE
-0x34 0x0034 # DIGIT FOUR
-0x35 0x0035 # DIGIT FIVE
-0x36 0x0036 # DIGIT SIX
-0x37 0x0037 # DIGIT SEVEN
-0x38 0x0038 # DIGIT EIGHT
-0x39 0x0039 # DIGIT NINE
-0x3A 0x003A # COLON
-0x3B 0x003B # SEMICOLON
-0x3C 0x003C # LESS-THAN SIGN
-0x3D 0x003D # EQUALS SIGN
-0x3E 0x003E # GREATER-THAN SIGN
-0x3F 0x003F # QUESTION MARK
-0x40 0x0040 # COMMERCIAL AT
-0x41 0x0041 # LATIN CAPITAL LETTER A
-0x42 0x0042 # LATIN CAPITAL LETTER B
-0x43 0x0043 # LATIN CAPITAL LETTER C
-0x44 0x0044 # LATIN CAPITAL LETTER D
-0x45 0x0045 # LATIN CAPITAL LETTER E
-0x46 0x0046 # LATIN CAPITAL LETTER F
-0x47 0x0047 # LATIN CAPITAL LETTER G
-0x48 0x0048 # LATIN CAPITAL LETTER H
-0x49 0x0049 # LATIN CAPITAL LETTER I
-0x4A 0x004A # LATIN CAPITAL LETTER J
-0x4B 0x004B # LATIN CAPITAL LETTER K
-0x4C 0x004C # LATIN CAPITAL LETTER L
-0x4D 0x004D # LATIN CAPITAL LETTER M
-0x4E 0x004E # LATIN CAPITAL LETTER N
-0x4F 0x004F # LATIN CAPITAL LETTER O
-0x50 0x0050 # LATIN CAPITAL LETTER P
-0x51 0x0051 # LATIN CAPITAL LETTER Q
-0x52 0x0052 # LATIN CAPITAL LETTER R
-0x53 0x0053 # LATIN CAPITAL LETTER S
-0x54 0x0054 # LATIN CAPITAL LETTER T
-0x55 0x0055 # LATIN CAPITAL LETTER U
-0x56 0x0056 # LATIN CAPITAL LETTER V
-0x57 0x0057 # LATIN CAPITAL LETTER W
-0x58 0x0058 # LATIN CAPITAL LETTER X
-0x59 0x0059 # LATIN CAPITAL LETTER Y
-0x5A 0x005A # LATIN CAPITAL LETTER Z
-0x5B 0x005B # LEFT SQUARE BRACKET
-0x5C 0x005C # REVERSE SOLIDUS
-0x5D 0x005D # RIGHT SQUARE BRACKET
-0x5E 0x005E # CIRCUMFLEX ACCENT
-0x5F 0x005F # LOW LINE
-0x60 0x0060 # GRAVE ACCENT
-0x61 0x0061 # LATIN SMALL LETTER A
-0x62 0x0062 # LATIN SMALL LETTER B
-0x63 0x0063 # LATIN SMALL LETTER C
-0x64 0x0064 # LATIN SMALL LETTER D
-0x65 0x0065 # LATIN SMALL LETTER E
-0x66 0x0066 # LATIN SMALL LETTER F
-0x67 0x0067 # LATIN SMALL LETTER G
-0x68 0x0068 # LATIN SMALL LETTER H
-0x69 0x0069 # LATIN SMALL LETTER I
-0x6A 0x006A # LATIN SMALL LETTER J
-0x6B 0x006B # LATIN SMALL LETTER K
-0x6C 0x006C # LATIN SMALL LETTER L
-0x6D 0x006D # LATIN SMALL LETTER M
-0x6E 0x006E # LATIN SMALL LETTER N
-0x6F 0x006F # LATIN SMALL LETTER O
-0x70 0x0070 # LATIN SMALL LETTER P
-0x71 0x0071 # LATIN SMALL LETTER Q
-0x72 0x0072 # LATIN SMALL LETTER R
-0x73 0x0073 # LATIN SMALL LETTER S
-0x74 0x0074 # LATIN SMALL LETTER T
-0x75 0x0075 # LATIN SMALL LETTER U
-0x76 0x0076 # LATIN SMALL LETTER V
-0x77 0x0077 # LATIN SMALL LETTER W
-0x78 0x0078 # LATIN SMALL LETTER X
-0x79 0x0079 # LATIN SMALL LETTER Y
-0x7A 0x007A # LATIN SMALL LETTER Z
-0x7B 0x007B # LEFT CURLY BRACKET
-0x7C 0x007C # VERTICAL LINE
-0x7D 0x007D # RIGHT CURLY BRACKET
-0x7E 0x007E # TILDE
-0x7F 0x007F # DELETE
-0x80 0x0080 # <control>
-0x81 0x0081 # <control>
-0x82 0x0082 # <control>
-0x83 0x0083 # <control>
-0x84 0x0084 # <control>
-0x85 0x0085 # <control>
-0x86 0x0086 # <control>
-0x87 0x0087 # <control>
-0x88 0x0088 # <control>
-0x89 0x0089 # <control>
-0x8A 0x008A # <control>
-0x8B 0x008B # <control>
-0x8C 0x008C # <control>
-0x8D 0x008D # <control>
-0x8E 0x008E # <control>
-0x8F 0x008F # <control>
-0x90 0x0090 # <control>
-0x91 0x0091 # <control>
-0x92 0x0092 # <control>
-0x93 0x0093 # <control>
-0x94 0x0094 # <control>
-0x95 0x0095 # <control>
-0x96 0x0096 # <control>
-0x97 0x0097 # <control>
-0x98 0x0098 # <control>
-0x99 0x0099 # <control>
-0x9A 0x009A # <control>
-0x9B 0x009B # <control>
-0x9C 0x009C # <control>
-0x9D 0x009D # <control>
-0x9E 0x009E # <control>
-0x9F 0x009F # <control>
-0xA0 0x00A0 # NO-BREAK SPACE
-0xA1 0x0E01 # THAI CHARACTER KO KAI
-0xA2 0x0E02 # THAI CHARACTER KHO KHAI
-0xA3 0x0E03 # THAI CHARACTER KHO KHUAT
-0xA4 0x0E04 # THAI CHARACTER KHO KHWAI
-0xA5 0x0E05 # THAI CHARACTER KHO KHON
-0xA6 0x0E06 # THAI CHARACTER KHO RAKHANG
-0xA7 0x0E07 # THAI CHARACTER NGO NGU
-0xA8 0x0E08 # THAI CHARACTER CHO CHAN
-0xA9 0x0E09 # THAI CHARACTER CHO CHING
-0xAA 0x0E0A # THAI CHARACTER CHO CHANG
-0xAB 0x0E0B # THAI CHARACTER SO SO
-0xAC 0x0E0C # THAI CHARACTER CHO CHOE
-0xAD 0x0E0D # THAI CHARACTER YO YING
-0xAE 0x0E0E # THAI CHARACTER DO CHADA
-0xAF 0x0E0F # THAI CHARACTER TO PATAK
-0xB0 0x0E10 # THAI CHARACTER THO THAN
-0xB1 0x0E11 # THAI CHARACTER THO NANGMONTHO
-0xB2 0x0E12 # THAI CHARACTER THO PHUTHAO
-0xB3 0x0E13 # THAI CHARACTER NO NEN
-0xB4 0x0E14 # THAI CHARACTER DO DEK
-0xB5 0x0E15 # THAI CHARACTER TO TAO
-0xB6 0x0E16 # THAI CHARACTER THO THUNG
-0xB7 0x0E17 # THAI CHARACTER THO THAHAN
-0xB8 0x0E18 # THAI CHARACTER THO THONG
-0xB9 0x0E19 # THAI CHARACTER NO NU
-0xBA 0x0E1A # THAI CHARACTER BO BAIMAI
-0xBB 0x0E1B # THAI CHARACTER PO PLA
-0xBC 0x0E1C # THAI CHARACTER PHO PHUNG
-0xBD 0x0E1D # THAI CHARACTER FO FA
-0xBE 0x0E1E # THAI CHARACTER PHO PHAN
-0xBF 0x0E1F # THAI CHARACTER FO FAN
-0xC0 0x0E20 # THAI CHARACTER PHO SAMPHAO
-0xC1 0x0E21 # THAI CHARACTER MO MA
-0xC2 0x0E22 # THAI CHARACTER YO YAK
-0xC3 0x0E23 # THAI CHARACTER RO RUA
-0xC4 0x0E24 # THAI CHARACTER RU
-0xC5 0x0E25 # THAI CHARACTER LO LING
-0xC6 0x0E26 # THAI CHARACTER LU
-0xC7 0x0E27 # THAI CHARACTER WO WAEN
-0xC8 0x0E28 # THAI CHARACTER SO SALA
-0xC9 0x0E29 # THAI CHARACTER SO RUSI
-0xCA 0x0E2A # THAI CHARACTER SO SUA
-0xCB 0x0E2B # THAI CHARACTER HO HIP
-0xCC 0x0E2C # THAI CHARACTER LO CHULA
-0xCD 0x0E2D # THAI CHARACTER O ANG
-0xCE 0x0E2E # THAI CHARACTER HO NOKHUK
-0xCF 0x0E2F # THAI CHARACTER PAIYANNOI
-0xD0 0x0E30 # THAI CHARACTER SARA A
-0xD1 0x0E31 # THAI CHARACTER MAI HAN-AKAT
-0xD2 0x0E32 # THAI CHARACTER SARA AA
-0xD3 0x0E33 # THAI CHARACTER SARA AM
-0xD4 0x0E34 # THAI CHARACTER SARA I
-0xD5 0x0E35 # THAI CHARACTER SARA II
-0xD6 0x0E36 # THAI CHARACTER SARA UE
-0xD7 0x0E37 # THAI CHARACTER SARA UEE
-0xD8 0x0E38 # THAI CHARACTER SARA U
-0xD9 0x0E39 # THAI CHARACTER SARA UU
-0xDA 0x0E3A # THAI CHARACTER PHINTHU
-0xDF 0x0E3F # THAI CURRENCY SYMBOL BAHT
-0xE0 0x0E40 # THAI CHARACTER SARA E
-0xE1 0x0E41 # THAI CHARACTER SARA AE
-0xE2 0x0E42 # THAI CHARACTER SARA O
-0xE3 0x0E43 # THAI CHARACTER SARA AI MAIMUAN
-0xE4 0x0E44 # THAI CHARACTER SARA AI MAIMALAI
-0xE5 0x0E45 # THAI CHARACTER LAKKHANGYAO
-0xE6 0x0E46 # THAI CHARACTER MAIYAMOK
-0xE7 0x0E47 # THAI CHARACTER MAITAIKHU
-0xE8 0x0E48 # THAI CHARACTER MAI EK
-0xE9 0x0E49 # THAI CHARACTER MAI THO
-0xEA 0x0E4A # THAI CHARACTER MAI TRI
-0xEB 0x0E4B # THAI CHARACTER MAI CHATTAWA
-0xEC 0x0E4C # THAI CHARACTER THANTHAKHAT
-0xED 0x0E4D # THAI CHARACTER NIKHAHIT
-0xEE 0x0E4E # THAI CHARACTER YAMAKKAN
-0xEF 0x0E4F # THAI CHARACTER FONGMAN
-0xF0 0x0E50 # THAI DIGIT ZERO
-0xF1 0x0E51 # THAI DIGIT ONE
-0xF2 0x0E52 # THAI DIGIT TWO
-0xF3 0x0E53 # THAI DIGIT THREE
-0xF4 0x0E54 # THAI DIGIT FOUR
-0xF5 0x0E55 # THAI DIGIT FIVE
-0xF6 0x0E56 # THAI DIGIT SIX
-0xF7 0x0E57 # THAI DIGIT SEVEN
-0xF8 0x0E58 # THAI DIGIT EIGHT
-0xF9 0x0E59 # THAI DIGIT NINE
-0xFA 0x0E5A # THAI CHARACTER ANGKHANKHU
-0xFB 0x0E5B # THAI CHARACTER KHOMUT \ No newline at end of file
diff --git a/tools/encoding/iso8859-13.txt b/tools/encoding/iso8859-13.txt
index 0dae9cb..cd11b53 100644
--- a/tools/encoding/iso8859-13.txt
+++ b/tools/encoding/iso8859-13.txt
@@ -1,14 +1,26 @@
-# 8859-13.TXT
-# Date: 2015-12-02 22:03:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-13:1998 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -22,16 +34,12 @@
#
# The entries are in ISO/IEC 8859-13 order.
#
-# Version history
-# 1.0 version: created
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
-#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -288,4 +296,4 @@
0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE
0xFE 0x017E # LATIN SMALL LETTER Z WITH CARON
-0xFF 0x2019 # RIGHT SINGLE QUOTATION MARK \ No newline at end of file
+0xFF 0x2019 # RIGHT SINGLE QUOTATION MARK
diff --git a/tools/encoding/iso8859-14.txt b/tools/encoding/iso8859-14.txt
index 3c3a024..36038f4 100644
--- a/tools/encoding/iso8859-14.txt
+++ b/tools/encoding/iso8859-14.txt
@@ -1,15 +1,27 @@
-# 8859-14.TXT
-# Date: 2015-12-02 22:05:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-14:1998 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
-# Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Markus Kuhn <mkuhn@acm.org>
+# Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -23,16 +35,12 @@
#
# The entries are in ISO/IEC 8859-14 order.
#
-# Version history
-# 1.0 version: created
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
-#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -290,3 +298,4 @@
0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
0xFE 0x0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX
0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
+
diff --git a/tools/encoding/iso8859-15.txt b/tools/encoding/iso8859-15.txt
index f21a763..1e31970 100644
--- a/tools/encoding/iso8859-15.txt
+++ b/tools/encoding/iso8859-15.txt
@@ -1,15 +1,27 @@
-# 8859-15.TXT
-# Date: 2015-12-02 22:06:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-15:1999 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
-# Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Markus Kuhn <mkuhn@acm.org>
+# Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -25,16 +37,12 @@
#
# Version history
#
-# Version history
-# 1.0 version: created
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
-#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -292,3 +300,4 @@
0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
0xFE 0x00FE # LATIN SMALL LETTER THORN
0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
+
diff --git a/tools/encoding/iso8859-16.txt b/tools/encoding/iso8859-16.txt
index e8f5a3e..5353d74 100644
--- a/tools/encoding/iso8859-16.txt
+++ b/tools/encoding/iso8859-16.txt
@@ -1,17 +1,27 @@
-# 8859-16.TXT
-# Date: 2015-12-02 22:08:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-16:2001 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 2001 July 26 (header updated: 2015 December 02)
-# Authors: Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
+# Date: 2001 July 26
+# Authors: Markus Kuhn <mkuhn@acm.org>
#
# Copyright (c) 1999-2001 Unicode, Inc. All Rights reserved.
#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
+#
# General notes:
#
# This table contains the data the Unicode Consortium has on how
@@ -24,16 +34,12 @@
#
# The entries are in ISO/IEC 8859-16 order.
#
-# Version history
-# 1.0 version: created
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
-#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -290,4 +296,4 @@
0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x0119 # LATIN SMALL LETTER E WITH OGONEK
0xFE 0x021B # LATIN SMALL LETTER T WITH COMMA BELOW
-0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS \ No newline at end of file
+0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
diff --git a/tools/encoding/iso8859-2.txt b/tools/encoding/iso8859-2.txt
index 9236280..e45df25 100644
--- a/tools/encoding/iso8859-2.txt
+++ b/tools/encoding/iso8859-2.txt
@@ -1,14 +1,26 @@
-# 8859-2.TXT
-# Date: 2015-12-02 21:34:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO 8859-2:1999 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -23,16 +35,15 @@
# The entries are in ISO/IEC 8859-2 order.
#
# Version history
-# 1.0 version: updates 0.1 version by adding mappings for all
-# control characters.
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -289,4 +300,4 @@
0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
0xFE 0x0163 # LATIN SMALL LETTER T WITH CEDILLA
-0xFF 0x02D9 # DOT ABOVE \ No newline at end of file
+0xFF 0x02D9 # DOT ABOVE
diff --git a/tools/encoding/iso8859-3.txt b/tools/encoding/iso8859-3.txt
index 11ea5ca..9b6ac69 100644
--- a/tools/encoding/iso8859-3.txt
+++ b/tools/encoding/iso8859-3.txt
@@ -1,14 +1,26 @@
-# 8859-3.TXT
-# Date: 2015-12-02 21:39:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-3:1999 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -23,16 +35,15 @@
# The entries are in ISO/IEC 8859-3 order.
#
# Version history
-# 1.0 version: updates 0.1 version by adding mappings for all
-# control characters.
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -282,4 +293,4 @@
0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x016D # LATIN SMALL LETTER U WITH BREVE
0xFE 0x015D # LATIN SMALL LETTER S WITH CIRCUMFLEX
-0xFF 0x02D9 # DOT ABOVE \ No newline at end of file
+0xFF 0x02D9 # DOT ABOVE
diff --git a/tools/encoding/iso8859-4.txt b/tools/encoding/iso8859-4.txt
index d5eed8e..662e698 100644
--- a/tools/encoding/iso8859-4.txt
+++ b/tools/encoding/iso8859-4.txt
@@ -1,14 +1,26 @@
-# 8859-4.TXT
-# Date: 2015-12-02 21:41:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-4:1998 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -23,16 +35,15 @@
# The entries are in ISO/IEC 8859-4 order.
#
# Version history
-# 1.0 version: updates 0.1 version by adding mappings for all
-# control characters.
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -289,4 +300,4 @@
0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
0xFD 0x0169 # LATIN SMALL LETTER U WITH TILDE
0xFE 0x016B # LATIN SMALL LETTER U WITH MACRON
-0xFF 0x02D9 # DOT ABOVE \ No newline at end of file
+0xFF 0x02D9 # DOT ABOVE
diff --git a/tools/encoding/iso8859-5.txt b/tools/encoding/iso8859-5.txt
index 5c01baf..a7ed1ce 100644
--- a/tools/encoding/iso8859-5.txt
+++ b/tools/encoding/iso8859-5.txt
@@ -1,14 +1,26 @@
-# 8859-5.TXT
-# Date: 2015-12-02 21:43:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO 8859-5:1999 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -23,16 +35,15 @@
# The entries are in ISO/IEC 8859-5 order.
#
# Version history
-# 1.0 version: updates 0.1 version by adding mappings for all
-# control characters.
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -289,4 +300,4 @@
0xFC 0x045C # CYRILLIC SMALL LETTER KJE
0xFD 0x00A7 # SECTION SIGN
0xFE 0x045E # CYRILLIC SMALL LETTER SHORT U
-0xFF 0x045F # CYRILLIC SMALL LETTER DZHE \ No newline at end of file
+0xFF 0x045F # CYRILLIC SMALL LETTER DZHE
diff --git a/tools/encoding/iso8859-6.txt b/tools/encoding/iso8859-6.txt
index 565b547..69ac7f5 100644
--- a/tools/encoding/iso8859-6.txt
+++ b/tools/encoding/iso8859-6.txt
@@ -1,14 +1,26 @@
-# 8859-6.TXT
-# Date: 2015-12-02 21:44:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO 8859-6:1999 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -23,18 +35,17 @@
# The entries are in ISO/IEC 8859-6 order.
#
# Version history
-# 1.0 version: updates 0.1 version by adding mappings for all
-# control characters.
-# 0x30..0x39 remapped to the ASCII digits (U+0030..U+0039) instead
-# of the Arabic digits (U+0660..U+0669).
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
+# 0x30..0x39 remapped to the ASCII digits (U+0030..U+0039) instead
+# of the Arabic digits (U+0660..U+0669).
#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -246,4 +257,4 @@
0xEF 0x064F # ARABIC DAMMA
0xF0 0x0650 # ARABIC KASRA
0xF1 0x0651 # ARABIC SHADDA
-0xF2 0x0652 # ARABIC SUKUN \ No newline at end of file
+0xF2 0x0652 # ARABIC SUKUN
diff --git a/tools/encoding/iso8859-7.txt b/tools/encoding/iso8859-7.txt
index 9131ae3..52c42d0 100644
--- a/tools/encoding/iso8859-7.txt
+++ b/tools/encoding/iso8859-7.txt
@@ -1,23 +1,34 @@
-# 8859-7.TXT
-# Date: 2015-12-02 21:47:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
-# Name: ISO 8859-7:2003 to Unicode
-# Unicode version: 4.0
-# Table version: 3.0
+# Name: ISO 8859-7:1987 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
# Table format: Format A
-# Date: 2003-Nov-12 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
# This table contains the data the Unicode Consortium has on how
-# ISO 8859-7:2003 characters map into Unicode.
+# ISO 8859-7:1987 characters map into Unicode.
#
# ISO 8859-7:1987 is equivalent to ISO-IR-126, ELOT 928,
-# and ECMA 118. ISO 8859-7:2003 adds two currency signs
-# and one other character not in the earlier standard.
+# and ECMA 118.
#
# Format: Three tab-separated columns
# Column #1 is the ISO 8859-7 code (in hex as 0xXX)
@@ -32,17 +43,12 @@
# Remap 0xA1 to U+2018 (instead of 0x02BD) to match text of 8859-7
# Remap 0xA2 to U+2019 (instead of 0x02BC) to match text of 8859-7
#
-# 2.0 version updates 1.0 version by adding mappings for the
-# three newly added characters 0xA4, 0xA5, 0xAA.
-#
-# 3.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
-#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -208,13 +214,10 @@
0xA1 0x2018 # LEFT SINGLE QUOTATION MARK
0xA2 0x2019 # RIGHT SINGLE QUOTATION MARK
0xA3 0x00A3 # POUND SIGN
-0xA4 0x20AC # EURO SIGN
-0xA5 0x20AF # DRACHMA SIGN
0xA6 0x00A6 # BROKEN BAR
0xA7 0x00A7 # SECTION SIGN
0xA8 0x00A8 # DIAERESIS
0xA9 0x00A9 # COPYRIGHT SIGN
-0xAA 0x037A # GREEK YPOGEGRAMMENI
0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
0xAC 0x00AC # NOT SIGN
0xAD 0x00AD # SOFT HYPHEN
@@ -296,4 +299,4 @@
0xFB 0x03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
0xFC 0x03CC # GREEK SMALL LETTER OMICRON WITH TONOS
0xFD 0x03CD # GREEK SMALL LETTER UPSILON WITH TONOS
-0xFE 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS \ No newline at end of file
+0xFE 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS
diff --git a/tools/encoding/iso8859-8.txt b/tools/encoding/iso8859-8.txt
index ff068f7..bc8da4c 100644
--- a/tools/encoding/iso8859-8.txt
+++ b/tools/encoding/iso8859-8.txt
@@ -1,14 +1,26 @@
-# 8859-8.TXT
-# Date: 2015-12-02 21:50:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-8:1999 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.1
# Table format: Format A
-# Date: 2000-Jan-03 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 2000-Jan-03
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on optical media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -25,16 +37,15 @@
# Version history
# 1.0 version updates 0.1 version by adding mappings for all
# control characters.
-# 1.1 version updates to the published 8859-8:1999, correcting
+# 1.1 version updates to the published 8859-8:1999, correcting
# the mapping of 0xAF and adding mappings for LRM and RLM.
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -256,3 +267,4 @@
0xFA 0x05EA # HEBREW LETTER TAV
0xFD 0x200E # LEFT-TO-RIGHT MARK
0xFE 0x200F # RIGHT-TO-LEFT MARK
+
diff --git a/tools/encoding/iso8859-9.txt b/tools/encoding/iso8859-9.txt
index c33d666..22901f1 100644
--- a/tools/encoding/iso8859-9.txt
+++ b/tools/encoding/iso8859-9.txt
@@ -1,14 +1,26 @@
-# 8859-9.TXT
-# Date: 2015-12-02 21:51:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: ISO/IEC 8859-9:1999 to Unicode
# Unicode version: 3.0
-# Table version: 2.0
+# Table version: 1.0
# Table format: Format A
-# Date: 1999 July 27 (header updated: 2015 December 02)
-# Authors: Ken Whistler <ken@unicode.org>
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on magnetic media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
+#
+# Unicode, Inc. hereby grants the right to freely use the information
+# supplied in this file in the creation of products supporting the
+# Unicode Standard, and to make copies of this file in any form for
+# internal or external distribution as long as this notice remains
+# attached.
#
# General notes:
#
@@ -25,16 +37,15 @@
# ISO/IEC 8859-9 is also equivalent to ISO-IR-148.
#
# Version history
-# 1.0 version: updates 0.1 version by adding mappings for all
-# control characters.
-# 2.0 version: updates to copyright notice and terms of use; no
-# changes to character mappings
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
#
# Updated versions of this file may be found in:
-# http://www.unicode.org/Public/MAPPINGS/
+# <ftp://ftp.unicode.org/Public/MAPPINGS/>
#
-# Any comments or problems, contact us at:
-# http://www.unicode.org/reporting.html
+# Any comments or problems, contact <errata@unicode.org>
+# Please note that <errata@unicode.org> is an archival address;
+# notices will be checked, but do not expect an immediate response.
#
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
@@ -293,3 +304,4 @@
0xFE 0x015F # LATIN SMALL LETTER S WITH CEDILLA
0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
+
diff --git a/tools/encoding/jis0201.txt b/tools/encoding/jis0201.txt
index 8ee5ea0..d84c98a 100644
--- a/tools/encoding/jis0201.txt
+++ b/tools/encoding/jis0201.txt
@@ -1,24 +1,33 @@
-# JIS0201.TXT
-# Date: 2015-12-02 23:49:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: JIS X 0201 (1976) to Unicode 1.1 Table
# Unicode version: 1.1
-# Table version: 2.0
+# Table version: 0.9
# Table format: Format A
-# Date: 2011 October 14 (header updated: 2015 December 02)
+# Date: 8 March 1994
+# Authors: Glenn Adams <glenn@metis.com>
+# John H. Jenkins <John_Jenkins@taligent.com>
#
-# General notes:
+# Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on magnetic media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
#
+# Recipient is granted the right to make copies in any form for
+# internal distribution and to freely use the information supplied
+# in the creation of products supporting Unicode. Unicode, Inc.
+# specifically excludes the right to re-distribute this file directly
+# to third parties or other organizations whether for profit or not.
#
-# This table contains one set of mappings from JIS X 0201 into Unicode.
-# Note that these data are *possible* mappings only and may not be the
-# same as those used by actual products, nor may they be the best suited
-# for all uses. For more information on the mappings between various code
-# pages incorporating the repertoire of JIS X 0201 and Unicode, consult the
-# VENDORS mapping data.
+# General notes:
#
+# This table contains the data the Unicode Consortium has on how
+# single-byte JIS X 0201 characters map into Unicode 1.1
+# (ISO/IEC 10646:1-1993 UCS-2).
#
# Format: Three tab-separated columns
# Column #1 is the shift JIS code (in hex as 0xXX)
@@ -27,22 +36,11 @@
#
# The entries are in JIS order
#
-# Revision History:
-#
-# [v2.0, 2015 December 02]
-# updates to copyright notice and terms of use
-# no changes to character mappings
-#
-# [v1.0, 2011 October 14]
-# Updated terms of use to current wording.
-# Updated contact information.
-# No changes to the mapping data.
+# These mappings are provisional, pending definition of
+# official mappings by Japanese standards bodies.
#
-# [v0.9, 8 March 1994]
-# First release.
+# Any comments or problems, contact <John_Jenkins@taligent.com>
#
-# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
-# for any questions or comments or to report errors in the data.
#
0x20 0x0020 # SPACE
0x21 0x0021 # EXCLAMATION MARK
diff --git a/tools/encoding/jis0208.txt b/tools/encoding/jis0208.txt
index 6009286..ef9ce79 100644
--- a/tools/encoding/jis0208.txt
+++ b/tools/encoding/jis0208.txt
@@ -1,37 +1,45 @@
-# JIS0208.TXT
-# Date: 2015-12-02 23:50:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: JIS X 0208 (1990) to Unicode
# Unicode version: 1.1
-# Table version: 2.0
+# Table version: 0.9
# Table format: Format A
-# Date: 2011 October 14 (header updated: 2015 December 02)
+# Date: 8 March 1994
+# Authors: Glenn Adams <glenn@metis.com>
+# John H. Jenkins <John_Jenkins@taligent.com>
#
-# General notes:
+# Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on magnetic media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
#
+# Recipient is granted the right to make copies in any form for
+# internal distribution and to freely use the information supplied
+# in the creation of products supporting Unicode. Unicode, Inc.
+# specifically excludes the right to re-distribute this file directly
+# to third parties or other organizations whether for profit or not.
#
-# This table contains one set of mappings from JIS X 0208 (1990) into Unicode.
-# Note that these data are *possible* mappings only and may not be the
-# same as those used by actual products, nor may they be the best suited
-# for all uses. For more information on the mappings between various code
-# pages incorporating the repertoire of JIS X 0208 (1990) and Unicode, consult the
-# VENDORS mapping data.
+# General notes:
#
+# This table contains the data the Unicode Consortium has on how
+# JIS X 0208 (1983) characters map into Unicode.
#
# Format: Four tab-separated columns
# Column #1 is the shift-JIS code (in hex)
# Column #2 is the JIS X 0208 code (in hex as 0xXXXX)
# Column #3 is the Unicode (in hex as 0xXXXX)
# Column #4 the Unicode name (follows a comment sign, '#')
-# The official names for Unicode characters U+4E00
-# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
-# where XXXX is the code point. Including all these
-# names in this file increases its size substantially
-# and needlessly. The token "<CJK>" is used for the
-# name of these characters. If necessary, it can be
-# expanded algorithmically by a parser or editor.
+# The official names for Unicode characters U+4E00
+# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
+# where XXXX is the code point. Including all these
+# names in this file increases its size substantially
+# and needlessly. The token "<CJK>" is used for the
+# name of these characters. If necessary, it can be
+# expanded algorithmically by a parser or editor.
#
# The entries are in JIS X 0208 order
#
@@ -44,22 +52,12 @@
# the kuten form. For example, 0x2121 -> 0x0101 -> 0101;
# 0x7426 -> 0x5406 -> 8406
#
-# Revision History:
-#
-# [v2.0, 2015 December 02]
-# updates to copyright notice and terms of use
-# no changes to character mappings
-#
-# [v1.0, 2011 October 14]
-# Updated terms of use to current wording.
-# Updated contact information.
-# No changes to the mapping data.
+# The kanji mappings are a normative part of ISO/IEC 10646. The
+# non-kanji mappings are provisional, pending definition of
+# official mappings by Japanese standards bodies
#
-# [v0.9, 8 March 1994]
-# First release.
+# Any comments or problems, contact <John_Jenkins@taligent.com>
#
-# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
-# for any questions or comments or to report errors in the data.
#
0x8140 0x2121 0x3000 # IDEOGRAPHIC SPACE
0x8141 0x2122 0x3001 # IDEOGRAPHIC COMMA
diff --git a/tools/encoding/jis0212.txt b/tools/encoding/jis0212.txt
index 98a0063..b6d4cb2 100644
--- a/tools/encoding/jis0212.txt
+++ b/tools/encoding/jis0212.txt
@@ -1,36 +1,44 @@
-# JIS0212.TXT
-# Date: 2015-12-02 23:51:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: JIS X 0212 (1990) to Unicode
# Unicode version: 1.1
-# Table version: 2.0
+# Table version: 0.9
# Table format: Format A
-# Date: 2011 October 14 (header updated: 2015 December 02)
+# Date: 8 March 1994
+# Authors: Glenn Adams <glenn@metis.com>
+# John H. Jenkins <John_Jenkins@taligent.com>
#
-# General notes:
+# Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on magnetic media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
#
+# Recipient is granted the right to make copies in any form for
+# internal distribution and to freely use the information supplied
+# in the creation of products supporting Unicode. Unicode, Inc.
+# specifically excludes the right to re-distribute this file directly
+# to third parties or other organizations whether for profit or not.
#
-# This table contains one set of mappings from JIS X 0212 into Unicode.
-# Note that these data are *possible* mappings only and may not be the
-# same as those used by actual products, nor may they be the best suited
-# for all uses. For more information on the mappings between various code
-# pages incorporating the repertoire of JIS X 0212 and Unicode, consult the
-# VENDORS mapping data.
+# General notes:
#
+# This table contains the data the Unicode Consortium has on how
+# JIS X 0212 (1983) characters map into Unicode.
#
# Format: Three tab-separated columns
# Column #1 is the JIS X 0212 code (in hex as 0xXXXX)
# Column #2 is the Unicode (in hex as 0xXXXX)
# Column #3 the Unicode name (follows a comment sign, '#')
-# The official names for Unicode characters U+4E00
-# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
-# where XXXX is the code point. Including all these
-# names in this file increases its size substantially
-# and needlessly. The token "<CJK>" is used for the
-# name of these characters. If necessary, it can be
-# expanded algorithmically by a parser or editor.
+# The official names for Unicode characters U+4E00
+# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
+# where XXXX is the code point. Including all these
+# names in this file increases its size substantially
+# and needlessly. The token "<CJK>" is used for the
+# name of these characters. If necessary, it can be
+# expanded algorithmically by a parser or editor.
#
# The entries are in JIS X 0212 order
#
@@ -43,11 +51,17 @@
# the kuten form. For example, 0x2121 -> 0x0101 -> 0101;
# 0x6D63 -> 0x4D43 -> 7767
#
+# The kanji mappings are a normative part of ISO/IEC 10646. The
+# non-kanji mappings are provisional, pending definition of
+# official mappings by Japanese standards bodies
+#
+# Any comments or problems, contact <John_Jenkins@taligent.com>
+#
# Notes:
#
# 1. JIS X 0212 apparently unified the following two symbols
# into a single character at 0x2922:
-#
+#
# LATIN CAPITAL LETTER D WITH STROKE
# LATIN CAPITAL LETTER ETH
#
@@ -57,24 +71,7 @@
# 0x2922 and 0x2942 are intended to be a capital/small pair.
# Consequently, in the Unicode mapping, 0x2922 is treated as
# LATIN CAPITAL LETTER D WITH STROKE.
-#
-# Revision History:
-#
-# [v2.0, 2015 December 02]
-# updates to copyright notice and terms of use
-# no changes to character mappings
-#
-# [v1.0, 2011 October 14]
-# Updated terms of use to current wording.
-# Updated contact information.
-# No changes to the mapping data.
-#
-# [v0.9, 8 March 1994]
-# First release.
-#
-# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
-# for any questions or comments or to report errors in the data.
-#
+#
0x222F 0x02D8 # BREVE
0x2230 0x02C7 # CARON (Mandarin Chinese third tone)
0x2231 0x00B8 # CEDILLA
diff --git a/tools/encoding/ksc5601.txt b/tools/encoding/ksc5601.txt
index c5a6dd1..5c6e7dc 100644
--- a/tools/encoding/ksc5601.txt
+++ b/tools/encoding/ksc5601.txt
@@ -5,7 +5,7 @@
# BUT the mapping table between UHC(Microsoft Unified Hangul Code)
# and Unicode 2.0. Hence, in this pacakge, I renamed it as UHC.TXT
#
-# The Unix command used is
+# The Unix command used is
# egrep '^0x' < KSC5601.TXT | \
# egrep -v '^0x([8-9]...|A0..|..[4-9].|..A0)' | perl tab.pl
#
@@ -26,8 +26,8 @@
# Column #3 : the Unicode name (following a comment sign, '#')
# The number of characters enumerated in this table is 8824, the
# as listed in KS C 5601-987
-#
-#
+#
+#
# The entries are in KS C 5601-1987 order
# You can use the following algorithms to convert the hex form
# of KS C 5601 to other forms
diff --git a/tools/encoding/macCentEuro.txt b/tools/encoding/macCentEuro.txt
index bf424c1..e6507d6 100644
--- a/tools/encoding/macCentEuro.txt
+++ b/tools/encoding/macCentEuro.txt
@@ -34,7 +34,7 @@
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
-# for direct, indirect, special, incidental, or consequential damages
+# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
diff --git a/tools/encoding/macCroatian.txt b/tools/encoding/macCroatian.txt
index 538eda3..2d66b6d 100644
--- a/tools/encoding/macCroatian.txt
+++ b/tools/encoding/macCroatian.txt
@@ -36,7 +36,7 @@
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
-# for direct, indirect, special, incidental, or consequential damages
+# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
diff --git a/tools/encoding/macCyrillic.txt b/tools/encoding/macCyrillic.txt
index 695dade..b58bb83 100644
--- a/tools/encoding/macCyrillic.txt
+++ b/tools/encoding/macCyrillic.txt
@@ -37,7 +37,7 @@
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
-# for direct, indirect, special, incidental, or consequential damages
+# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
diff --git a/tools/encoding/macGreek.txt b/tools/encoding/macGreek.txt
index 9783259..28b6ea8 100644
--- a/tools/encoding/macGreek.txt
+++ b/tools/encoding/macGreek.txt
@@ -35,7 +35,7 @@
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
-# for direct, indirect, special, incidental, or consequential damages
+# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
diff --git a/tools/encoding/macIceland.txt b/tools/encoding/macIceland.txt
index 0a0b27b..d28bd9d 100644
--- a/tools/encoding/macIceland.txt
+++ b/tools/encoding/macIceland.txt
@@ -37,7 +37,7 @@
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
-# for direct, indirect, special, incidental, or consequential damages
+# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
diff --git a/tools/encoding/macRoman.txt b/tools/encoding/macRoman.txt
index 7ddcf8d..8821f3b 100644
--- a/tools/encoding/macRoman.txt
+++ b/tools/encoding/macRoman.txt
@@ -41,7 +41,7 @@
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
-# for direct, indirect, special, incidental, or consequential damages
+# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
diff --git a/tools/encoding/macTurkish.txt b/tools/encoding/macTurkish.txt
index 4a1ddab..7b143e0 100644
--- a/tools/encoding/macTurkish.txt
+++ b/tools/encoding/macTurkish.txt
@@ -34,7 +34,7 @@
# Apple makes no warranty or representation, either express or
# implied, with respect to these tables, their quality, accuracy, or
# fitness for a particular purpose. In no event will Apple be liable
-# for direct, indirect, special, incidental, or consequential damages
+# for direct, indirect, special, incidental, or consequential damages
# resulting from any defect or inaccuracy in this document or the
# accompanying tables.
#
diff --git a/tools/encoding/shiftjis.txt b/tools/encoding/shiftjis.txt
index a2f1f94..7db99ab 100644
--- a/tools/encoding/shiftjis.txt
+++ b/tools/encoding/shiftjis.txt
@@ -1,36 +1,44 @@
-# SHIFTJIS.TXT
-# Date: 2015-12-02 23:52:00 GMT [KW]
-# © 2015 Unicode®, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Name: Shift-JIS to Unicode
# Unicode version: 1.1
-# Table version: 2.0
+# Table version: 0.9
# Table format: Format A
-# Date: 2011 October 14 (header updated: 2015 December 02)
+# Date: 8 March 1994
+# Authors: Glenn Adams <glenn@metis.com>
+# John H. Jenkins <John_Jenkins@taligent.com>
#
-# General notes:
+# Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved.
+#
+# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+# No claims are made as to fitness for any particular purpose. No
+# warranties of any kind are expressed or implied. The recipient
+# agrees to determine applicability of information provided. If this
+# file has been provided on magnetic media by Unicode, Inc., the sole
+# remedy for any claim will be exchange of defective media within 90
+# days of receipt.
#
+# Recipient is granted the right to make copies in any form for
+# internal distribution and to freely use the information supplied
+# in the creation of products supporting Unicode. Unicode, Inc.
+# specifically excludes the right to re-distribute this file directly
+# to third parties or other organizations whether for profit or not.
#
-# This table contains one set of mappings from Shift-JIS into Unicode.
-# Note that these data are *possible* mappings only and may not be the
-# same as those used by actual products, nor may they be the best suited
-# for all uses. For more information on the mappings between various code
-# pages incorporating the repertoire of Shift-JIS and Unicode, consult the
-# VENDORS mapping data.
+# General notes:
#
+# This table contains the data the Unicode Consortium has on how
+# Shift-JIS (a combination of JIS 0201 and JIS 0208) maps into Unicode.
#
# Format: Three tab-separated columns
# Column #1 is the shift-JIS code (in hex)
# Column #2 is the Unicode (in hex as 0xXXXX)
# Column #3 the Unicode name (follows a comment sign, '#')
-# The official names for Unicode characters U+4E00
-# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
-# where XXXX is the code point. Including all these
-# names in this file increases its size substantially
-# and needlessly. The token "<CJK>" is used for the
-# name of these characters. If necessary, it can be
-# expanded algorithmically by a parser or editor.
+# The official names for Unicode characters U+4E00
+# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
+# where XXXX is the code point. Including all these
+# names in this file increases its size substantially
+# and needlessly. The token "<CJK>" is used for the
+# name of these characters. If necessary, it can be
+# expanded algorithmically by a parser or editor.
#
# The entries are ordered by their Shift-JIS codes as follows:
# Single-byte characters precede double-byte characters
@@ -39,24 +47,14 @@
# There is an alternative order some people might be preferred,
# where all the entries are in order of the top (or only) byte.
# This alternate order can be generated from the one given here
-# by a simple sort.
-#
-# Revision History:
-#
-# [v2.0, 2015 December 02]
-# updates to copyright notice and terms of use
-# no changes to character mappings
+# by a simple sort.
#
-# [v1.0, 2011 October 14]
-# Updated terms of use to current wording.
-# Updated contact information.
-# No changes to the mapping data.
+# The kanji mappings are a normative part of ISO/IEC 10646. The
+# non-kanji mappings are provisional, pending definition of
+# official mappings by Japanese standards bodies
#
-# [v0.9, 8 March 1994]
-# First release.
+# Any comments or problems, contact <John_Jenkins@taligent.com>
#
-# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
-# for any questions or comments or to report errors in the data.
#
0x20 0x0020 # SPACE
0x21 0x0021 # EXCLAMATION MARK
diff --git a/tools/encoding/tis-620.txt b/tools/encoding/tis-620.txt
index 8243d81..d3656c5 100644
--- a/tools/encoding/tis-620.txt
+++ b/tools/encoding/tis-620.txt
@@ -176,7 +176,7 @@
0xA8 0x0E08 #THAI CHARACTER CHO CHAN
0xA9 0x0E09 #THAI CHARACTER CHO CHING
0xAA 0x0E0A #THAI CHARACTER CHO CHANG
-0xAB 0x0E0B #THAI CHARACTER SO SO
+0xAB 0x0E0B #THAI CHARACTER SO SO
0xAC 0x0E0C #THAI CHARACTER CHO CHOE
0xAD 0x0E0D #THAI CHARACTER YO YING
0xAE 0x0E0E #THAI CHARACTER DO CHADA
diff --git a/tools/encoding/txt2enc.c b/tools/encoding/txt2enc.c
index 32c7344..7ce85ef 100644
--- a/tools/encoding/txt2enc.c
+++ b/tools/encoding/txt2enc.c
@@ -106,7 +106,7 @@ main(int argc, char **argv)
fputs(" -f\tfallback character (default: QUESTION MARK)\n", stderr);
fputs(" -t\toverride implicit type with single, double, or multi\n", stderr);
fputs(" -s\tsymbol+ascii encoding\n", stderr);
- fputs(" -m\tdon't implicitly include 007F\n", stderr);
+ fputs(" -m\tdon't implicitly include range 0080 to 00FF\n", stderr);
return 1;
}
@@ -176,7 +176,7 @@ main(int argc, char **argv)
}
hi = enc >> 8;
- lo = enc & 0xFF;
+ lo = enc & 0xff;
if (toUnicode[hi] == NULL) {
toUnicode[hi] = (Rune *) malloc(256 * sizeof(Rune));
memset(toUnicode[hi], 0, 256 * sizeof(Rune));
@@ -208,8 +208,10 @@ main(int argc, char **argv)
toUnicode[0][i] = i;
}
if (fixmissing) {
- if (toUnicode[0x7F] == NULL && toUnicode[0][0x7F] == 0) {
- toUnicode[0][0x7F] = 0x7F;
+ for (i = 0x7F; i < 0xa0; i++) {
+ if (toUnicode[i] == NULL && toUnicode[0][i] == 0) {
+ toUnicode[0][i] = i;
+ }
}
}
}
@@ -232,7 +234,7 @@ main(int argc, char **argv)
printf("%02X\n", hi);
for (lo = 0; lo < 256; lo++) {
printf("%04X", toUnicode[hi][lo]);
- if ((lo & 0x0F) == 0x0F) {
+ if ((lo & 0x0f) == 0x0f) {
putchar('\n');
}
}
diff --git a/tools/eolFix.tcl b/tools/eolFix.tcl
new file mode 100644
index 0000000..ed3ec7c
--- /dev/null
+++ b/tools/eolFix.tcl
@@ -0,0 +1,78 @@
+## Super aggressive EOL-fixer!
+##
+## Will even understand screwed up ones like CRCRLF.
+## (found in bad CVS repositories, caused by spacey developers
+## abusing CVS)
+##
+## davygrvy@pobox.com 3:41 PM 10/12/2001
+##
+
+package provide EOL-fix 1.1
+
+namespace eval ::EOL {
+ variable outMode crlf
+}
+
+proc EOL::fix {filename {newfilename ""}} {
+ variable outMode
+
+ if {![file exists $filename]} { return }
+ puts "EOL Fixing: $filename"
+
+ file rename ${filename} ${filename}.o
+ set fhnd [open ${filename}.o r]
+
+ if {$newfilename != ""} {
+ set newfhnd [open ${newfilename} w]
+ } else {
+ set newfhnd [open ${filename} w]
+ }
+
+ fconfigure $newfhnd -translation [list auto $outMode]
+ seek $fhnd 0 end
+ set theEnd [tell $fhnd]
+ seek $fhnd 0 start
+
+ fconfigure $fhnd -translation binary -buffersize $theEnd
+ set rawFile [read $fhnd $theEnd]
+ close $fhnd
+
+ regsub -all {(\r)|(\r){1,2}(\n)} $rawFile "\n" rawFile
+
+ set lineList [split $rawFile \n]
+
+ foreach line $lineList {
+ puts $newfhnd $line
+ }
+
+ close $newfhnd
+ file delete ${filename}.o
+}
+
+proc EOL::fixall {args} {
+ if {[llength $args] == 0} {
+ puts stderr "no files to fix"
+ exit 1
+ } else {
+ set cmd [lreplace $args -1 -1 glob -nocomplain]
+ }
+
+ foreach f [eval $cmd] {
+ if {[file isfile $f]} {fix $f}
+ }
+}
+
+if {$tcl_interactive == 0 && $argc > 0} {
+ if {[string index [lindex $argv 0] 0] == "-"} {
+ switch -- [lindex $argv 0] {
+ -cr { set ::EOL::outMode cr }
+ -crlf { set ::EOL::outMode crlf }
+ -lf { set ::EOL::outMode lf }
+ default { puts stderr "improper mode switch" ; exit 1 }
+ }
+ set argv [lrange $argv 1 end]
+ }
+ eval EOL::fixall $argv
+} else {
+ return
+}
diff --git a/tools/findBadExternals.tcl b/tools/findBadExternals.tcl
index 2351cd2..7592f17 100755
--- a/tools/findBadExternals.tcl
+++ b/tools/findBadExternals.tcl
@@ -1,5 +1,5 @@
# findBadExternals.tcl --
-#
+#
# This script scans the Tcl load library for exported symbols
# that do not begin with 'Tcl' or 'tcl'. It reports them on the
# standard output. It is used to make sure that the library does
@@ -10,7 +10,7 @@
#
# tclsh findBadExternals.tcl /path/to/tclXX.so-or-.dll
#
-# Copyright © 2005 George Peter Staplin and Kevin Kenny
+# Copyright (c) 2005 George Peter Staplin and Kevin Kenny
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -29,7 +29,7 @@ proc main {argc argv} {
macosx {
set status [catch {
exec nm --extern-only --defined-only [lindex $argv 0]
- } result]
+ } result]
}
windows {
set status [catch {
diff --git a/tools/fix_tommath_h.tcl b/tools/fix_tommath_h.tcl
new file mode 100755
index 0000000..f92b7ac
--- /dev/null
+++ b/tools/fix_tommath_h.tcl
@@ -0,0 +1,98 @@
+# fixtommath.tcl --
+#
+# Changes to 'tommath.h' to make it conform with Tcl's linking
+# conventions.
+#
+# Copyright (c) 2005 by Kevin B. Kenny. All rights reserved.
+#
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#----------------------------------------------------------------------
+
+set f [open [lindex $argv 0] r]
+set data [read $f]
+close $f
+
+set eat_endif 0
+set eat_semi 0
+set def_count 0
+foreach line [split $data \n] {
+ if { !$eat_semi && !$eat_endif } {
+ switch -regexp -- $line {
+ {#define BN_H_} {
+ puts $line
+ puts {}
+ puts "\#include <tclTomMathDecls.h>"
+ puts "\#ifndef MODULE_SCOPE"
+ puts "\#define MODULE_SCOPE extern"
+ puts "\#endif"
+ }
+ {typedef\s+unsigned long\s+mp_digit;} {
+ # change the second 'typedef unsigned long mp
+ incr def_count
+ puts "\#ifndef MP_DIGIT_DECLARED"
+ if {$def_count == 2} {
+ puts [string map {long int} $line]
+ } else {
+ puts $line
+ }
+ puts "\#define MP_DIGIT_DECLARED"
+ puts "\#endif"
+ }
+ {typedef.*mp_digit;} {
+ puts "\#ifndef MP_DIGIT_DECLARED"
+ puts $line
+ puts "\#define MP_DIGIT_DECLARED"
+ puts "\#endif"
+ }
+ {typedef struct} {
+ puts "\#ifndef MP_INT_DECLARED"
+ puts "\#define MP_INT_DECLARED"
+ puts "typedef struct mp_int mp_int;"
+ puts "\#endif"
+ puts "struct mp_int \{"
+ }
+ \}\ mp_int\; {
+ puts "\};"
+ }
+ {^(char|int|void)} {
+ puts "/*"
+ puts $line
+ set eat_semi 1
+ set after_semi "*/"
+ }
+ {^extern (int|const)} {
+ puts "\#if defined(BUILD_tcl) || !defined(_WIN32)"
+ puts [regsub {^extern} $line "MODULE_SCOPE"]
+ set eat_semi 1
+ set after_semi "\#endif"
+ }
+ {define heap macros} {
+ puts $line
+ puts "\#if 0 /* these are macros in tclTomMathDecls.h */"
+ set eat_endif 1
+ }
+ {__x86_64__} {
+ puts "[string map {__x86_64__ NEVER} $line]\
+ /* 128-bit ints fail in too many places */"
+ }
+ default {
+ puts $line
+ }
+ }
+ } else {
+ puts $line
+ }
+ if {$eat_semi} {
+ if {[regexp {; *$} $line]} {
+ puts $after_semi
+ set eat_semi 0
+ }
+ }
+ if {$eat_endif} {
+ if {[regexp {^\#endif} $line]} {
+ puts "\#endif"
+ set eat_endif 0
+ }
+ }
+}
diff --git a/tools/genStubs.tcl b/tools/genStubs.tcl
index 89e4ccc..37205b2 100644
--- a/tools/genStubs.tcl
+++ b/tools/genStubs.tcl
@@ -4,12 +4,14 @@
# interface.
#
#
-# Copyright © 1998-1999 Scriptics Corporation.
-# Copyright © 2007 Daniel A. Steffen <das@users.sourceforge.net>
+# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright (c) 2007 Daniel A. Steffen <das@users.sourceforge.net>
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+package require Tcl 8.4
+
namespace eval genStubs {
# libraryName --
#
@@ -188,31 +190,17 @@ proc genStubs::declare {args} {
puts stderr "Duplicate entry: declare $args"
}
}
+ regsub -all const $decl CONST decl
+ regsub -all _XCONST $decl _Xconst decl
regsub -all "\[ \t\n\]+" [string trim $decl] " " decl
set decl [parseDecl $decl]
- if {([lindex $platformList 0] eq "deprecated")} {
- set stubs($curName,deprecated,$index) [lindex $platformList 1]
- set stubs($curName,generic,$index) $decl
- if {![info exists stubs($curName,generic,lastNum)] \
- || ($index > $stubs($curName,generic,lastNum))} {
- set stubs($curName,generic,lastNum) $index
- }
- } elseif {([lindex $platformList 0] eq "nostub")} {
- set stubs($curName,nostub,$index) [lindex $platformList 1]
- set stubs($curName,generic,$index) $decl
- if {![info exists stubs($curName,generic,lastNum)] \
- || ($index > $stubs($curName,generic,lastNum))} {
- set stubs($curName,generic,lastNum) $index
- }
- } else {
- foreach platform $platformList {
- if {$decl ne ""} {
- set stubs($curName,$platform,$index) $decl
- if {![info exists stubs($curName,$platform,lastNum)] \
- || ($index > $stubs($curName,$platform,lastNum))} {
- set stubs($curName,$platform,lastNum) $index
- }
+ foreach platform $platformList {
+ if {$decl != ""} {
+ set stubs($curName,$platform,$index) $decl
+ if {![info exists stubs($curName,$platform,lastNum)] \
+ || ($index > $stubs($curName,$platform,lastNum))} {
+ set stubs($curName,$platform,lastNum) $index
}
}
}
@@ -257,9 +245,8 @@ proc genStubs::rewriteFile {file text} {
return
}
set in [open ${file} r]
- fconfigure $in -eofchar "\x1A {}" -encoding utf-8
set out [open ${file}.new w]
- fconfigure $out -translation lf -encoding utf-8
+ fconfigure $out -translation lf
while {![eof $in]} {
set line [gets $in]
@@ -298,7 +285,7 @@ proc genStubs::addPlatformGuard {plat iftxt {eltxt {}} {withCygwin 0}} {
set text ""
switch $plat {
win {
- append text "#if defined(_WIN32)"
+ append text "#if defined(__WIN32__)"
if {$withCygwin} {
append text " || defined(__CYGWIN__)"
}
@@ -309,7 +296,7 @@ proc genStubs::addPlatformGuard {plat iftxt {eltxt {}} {withCygwin 0}} {
append text "#endif /* WIN */\n"
}
unix {
- append text "#if !defined(_WIN32)"
+ append text "#if !defined(__WIN32__)"
if {$withCygwin} {
append text " && !defined(__CYGWIN__)"
}
@@ -335,7 +322,7 @@ proc genStubs::addPlatformGuard {plat iftxt {eltxt {}} {withCygwin 0}} {
append text "#endif /* AQUA */\n"
}
x11 {
- append text "#if !(defined(_WIN32)"
+ append text "#if !(defined(__WIN32__)"
if {$withCygwin} {
append text " || defined(__CYGWIN__)"
}
@@ -369,7 +356,7 @@ proc genStubs::addPlatformGuard {plat iftxt {eltxt {}} {withCygwin 0}} {
proc genStubs::emitSlots {name textVar} {
upvar $textVar text
- forAllStubs $name makeSlot 1 text {" void (*reserved$i)(void);\n"}
+ forAllStubs $name makeSlot 1 text {" VOID *reserved$i;\n"}
return
}
@@ -397,7 +384,7 @@ proc genStubs::parseDecl {decl} {
return
}
set rtype [string trim $rtype]
- if {$args eq ""} {
+ if {$args == ""} {
return [list $rtype $fname {}]
}
foreach arg [split $args ,] {
@@ -445,14 +432,14 @@ proc genStubs::parseDecl {decl} {
proc genStubs::parseArg {arg} {
if {![regexp {^(.+[ ][*]*)([^][ *]+)(\[\])?$} $arg all type name array]} {
- if {$arg eq "void"} {
+ if {$arg == "void"} {
return $arg
} else {
return
}
}
set result [list [string trim $type] $name]
- if {$array ne ""} {
+ if {$array != ""} {
lappend result $array
}
return $result
@@ -472,23 +459,15 @@ proc genStubs::parseArg {arg} {
proc genStubs::makeDecl {name decl index} {
variable scspec
- variable stubs
- variable libraryName
lassign $decl rtype fname args
append text "/* $index */\n"
- if {[info exists stubs($name,deprecated,$index)]} {
- append text "[string toupper $libraryName]_DEPRECATED(\"$stubs($name,deprecated,$index)\")\n"
- set line "$rtype"
- } elseif {[string range $rtype end-5 end] eq "MP_WUR"} {
- set line "$scspec [string trim [string range $rtype 0 end-6]]"
- } else {
- set line "$scspec $rtype"
+ if {$rtype != "void"} {
+ regsub -all void $rtype VOID rtype
}
+ set line "$scspec $rtype"
set count [expr {2 - ([string length $line] / 8)}]
- if {$count >= 0} {
- append line [string range "\t\t\t" 0 $count]
- }
+ append line [string range "\t\t\t" 0 $count]
set pad [expr {24 - [string length $line]}]
if {$pad <= 0} {
append line " "
@@ -502,9 +481,10 @@ proc genStubs::makeDecl {name decl index} {
}
append line $fname
+ regsub -all void $args VOID args
set arg1 [lindex $args 0]
switch -exact $arg1 {
- void {
+ VOID {
append line "(void)"
}
TCL_VARARGS {
@@ -527,9 +507,6 @@ proc genStubs::makeDecl {name decl index} {
set sep ", "
}
append line ", ...)"
- if {[lindex $args end] eq "{const char *} format"} {
- append line " TCL_FORMAT_PRINTF(" [expr {[llength $args] - 1}] ", " [llength $args] ")"
- }
}
default {
set sep "("
@@ -553,10 +530,9 @@ proc genStubs::makeDecl {name decl index} {
append line ")"
}
}
- if {[string range $rtype end-5 end] eq "MP_WUR"} {
- append line " MP_WUR"
- }
- return "$text$line;\n"
+ append text $line ";"
+ format "#ifndef %s_TCL_DECLARED\n#define %s_TCL_DECLARED\n%s\n#endif\n" \
+ $fname $fname $text
}
# genStubs::makeMacro --
@@ -577,12 +553,12 @@ proc genStubs::makeMacro {name decl index} {
set lfname [string tolower [string index $fname 0]]
append lfname [string range $fname 1 end]
- set text "#define $fname \\\n\t("
- if {$args eq ""} {
+ set text "#ifndef $fname\n#define $fname \\\n\t("
+ if {$args == ""} {
append text "*"
}
append text "${name}StubsPtr->$lfname)"
- append text " /* $index */\n"
+ append text " /* $index */\n#endif\n"
return $text
}
@@ -600,33 +576,27 @@ proc genStubs::makeMacro {name decl index} {
proc genStubs::makeSlot {name decl index} {
lassign $decl rtype fname args
- variable stubs
set lfname [string tolower [string index $fname 0]]
append lfname [string range $fname 1 end]
set text " "
- if {[info exists stubs($name,deprecated,$index)]} {
- append text "TCL_DEPRECATED_API(\"$stubs($name,deprecated,$index)\") "
- } elseif {[info exists stubs($name,nostub,$index)]} {
- append text "TCL_DEPRECATED_API(\"$stubs($name,nostub,$index)\") "
- }
- if {$args eq ""} {
+ if {$args == ""} {
append text $rtype " *" $lfname "; /* $index */\n"
return $text
}
- if {[string range $rtype end-8 end] eq "__stdcall"} {
+ if {$rtype ne "void"} {
+ regsub -all void $rtype VOID rtype
+ }
+ if {[string range $rtype end-8 end] == "__stdcall"} {
append text [string trim [string range $rtype 0 end-9]] " (__stdcall *" $lfname ") "
- } elseif {[string range $rtype 0 11] eq "TCL_NORETURN"} {
- append text "TCL_NORETURN1 " [string trim [string range $rtype 12 end]] " (*" $lfname ") "
- } elseif {[string range $rtype end-5 end] eq "MP_WUR"} {
- append text [string trim [string range $rtype 0 end-6]] " (*" $lfname ") "
} else {
append text $rtype " (*" $lfname ") "
}
+ regsub -all void $args VOID args
set arg1 [lindex $args 0]
switch -exact $arg1 {
- void {
+ VOID {
append text "(void)"
}
TCL_VARARGS {
@@ -640,9 +610,6 @@ proc genStubs::makeSlot {name decl index} {
set sep ", "
}
append text ", ...)"
- if {[lindex $args end] eq "{const char *} format"} {
- append text " TCL_FORMAT_PRINTF(" [expr {[llength $args] - 1}] ", " [llength $args] ")"
- }
}
default {
set sep "("
@@ -658,9 +625,6 @@ proc genStubs::makeSlot {name decl index} {
}
}
- if {[string range $rtype end-5 end] eq "MP_WUR"} {
- append text " MP_WUR"
- }
append text "; /* $index */\n"
return $text
}
@@ -678,7 +642,7 @@ proc genStubs::makeSlot {name decl index} {
# Returns the formatted declaration string.
proc genStubs::makeInit {name decl index} {
- if {[lindex $decl 2] eq ""} {
+ if {[lindex $decl 2] == ""} {
append text " &" [lindex $decl 1] ", /* " $index " */\n"
} else {
append text " " [lindex $decl 1] ", /* " $index " */\n"
@@ -724,13 +688,7 @@ proc genStubs::forAllStubs {name slotProc onAll textVar
for {set i 0} {$i <= $lastNum} {incr i} {
set slots [array names stubs $name,*,$i]
set emit 0
- if {[info exists stubs($name,deprecated,$i)]} {
- append text [$slotProc $name $stubs($name,generic,$i) $i]
- set emit 1
- } elseif {[info exists stubs($name,nostub,$i)]} {
- append text [$slotProc $name $stubs($name,generic,$i) $i]
- set emit 1
- } elseif {[info exists stubs($name,generic,$i)]} {
+ if {[info exists stubs($name,generic,$i)]} {
if {[llength $slots] > 1} {
puts stderr "conflicting generic and platform entries:\
$name $i"
@@ -995,12 +953,14 @@ proc genStubs::emitMacros {name textVar} {
upvar $textVar text
set upName [string toupper $libraryName]
- append text "\n#if defined(USE_${upName}_STUBS)\n"
+ append text "\n#if defined(USE_${upName}_STUBS) &&\
+ !defined(USE_${upName}_STUB_PROCS)\n"
append text "\n/*\n * Inline function declarations:\n */\n\n"
forAllStubs $name makeMacro 0 text
- append text "\n#endif /* defined(USE_${upName}_STUBS) */\n"
+ append text "\n#endif /* defined(USE_${upName}_STUBS) &&\
+ !defined(USE_${upName}_STUB_PROCS) */\n"
return
}
@@ -1024,7 +984,7 @@ proc genStubs::emitHeader {name} {
set capName [string toupper [string index $name 0]]
append capName [string range $name 1 end]
- if {$epoch ne ""} {
+ if {$epoch != ""} {
set CAPName [string toupper $name]
append text "\n"
append text "#define ${CAPName}_STUBS_EPOCH $epoch\n"
@@ -1036,31 +996,27 @@ proc genStubs::emitHeader {name} {
emitDeclarations $name text
if {[info exists hooks($name)]} {
- append text "\ntypedef struct {\n"
+ append text "\ntypedef struct ${capName}StubHooks {\n"
foreach hook $hooks($name) {
set capHook [string toupper [string index $hook 0]]
append capHook [string range $hook 1 end]
- append text " const struct ${capHook}Stubs *${hook}Stubs;\n"
+ append text " struct ${capHook}Stubs *${hook}Stubs;\n"
}
append text "} ${capName}StubHooks;\n"
}
append text "\ntypedef struct ${capName}Stubs {\n"
append text " int magic;\n"
- if {$epoch ne ""} {
+ if {$epoch != ""} {
append text " int epoch;\n"
append text " int revision;\n"
}
- if {[info exists hooks($name)]} {
- append text " const ${capName}StubHooks *hooks;\n\n"
- } else {
- append text " void *hooks;\n\n"
- }
+ append text " struct ${capName}StubHooks *hooks;\n\n"
emitSlots $name text
append text "} ${capName}Stubs;\n\n"
- append text "extern const ${capName}Stubs *${name}StubsPtr;\n\n"
+ append text "extern ${capName}Stubs *${name}StubsPtr;\n\n"
append text "#ifdef __cplusplus\n}\n#endif\n"
emitMacros $name text
@@ -1082,16 +1038,14 @@ proc genStubs::emitHeader {name} {
proc genStubs::emitInit {name textVar} {
variable hooks
- variable interfaces
variable epoch
upvar $textVar text
- set root 1
set capName [string toupper [string index $name 0]]
append capName [string range $name 1 end]
if {[info exists hooks($name)]} {
- append text "\nstatic const ${capName}StubHooks ${name}StubHooks = \{\n"
+ append text "\nstatic ${capName}StubHooks ${name}StubHooks = \{\n"
set sep " "
foreach sub $hooks($name) {
append text $sep "&${sub}Stubs"
@@ -1099,21 +1053,9 @@ proc genStubs::emitInit {name textVar} {
}
append text "\n\};\n"
}
- foreach intf [array names interfaces] {
- if {[info exists hooks($intf)]} {
- if {$name in $hooks($intf)} {
- set root 0
- break
- }
- }
- }
-
- append text "\n"
- if {!$root} {
- append text "static "
- }
- append text "const ${capName}Stubs ${name}Stubs = \{\n TCL_STUB_MAGIC,\n"
- if {$epoch ne ""} {
+ append text "\n${capName}Stubs ${name}Stubs = \{\n"
+ append text " TCL_STUB_MAGIC,\n"
+ if {$epoch != ""} {
set CAPName [string toupper $name]
append text " ${CAPName}_STUBS_EPOCH,\n"
append text " ${CAPName}_STUBS_REVISION,\n"
@@ -1121,10 +1063,10 @@ proc genStubs::emitInit {name textVar} {
if {[info exists hooks($name)]} {
append text " &${name}StubHooks,\n"
} else {
- append text " 0,\n"
+ append text " NULL,\n"
}
- forAllStubs $name makeInit 1 text {" 0, /* $i */\n"}
+ forAllStubs $name makeInit 1 text {" NULL, /* $i */\n"}
append text "\};\n"
return
@@ -1192,7 +1134,7 @@ proc genStubs::init {} {
set outDir [lindex $argv 0]
foreach file [lrange $argv 1 end] {
- source -encoding utf-8 $file
+ source $file
}
foreach name [lsort [array names interfaces]] {
@@ -1214,7 +1156,7 @@ proc genStubs::init {} {
# Results:
# Returns any values that were not assigned to variables.
-if {[namespace which lassign] ne ""} {
+if {[string length [namespace which lassign]] == 0} {
proc lassign {valueList args} {
if {[llength $args] == 0} {
error "wrong # args: should be \"lassign list varName ?varName ...?\""
diff --git a/tools/index.tcl b/tools/index.tcl
index 07f5868..7b11e3f 100644
--- a/tools/index.tcl
+++ b/tools/index.tcl
@@ -4,7 +4,7 @@
# the man page conversion. It is used to extract information used to
# generate a table of contents and a keyword list.
#
-# Copyright © 1996 Sun Microsystems, Inc.
+# Copyright (c) 1996 by Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
@@ -12,7 +12,7 @@
# Global variables used by these scripts:
#
# state - state variable that controls action of text proc.
-#
+#
# topics - array indexed by (package,section,topic) with value
# of topic ID.
#
@@ -135,7 +135,7 @@ proc macro {name args} {
switch $args {
NAME {
- if {$state eq "INIT" } {
+ if {$state == "INIT" } {
set state NAME
}
}
@@ -144,7 +144,7 @@ proc macro {name args} {
KEYWORDS {set state KEY}
default {set state OFF}
}
-
+
}
TH {
global state curID curPkg curSect topics keywords
@@ -176,7 +176,7 @@ proc macro {name args} {
proc dash {} {
global state
- if {$state eq "NAME"} {
+ if {$state == "NAME"} {
set state DASH
}
}
@@ -185,7 +185,7 @@ proc dash {} {
# initGlobals, tab, font, char, macro2 --
#
-# These procedures do nothing during the first pass.
+# These procedures do nothing during the first pass.
#
# Arguments:
# None.
diff --git a/tools/installData.tcl b/tools/installData.tcl
index 644cf53..4b43f1e 100644
--- a/tools/installData.tcl
+++ b/tools/installData.tcl
@@ -12,7 +12,7 @@ exec tclsh "$0" ${1+"$@"}
#
#----------------------------------------------------------------------
#
-# Copyright © 2004 Kevin B. Kenny. All rights reserved.
+# Copyright (c) 2004 by Kevin B. Kenny. All rights reserved.
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#----------------------------------------------------------------------
@@ -32,7 +32,7 @@ proc copyDir {d1 d2} {
} elseif {[file isfile $f]} {
file copy -force $f [file join $d2 $ftail]
if {$::tcl_platform(platform) eq {unix}} {
- file attributes [file join $d2 $ftail] -permissions 0o644
+ file attributes [file join $d2 $ftail] -permissions 0644
} else {
file attributes [file join $d2 $ftail] -readonly 1
}
@@ -40,7 +40,7 @@ proc copyDir {d1 d2} {
}
if {$::tcl_platform(platform) eq {unix}} {
- file attributes $d2 -permissions 0o755
+ file attributes $d2 -permissions 0755
} else {
file attributes $d2 -readonly 1
}
diff --git a/tools/installVfs.tcl b/tools/installVfs.tcl
deleted file mode 100644
index 699b00e..0000000
--- a/tools/installVfs.tcl
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-#\
-exec tclsh "$0" ${1+"$@"}
-
-#----------------------------------------------------------------------
-#
-# installVfs.tcl --
-#
-# This file wraps the /library file system around a binary
-#
-#----------------------------------------------------------------------
-#
-# Copyright © 2018 Sean Woods. All rights reserved.
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-#----------------------------------------------------------------------
-
-proc mapDir {resultvar prefix filepath} {
- upvar 1 $resultvar result
- if {![info exists result]} {
- set result {}
- }
- set queue [list $prefix $filepath]
- while {[llength $queue]} {
- set queue [lassign $queue qprefix qpath]
- foreach ftail [glob -directory $qpath -nocomplain -tails *] {
- set f [file join $qpath $ftail]
- if {[file isdirectory $f]} {
- if {$ftail eq "CVS"} continue
- lappend queue [file join $qprefix $ftail] $f
- } elseif {[file isfile $f]} {
- if {$ftail eq "pkgIndex.tcl"} continue
- if {$ftail eq "manifest.txt"} {
- lappend result $f [file join $qprefix pkgIndex.tcl]
- } else {
- lappend result $f [file join $qprefix $ftail]
- }
- }
- }
- }
-}
-if {[llength $argv]<4} {
- error "Usage: [file tail [info script]] IMG_OUTPUT IMG_INPUT PREFIX FILE_SYSTEM ?PREFIX FILE_SYSTEM?..."
-}
-
-set paths [lassign $argv DLL_OUTPUT DLL_INPUT]
-foreach {prefix fpath} $paths {
- mapDir files $prefix [file normalize $fpath]
-}
-if {$DLL_INPUT != {}} {
- zipfs lmkzip $DLL_OUTPUT $files
-} else {
- zipfs lmkimg $DLL_OUTPUT $files {} $DLL_INPUT
-}
diff --git a/tools/loadICU.tcl b/tools/loadICU.tcl
index bbe5e4a..5b09e2c 100755
--- a/tools/loadICU.tcl
+++ b/tools/loadICU.tcl
@@ -22,14 +22,11 @@
#
#----------------------------------------------------------------------
#
-# Copyright © 2004 Kevin B. Kenny. All rights reserved.
+# Copyright (c) 2004 by Kevin B. Kenny. All rights reserved.
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#----------------------------------------------------------------------
-puts stdout "TODO: output in UTF-8 in stead of using \\uhhhh sequences"
-exit; # Remove those two lines after modifying this tool.
-
# Calculate the Chinese numerals from zero to ninety-nine.
set zhDigits [list {} \u4e00 \u4e8c \u4e09 \u56db \
@@ -435,7 +432,7 @@ proc handleLocaleFile { localeName fileName msgFileName } {
if { ![info exists format($localeName,TIME_FORMAT)] } {
for { set i 3 } { $i >= 0 } { incr i -1 } {
- if { [regexp H [lindex $items(DateTimePatterns) $i]]
+ if { [regexp H [lindex $items(DateTimePatterns) $i]]
&& [regexp s [lindex $items(DateTimePatterns) $i]] } {
break
}
@@ -467,7 +464,7 @@ proc handleLocaleFile { localeName fileName msgFileName } {
if { ![info exists format($localeName,TIME_FORMAT_12)] } {
for { set i 3 } { $i >= 0 } { incr i -1 } {
- if { [regexp h [lindex $items(DateTimePatterns) $i]]
+ if { [regexp h [lindex $items(DateTimePatterns) $i]]
&& [regexp s [lindex $items(DateTimePatterns) $i]] } {
break
}
@@ -492,7 +489,7 @@ proc handleLocaleFile { localeName fileName msgFileName } {
# Date and time... Prefer 24-hour format to 12-hour format.
- if { ![info exists format($localeName,DATE_TIME_FORMAT)]
+ if { ![info exists format($localeName,DATE_TIME_FORMAT)]
&& [info exists format($localeName,DATE_FORMAT)]
&& [info exists format($localeName,TIME_FORMAT)]} {
set format($localeName,DATE_TIME_FORMAT) \
@@ -500,7 +497,7 @@ proc handleLocaleFile { localeName fileName msgFileName } {
append format($localeName,DATE_TIME_FORMAT) \
" " $format($localeName,TIME_FORMAT) " %z"
}
- if { ![info exists format($localeName,DATE_TIME_FORMAT)]
+ if { ![info exists format($localeName,DATE_TIME_FORMAT)]
&& [info exists format($localeName,DATE_FORMAT)]
&& [info exists format($localeName,TIME_FORMAT_12)]} {
set format($localeName,DATE_TIME_FORMAT) \
@@ -520,7 +517,7 @@ proc handleLocaleFile { localeName fileName msgFileName } {
# Write the string sets to the file.
- foreach key {
+ foreach key {
LOCALE_NUMERALS LOCALE_DATE_FORMAT LOCALE_TIME_FORMAT
LOCALE_DATE_TIME_FORMAT LOCALE_ERAS LOCALE_YEAR_FORMAT
} {
@@ -591,7 +588,7 @@ proc backslashify { string } {
set retval {}
foreach char [split $string {}] {
scan $char %c ccode
- if { $ccode >= 0x20 && $ccode < 0x7F && $char ne "\""
+ if { $ccode >= 0x0020 && $ccode < 0x007f && $char ne "\""
&& $char ne "\{" && $char ne "\}" && $char ne "\["
&& $char ne "\]" && $char ne "\\" && $char ne "\$" } {
append retval $char
diff --git a/tools/makeHeader.tcl b/tools/makeHeader.tcl
deleted file mode 100644
index 17526e0..0000000
--- a/tools/makeHeader.tcl
+++ /dev/null
@@ -1,182 +0,0 @@
-# makeHeader.tcl --
-#
-# This script generates embeddable C source (in a .h file) from a .tcl
-# script.
-#
-# Copyright © 2018 Donal K. Fellows
-#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-
-package require Tcl 8.6-
-
-namespace eval makeHeader {
-
- ####################################################################
- #
- # mapSpecial --
- # Transform a single line so that it is able to be put in a C string.
- #
- proc mapSpecial {str} {
- # All Tcl metacharacters and key C backslash sequences
- set MAP {
- \" \\\\\" \\ \\\\\\\\ $ \\$ [ \\[ ] \\] ' \\\\' ? \\\\?
- \a \\\\a \b \\\\b \f \\\\f \n \\\\n \r \\\\r \t \\\\t \v \\\\v
- }
- set XFORM {[format \\\\\\\\u%04x {*}[scan & %c]]}
-
- subst [regsub -all {[^\x20-\x7E]} [string map $MAP $str] $XFORM]
- }
-
- ####################################################################
- #
- # compactLeadingSpaces --
- # Converts the leading whitespace on a line into a more compact form.
- #
- proc compactLeadingSpaces {line} {
- set line [string map {\t { }} [string trimright $line]]
- if {[regexp {^[ ]+} $line spaces]} {
- regsub -all {[ ]{4}} $spaces \t replace
- set len [expr {[string length $spaces] - 1}]
- set line [string replace $line 0 $len $replace]
- }
- return $line
- }
-
- ####################################################################
- #
- # processScript --
- # Transform a whole sequence of lines with [mapSpecial].
- #
- proc processScript {scriptLines} {
- lmap line $scriptLines {
- # Skip blank and comment lines; they're there in the original
- # sources so we don't need to copy them over.
- if {[regexp {^\s*(?:#|$)} $line]} continue
- format {"%s"} [mapSpecial [compactLeadingSpaces $line]\n]
- }
- }
-
- ####################################################################
- #
- # updateTemplate --
- # Rewrite a template to contain the content from the input script.
- #
- proc updateTemplate {dataVar scriptLines} {
- set BEGIN "*!BEGIN!: Do not edit below this line.*"
- set END "*!END!: Do not edit above this line.*"
-
- upvar 1 $dataVar data
-
- set from [lsearch -glob $data $BEGIN]
- set to [lsearch -glob $data $END]
- if {$from < 0 || $to < 0 || $from >= $to} {
- throw BAD "not a template"
- }
-
- set data [lreplace $data $from+1 $to-1 {*}[processScript $scriptLines]]
- }
-
- ####################################################################
- #
- # stripSurround --
- # Removes the header and footer comments from a (line-split list of
- # lines of) Tcl script code.
- #
- proc stripSurround {lines} {
- set RE {^\s*$|^#}
- set state 0
- set lines [lmap line [lreverse $lines] {
- if {!$state && [regexp $RE $line]} continue {
- set state 1
- set line
- }
- }]
- return [lmap line [lreverse $lines] {
- if {$state && [regexp $RE $line]} continue {
- set state 0
- set line
- }
- }]
- }
-
- ####################################################################
- #
- # updateTemplateFile --
- # Rewrites a template file with the lines of the given script.
- #
- proc updateTemplateFile {headerFile scriptLines} {
- set f [open $headerFile "r+"]
- try {
- set content [split [chan read -nonewline $f] "\n"]
- updateTemplate content [stripSurround $scriptLines]
- chan seek $f 0
- chan puts $f [join $content \n]
- chan truncate $f
- } trap BAD msg {
- # Add the filename to the message
- throw BAD "${headerFile}: $msg"
- } finally {
- chan close $f
- }
- }
-
- ####################################################################
- #
- # readScript --
- # Read a script from a file and return its lines.
- #
- proc readScript {script} {
- set f [open $script]
- try {
- chan configure $f -encoding utf-8
- return [split [string trim [chan read $f]] "\n"]
- } finally {
- chan close $f
- }
- }
-
- ####################################################################
- #
- # run --
- # The main program of this script.
- #
- proc run {args} {
- try {
- if {[llength $args] != 2} {
- throw ARGS "inputTclScript templateFile"
- }
- lassign $args inputTclScript templateFile
-
- puts "Inserting $inputTclScript into $templateFile"
- set scriptLines [readScript $inputTclScript]
- updateTemplateFile $templateFile $scriptLines
- exit 0
- } trap ARGS msg {
- puts stderr "wrong # args: should be \"[file tail $::argv0] $msg\""
- exit 2
- } trap BAD msg {
- puts stderr $msg
- exit 1
- } trap POSIX msg {
- puts stderr $msg
- exit 1
- } on error {- opts} {
- puts stderr [dict get $opts -errorinfo]
- exit 3
- }
- }
-}
-
-########################################################################
-#
-# Launch the main program
-#
-if {[info script] eq $::argv0} {
- makeHeader::run {*}$::argv
-}
-
-# Local-Variables:
-# mode: tcl
-# fill-column: 78
-# End:
diff --git a/tools/makeTestCases.tcl b/tools/makeTestCases.tcl
index 70213e0..d96a221 100755
--- a/tools/makeTestCases.tcl
+++ b/tools/makeTestCases.tcl
@@ -40,7 +40,7 @@ namespace eval ::tcl::clock {
l li lii liii liv lv lvi lvii lviii lix
lx lxi lxii lxiii lxiv lxv lxvi lxvii lxviii lxix
lxx lxxi lxxii lxxiii lxxiv lxxv lxxvi lxxvii lxxviii lxxix
- lxxx lxxxi lxxxii lxxxiii lxxxiv lxxxv lxxxvi lxxxvii lxxxviii
+ lxxx lxxxi lxxxii lxxxiii lxxxiv lxxxv lxxxvi lxxxvii lxxxviii
lxxxix
xc xci xcii xciii xciv xcv xcvi xcvii xcviii xcix
c
@@ -62,7 +62,7 @@ namespace eval ::tcl::clock {
#
# Parameters:
# startOfYearArray - Name of an array in caller's scope that will
-# be initialized as
+# be initialized as
# Results:
# None
#
@@ -106,7 +106,7 @@ proc listYears { startOfYearArray } {
set s $s2
incr y
}
-
+
# List years before 1970
set y 1970
@@ -138,7 +138,7 @@ proc listYears { startOfYearArray } {
#----------------------------------------------------------------------
#
-# processFile -
+# processFile -
#
# Processes the 'clock.test' file, updating the test cases in it.
#
@@ -153,7 +153,7 @@ proc listYears { startOfYearArray } {
proc processFile {d} {
# Open two files
-
+
set f1 [open [file join $d tests/clock.test] r]
set f2 [open [file join $d tests/clock.new] w]
@@ -164,7 +164,7 @@ proc processFile {d} {
switch -exact -- $state {
{} {
puts $f2 $line
- if { [regexp "^\# BEGIN (.*)" $line -> cases]
+ if { [regexp "^\# BEGIN (.*)" $line -> cases]
&& [string compare {} [info commands $cases]] } {
set state inCaseSet
$cases $f2
@@ -213,7 +213,7 @@ proc testcases2 { f2 } {
listYears startOfYear
# Define the roman numerals
-
+
set roman {
? i ii iii iv v vi vii viii ix
x xi xii xiii xiv xv xvi xvii xviii xix
@@ -235,20 +235,20 @@ proc testcases2 { f2 } {
}
# Names of the months
-
+
set short {{} Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec}
set long {
{} January February March April May June July August September
October November December
}
-
+
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test formatting of Gregorian year, month, day, all formats"
puts $f2 "\# Formats tested: %b %B %c %Ec %C %EC %d %Od %e %Oe %h %j %J %m %Om %N %x %Ex %y %Oy %Y %EY"
puts $f2 ""
-
+
# Generate the test cases for the first and last day of every month
# from 1896 to 2045
@@ -262,7 +262,7 @@ proc testcases2 { f2 } {
if { $m == 2 && ( $y%4 == 0 && $y%100 != 0 || $y%400 == 0 ) } {
incr hath
}
-
+
set b [lindex $short $m]
set B [lindex $long $m]
set C [format %02d [expr { $y / 100 }]]
@@ -271,9 +271,9 @@ proc testcases2 { f2 } {
set mm [format %02d $m]
set N [format %2d $m]
set yy [format %02d [expr { $y % 100 }]]
-
+
set J [expr { ( $s / 86400 ) + 2440588 }]
-
+
set dt $y-$mm-01
set result ""
append result $b " " $B " " \
@@ -296,17 +296,17 @@ proc testcases2 { f2 } {
puts $f2 "\t-format {%b %B %c %Ec %C %EC %d %Od %e %Oe %h %j %J %m %Om %N %x %Ex %y %Oy %Y} \\"
puts $f2 "\t-gmt true -locale en_US_roman"
puts $f2 "} {$result}"
-
+
set hm1 [expr { $hath - 1 }]
incr s [expr { 86400 * ( $hath - 1 ) }]
incr yd $hm1
-
+
set dd [format %02d $hath]
set ee [format %2d $hath]
set j [format %03d $yd]
-
+
set J [expr { ( $s / 86400 ) + 2440588 }]
-
+
set dt $y-$mm-$dd
set result ""
append result $b " " $B " " \
@@ -332,7 +332,7 @@ proc testcases2 { f2 } {
puts $f2 "\t-format {%b %B %c %Ec %C %EC %d %Od %e %Oe %h %j %J %m %Om %N %x %Ex %y %Oy %Y} \\"
puts $f2 "\t-gmt true -locale en_US_roman"
puts $f2 "} {$result}"
-
+
incr s 86400
incr yd
}
@@ -451,7 +451,7 @@ proc testcases3 { f2 } {
testISO $f2 $ym1 52 1 [expr { $secs - 5*86400 }]
testISO $f2 $ym1 52 6 $secs
testISO $f2 $ym1 52 7 [expr { $secs + 86400 }]
- }
+ }
testISO $f2 $y 1 1 [expr { $secs + 2*86400 }]
testISO $f2 $y 1 6 [expr { $secs + 7*86400 }]
testISO $f2 $y 1 7 [expr { $secs + 8*86400 }]
@@ -466,10 +466,10 @@ proc testcases3 { f2 } {
proc testISO { f2 G V u secs } {
upvar 1 case case
-
+
set longdays {Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday}
set shortdays {Sun Mon Tue Wed Thu Fri Sat Sun}
-
+
puts $f2 "test clock-3.[incr case] {ISO week-based calendar [format %04d-W%02d-%d $G $V $u]} {"
puts $f2 " clock format $secs -format {%a %A %g %G %u %U %V %w %W} -gmt true; \# $G-W[format %02d $V]-$u"
puts $f2 "} {[lindex $shortdays $u] [lindex $longdays $u]\
@@ -478,7 +478,7 @@ proc testISO { f2 G V u secs } {
[clock format $secs -format %U -gmt true]\
[format %02d $V] [expr { $u % 7 }]\
[clock format $secs -format %W -gmt true]}"
-
+
}
#----------------------------------------------------------------------
@@ -504,15 +504,15 @@ proc testcases4 { f2 } {
puts $f2 "\# Test formatting of time of day"
puts $f2 "\# Format groups tested: %H %OH %I %OI %k %Ok %l %Ol %M %OM %p %P %r %R %S %OS %T %X %EX %+"
puts $f2 {}
-
+
set i 0
set fmt "%H %OH %I %OI %k %Ok %l %Ol %M %OM %p %P %r %R %S %OS %T %X %EX %+"
- foreach { h romanH I romanI am } {
- 0 ? 12 xii AM
- 1 i 1 i AM
- 11 xi 11 xi AM
- 12 xii 12 xii PM
- 13 xiii 1 i PM
+ foreach { h romanH I romanI am } {
+ 0 ? 12 xii AM
+ 1 i 1 i AM
+ 11 xi 11 xi AM
+ 12 xii 12 xii PM
+ 13 xiii 1 i PM
23 xxiii 11 xi PM
} {
set hh [format %02d $h]
@@ -547,7 +547,7 @@ proc testcases4 { f2 } {
puts "testcases4: $i test cases."
}
-
+
#----------------------------------------------------------------------
#
# testcases5 --
@@ -572,9 +572,9 @@ proc testcases5 { f2 } {
puts $f2 {}
puts $f2 "\# Test formatting of Daylight Saving Time"
puts $f2 {}
-
+
set fmt {%H:%M:%S %z %Z}
-
+
set i 0
puts $f2 "test clock-5.[incr i] {does Detroit exist} {"
puts $f2 " clock format 0 -format {} -timezone :America/Detroit"
@@ -587,12 +587,12 @@ proc testcases5 { f2 } {
puts $f2 " concat {ok}"
puts $f2 " }"
puts $f2 "} ok"
-
+
foreach row $TZData(:America/Detroit) {
foreach { t offset isdst tzname } $row break
if { $t > -4000000000000 } {
set conds [list detroit]
- if { $t > wide(0x7FFFFFFF) } {
+ if { $t > wide(0x7fffffff) } {
set conds [list detroit y2038]
}
incr t -1
@@ -648,12 +648,12 @@ proc testcases5 { f2 } {
proc testcases8 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test parsing of ccyymmdd"
puts $f2 ""
-
- set n 0
+
+ set n 0
foreach year {1970 1971 2000 2001} {
foreach month {01 12} {
foreach day {02 31} {
@@ -670,7 +670,7 @@ proc testcases8 { f2 } {
puts $f2 "} $scanned"
}
}
- }
+ }
foreach fmt {%x %D} {
set string [clock format $scanned \
-format $fmt \
@@ -708,11 +708,11 @@ proc testcases8 { f2 } {
proc testcases11 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test precedence among yyyymmdd and yyyyddd"
puts $f2 ""
-
+
array set v {
Y 1970
m 01
@@ -771,12 +771,12 @@ proc testcases11 { f2 } {
proc testcases12 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test parsing of ccyyWwwd"
puts $f2 ""
-
- set n 0
+
+ set n 0
foreach year {1970 1971 2000 2001} {
foreach month {01 12} {
foreach day {02 31} {
@@ -817,12 +817,12 @@ proc testcases12 { f2 } {
proc testcases14 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test parsing of yymmdd"
puts $f2 ""
-
- set n 0
+
+ set n 0
foreach year {1938 1970 2000 2037} {
foreach month {01 12} {
foreach day {02 31} {
@@ -839,7 +839,7 @@ proc testcases14 { f2 } {
puts $f2 "} $scanned"
}
}
- }
+ }
}
}
}
@@ -868,12 +868,12 @@ proc testcases14 { f2 } {
proc testcases17 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test parsing of yyWwwd"
puts $f2 ""
-
- set n 0
+
+ set n 0
foreach year {1970 1971 2000 2001} {
foreach month {01 12} {
foreach day {02 31} {
@@ -914,12 +914,12 @@ proc testcases17 { f2 } {
proc testcases19 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test parsing of mmdd"
puts $f2 ""
-
- set n 0
+
+ set n 0
foreach year {1938 1970 2000 2037} {
set base [clock scan ${year}0101 -gmt true]
foreach month {01 12} {
@@ -935,7 +935,7 @@ proc testcases19 { f2 } {
puts $f2 " [list clock scan $string -format [list $mm $dd] -locale en_US_roman -base $base -gmt 1]"
puts $f2 "} $scanned"
}
- }
+ }
}
}
}
@@ -964,12 +964,12 @@ proc testcases19 { f2 } {
proc testcases22 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test parsing of Wwwd"
puts $f2 ""
-
- set n 0
+
+ set n 0
foreach year {1970 1971 2000 2001} {
set base [clock scan ${year}0104 -gmt true]
foreach month {03 10} {
@@ -1011,12 +1011,12 @@ proc testcases22 { f2 } {
proc testcases24 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test parsing of naked day-of-month"
puts $f2 ""
-
- set n 0
+
+ set n 0
foreach year {1970 2000} {
foreach month {01 12} {
set base [clock scan ${year}${month}01 -gmt true]
@@ -1030,7 +1030,7 @@ proc testcases24 { f2 } {
puts $f2 "test clock-24.[incr n] {parse naked day of month} {"
puts $f2 " [list clock scan $string -format $dd -locale en_US_roman -base $base -gmt 1]"
puts $f2 "} $scanned"
- }
+ }
}
}
}
@@ -1059,12 +1059,12 @@ proc testcases24 { f2 } {
proc testcases26 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test parsing of naked day of week"
puts $f2 ""
-
- set n 0
+
+ set n 0
foreach year {1970 2001} {
foreach week {01 52} {
set base [clock scan ${year}W${week}4 \
@@ -1108,7 +1108,7 @@ proc testcases26 { f2 } {
proc testcases29 { f2 } {
# Put out a header describing the tests
-
+
puts $f2 ""
puts $f2 "\# Test parsing of time of day"
puts $f2 ""
@@ -1172,7 +1172,7 @@ proc testcases29 { f2 } {
}
}
}
-
+
}
puts "testcases29: $n test cases"
}
diff --git a/tools/man2help.tcl b/tools/man2help.tcl
new file mode 100644
index 0000000..018fa84
--- /dev/null
+++ b/tools/man2help.tcl
@@ -0,0 +1,141 @@
+# man2help.tcl --
+#
+# This file defines procedures that work in conjunction with the
+# man2tcl program to generate a Windows help file from Tcl manual
+# entries.
+#
+# Copyright (c) 1996 by Sun Microsystems, Inc.
+
+#
+# PASS 1
+#
+
+set man2tclprog [file join [file dirname [info script]] \
+ man2tcl[file extension [info nameofexecutable]]]
+
+proc generateContents {basename version files} {
+ global curID topics
+ set curID 0
+ foreach f $files {
+ puts "Pass 1 -- $f"
+ flush stdout
+ doFile $f
+ }
+ set fd [open [file join [file dirname [info script]] $basename$version.cnt] w]
+ fconfigure $fd -translation crlf
+ puts $fd ":Base $basename$version.hlp"
+ foreach package [getPackages] {
+ foreach section [getSections $package] {
+ if {![info exists lastSection]} {
+ set lastSection {}
+ }
+ if {[string compare $lastSection $section]} {
+ puts $fd "1 $section"
+ }
+ set lastSection $section
+ set lastTopic {}
+ foreach topic [getTopics $package $section] {
+ if {[string compare $lastTopic $topic]} {
+ set id $topics($package,$section,$topic)
+ puts $fd "2 $topic=$id"
+ set lastTopic $topic
+ }
+ }
+ }
+ }
+ close $fd
+}
+
+
+#
+# PASS 2
+#
+
+proc generateHelp {basename files} {
+ global curID topics keywords file id_keywords
+ set curID 0
+
+ foreach key [array names keywords] {
+ foreach id $keywords($key) {
+ lappend id_keywords($id) $key
+ }
+ }
+
+ set file [open [file join [file dirname [info script]] $basename.rtf] w]
+ fconfigure $file -translation crlf
+ puts $file "\{\\rtf1\\ansi \\deff0\\deflang1033\{\\fonttbl\{\\f0\\froman\\fcharset0\\fprq2 Times New Roman\;\}\{\\f1\\fmodern\\fcharset0\\fprq1 Courier New\;\}\}"
+ foreach f $files {
+ puts "Pass 2 -- $f"
+ flush stdout
+ initGlobals
+ doFile $f
+ pageBreak
+ }
+ puts $file "\}"
+ close $file
+}
+
+# doFile --
+#
+# Given a file as argument, translate the file to a tcl script and
+# evaluate it.
+#
+# Arguments:
+# file - Name of file to translate.
+
+proc doFile {file} {
+ global man2tclprog
+ if {[catch {eval [exec $man2tclprog [glob $file]]} msg]} {
+ global errorInfo
+ puts stderr $msg
+ puts "in"
+ puts $errorInfo
+ exit 1
+ }
+}
+
+# doDir --
+#
+# Given a directory as argument, translate all the man pages in
+# that directory.
+#
+# Arguments:
+# dir - Name of the directory.
+
+proc doDir dir {
+ puts "Generating man pages for $dir..."
+ foreach f [lsort [glob -directory $dir "*.\[13n\]"]] {
+ doFile $f
+ }
+}
+
+# process command line arguments
+
+if {$argc < 3} {
+ puts stderr "usage: $argv0 \[options\] projectName version manFiles..."
+ exit 1
+}
+
+set arg 0
+
+if {![string compare [lindex $argv $arg] "-bitmap"]} {
+ set bitmap [lindex $argv [incr arg]]
+ incr arg
+}
+set baseName [lindex $argv $arg]
+set version [lindex $argv [incr arg]]
+set files {}
+foreach i [lrange $argv [incr arg] end] {
+ set i [file join $i]
+ if {[file isdir $i]} {
+ foreach f [lsort [glob -directory $i "*.\[13n\]"]] {
+ lappend files $f
+ }
+ } elseif {[file exists $i]} {
+ lappend files $i
+ }
+}
+source [file join [file dirname [info script]] index.tcl]
+generateContents $baseName $version $files
+source [file join [file dirname [info script]] man2help2.tcl]
+generateHelp $baseName $files
diff --git a/tools/man2help2.tcl b/tools/man2help2.tcl
new file mode 100644
index 0000000..75f4249
--- /dev/null
+++ b/tools/man2help2.tcl
@@ -0,0 +1,1029 @@
+# man2help2.tcl --
+#
+# This file defines procedures that are used during the second pass of
+# the man page conversion. It converts the man format input to rtf
+# form suitable for use by the Windows help compiler.
+#
+# Copyright (c) 1996 by Sun Microsystems, Inc.
+#
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+
+# Global variables used by these scripts:
+#
+# state - state variable that controls action of text proc.
+#
+# topics - array indexed by (package,section,topic) with value
+# of topic ID.
+#
+# keywords - array indexed by keyword string with value of topic ID.
+#
+# curID - current topic ID, starts at 0 and is incremented for
+# each new topic file.
+#
+# curPkg - current package name (e.g. Tcl).
+#
+# curSect - current section title (e.g. "Tcl Built-In Commands").
+#
+
+# initGlobals --
+#
+# This procedure is invoked to set the initial values of all of the
+# global variables, before processing a man page.
+#
+# Arguments:
+# None.
+
+proc initGlobals {} {
+ uplevel \#0 unset state
+ global state chars
+
+ set state(paragraphPending) 0
+ set state(breakPending) 0
+ set state(firstIndent) 0
+ set state(leftIndent) 0
+
+ set state(inTP) 0
+ set state(paragraph) 0
+ set state(textState) 0
+ set state(curFont) ""
+ set state(startCode) "{\\b "
+ set state(startEmphasis) "{\\i "
+ set state(endCode) "}"
+ set state(endEmphasis) "}"
+ set state(noFill) 0
+ set state(charCnt) 0
+ set state(offset) [getTwips 0.5i]
+ set state(leftMargin) [getTwips 0.5i]
+ set state(nestingLevel) 0
+ set state(intl) 0
+ set state(sb) 0
+ setTabs 0.5i
+
+# set up international character table
+
+ array set chars {
+ o^ F4
+ }
+}
+
+
+# beginFont --
+#
+# Arranges for future text to use a special font, rather than
+# the default paragraph font.
+#
+# Arguments:
+# font - Name of new font to use.
+
+proc beginFont {font} {
+ global file state
+
+ textSetup
+ if {[string equal $state(curFont) $font]} {
+ return
+ }
+ endFont
+ puts -nonewline $file $state(start$font)
+ set state(curFont) $font
+}
+
+
+# endFont --
+#
+# Reverts to the default font for the paragraph type.
+#
+# Arguments:
+# None.
+
+proc endFont {} {
+ global state file
+
+ if {[string compare $state(curFont) ""]} {
+ puts -nonewline $file $state(end$state(curFont))
+ set state(curFont) ""
+ }
+}
+
+
+# textSetup --
+#
+# This procedure is called the first time that text is output for a
+# paragraph. It outputs the header information for the paragraph.
+#
+# Arguments:
+# None.
+
+proc textSetup {} {
+ global file state
+
+ if $state(breakPending) {
+ puts $file "\\line"
+ }
+ if $state(paragraphPending) {
+ puts $file [format "\\par\n\\pard\\fi%.0f\\li%.0f" \
+ $state(firstIndent) $state(leftIndent)]
+ foreach tab $state(tabs) {
+ puts $file [format "\\tx%.0f" $tab]
+ }
+ set state(tabs) {}
+ if {$state(sb)} {
+ puts $file "\\sb$state(sb)"
+ set state(sb) 0
+ }
+ }
+ set state(breakPending) 0
+ set state(paragraphPending) 0
+}
+
+
+# text --
+#
+# This procedure adds text to the current state(paragraph). If this is
+# the first text in the state(paragraph) then header information for the
+# state(paragraph) is output before the text.
+#
+# Arguments:
+# string - Text to output in the state(paragraph).
+
+proc text {string} {
+ global file state chars
+
+ textSetup
+ set string [string map [list \
+ "\\" "\\\\" \
+ "\{" "\\\{" \
+ "\}" "\\\}" \
+ "\t" {\tab } \
+ '' "\\rdblquote " \
+ `` "\\ldblquote " \
+ "\u00b7" "\\bullet " \
+ ] $string]
+
+ # Check if this is the beginning of an international character string.
+ # If so, look up the sequence in the chars table and substitute the
+ # appropriate hex value.
+
+ if {$state(intl)} {
+ if {[regexp {^'([^']*)'} $string dummy ch]} {
+ if {[info exists chars($ch)]} {
+ regsub {^'[^']*'} $string "\\\\'$chars($ch)" string
+ } else {
+ puts stderr "Unknown international character '$ch'"
+ }
+ }
+ set state(intl) 0
+ }
+
+ switch $state(textState) {
+ REF {
+ if {$state(inTP) == 0} {
+ set string [insertRef $string]
+ }
+ }
+ SEE {
+ global topics curPkg curSect
+ foreach i [split $string] {
+ if {![regexp -nocase {^[a-z_0-9]+} [string trim $i] i ]} {
+ continue
+ }
+ if {![catch {set ref $topics($curPkg,$curSect,$i)} ]} {
+ regsub $i $string [link $i $ref] string
+ }
+ }
+ }
+ KEY {
+ return
+ }
+ }
+ puts -nonewline $file "$string"
+}
+
+
+
+# insertRef --
+#
+# This procedure looks for a string in the cross reference table and
+# generates a hot-link to the appropriate topic. Tries to find the
+# nearest reference in the manual.
+#
+# Arguments:
+# string - Text to output in the state(paragraph).
+
+proc insertRef {string} {
+ global NAME_file curPkg curSect topics curID
+ set path {}
+ set string [string trim $string]
+ set ref {}
+ if {[info exists topics($curPkg,$curSect,$string)]} {
+ set ref $topics($curPkg,$curSect,$string)
+ } else {
+ set sites [array names topics "$curPkg,*,$string"]
+ set count [llength $sites]
+ if {$count > 0} {
+ set ref $topics([lindex $sites 0])
+ } else {
+ set sites [array names topics "*,*,$string"]
+ set count [llength $sites]
+ if {$count > 0} {
+ set ref $topics([lindex $sites 0])
+ }
+ }
+ }
+
+ if {($ref != {}) && ($ref != $curID)} {
+ set string [link $string $ref]
+ }
+ return $string
+}
+
+
+
+# macro --
+#
+# This procedure is invoked to process macro invocations that start
+# with "." (instead of ').
+#
+# Arguments:
+# name - The name of the macro (without the ".").
+# args - Any additional arguments to the macro.
+
+proc macro {name args} {
+ global state file
+ switch $name {
+ AP {
+ if {[llength $args] != 3 && [llength $args] != 2} {
+ puts stderr "Bad .AP macro: .$name [join $args " "]"
+ }
+ newPara 3.75i -3.75i
+ setTabs {1.25i 2.5i 3.75i}
+ font B
+ text [lindex $args 0]
+ tab
+ font I
+ text [lindex $args 1]
+ tab
+ font R
+ if {[llength $args] == 3} {
+ text "([lindex $args 2])"
+ }
+ tab
+ }
+ AS {
+ # next page and previous page
+ }
+ br {
+ lineBreak
+ }
+ BS {}
+ BE {}
+ CE {
+ puts -nonewline $::file "\\f0\\fs20 "
+ set state(noFill) 0
+ set state(breakPending) 0
+ newPara ""
+ set state(leftIndent) [expr {$state(leftIndent) - $state(offset)}]
+ set state(sb) 80
+ }
+ CS {
+ # code section
+ set state(noFill) 1
+ newPara ""
+ set state(leftIndent) [expr {$state(leftIndent) + $state(offset)}]
+ set state(sb) 80
+ puts -nonewline $::file "\\f1\\fs18 "
+ }
+ DE {
+ set state(noFill) 0
+ decrNestingLevel
+ newPara 0i
+ }
+ DS {
+ set state(noFill) 1
+ incrNestingLevel
+ newPara 0i
+ }
+ fi {
+ set state(noFill) 0
+ }
+ IP {
+ IPmacro $args
+ }
+ LP {
+ newPara 0i
+ set state(sb) 80
+ }
+ ne {
+ }
+ nf {
+ set state(noFill) 1
+ }
+ OP {
+ if {[llength $args] != 3} {
+ puts stderr "Bad .OP macro: .$name [join $args " "]"
+ }
+ set state(nestingLevel) 0
+ newPara 0i
+ set state(sb) 120
+ setTabs 4c
+ text "Command-Line Name:"
+ tab
+ font B
+ set x [lindex $args 0]
+ regsub -all {\\-} $x - x
+ text $x
+ lineBreak
+ font R
+ text "Database Name:"
+ tab
+ font B
+ text [lindex $args 1]
+ lineBreak
+ font R
+ text "Database Class:"
+ tab
+ font B
+ text [lindex $args 2]
+ font R
+ set state(inTP) 0
+ newPara 0.5i
+ set state(sb) 80
+ }
+ PP {
+ newPara 0i
+ set state(sb) 120
+ }
+ RE {
+ decrNestingLevel
+ }
+ RS {
+ incrNestingLevel
+ }
+ SE {
+ font R
+ set state(noFill) 0
+ set state(nestingLevel) 0
+ newPara 0i
+ text "See the "
+ font B
+ set temp $state(textState)
+ set state(textState) REF
+ text options
+ set state(textState) $temp
+ font R
+ text " manual entry for detailed descriptions of the above options."
+ }
+ SH {
+ SHmacro $args
+ }
+ SS {
+ SHmacro $args subsection
+ }
+ SO {
+ SHmacro "STANDARD OPTIONS"
+ set state(nestingLevel) 0
+ newPara 0i
+ setTabs {4c 8c 12c}
+ font B
+ set state(noFill) 1
+ }
+ so {
+ if {$args != "man.macros"} {
+ puts stderr "Unknown macro: .$name [join $args " "]"
+ }
+ }
+ sp { ;# needs work
+ if {$args == ""} {
+ set count 1
+ } else {
+ set count [lindex $args 0]
+ }
+ while {$count > 0} {
+ lineBreak
+ incr count -1
+ }
+ }
+ ta {
+ setTabs $args
+ }
+ TH {
+ THmacro $args
+ }
+ TP {
+ TPmacro $args
+ }
+ UL { ;# underline
+ puts -nonewline $file "{\\ul "
+ text [lindex $args 0]
+ puts -nonewline $file "}"
+ if {[llength $args] == 2} {
+ text [lindex $args 1]
+ }
+ }
+ VE {}
+ VS {}
+ QW {
+ formattedText "``[lindex $args 0]''[lindex $args 1] "
+ }
+ MT {
+ text "``'' "
+ }
+ PQ {
+ formattedText \
+ "(``[lindex $args 0]''[lindex $args 1])[lindex $args 2] "
+ }
+ QR {
+ formattedText "``[lindex $args 0]"
+ dash
+ formattedText "[lindex $args 1]''[lindex $args 2] "
+ }
+ default {
+ puts stderr "Unknown macro: .$name [join $args " "]"
+ }
+ }
+}
+
+
+# link --
+#
+# This procedure returns the string for a hot link to a different
+# context location.
+#
+# Arguments:
+# label - String to display in hot-spot.
+# id - Context string to jump to.
+
+proc link {label id} {
+ return "{\\uldb $label}{\\v $id}"
+}
+
+
+# font --
+#
+# This procedure is invoked to handle font changes in the text
+# being output.
+#
+# Arguments:
+# type - Type of font: R, I, B, or S.
+
+proc font {type} {
+ global state
+ switch $type {
+ P -
+ R {
+ endFont
+ if {$state(textState) == "REF"} {
+ set state(textState) INSERT
+ }
+ }
+ C -
+ B {
+ beginFont Code
+ if {$state(textState) == "INSERT"} {
+ set state(textState) REF
+ }
+ }
+ I {
+ beginFont Emphasis
+ }
+ S {
+ }
+ default {
+ puts stderr "Unknown font: $type"
+ }
+ }
+}
+
+
+
+# formattedText --
+#
+# Insert a text string that may also have \fB-style font changes
+# and a few other backslash sequences in it.
+#
+# Arguments:
+# text - Text to insert.
+
+proc formattedText {text} {
+ global chars
+
+ while {$text != ""} {
+ set index [string first \\ $text]
+ if {$index < 0} {
+ text $text
+ return
+ }
+ text [string range $text 0 [expr {$index-1}]]
+ set c [string index $text [expr {$index+1}]]
+ switch -- $c {
+ f {
+ font [string index $text [expr {$index+2}]]
+ set text [string range $text [expr {$index+3}] end]
+ }
+ e {
+ text "\\"
+ set text [string range $text [expr {$index+2}] end]
+ }
+ - {
+ dash
+ set text [string range $text [expr {$index+2}] end]
+ }
+ & - | {
+ set text [string range $text [expr {$index+2}] end]
+ }
+ ( {
+ char [string range $text $index [expr {$index+3}]]
+ set text [string range $text [expr {$index+4}] end]
+ }
+ default {
+ puts stderr "Unknown sequence: \\$c"
+ set text [string range $text [expr {$index+2}] end]
+ }
+ }
+ }
+}
+
+
+# dash --
+#
+# This procedure is invoked to handle dash characters ("\-" in
+# troff). It outputs a special dash character.
+#
+# Arguments:
+# None.
+
+proc dash {} {
+ global state
+ if {[string equal $state(textState) "NAME"]} {
+ set state(textState) 0
+ }
+ text "-"
+}
+
+
+# tab --
+#
+# This procedure is invoked to handle tabs in the troff input.
+# Right now it does nothing.
+#
+# Arguments:
+# None.
+
+proc tab {} {
+ global file
+
+ textSetup
+ puts -nonewline $file "\\tab "
+}
+
+
+# setTabs --
+#
+# This procedure handles the ".ta" macro, which sets tab stops.
+#
+# Arguments:
+# tabList - List of tab stops in *roff format
+
+proc setTabs {tabList} {
+ global file state
+
+ set state(tabs) {}
+ foreach arg $tabList {
+ if {[string match +* $arg]} {
+ set relativeTo [lindex $state(tabs) end]
+ set arg [string range $arg 1 end]
+ } else {
+ # Local left margin
+ set relativeTo [expr {$state(leftMargin) \
+ + ($state(offset) * $state(nestingLevel))}]
+ }
+ if {[regexp {^\\w'([^']*)'u$} $arg -> submatch]} {
+ # Magic factor!
+ set distance [expr {[string length $submatch] * 86.4}]
+ } else {
+ set distance [getTwips $arg]
+ }
+ lappend state(tabs) [expr {round($distance + $relativeTo)}]
+ }
+}
+
+
+# lineBreak --
+#
+# Generates a line break in the HTML output.
+#
+# Arguments:
+# None.
+
+proc lineBreak {} {
+ global state
+ textSetup
+ set state(breakPending) 1
+}
+
+
+
+# newline --
+#
+# This procedure is invoked to handle newlines in the troff input.
+# It outputs either a space character or a newline character, depending
+# on fill mode.
+#
+# Arguments:
+# None.
+
+proc newline {} {
+ global state
+
+ if {$state(inTP)} {
+ set state(inTP) 0
+ lineBreak
+ } elseif {$state(noFill)} {
+ lineBreak
+ } else {
+ text " "
+ }
+}
+
+
+# pageBreak --
+#
+# This procedure is invoked to generate a page break.
+#
+# Arguments:
+# None.
+
+proc pageBreak {} {
+ global file curVer
+ if {[string equal $curVer ""]} {
+ puts $file {\page}
+ } else {
+ puts $file {\par}
+ puts $file {\pard\sb400\qc}
+ puts $file "Last change: $curVer\\page"
+ }
+}
+
+
+# char --
+#
+# This procedure is called to handle a special character.
+#
+# Arguments:
+# name - Special character named in troff \x or \(xx construct.
+
+proc char {name} {
+ global file state
+
+ switch -exact $name {
+ {\o} {
+ set state(intl) 1
+ }
+ {\ } {
+ textSetup
+ puts -nonewline $file " "
+ }
+ {\0} {
+ textSetup
+ puts -nonewline $file " \\emspace "
+ }
+ {\\} - {\e} {
+ textSetup
+ puts -nonewline $file "\\\\"
+ }
+ {\(+-} {
+ textSetup
+ puts -nonewline $file "\\'b1 "
+ }
+ {\%} - {\|} {
+ }
+ {\(->} {
+ textSetup
+ puts -nonewline $file "->"
+ }
+ {\(bu} {
+ textSetup
+ puts -nonewline $file "\\bullet "
+ }
+ {\(co} {
+ textSetup
+ puts -nonewline $file "\\'a9 "
+ }
+ {\(mu} {
+ textSetup
+ puts -nonewline $file "\\'d7 "
+ }
+ {\(em} {
+ textSetup
+ puts -nonewline $file "-"
+ }
+ {\(fm} {
+ textSetup
+ puts -nonewline $file "\\'27 "
+ }
+ default {
+ puts stderr "Unknown character: $name"
+ }
+ }
+}
+
+
+# macro2 --
+#
+# This procedure handles macros that are invoked with a leading "'"
+# character instead of space. Right now it just generates an
+# error diagnostic.
+#
+# Arguments:
+# name - The name of the macro (without the ".").
+# args - Any additional arguments to the macro.
+
+proc macro2 {name args} {
+ puts stderr "Unknown macro: '$name [join $args " "]"
+}
+
+
+
+# SHmacro --
+#
+# Subsection head; handles the .SH and .SS macros.
+#
+# Arguments:
+# name - Section name.
+
+proc SHmacro {argList {style section}} {
+ global file state
+
+ set args [join $argList " "]
+ if {[llength $argList] < 1} {
+ puts stderr "Bad .SH macro: .SH $args"
+ }
+
+ # control what the text proc does with text
+
+ switch $args {
+ NAME {set state(textState) NAME}
+ DESCRIPTION {set state(textState) INSERT}
+ INTRODUCTION {set state(textState) INSERT}
+ "WIDGET-SPECIFIC OPTIONS" {set state(textState) INSERT}
+ "SEE ALSO" {set state(textState) SEE}
+ KEYWORDS {set state(textState) KEY; return}
+ }
+
+ if {$state(breakPending) != -1} {
+ set state(breakPending) 1
+ } else {
+ set state(breakPending) 0
+ }
+ set state(noFill) 0
+ if {[string compare "subsection" $style] == 0} {
+ nextPara .25i
+ } else {
+ nextPara 0i
+ }
+ font B
+ text $args
+ font R
+ nextPara .5i
+}
+
+# IPmacro --
+#
+# This procedure is invoked to handle ".IP" macros, which may take any
+# of the following forms:
+#
+# .IP [1] Translate to a "1Step" state(paragraph).
+# .IP [x] (x > 1) Translate to a "Step" state(paragraph).
+# .IP Translate to a "Bullet" state(paragraph).
+# .IP text count Translate to a FirstBody state(paragraph) with special
+# indent and tab stop based on "count", and tab after
+# "text".
+#
+# Arguments:
+# argList - List of arguments to the .IP macro.
+#
+# HTML limitations: 'count' in '.IP text count' is ignored.
+
+proc IPmacro {argList} {
+ global file state
+
+ set length [llength $argList]
+ foreach {text indent} $argList break
+ if {$length > 2} {
+ puts stderr "Bad .IP macro: .IP [join $argList " "]"
+ }
+
+ if {$length == 0} {
+ set text {\(bu}
+ set indent 5
+ } elseif {$length == 1} {
+ set indent 5
+ }
+ if {$text == {\(bu}} {
+ set text "\u00b7"
+ }
+
+ set tab [expr $indent * 0.1]i
+ newPara $tab -$tab
+ set state(sb) 80
+ setTabs $tab
+ formattedText $text
+ tab
+}
+
+# TPmacro --
+#
+# This procedure is invoked to handle ".TP" macros, which may take any
+# of the following forms:
+#
+# .TP x Translate to an state(indent)ed state(paragraph) with the
+# specified state(indent) (in 100 twip units).
+# .TP Translate to an state(indent)ed state(paragraph) with
+# default state(indent).
+#
+# Arguments:
+# argList - List of arguments to the .IP macro.
+#
+# HTML limitations: 'x' in '.TP x' is ignored.
+
+proc TPmacro {argList} {
+ global state
+ set length [llength $argList]
+ if {$length == 0} {
+ set val 0.5i
+ } else {
+ set val [expr {([lindex $argList 0] * 100.0)/1440}]i
+ }
+ newPara $val -$val
+ setTabs $val
+ set state(inTP) 1
+ set state(sb) 120
+}
+
+
+# THmacro --
+#
+# This procedure handles the .TH macro. It generates the non-scrolling
+# header section for a given man page, and enters information into the
+# table of contents. The .TH macro has the following form:
+#
+# .TH name section date footer header
+#
+# Arguments:
+# argList - List of arguments to the .TH macro.
+
+proc THmacro {argList} {
+ global file curPkg curSect curID id_keywords state curVer bitmap
+
+ if {[llength $argList] != 5} {
+ set args [join $argList " "]
+ puts stderr "Bad .TH macro: .TH $args"
+ }
+ incr curID
+ set name [lindex $argList 0] ;# Tcl_UpVar
+ set page [lindex $argList 1] ;# 3
+ set curVer [lindex $argList 2] ;# 7.4
+ set curPkg [lindex $argList 3] ;# Tcl
+ set curSect [lindex $argList 4] ;# {Tcl Library Procedures}
+
+ regsub -all {\\ } $curSect { } curSect ;# Clean up for [incr\ Tcl]
+
+ puts $file "#{\\footnote $curID}" ;# Context string
+ puts $file "\${\\footnote $name}" ;# Topic title
+ set browse "${curSect}${name}"
+ regsub -all {[ _-]} $browse {} browse
+ puts $file "+{\\footnote $browse}" ;# Browse sequence
+
+ # Suppress duplicates
+ foreach i $id_keywords($curID) {
+ set keys($i) 1
+ }
+ foreach i [array names keys] {
+ set i [string trim $i]
+ if {[string length $i] > 0} {
+ puts $file "K{\\footnote $i}" ;# Keyword strings
+ }
+ }
+ unset keys
+ puts $file "\\pard\\tx3000\\sb100\\sa100\\fs24\\keepn"
+ font B
+ text $name
+ tab
+ text $curSect
+ font R
+ if {[info exists bitmap]} {
+ # a right justified bitmap
+ puts $file "\\\{bmrt $bitmap\\\}"
+ }
+ puts $file "\\fs20"
+ set state(breakPending) -1
+}
+
+# nextPara --
+#
+# Set the indents for a new paragraph, and start a paragraph break
+#
+# Arguments:
+# leftIndent - The new left margin for body lines.
+# firstIndent - The offset from the left margin for the first line.
+
+proc nextPara {leftIndent {firstIndent 0i}} {
+ global state
+ set state(leftIndent) [getTwips $leftIndent]
+ set state(firstIndent) [getTwips $firstIndent]
+ set state(paragraphPending) 1
+}
+
+
+# newPara --
+#
+# This procedure sets the left and hanging state(indent)s for a line.
+# State(Indent)s are specified in units of inches or centimeters, and are
+# relative to the current nesting level and left margin.
+#
+# Arguments:
+# leftState(Indent) - The new left margin for lines after the first.
+# firstState(Indent) - The new left margin for the first line of a state(paragraph).
+
+proc newPara {leftIndent {firstIndent 0i}} {
+ global state file
+ if $state(paragraph) {
+ puts -nonewline $file "\\line\n"
+ }
+ if {$leftIndent != ""} {
+ set state(leftIndent) [expr {$state(leftMargin) \
+ + ($state(offset) * $state(nestingLevel)) \
+ + [getTwips $leftIndent]}]
+ }
+ set state(firstIndent) [getTwips $firstIndent]
+ set state(paragraphPending) 1
+}
+
+
+# getTwips --
+#
+# This procedure converts a distance in inches or centimeters into
+# twips (1/1440 of an inch).
+#
+# Arguments:
+# arg - A number followed by "i" or "c"
+
+proc getTwips {arg} {
+ if {[scan $arg "%f%s" distance units] != 2} {
+ puts stderr "bad distance \"$arg\""
+ return 0
+ }
+ if {[string length $units] > 1} {
+ puts stderr "additional characters after unit \"$arg\""
+ set units [string index $units 0]
+ }
+ switch -- $units {
+ c {
+ set distance [expr {$distance * 567}]
+ }
+ i {
+ set distance [expr {$distance * 1440}]
+ }
+ default {
+ puts stderr "bad units in distance \"$arg\""
+ return 0
+ }
+ }
+ return $distance
+}
+
+# incrNestingLevel --
+#
+# This procedure does the work of the .RS macro, which increments
+# the number of state(indent)ations that affect things like .PP.
+#
+# Arguments:
+# None.
+
+proc incrNestingLevel {} {
+ global state
+
+ incr state(nestingLevel)
+ set oldp $state(paragraph)
+ set state(paragraph) 0
+ newPara 0i
+ set state(paragraph) $oldp
+}
+
+# decrNestingLevel --
+#
+# This procedure does the work of the .RE macro, which decrements
+# the number of indentations that affect things like .PP.
+#
+# Arguments:
+# None.
+
+proc decrNestingLevel {} {
+ global state
+
+ if {$state(nestingLevel) == 0} {
+ puts stderr "Nesting level decremented below 0"
+ } else {
+ incr state(nestingLevel) -1
+ }
+}
diff --git a/tools/man2html.tcl b/tools/man2html.tcl
new file mode 100644
index 0000000..fa57b03
--- /dev/null
+++ b/tools/man2html.tcl
@@ -0,0 +1,187 @@
+#!/bin/sh
+# \
+exec tclsh "$0" ${1+"$@"}
+
+package require Tcl 8.4
+
+# man2html.tcl --
+#
+# This file contains procedures that work in conjunction with the
+# man2tcl program to generate a HTML files from Tcl manual entries.
+#
+# Copyright (c) 1996 by Sun Microsystems, Inc.
+
+
+# sarray -
+#
+# Save an array to a file so that it can be sourced.
+#
+# Arguments:
+# file - Name of the output file
+# args - Name of the arrays to save
+#
+proc sarray {file args} {
+ set file [open $file w]
+ foreach a $args {
+ upvar $a array
+ if {![array exists array]} {
+ puts "sarray: \"$a\" isn't an array"
+ break
+ }
+
+ foreach name [lsort [array names array]] {
+ regsub -all " " $name "\\ " name1
+ puts $file "set ${a}($name1) \{$array($name)\}"
+ }
+ }
+ close $file
+}
+
+
+# footer --
+#
+# Builds footer info for HTML pages
+#
+# Arguments:
+# packages - List of packages to link to.
+
+proc footer {packages} {
+ lappend f "<HR>"
+ set h {[}
+ foreach package $packages {
+ lappend h "<A HREF=\"../$package/contents.html\">$package</A>"
+ lappend h "|"
+ }
+ lappend f [join [lreplace $h end end {]} ] " "]
+ lappend f "<HR>"
+ lappend f "<PRE>Copyright &#169; 1989-1994 The Regents of the University of California."
+ lappend f "Copyright &#169; 1994-1996 Sun Microsystems, Inc."
+ lappend f "</PRE>"
+ return [join $f "\n"]
+}
+
+
+# doDir --
+#
+# Given a directory as argument, translate all the man pages in
+# that directory.
+#
+# Arguments:
+# dir - Name of the directory.
+
+proc doDir dir {
+ foreach f [lsort [glob -directory $dir "*.\[13n\]"]] {
+ do $f ;# defined in man2html1.tcl & man2html2.tcl
+ }
+}
+
+
+# main --
+#
+# Main code for converting Tcl manual pages to HTML.
+#
+# Arguments:
+# argv - List of arguments to this script.
+
+proc main {argv} {
+ global html_dir
+ # Global vars used in man2html1.tcl and man2html2.tcl
+ global NAME_file KEY_file lib state curFile file inDT textState nestStk
+ global curFont fontStart fontEnd noFillCount footer
+
+ if {[llength $argv] < 2} {
+ puts stderr "usage: $::argv0 html_dir tcl_dir packages..."
+ puts stderr "usage: $::argv0 -clean html_dir"
+ exit 1
+ }
+
+ if {[lindex $argv 0] eq "-clean"} {
+ set html_dir [lindex $argv 1]
+ puts -nonewline "recursively remove: $html_dir? "
+ flush stdout
+ if {[gets stdin] eq "y"} {
+ puts "removing: $html_dir"
+ file delete -force $html_dir
+ }
+ exit 0
+ }
+
+ set html_dir [lindex $argv 0]
+ set tcl_dir [lindex $argv 1]
+ set packages [lrange $argv 2 end]
+ set homeDir [file dirname [info script]]
+
+ #### need to add glob capability to packages ####
+
+ # make sure there are doc directories for each package
+
+ foreach i $packages {
+ if {![file exists $tcl_dir/$i/doc]} {
+ puts stderr "Error: doc directory for package $i is missing"
+ exit 1
+ }
+ if {![file isdirectory $tcl_dir/$i/doc]} {
+ puts stderr "Error: $tcl_dir/$i/doc is not a directory"
+ exit 1
+ }
+ }
+
+ # we want to start with a clean sheet
+
+ if {[file exists $html_dir]} {
+ puts stderr "Error: HTML directory already exists"
+ exit 1
+ } else {
+ file mkdir $html_dir
+ }
+
+ set footer [footer $packages]
+
+ # make the hyperlink arrays and contents.html for all packages
+
+ foreach package $packages {
+ file mkdir $html_dir/$package
+
+ # build hyperlink database arrays: NAME_file and KEY_file
+ #
+ puts "\nScanning man pages in $tcl_dir/$package/doc..."
+ uplevel \#0 [list source $homeDir/man2html1.tcl]
+
+ doDir $tcl_dir/$package/doc
+
+ # clean up the NAME_file and KEY_file database arrays
+ #
+ catch {unset KEY_file()}
+ foreach name [lsort [array names NAME_file]] {
+ set file_name $NAME_file($name)
+ if {[llength $file_name] > 1} {
+ set file_name [lsort $file_name]
+ puts "Warning: '$name' multiply defined in: $file_name;\
+ using last"
+ set NAME_file($name) [lindex $file_name end]
+ }
+ }
+ # sarray $html_dir/$package/xref.tcl NAME_file KEY_file
+
+ # build the contents file from NAME_file
+ #
+ puts "\nGenerating contents.html for $package"
+ doContents $html_dir/$package/contents.html $lib ;# defined in man2html1.tcl
+
+ # now translate the man pages to HTML pages
+ #
+ uplevel \#0 [list source $homeDir/man2html2.tcl]
+ puts "\nBuilding html pages from man pages in $tcl_dir/$package/doc..."
+ doDir $tcl_dir/$package/doc
+
+ unset NAME_file
+ }
+}
+
+
+if [catch { main $argv } result] {
+ global errorInfo
+ puts stderr $result
+ puts stderr "in"
+ puts stderr $errorInfo
+}
diff --git a/tools/man2html1.tcl b/tools/man2html1.tcl
new file mode 100644
index 0000000..f2b2e43
--- /dev/null
+++ b/tools/man2html1.tcl
@@ -0,0 +1,260 @@
+# man2html1.tcl --
+#
+# This file defines procedures that are used during the first pass of the
+# man page to html conversion process. It is sourced by h.tcl.
+#
+# Copyright (c) 1996 by Sun Microsystems, Inc.
+
+package require Tcl 8.4
+
+# Global variables used by these scripts:
+#
+# state - state variable that controls action of text proc.
+#
+# curFile - tail of current man page.
+#
+# file - file pointer; for both xref.tcl and contents.html
+#
+# NAME_file - array indexed by NAME and containing file names used
+# for hyperlinks.
+#
+# KEY_file - array indexed by KEYWORD and containing file names used
+# for hyperlinks.
+#
+# lib - contains package name. Used to label section in contents.html
+#
+# inDT - in dictionary term.
+
+
+# text --
+#
+# This procedure adds entries to the hypertext arrays NAME_file
+# and KEY_file.
+#
+# DT: might do this: if first word of $dt matches $name and [llength $name==1]
+# and [llength $dt > 1], then add to NAME_file.
+#
+# Arguments:
+# string - Text to index.
+
+proc text string {
+ global state curFile NAME_file KEY_file inDT
+
+ switch $state {
+ NAME {
+ foreach i [split $string ","] {
+ lappend NAME_file([string trim $i]) $curFile
+ }
+ }
+ KEY {
+ foreach i [split $string ","] {
+ lappend KEY_file([string trim $i]) $curFile
+ }
+ }
+ DT -
+ OFF -
+ DASH {}
+ default {
+ puts stderr "text: unknown state: $state"
+ }
+ }
+}
+
+
+# macro --
+#
+# This procedure is invoked to process macro invocations that start
+# with "." (instead of ').
+#
+# Arguments:
+# name - The name of the macro (without the ".").
+# args - Any additional arguments to the macro.
+
+proc macro {name args} {
+ switch $name {
+ SH - SS {
+ global state
+
+ switch $args {
+ NAME {
+ if {$state eq "INIT"} {
+ set state NAME
+ }
+ }
+ DESCRIPTION {set state DT}
+ INTRODUCTION {set state DT}
+ KEYWORDS {set state KEY}
+ default {set state OFF}
+ }
+
+ }
+ TP {
+ global inDT
+ set inDT 1
+ }
+ TH {
+ global lib state inDT
+ set inDT 0
+ set state INIT
+ if {[llength $args] != 5} {
+ set args [join $args " "]
+ puts stderr "Bad .TH macro: .$name $args"
+ }
+ set lib [lindex $args 3] ;# Tcl or Tk
+ }
+ }
+}
+
+
+# dash --
+#
+# This procedure is invoked to handle dash characters ("\-" in
+# troff). It only function in pass1 is to terminate the NAME state.
+#
+# Arguments:
+# None.
+
+proc dash {} {
+ global state
+ if {$state eq "NAME"} {
+ set state DASH
+ }
+}
+
+
+# newline --
+#
+# This procedure is invoked to handle newlines in the troff input.
+# It's only purpose is to terminate a DT (dictionary term).
+#
+# Arguments:
+# None.
+
+proc newline {} {
+ global inDT
+ set inDT 0
+}
+
+
+# initGlobals, tab, font, char, macro2 --
+#
+# These procedures do nothing during the first pass.
+#
+# Arguments:
+# None.
+
+proc initGlobals {} {}
+proc tab {} {}
+proc font type {}
+proc char name {}
+proc macro2 {name args} {}
+
+
+# doListing --
+#
+# Writes an ls like list to a file. Searches NAME_file for entries
+# that match the input pattern.
+#
+# Arguments:
+# file - Output file pointer.
+# pattern - glob style match pattern
+
+proc doListing {file pattern} {
+ global NAME_file
+
+ set max_len 0
+ foreach name [lsort [array names NAME_file]] {
+ set ref $NAME_file($name)
+ if [string match $pattern $ref] {
+ lappend type $name
+ if {[string length $name] > $max_len} {
+ set max_len [string length $name]
+ }
+ }
+ }
+ if [catch {llength $type} ] {
+ puts stderr " doListing: no names matched pattern ($pattern)"
+ return
+ }
+ incr max_len
+ set ncols [expr {90/$max_len}]
+ set nrows [expr {int(ceil([llength $type] / double($ncols)))} ]
+
+# ? max_len ncols nrows
+
+ set index 0
+ foreach f $type {
+ lappend row([expr {$index % $nrows}]) $f
+ incr index
+ }
+
+ puts -nonewline $file "<PRE>"
+ for {set i 0} {$i<$nrows} {incr i} {
+ foreach name $row($i) {
+ set str [format "%-*s" $max_len $name]
+ regsub $name $str "<A HREF=\"$NAME_file($name).html\">$name</A>" str
+ puts -nonewline $file $str
+ }
+ puts $file {}
+ }
+ puts $file "</PRE>"
+}
+
+
+# doContents --
+#
+# Generates a HTML contents file using the NAME_file array
+# as its input database.
+#
+# Arguments:
+# file - name of the contents file.
+# packageName - string used in the title and sub-heads of the HTML
+# page. Normally name of the package without version
+# numbers.
+
+proc doContents {file packageName} {
+ global footer
+
+ set file [open $file w]
+
+ puts $file "<HTML><HEAD><TITLE>$packageName Manual</TITLE></HEAD><BODY>"
+ puts $file "<H3>$packageName</H3>"
+ doListing $file "*.1"
+
+ puts $file "<HR><H3>$packageName Commands</H3>"
+ doListing $file "*.n"
+
+ puts $file "<HR><H3>$packageName Library</H3>"
+ doListing $file "*.3"
+
+ puts $file $footer
+ puts $file "</BODY></HTML>"
+ close $file
+}
+
+
+# do --
+#
+# This is the toplevel procedure that searches a man page
+# for hypertext links. It builds a data base consisting of
+# two arrays: NAME_file and KEY file. It runs the man2tcl
+# program to turn the man page into a script, then it evals
+# that script.
+#
+# Arguments:
+# fileName - Name of the file to scan.
+
+proc do fileName {
+ global curFile
+ set curFile [file tail $fileName]
+ set file stdout
+ puts " Pass 1 -- $fileName"
+ flush stdout
+ if [catch {eval [exec man2tcl [glob $fileName]]} msg] {
+ global errorInfo
+ puts stderr $msg
+ puts "in"
+ puts $errorInfo
+ exit 1
+ }
+}
diff --git a/tools/man2html2.tcl b/tools/man2html2.tcl
new file mode 100644
index 0000000..163196e
--- /dev/null
+++ b/tools/man2html2.tcl
@@ -0,0 +1,929 @@
+##############################################################################
+# man2html2.tcl --
+#
+# This file defines procedures that are used during the second pass of the man
+# page to html conversion process. It is sourced by man2html.tcl.
+#
+# Copyright (c) 1996 by Sun Microsystems, Inc.
+
+package require Tcl 8.4
+
+# Global variables used by these scripts:
+#
+# NAME_file - array indexed by NAME and containing file names used for
+# hyperlinks.
+#
+# textState - state variable defining action of 'text' proc.
+#
+# nestStk - stack oriented list containing currently active HTML tags (UL,
+# OL, DL). Local to 'nest' proc.
+#
+# inDT - set by 'TPmacro', cleared by 'newline'. Used to insert the
+# tag while in a dictionary list <DL>.
+#
+# curFont - Name of special font that is currently in use. Null means the
+# default paragraph font is being used.
+#
+# file - Where to output the generated HTML.
+#
+# fontStart - Array to map font names to starting sequences.
+#
+# fontEnd - Array to map font names to ending sequences.
+#
+# noFillCount - Non-zero means don't fill the next $noFillCount lines: force a
+# line break at each newline. Zero means filling is enabled, so
+# don't output line breaks for each newline.
+#
+# footer - info inserted at bottom of each page. Normally read from the
+# xref.tcl file
+
+##############################################################################
+# initGlobals --
+#
+# This procedure is invoked to set the initial values of all of the global
+# variables, before processing a man page.
+#
+# Arguments:
+# None.
+
+proc initGlobals {} {
+ global file noFillCount textState
+ global fontStart fontEnd curFont inPRE charCnt inTable
+
+ nest init
+ set inPRE 0
+ set inTable 0
+ set textState 0
+ set curFont ""
+ set fontStart(Code) "<B>"
+ set fontStart(Emphasis) "<I>"
+ set fontEnd(Code) "</B>"
+ set fontEnd(Emphasis) "</I>"
+ set noFillCount 0
+ set charCnt 0
+ setTabs 0.5i
+}
+
+##############################################################################
+# beginFont --
+#
+# Arranges for future text to use a special font, rather than the default
+# paragraph font.
+#
+# Arguments:
+# font - Name of new font to use.
+
+proc beginFont font {
+ global curFont file fontStart
+
+ if {$curFont eq $font} {
+ return
+ }
+ endFont
+ puts -nonewline $file $fontStart($font)
+ set curFont $font
+}
+
+##############################################################################
+# endFont --
+#
+# Reverts to the default font for the paragraph type.
+#
+# Arguments:
+# None.
+
+proc endFont {} {
+ global curFont file fontEnd
+
+ if {$curFont ne ""} {
+ puts -nonewline $file $fontEnd($curFont)
+ set curFont ""
+ }
+}
+
+##############################################################################
+# text --
+#
+# This procedure adds text to the current paragraph. If this is the first text
+# in the paragraph then header information for the paragraph is output before
+# the text.
+#
+# Arguments:
+# string - Text to output in the paragraph.
+
+proc text string {
+ global file textState inDT charCnt inTable
+
+ set pos [string first "\t" $string]
+ if {$pos >= 0} {
+ text [string range $string 0 [expr $pos-1]]
+ tab
+ text [string range $string [expr $pos+1] end]
+ return
+ }
+ if {$inTable} {
+ if {$inTable == 1} {
+ puts -nonewline $file <TR>
+ set inTable 2
+ }
+ puts -nonewline $file <TD>
+ }
+ incr charCnt [string length $string]
+ regsub -all {&} $string {\&amp;} string
+ regsub -all {<} $string {\&lt;} string
+ regsub -all {>} $string {\&gt;} string
+ regsub -all \" $string {\&quot;} string
+ switch -exact -- $textState {
+ REF {
+ if {$inDT eq ""} {
+ set string [insertRef $string]
+ }
+ }
+ SEE {
+ global NAME_file
+ foreach i [split $string] {
+ if {![regexp -nocase {^[a-z_]+} [string trim $i] i]} {
+# puts "Warning: $i in SEE ALSO not found"
+ continue
+ }
+ if {![catch { set ref $NAME_file($i) }]} {
+ regsub $i $string "<A HREF=\"$ref.html\">$i</A>" string
+ }
+ }
+ }
+ }
+ puts -nonewline $file "$string"
+ if {$inTable} {
+ puts -nonewline $file </TD>
+ }
+}
+
+##############################################################################
+# insertRef --
+#
+# Arguments:
+# string - Text to output in the paragraph.
+
+proc insertRef string {
+ global NAME_file self
+ set path {}
+ if {![catch { set ref $NAME_file([string trim $string]) }]} {
+ if {"$ref.html" ne $self} {
+ set string "<A HREF=\"${path}$ref.html\">$string</A>"
+# puts "insertRef: $self $ref.html ---$string--"
+ }
+ }
+ return $string
+}
+
+##############################################################################
+# macro --
+#
+# This procedure is invoked to process macro invocations that start with "."
+# (instead of ').
+#
+# Arguments:
+# name - The name of the macro (without the ".").
+# args - Any additional arguments to the macro.
+
+proc macro {name args} {
+ switch $name {
+ AP {
+ if {[llength $args] != 3} {
+ puts stderr "Bad .AP macro: .$name [join $args " "]"
+ }
+ setTabs {1.25i 2.5i 3.75i}
+ TPmacro {}
+ font B
+ text "[lindex $args 0] "
+ font I
+ text "[lindex $args 1]"
+ font R
+ text " ([lindex $args 2])"
+ newline
+ }
+ AS {} ;# next page and previous page
+ br {
+ lineBreak
+ }
+ BS {}
+ BE {}
+ CE {
+ global file noFillCount inPRE
+ puts $file </PRE></BLOCKQUOTE>
+ set inPRE 0
+ }
+ CS { ;# code section
+ global file noFillCount inPRE
+ puts -nonewline $file <BLOCKQUOTE><PRE>
+ set inPRE 1
+ }
+ DE {
+ global file noFillCount inTable
+ puts $file </TABLE></BLOCKQUOTE>
+ set inTable 0
+ set noFillCount 0
+ }
+ DS {
+ global file noFillCount inTable
+ puts -nonewline $file {<BLOCKQUOTE><TABLE BORDER="0">}
+ set noFillCount 10000000
+ set inTable 1
+ }
+ fi {
+ global noFillCount
+ set noFillCount 0
+ }
+ IP {
+ IPmacro $args
+ }
+ LP {
+ nest decr
+ nest incr
+ newPara
+ }
+ ne {
+ }
+ nf {
+ global noFillCount
+ set noFillCount 1000000
+ }
+ OP {
+ global inDT file inPRE
+ if {[llength $args] != 3} {
+ puts stderr "Bad .OP macro: .$name [join $args " "]"
+ }
+ nest para DL DT
+ set inPRE 1
+ puts -nonewline $file <PRE>
+ setTabs 4c
+ text "Command-Line Name:"
+ tab
+ font B
+ set x [lindex $args 0]
+ regsub -all {\\-} $x - x
+ text $x
+ newline
+ font R
+ text "Database Name:"
+ tab
+ font B
+ text [lindex $args 1]
+ newline
+ font R
+ text "Database Class:"
+ tab
+ font B
+ text [lindex $args 2]
+ font R
+ puts -nonewline $file </PRE>
+ set inDT "\n<DD>" ;# next newline writes inDT
+ set inPRE 0
+ newline
+ }
+ PP {
+ nest decr
+ nest incr
+ newPara
+ }
+ RE {
+ nest decr
+ }
+ RS {
+ nest incr
+ }
+ SE {
+ global noFillCount textState inPRE file
+
+ font R
+ puts -nonewline $file </PRE>
+ set inPRE 0
+ set noFillCount 0
+ nest reset
+ newPara
+ text "See the "
+ font B
+ set temp $textState
+ set textState REF
+ if {[llength $args] > 0} {
+ text [lindex $args 0]
+ } else {
+ text options
+ }
+ set textState $temp
+ font R
+ text " manual entry for detailed descriptions of the above options."
+ }
+ SH {
+ SHmacro $args
+ }
+ SS {
+ SHmacro $args subsection
+ }
+ SO {
+ global noFillCount inPRE file
+
+ SHmacro "STANDARD OPTIONS"
+ setTabs {4c 8c 12c}
+ set noFillCount 1000000
+ puts -nonewline $file <PRE>
+ set inPRE 1
+ font B
+ }
+ so {
+ if {$args ne "man.macros"} {
+ puts stderr "Unknown macro: .$name [join $args " "]"
+ }
+ }
+ sp { ;# needs work
+ if {$args eq ""} {
+ set count 1
+ } else {
+ set count [lindex $args 0]
+ }
+ while {$count > 0} {
+ lineBreak
+ incr count -1
+ }
+ }
+ ta {
+ setTabs $args
+ }
+ TH {
+ THmacro $args
+ }
+ TP {
+ TPmacro $args
+ }
+ UL { ;# underline
+ global file
+ puts -nonewline $file "<B><U>"
+ text [lindex $args 0]
+ puts -nonewline $file "</U></B>"
+ if {[llength $args] == 2} {
+ text [lindex $args 1]
+ }
+ }
+ VE {
+# global file
+# puts -nonewline $file "</FONT>"
+ }
+ VS {
+# global file
+# if {[llength $args] > 0} {
+# puts -nonewline $file "<BR>"
+# }
+# puts -nonewline $file "<FONT COLOR=\"GREEN\">"
+ }
+ QW {
+ puts -nonewline $file "&\#147;"
+ text [lindex $args 0]
+ puts -nonewline $file "&\#148;"
+ if {[llength $args] > 1} {
+ text [lindex $args 1]
+ }
+ }
+ PQ {
+ puts -nonewline $file "(&\#147;"
+ if {[lindex $args 0] eq {\N'34'}} {
+ puts -nonewline $file \"
+ } else {
+ text [lindex $args 0]
+ }
+ puts -nonewline $file "&\#148;"
+ if {[llength $args] > 1} {
+ text [lindex $args 1]
+ }
+ puts -nonewline $file ")"
+ if {[llength $args] > 2} {
+ text [lindex $args 2]
+ }
+ }
+ QR {
+ puts -nonewline $file "&\#147;"
+ text [lindex $args 0]
+ puts -nonewline $file "&\#148;&\#150;&\#147;"
+ text [lindex $args 1]
+ puts -nonewline $file "&\#148;"
+ if {[llength $args] > 2} {
+ text [lindex $args 2]
+ }
+ }
+ MT {
+ puts -nonewline $file "&\#147;&\#148;"
+ }
+ default {
+ puts stderr "Unknown macro: .$name [join $args " "]"
+ }
+ }
+
+# global nestStk; puts "$name [format "%-20s" $args] $nestStk"
+# flush stdout; flush stderr
+}
+
+##############################################################################
+# font --
+#
+# This procedure is invoked to handle font changes in the text being output.
+#
+# Arguments:
+# type - Type of font: R, I, B, or S.
+
+proc font type {
+ global textState
+ switch $type {
+ P -
+ R {
+ endFont
+ if {$textState eq "REF"} {
+ set textState INSERT
+ }
+ }
+ B {
+ beginFont Code
+ if {$textState eq "INSERT"} {
+ set textState REF
+ }
+ }
+ I {
+ beginFont Emphasis
+ }
+ S {
+ }
+ default {
+ puts stderr "Unknown font: $type"
+ }
+ }
+}
+
+##############################################################################
+# formattedText --
+#
+# Insert a text string that may also have \fB-style font changes and a few
+# other backslash sequences in it.
+#
+# Arguments:
+# text - Text to insert.
+
+proc formattedText text {
+# puts "formattedText: $text"
+ while {$text ne ""} {
+ set index [string first \\ $text]
+ if {$index < 0} {
+ text $text
+ return
+ }
+ text [string range $text 0 [expr $index-1]]
+ set c [string index $text [expr $index+1]]
+ switch -- $c {
+ f {
+ font [string index $text [expr $index+2]]
+ set text [string range $text [expr $index+3] end]
+ }
+ e {
+ text \\
+ set text [string range $text [expr $index+2] end]
+ }
+ - {
+ dash
+ set text [string range $text [expr $index+2] end]
+ }
+ | {
+ set text [string range $text [expr $index+2] end]
+ }
+ default {
+ puts stderr "Unknown sequence: \\$c"
+ set text [string range $text [expr $index+2] end]
+ }
+ }
+ }
+}
+
+##############################################################################
+# dash --
+#
+# This procedure is invoked to handle dash characters ("\-" in troff). It
+# outputs a special dash character.
+#
+# Arguments:
+# None.
+
+proc dash {} {
+ global textState charCnt
+ if {$textState eq "NAME"} {
+ set textState 0
+ }
+ incr charCnt
+ text "-"
+}
+
+##############################################################################
+# tab --
+#
+# This procedure is invoked to handle tabs in the troff input.
+#
+# Arguments:
+# None.
+
+proc tab {} {
+ global inPRE charCnt tabString file
+# ? charCnt
+ if {$inPRE == 1} {
+ set pos [expr $charCnt % [string length $tabString] ]
+ set spaces [string first "1" [string range $tabString $pos end] ]
+ text [format "%*s" [incr spaces] " "]
+ } else {
+# puts "tab: found tab outside of <PRE> block"
+ }
+}
+
+##############################################################################
+# setTabs --
+#
+# This procedure handles the ".ta" macro, which sets tab stops.
+#
+# Arguments:
+# tabList - List of tab stops, each consisting of a number
+# followed by "i" (inch) or "c" (cm).
+
+proc setTabs {tabList} {
+ global file breakPending tabString
+
+ # puts "setTabs: --$tabList--"
+ set last 0
+ set tabString {}
+ set charsPerInch 14.
+ set numTabs [llength $tabList]
+ foreach arg $tabList {
+ if {[string match +* $arg]} {
+ set relative 1
+ set arg [string range $arg 1 end]
+ } else {
+ set relative 0
+ }
+ # Always operate in relative mode for "measurement" mode
+ if {[regexp {^\\w'(.*)'u$} $arg content]} {
+ set distance [string length $content]
+ } else {
+ if {[scan $arg "%f%s" distance units] != 2} {
+ puts stderr "bad distance \"$arg\""
+ return 0
+ }
+ switch -- $units {
+ c {
+ set distance [expr {$distance * $charsPerInch / 2.54}]
+ }
+ i {
+ set distance [expr {$distance * $charsPerInch}]
+ }
+ default {
+ puts stderr "bad units in distance \"$arg\""
+ continue
+ }
+ }
+ }
+ # ? distance
+ if {$relative} {
+ append tabString [format "%*s1" [expr {round($distance-1)}] " "]
+ set last [expr {$last + $distance}]
+ } else {
+ append tabString [format "%*s1" [expr {round($distance-$last-1)}] " "]
+ set last $distance
+ }
+ }
+ # puts "setTabs: --$tabString--"
+}
+
+##############################################################################
+# lineBreak --
+#
+# Generates a line break in the HTML output.
+#
+# Arguments:
+# None.
+
+proc lineBreak {} {
+ global file inPRE
+ puts $file "<BR>"
+}
+
+##############################################################################
+# newline --
+#
+# This procedure is invoked to handle newlines in the troff input. It outputs
+# either a space character or a newline character, depending on fill mode.
+#
+# Arguments:
+# None.
+
+proc newline {} {
+ global noFillCount file inDT inPRE charCnt inTable
+
+ if {$inDT ne ""} {
+ puts $file "\n$inDT"
+ set inDT {}
+ } elseif {$inTable} {
+ if {$inTable > 1} {
+ puts $file </tr>
+ set inTable 1
+ }
+ } elseif {$noFillCount == 0 || $inPRE == 1} {
+ puts $file {}
+ } else {
+ lineBreak
+ incr noFillCount -1
+ }
+ set charCnt 0
+}
+
+##############################################################################
+# char --
+#
+# This procedure is called to handle a special character.
+#
+# Arguments:
+# name - Special character named in troff \x or \(xx construct.
+
+proc char name {
+ global file charCnt
+
+ incr charCnt
+# puts "char: $name"
+ switch -exact $name {
+ \\0 { ;# \0
+ puts -nonewline $file " "
+ }
+ \\\\ { ;# \
+ puts -nonewline $file "\\"
+ }
+ \\(+- { ;# +/-
+ puts -nonewline $file "&#177;"
+ }
+ \\% {} ;# \%
+ \\| { ;# \|
+ }
+ default {
+ puts stderr "Unknown character: $name"
+ }
+ }
+}
+
+##############################################################################
+# macro2 --
+#
+# This procedure handles macros that are invoked with a leading "'" character
+# instead of space. Right now it just generates an error diagnostic.
+#
+# Arguments:
+# name - The name of the macro (without the ".").
+# args - Any additional arguments to the macro.
+
+proc macro2 {name args} {
+ puts stderr "Unknown macro: '$name [join $args " "]"
+}
+
+##############################################################################
+# SHmacro --
+#
+# Subsection head; handles the .SH and .SS macros.
+#
+# Arguments:
+# name - Section name.
+# style - Type of section (optional)
+
+proc SHmacro {argList {style section}} {
+ global file noFillCount textState charCnt
+
+ set args [join $argList " "]
+ if {[llength $argList] < 1} {
+ puts stderr "Bad .SH macro: .$name $args"
+ }
+
+ set noFillCount 0
+ nest reset
+
+ set tag H3
+ if {$style eq "subsection"} {
+ set tag H4
+ }
+ puts -nonewline $file "<$tag>"
+ text $args
+ puts $file "</$tag>"
+
+# ? args textState
+
+ # control what the text proc does with text
+
+ switch $args {
+ NAME {set textState NAME}
+ DESCRIPTION {set textState INSERT}
+ INTRODUCTION {set textState INSERT}
+ "WIDGET-SPECIFIC OPTIONS" {set textState INSERT}
+ "SEE ALSO" {set textState SEE}
+ KEYWORDS {set textState 0}
+ }
+ set charCnt 0
+}
+
+##############################################################################
+# IPmacro --
+#
+# This procedure is invoked to handle ".IP" macros, which may take any of the
+# following forms:
+#
+# .IP [1] Translate to a "1Step" paragraph.
+# .IP [x] (x > 1) Translate to a "Step" paragraph.
+# .IP Translate to a "Bullet" paragraph.
+# .IP \(bu Translate to a "Bullet" paragraph.
+# .IP text count Translate to a FirstBody paragraph with
+# special indent and tab stop based on "count",
+# and tab after "text".
+#
+# Arguments:
+# argList - List of arguments to the .IP macro.
+#
+# HTML limitations: 'count' in '.IP text count' is ignored.
+
+proc IPmacro argList {
+ global file
+
+ setTabs 0.5i
+ set length [llength $argList]
+ if {$length == 0} {
+ nest para UL LI
+ return
+ }
+ # Special case for alternative mechanism for declaring bullets
+ if {[lindex $argList 0] eq "\\(bu"} {
+ nest para UL LI
+ return
+ }
+ if {[regexp {^\[\d+\]$} [lindex $argList 0]]} {
+ nest para OL LI
+ return
+ }
+ nest para DL DT
+ formattedText [lindex $argList 0]
+ puts $file "\n<DD>"
+ return
+}
+
+##############################################################################
+# TPmacro --
+#
+# This procedure is invoked to handle ".TP" macros, which may take any of the
+# following forms:
+#
+# .TP x Translate to an indented paragraph with the specified indent
+# (in 100 twip units).
+# .TP Translate to an indented paragraph with default indent.
+#
+# Arguments:
+# argList - List of arguments to the .IP macro.
+#
+# HTML limitations: 'x' in '.TP x' is ignored.
+
+proc TPmacro {argList} {
+ global inDT
+ nest para DL DT
+ set inDT "\n<DD>" ;# next newline writes inDT
+ setTabs 0.5i
+}
+
+##############################################################################
+# THmacro --
+#
+# This procedure handles the .TH macro. It generates the non-scrolling header
+# section for a given man page, and enters information into the table of
+# contents. The .TH macro has the following form:
+#
+# .TH name section date footer header
+#
+# Arguments:
+# argList - List of arguments to the .TH macro.
+
+proc THmacro {argList} {
+ global file
+
+ if {[llength $argList] != 5} {
+ set args [join $argList " "]
+ puts stderr "Bad .TH macro: .$name $args"
+ }
+ set name [lindex $argList 0] ;# Tcl_UpVar
+ set page [lindex $argList 1] ;# 3
+ set vers [lindex $argList 2] ;# 7.4
+ set lib [lindex $argList 3] ;# Tcl
+ set pname [lindex $argList 4] ;# {Tcl Library Procedures}
+
+ puts -nonewline $file "<HTML><HEAD><TITLE>"
+ text "$lib - $name ($page)"
+ puts $file "</TITLE></HEAD><BODY>\n"
+
+ puts -nonewline $file "<H1><CENTER>"
+ text $pname
+ puts $file "</CENTER></H1>\n"
+}
+
+##############################################################################
+# newPara --
+#
+# This procedure sets the left and hanging indents for a line. Indents are
+# specified in units of inches or centimeters, and are relative to the current
+# nesting level and left margin.
+#
+# Arguments:
+# None
+
+proc newPara {} {
+ global file nestStk
+
+ if {[lindex $nestStk end] ne "NEW"} {
+ nest decr
+ }
+ puts -nonewline $file "<P>"
+}
+
+##############################################################################
+# nest --
+#
+# This procedure takes care of inserting the tags associated with the IP, TP,
+# RS, RE, LP and PP macros. Only 'nest para' takes arguments.
+#
+# Arguments:
+# op - operation: para, incr, decr, reset, init
+# listStart - begin list tag: OL, UL, DL.
+# listItem - item tag: LI, LI, DT.
+
+proc nest {op {listStart "NEW"} {listItem ""} } {
+ global file nestStk inDT charCnt
+# puts "nest: $op $listStart $listItem"
+ switch $op {
+ para {
+ set top [lindex $nestStk end]
+ if {$top eq "NEW"} {
+ set nestStk [lreplace $nestStk end end $listStart]
+ puts $file "<$listStart>"
+ } elseif {$top ne $listStart} {
+ puts stderr "nest para: bad stack"
+ exit 1
+ }
+ puts $file "\n<$listItem>"
+ set charCnt 0
+ }
+ incr {
+ lappend nestStk NEW
+ }
+ decr {
+ if {[llength $nestStk] == 0} {
+ puts stderr "nest error: nest length is zero"
+ set nestStk NEW
+ }
+ set tag [lindex $nestStk end]
+ if {$tag ne "NEW"} {
+ puts $file "</$tag>"
+ }
+ set nestStk [lreplace $nestStk end end]
+ }
+ reset {
+ while {[llength $nestStk] > 0} {
+ nest decr
+ }
+ set nestStk NEW
+ }
+ init {
+ set nestStk NEW
+ set inDT {}
+ }
+ }
+ set charCnt 0
+}
+
+##############################################################################
+# do --
+#
+# This is the toplevel procedure that translates a man page to HTML. It runs
+# the man2tcl program to turn the man page into a script, then it evals that
+# script.
+#
+# Arguments:
+# fileName - Name of the file to translate.
+
+proc do fileName {
+ global file self html_dir package footer
+ set self "[file tail $fileName].html"
+ set file [open "$html_dir/$package/$self" w]
+ puts " Pass 2 -- $fileName"
+ flush stdout
+ initGlobals
+ if {[catch { eval [exec man2tcl [glob $fileName]] } msg]} {
+ global errorInfo
+ puts stderr $msg
+ puts "in"
+ puts stderr $errorInfo
+ exit 1
+ }
+ nest reset
+ puts $file $footer
+ puts $file "</BODY></HTML>"
+ close $file
+}
diff --git a/tools/man2tcl.c b/tools/man2tcl.c
new file mode 100644
index 0000000..8e59bea
--- /dev/null
+++ b/tools/man2tcl.c
@@ -0,0 +1,424 @@
+/*
+ * man2tcl.c --
+ *
+ * This file contains a program that turns a man page of the form used
+ * for Tcl and Tk into a Tcl script that invokes a Tcl command for each
+ * construct in the man page. The script can then be eval'ed to translate
+ * the manual entry into some other format such as MIF or HTML.
+ *
+ * Usage:
+ *
+ * man2tcl ?fileName?
+ *
+ * Copyright (c) 1995 Sun Microsystems, Inc.
+ *
+ * See the file "license.terms" for information on usage and redistribution of
+ * this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ */
+
+static char sccsid[] = "@(#) man2tcl.c 1.3 95/08/12 17:34:08";
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+
+/*
+ * Imported things that aren't defined in header files:
+ */
+
+/*
+ * Some <errno.h> define errno to be something complex and thread-aware; in
+ * that case we definitely do not want to declare errno ourselves!
+ */
+
+#ifndef errno
+extern int errno;
+#endif
+
+/*
+ * Current line number, used for error messages.
+ */
+
+static int lineNumber;
+
+/*
+ * The variable below is set to 1 if an error occurs anywhere while reading in
+ * the file.
+ */
+
+static int status;
+
+/*
+ * The variable below is set to 1 if output should be generated. If it's 0, it
+ * means we're doing a pre-pass to make sure that the file can be properly
+ * parsed.
+ */
+
+static int writeOutput;
+
+#define PRINT(args) if (writeOutput) { printf args; }
+#define PRINTC(chr) if (writeOutput) { putc((chr), stdout); }
+
+/*
+ * Prototypes for functions defined in this file:
+ */
+
+static void DoMacro(char *line);
+static void DoText(char *line);
+static void QuoteText(char *string, int count);
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * main --
+ *
+ * This function is the main program, which does all of the work of the
+ * program.
+ *
+ * Results:
+ * None: exits with a 0 return status to indicate success, or 1 to
+ * indicate that there were problems in the translation.
+ *
+ * Side effects:
+ * A Tcl script is output to standard output. Error messages may be
+ * output on standard error.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+main(
+ int argc, /* Number of command-line arguments. */
+ char **argv) /* Values of command-line arguments. */
+{
+ FILE *f;
+#define MAX_LINE_SIZE 4000
+ char line[MAX_LINE_SIZE];
+ char *p;
+
+ /*
+ * Find the file to read, and open it if it isn't stdin.
+ */
+
+ if (argc == 1) {
+ f = stdin;
+ } else if (argc == 2) {
+ f = fopen(argv[1], "r");
+ if (f == NULL) {
+ fprintf(stderr, "Couldn't read \"%s\": %s\n", argv[1],
+ strerror(errno));
+ exit(1);
+ }
+ } else {
+ fprintf(stderr, "Usage: %s ?fileName?\n", argv[0]);
+ }
+
+ /*
+ * Make two passes over the file. In the first pass, just check to make
+ * sure we can handle everything. If there are problems, generate output
+ * and stop. If everything is OK, make a second pass to actually generate
+ * output.
+ */
+
+ for (writeOutput = 0; writeOutput < 2; writeOutput++) {
+ lineNumber = 0;
+ status = 0;
+ while (fgets(line, MAX_LINE_SIZE, f) != NULL) {
+ for (p = line; *p != 0; p++) {
+ if (*p == '\n') {
+ *p = 0;
+ break;
+ }
+ }
+ lineNumber++;
+
+ if (((line[0] == '.') || (line[0] == '\'')) && (line[1] == '\\') && (line[2] == '\"')) {
+ /*
+ * This line is a comment. Ignore it.
+ */
+
+ continue;
+ }
+
+ if (strlen(line) >= MAX_LINE_SIZE -1) {
+ fprintf(stderr, "Too long line. Max is %d chars.\n",
+ MAX_LINE_SIZE - 1);
+ exit(1);
+ }
+
+ if ((line[0] == '.') || (line[0] == '\'')) {
+ /*
+ * This line is a macro invocation.
+ */
+
+ DoMacro(line);
+ } else {
+ /*
+ * This line is text, possibly with formatting characters
+ * embedded in it.
+ */
+
+ DoText(line);
+ }
+ }
+ if (status != 0) {
+ break;
+ }
+ fseek(f, 0, SEEK_SET);
+ }
+ exit(status);
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * DoMacro --
+ *
+ * This function is called to handle a macro invocation. It parses the
+ * arguments to the macro and generates a Tcl command to handle the
+ * invocation.
+ *
+ * Results:
+ * None.
+ *
+ * Side effects:
+ * A Tcl command is written to stdout.
+ *
+ *----------------------------------------------------------------------
+ */
+
+static void
+DoMacro(
+ char *line) /* The line of text that contains the macro
+ * invocation. */
+{
+ char *p, *end;
+ int quote;
+
+ /*
+ * If there is no macro name, then just skip the whole line.
+ */
+
+ if ((line[1] == 0) || (isspace(line[1]))) {
+ return;
+ }
+
+ PRINT(("macro"));
+ if (*line != '.') {
+ PRINT(("2"));
+ }
+
+ /*
+ * Parse the arguments to the macro (including the name), in order.
+ */
+
+ p = line+1;
+ while (1) {
+ PRINTC(' ');
+ if (*p == '"') {
+ /*
+ * The argument is delimited by quotes.
+ */
+
+ for (end = p+1; *end != '"'; end++) {
+ if (*end == 0) {
+ fprintf(stderr,
+ "Unclosed quote in macro call on line %d.\n",
+ lineNumber);
+ status = 1;
+ break;
+ }
+ }
+ QuoteText(p+1, (end-(p+1)));
+ } else {
+ quote = 0;
+ for (end = p+1; (*end != 0) && (quote || !isspace(*end)); end++) {
+ if (*end == '\'') {
+ quote = !quote;
+ }
+ }
+ QuoteText(p, end-p);
+ }
+ if (*end == 0) {
+ break;
+ }
+ p = end+1;
+ while (isspace(*p)) {
+ /*
+ * Skip empty space before next argument.
+ */
+
+ p++;
+ }
+ if (*p == 0) {
+ break;
+ }
+ }
+ PRINTC('\n');
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * DoText --
+ *
+ * This function is called to handle a line of troff text. It parses the
+ * text, generating Tcl commands for text and for formatting stuff such
+ * as font changes.
+ *
+ * Results:
+ * None.
+ *
+ * Side effects:
+ * Tcl commands are written to stdout.
+ *
+ *----------------------------------------------------------------------
+ */
+
+static void
+DoText(
+ char *line) /* The line of text. */
+{
+ char *p, *end;
+
+ /*
+ * Divide the line up into pieces consisting of backslash sequences, tabs,
+ * and other text.
+ */
+
+ p = line;
+ while (*p != 0) {
+ if (*p == '\t') {
+ PRINT(("tab\n"));
+ p++;
+ } else if (*p != '\\') {
+ /*
+ * Ordinary text.
+ */
+
+ for (end = p+1; (*end != '\\') && (*end != 0); end++) {
+ /* Empty loop body. */
+ }
+ PRINT(("text "));
+ QuoteText(p, end-p);
+ PRINTC('\n');
+ p = end;
+ } else {
+ /*
+ * A backslash sequence. There are particular ones that we
+ * understand; output an error message for anything else and just
+ * ignore the backslash.
+ */
+
+ p++;
+ if (*p == 'f') {
+ /*
+ * Font change.
+ */
+
+ PRINT(("font %c\n", p[1]));
+ p += 2;
+ } else if (*p == '-') {
+ PRINT(("dash\n"));
+ p++;
+ } else if (*p == 'e') {
+ PRINT(("text \\\\\n"));
+ p++;
+ } else if (*p == '.') {
+ PRINT(("text .\n"));
+ p++;
+ } else if (*p == '&') {
+ p++;
+ } else if (*p == '0') {
+ PRINT(("text { }\n"));
+ p++;
+ } else if (*p == '(') {
+ if ((p[1] == 0) || (p[2] == 0)) {
+ fprintf(stderr, "Bad \\( sequence on line %d.\n",
+ lineNumber);
+ status = 1;
+ } else {
+ PRINT(("char {\\(%c%c}\n", p[1], p[2]));
+ p += 3;
+ }
+ } else if (*p == 'N' && *(p+1) == '\'') {
+ int ch;
+
+ p += 2;
+ sscanf(p,"%d",&ch);
+ PRINT(("text \\u%04x\n", ch));
+ while(*p&&*p!='\'') p++;
+ p++;
+ } else if (*p != 0) {
+ PRINT(("char {\\%c}\n", *p));
+ p++;
+ }
+ }
+ }
+ PRINT(("newline\n"));
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * QuoteText --
+ *
+ * Copy the "string" argument to stdout, adding quote characters around
+ * any special Tcl characters so that they'll just be treated as ordinary
+ * text.
+ *
+ * Results:
+ * None.
+ *
+ * Side effects:
+ * Text is written to stdout.
+ *
+ *----------------------------------------------------------------------
+ */
+
+static void
+QuoteText(
+ char *string, /* The line of text. */
+ int count) /* Number of characters to write from
+ * string. */
+{
+ if (count == 0) {
+ PRINT(("{}"));
+ return;
+ }
+ for ( ; count > 0; string++, count--) {
+ switch (*string) {
+ case '\\':
+ if (*(string+1) == 'N' && *(string+2) == '\'') {
+ int ch;
+
+ string += 3;
+ count -= 3;
+ sscanf(string,"%d",&ch);
+ PRINT(("\\u%04x", ch));
+ while(count>0&&*string!='\'') {string++;count--;}
+ continue;
+ } else if (*(string+1) == '0') {
+ PRINT(("\\ "));
+ string++;
+ count--;
+ continue;
+ }
+ case '$': case '[': case '{': case ' ': case ';':
+ case '"': case '\t':
+ PRINTC('\\');
+ default:
+ PRINTC(*string);
+ }
+ }
+}
+
+/*
+ * Local Variables:
+ * mode: c
+ * c-basic-offset: 4
+ * fill-column: 78
+ * End:
+ */
diff --git a/tools/mkVfs.tcl b/tools/mkVfs.tcl
deleted file mode 100644
index c4021f6..0000000
--- a/tools/mkVfs.tcl
+++ /dev/null
@@ -1,99 +0,0 @@
-proc cat fname {
- set fname [open $fname r]
- set data [read $fname]
- close $fname
- return $data
-}
-
-proc pkgIndexDir {root fout d1} {
-
- puts [format {%*sIndexing %s} [expr {4 * [info level]}] {} \
- [file tail $d1]]
- set idx [string length $root]
- foreach ftail [glob -directory $d1 -nocomplain -tails *] {
- set f [file join $d1 $ftail]
- if {[file isdirectory $f] && [string compare CVS $ftail]} {
- pkgIndexDir $root $fout $f
- } elseif {[file tail $f] eq "pkgIndex.tcl"} {
- puts $fout "set dir \${VFSROOT}[string range $d1 $idx end]"
- puts $fout [cat $f]
- }
- }
-}
-
-###
-# Script to build the VFS file system
-###
-proc copyDir {d1 d2} {
-
- puts [format {%*sCreating %s} [expr {4 * [info level]}] {} \
- [file tail $d2]]
-
- file delete -force -- $d2
- file mkdir $d2
-
- foreach ftail [glob -directory $d1 -nocomplain -tails *] {
- set f [file join $d1 $ftail]
- if {[file isdirectory $f] && [string compare CVS $ftail]} {
- copyDir $f [file join $d2 $ftail]
- } elseif {[file isfile $f]} {
- file copy -force $f [file join $d2 $ftail]
- if {$::tcl_platform(platform) eq {unix}} {
- file attributes [file join $d2 $ftail] -permissions 0o644
- } else {
- file attributes [file join $d2 $ftail] -readonly 1
- }
- }
- }
-
- if {$::tcl_platform(platform) eq {unix}} {
- file attributes $d2 -permissions 0o755
- } else {
- file attributes $d2 -readonly 1
- }
-}
-
-if {[llength $argv] < 3} {
- puts "Usage: VFS_ROOT TCLSRC_ROOT PLATFORM"
- exit 1
-}
-set TCL_SCRIPT_DIR [lindex $argv 0]
-set TCLSRC_ROOT [lindex $argv 1]
-set PLATFORM [lindex $argv 2]
-set TKDLL [lindex $argv 3]
-set TKVER [lindex $argv 4]
-
-puts "Building [file tail $TCL_SCRIPT_DIR] for $PLATFORM"
-copyDir ${TCLSRC_ROOT}/library ${TCL_SCRIPT_DIR}
-
-if {$PLATFORM == "windows"} {
- set ddedll [glob -nocomplain ${TCLSRC_ROOT}/win/tcldde*.dll]
- puts "DDE DLL $ddedll"
- if {$ddedll != {}} {
- file copy $ddedll ${TCL_SCRIPT_DIR}/dde
- }
- set regdll [glob -nocomplain ${TCLSRC_ROOT}/win/tclreg*.dll]
- puts "REG DLL $ddedll"
- if {$regdll != {}} {
- file copy $regdll ${TCL_SCRIPT_DIR}/reg
- }
-} else {
- # Remove the dde and reg package paths
- file delete -force ${TCL_SCRIPT_DIR}/dde
- file delete -force ${TCL_SCRIPT_DIR}/reg
-}
-
-# For the following packages, cat their pkgIndex files to tclIndex
-file attributes ${TCL_SCRIPT_DIR}/tclIndex -readonly 0
-set fout [open ${TCL_SCRIPT_DIR}/tclIndex a]
-puts $fout {#
-# MANIFEST OF INCLUDED PACKAGES
-#
-set VFSROOT $dir
-}
-if {$TKDLL ne {} && [file exists $TKDLL]} {
- file copy $TKDLL ${TCL_SCRIPT_DIR}
- puts $fout [list package ifneeded Tk $TKVER "load \$dir $TKDLL"]
-}
-pkgIndexDir ${TCL_SCRIPT_DIR} $fout ${TCL_SCRIPT_DIR}
-close $fout
diff --git a/tools/mkdepend.tcl b/tools/mkdepend.tcl
index b02e396..de5fdba 100644
--- a/tools/mkdepend.tcl
+++ b/tools/mkdepend.tcl
@@ -2,7 +2,7 @@
#
# mkdepend : generate dependency information from C/C++ files
#
-# Copyright © 1998, Nat Pryce
+# Copyright (c) 1998, Nat Pryce
#
# Permission is hereby granted, without written agreement and without
# license or royalty fees, to use, copy, modify, and distribute this
@@ -10,20 +10,20 @@
# above copyright notice and the following two paragraphs appear in
# all copies of this software.
#
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
-# SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
-# THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHOR HAS BEEN ADVISED
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+# SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
+# THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHOR HAS BEEN ADVISED
# OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-# PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS"
+# THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+# PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS"
# BASIS, AND THE AUTHOR HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
# UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
#==============================================================================
#
# Modified heavily by David Gravereaux <davygrvy@pobox.com> about 9/17/2006.
-# Original can be found @
+# Original can be found @
# http://web.archive.org/web/20070616205924/http://www.doc.ic.ac.uk/~np2/software/mkdepend.html
#==============================================================================
@@ -88,7 +88,7 @@ proc readDepends {chan} {
set line ""
array set depends {}
- while {[gets $chan line] >= 0} {
+ while {[gets $chan line] != -1} {
if {[regexp {^#line [0-9]+ \"(.*)\"$} $line dummy fname] != 0} {
set fname [file normalize $fname]
if {![info exists target]} {
@@ -98,7 +98,7 @@ proc readDepends {chan} {
} else {
# don't include ourselves as a dependency of ourself.
if {![string compare $fname $target]} {continue}
- # store in an array so multiple occurrences are not counted.
+ # store in an array so multiple occurances are not counted.
set depends($target|$fname) ""
}
}
@@ -252,7 +252,7 @@ proc compressDeps {depends} {
# Adds a new set of path and replacement string to the global list.
#
# Arguments:
-# newPathInfo comma separated path and replacement string
+# newPathInfo comma seperated path and replacement string
#
# Results:
# None.
@@ -296,7 +296,7 @@ proc readInputListFile {objectListFile} {
set fl [read $f]
close $f
- # fix native path separator so it isn't treated as an escape.
+ # fix native path seperator so it isn't treated as an escape.
regsub -all {\\} $fl {/} fl
# Treat the string as a list so filenames between double quotes are
diff --git a/tools/regexpTestLib.tcl b/tools/regexpTestLib.tcl
index 71dc909..86f2a3e 100644
--- a/tools/regexpTestLib.tcl
+++ b/tools/regexpTestLib.tcl
@@ -4,7 +4,7 @@
# spencer2regexp.tcl, which are programs written to convert Henry
# Spencer's test suite to tcl test files.
#
-# Copyright © 1996 Sun Microsystems, Inc.
+# Copyright (c) 1996 by Sun Microsystems, Inc.
proc readInputFile {} {
global inFileName
@@ -17,13 +17,13 @@ proc readInputFile {} {
set len [string length $line]
- if {($len > 0) && ([string index $line [expr {$len - 1}]] == "\\")} {
+ if {($len > 0) && ([string index $line [expr $len - 1]] == "\\")} {
if {[info exists lineArray(c$i)] == 0} {
set lineArray(c$i) 1
} else {
incr lineArray(c$i)
}
- set line [string range $line 0 [expr {$len - 2}]]
+ set line [string range $line 0 [expr $len - 2]]
append lineArray($i) $line
continue
}
@@ -42,8 +42,8 @@ proc readInputFile {} {
#
# strings with embedded @'s are truncated
-# unpreceded @'s are replaced by {}
-#
+# unpreceeded @'s are replaced by {}
+#
proc removeAts {ls} {
set len [llength $ls]
set newLs {}
@@ -94,7 +94,7 @@ proc writeOutputFile {numLines fcn} {
global outFileName
global lineArray
- # open output file and write file header info to it.
+ # open output file and write file header info to it.
set fileId [open $outFileName w]
@@ -105,7 +105,7 @@ proc writeOutputFile {numLines fcn} {
puts $fileId "# errors. No output means no errors were found. Setting VERBOSE to"
puts $fileId "# -1 will run tests that are known to fail."
puts $fileId "#"
- puts $fileId "# Copyright © 1998 Sun Microsystems, Inc."
+ puts $fileId "# Copyright (c) 1998 Sun Microsystems, Inc."
puts $fileId "#"
puts $fileId "# See the file \"license.terms\" for information on usage and redistribution"
puts $fileId "# of this file, and for a DISCLAIMER OF ALL WARRANTIES."
@@ -133,7 +133,7 @@ proc writeOutputFile {numLines fcn} {
puts $fileId $currentLine
incr srcLineNum $lineArray(c$lineNum)
incr lineNum
- continue
+ continue
}
set len [llength $currentLine]
@@ -144,7 +144,7 @@ proc writeOutputFile {numLines fcn} {
puts $fileId "\n"
incr srcLineNum $lineArray(c$lineNum)
incr lineNum
- continue
+ continue
}
if {($len < 3)} {
puts "warning: test is too short --\n\t$currentLine"
@@ -192,7 +192,7 @@ proc convertTestLine {currentLine len lineNum srcLineNum} {
# if and \r substitutions are made, do not wrap re, flags,
# str, and result in braces
- set noBraces [regsub -all {R} $currentLine {\\\x0D} currentLine]
+ set noBraces [regsub -all {R} $currentLine {\\\u000D} currentLine]
regsub -all {T} $currentLine {\\t} currentLine
regsub -all {V} $currentLine {\\v} currentLine
if {[regexp {=} $flags] == 1} {
@@ -204,26 +204,26 @@ proc convertTestLine {currentLine len lineNum srcLineNum} {
# find the test result
- set numVars [expr {$len - 3}]
+ set numVars [expr $len - 3]
set vars {}
set vals {}
set result 0
set v 0
-
+
if {[regsub {\*} "$flags" "" newFlags] == 1} {
# an error is expected
-
+
if {[string compare $str "EMPTY"] == 0} {
# empty regexp is not an error
# skip this test
-
+
return "\# skipping the empty-re test from line $srcLineNum\n"
}
set flags $newFlags
set result "\{1 \{[convertErrCode $str]\}\}"
} elseif {$numVars > 0} {
# at least 1 match is made
-
+
if {[regexp {s} $flags] == 1} {
set result "\{0 1\}"
} else {
@@ -240,7 +240,7 @@ proc convertTestLine {currentLine len lineNum srcLineNum} {
}
} else {
# no match is made
-
+
set result "\{0 0\}"
}
@@ -248,16 +248,16 @@ proc convertTestLine {currentLine len lineNum srcLineNum} {
set cmd [prepareCmd $flags $re $str $vars $noBraces]
if {$cmd == -1} {
- return "\# skipping test with metasyntax from line $srcLineNum\n"
+ return "\# skipping test with metasyntax from line $srcLineNum\n"
}
set test "test regexp-1.$srcLineNum \{converted from line $srcLineNum\} \{\n"
append test "\tcatch {unset var}\n"
- append test "\tlist \[catch \{\n"
- append test "\t\tset match \[$cmd\]\n"
- append test "\t\tlist \$match $vals\n"
- append test "\t\} msg\] \$msg\n"
- append test "\} $result\n"
+ append test "\tlist \[catch \{ \n"
+ append test "\t\tset match \[$cmd\] \n"
+ append test "\t\tlist \$match $vals \n"
+ append test "\t\} msg\] \$msg \n"
+ append test "\} $result \n"
return $test
}
diff --git a/tools/str2c b/tools/str2c
new file mode 100644
index 0000000..971e552
--- /dev/null
+++ b/tools/str2c
@@ -0,0 +1,59 @@
+#! /bin/sh
+#
+# Transform text (.ps, .tcl,...) into a C string
+#
+# 1997/10 -- dl
+#
+# restart with tclsh \
+exec tclsh "$0" ${1+"$@"}
+
+# Max string length
+# (some C compiler have a 2048 chars limits (so 2047 real chars with
+# the tariling 0) so we use 2000 to make the count nice)
+set MAX 2000
+
+if {$argc} {
+ puts stderr "Usage: [file tail [info script]] < text > text.c"
+ exit 1
+}
+
+set r [read stdin]
+
+proc translate {what} {
+ regsub -all {\\} $what {\\\\} what
+ regsub -all {"} $what {\\"} what
+ regsub -all "\n" $what "\\\\n\\\\\n" what;
+ return $what;
+}
+
+set lg [string length $r]
+if {$lg<$MAX} {
+ puts "/*
+ * Single part writeable string generated by str2c
+ */
+static char data\[\]=\"[translate $r]\";"
+} else {
+ puts "/*
+ * Multi parts read only string generated by str2c
+ */
+static CONST char * CONST data\[\]= {"
+ set n 1
+ for {set i 0} {$i<$lg} {incr i $MAX} {
+ set part [string range $r $i [expr $i+$MAX-1]]
+ set len [string length $part];
+ puts "\t/* Start of part $n ($len characters) */"
+ puts "\t\"[translate $part]\","
+ puts "\t/* End of part $n */\n"
+ incr n
+ }
+ puts "\tNULL\t/* End of data marker */\n};"
+ puts "\n/* use for instance with:
+ CONST char * CONST *chunk;
+ for (chunk=data; *chunk; chunk++) {
+ Tcl_AppendResult(interp, *chunk, (char *) NULL);
+ }
+*/"
+}
+
+
+
diff --git a/tools/tcl.hpj.in b/tools/tcl.hpj.in
new file mode 100644
index 0000000..8efff0b
--- /dev/null
+++ b/tools/tcl.hpj.in
@@ -0,0 +1,19 @@
+; This file is maintained by HCW. Do not modify this file directly.
+
+[OPTIONS]
+HCW=0
+LCID=0x409 0x0 0x0 ;English (United States)
+REPORT=Yes
+TITLE=Tcl/Tk Reference Manual
+CNT=tcl85.cnt
+COPYRIGHT=Copyright © 2000 Ajuba Solutions
+HLP=tcl85.hlp
+
+[FILES]
+tcl.rtf
+
+[WINDOWS]
+main="Tcl/Tk Reference Manual",,0
+
+[CONFIG]
+BrowseButtons()
diff --git a/tools/tcl.wse.in b/tools/tcl.wse.in
new file mode 100644
index 0000000..3bc8ee4
--- /dev/null
+++ b/tools/tcl.wse.in
@@ -0,0 +1,2376 @@
+Document Type: WSE
+item: Global
+ Version=6.01
+ Title=Tcl 8.5 for Windows Installation
+ Flags=00010100
+ Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ Japanese Font Name=MS Gothic
+ Japanese Font Size=10
+ Start Gradient=0 0 255
+ End Gradient=0 0 0
+ Windows Flags=00000000000000010010110000001000
+ Log Pathname=%MAINDIR%\INSTALL.LOG
+ Message Font=MS Sans Serif
+ Font Size=8
+ Disk Label=tcl8.5.18
+ Disk Filename=setup
+ Patch Flags=0000000000000001
+ Patch Threshold=85
+ Patch Memory=4000
+ Variable Name1=_SYS_
+ Variable Default1=C:\WINDOWS\SYSTEM
+ Variable Flags1=00001000
+ Variable Name2=_ODBC16_
+ Variable Default2=C:\WINDOWS\SYSTEM
+ Variable Flags2=00001000
+ Variable Name3=_WISE_
+ Variable Default3=${__WISE__}
+ Variable Flags3=00001000
+end
+item: Open/Close INSTALL.LOG
+ Flags=00000001
+end
+item: Check if File/Dir Exists
+ Pathname=%SYS%
+ Flags=10000100
+end
+item: Set Variable
+ Variable=SYS
+ Value=%WIN%
+end
+item: End Block
+end
+item: Set Variable
+ Variable=VER
+ Value=8.5
+end
+item: Set Variable
+ Variable=PATCHLEVEL
+ Value=${__TCL_PATCH_LEVEL__}
+end
+item: Set Variable
+ Variable=APPTITLE
+ Value=Tcl/Tk %PATCHLEVEL% for Windows
+end
+item: Set Variable
+ Variable=URL
+ Value=http://www.tcl.tk/
+end
+item: Set Variable
+ Variable=GROUP
+ Value=Tcl
+end
+item: Set Variable
+ Variable=DISABLED
+ Value=!
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=Tcl
+end
+item: Check Configuration
+ Flags=10111011
+end
+item: Get Registry Key Value
+ Variable=PROGRAM_FILES
+ Key=SOFTWARE\Microsoft\Windows\CurrentVersion
+ Default=C:\Program Files
+ Value Name=ProgramFilesDir
+ Flags=00000100
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=%PROGRAM_FILES%\%MAINDIR%
+end
+item: Set Variable
+ Variable=EXPLORER
+ Value=1
+end
+item: Else Statement
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=C:\%MAINDIR%
+end
+item: End Block
+end
+item: Set Variable
+ Variable=BACKUP
+ Value=%MAINDIR%\BACKUP
+end
+item: Set Variable
+ Variable=DOBACKUP
+ Value=B
+end
+item: Set Variable
+ Variable=BRANDING
+ Value=0
+end
+remarked item: If/While Statement
+ Variable=BRANDING
+ Value=1
+end
+remarked item: Read INI Value
+ Variable=NAME
+ Pathname=%INST%\CUSTDATA.INI
+ Section=Registration
+ Item=Name
+end
+remarked item: Read INI Value
+ Variable=COMPANY
+ Pathname=%INST%\CUSTDATA.INI
+ Section=Registration
+ Item=Company
+end
+remarked item: If/While Statement
+ Variable=NAME
+end
+remarked item: Set Variable
+ Variable=DOBRAND
+ Value=1
+end
+remarked item: End Block
+end
+remarked item: End Block
+end
+item: Set Variable
+ Variable=TYPE
+ Value=C
+end
+item: Set Variable
+ Variable=COMPONENTS
+ Value=ABC
+end
+item: Wizard Block
+ Direction Variable=DIRECTION
+ Display Variable=DISPLAY
+ X Position=0
+ Y Position=0
+ Filler Color=8421440
+ Flags=00000001
+end
+item: Custom Dialog Set
+ Name=Splash
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Bienvenue
+ Title German=Willkommen
+ Title Portuguese=Bem-vindo
+ Title Spanish=Bienvenido
+ Title Italian=Benvenuto
+ Title Danish=Velkommen
+ Title Dutch=Welkom
+ Title Norwegian=Velkommen
+ Title Swedish=Välkommen
+ Width=273
+ Height=250
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=166 214 208 228
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ end
+ item: Push Button
+ Rectangle=212 214 254 228
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=Cancel
+ end
+ item: Static
+ Rectangle=0 0 268 233
+ Action=2
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000001011
+ Pathname=${__TCLBASEDIR__}\tools\white.bmp
+ end
+ item: Static
+ Rectangle=5 5 268 215
+ Destination Dialog=1
+ Action=2
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000001011
+ Pathname=${__TCLBASEDIR__}\tools\tclSplash.bmp
+ end
+ end
+end
+item: End Block
+end
+item: Wizard Block
+ Direction Variable=DIRECTION
+ Display Variable=DISPLAY
+ Bitmap Pathname=%_WISE_%\DIALOGS\TEMPLATE\WIZARD.BMP
+ X Position=9
+ Y Position=10
+ Filler Color=8421440
+ Dialog=Welcome
+ Dialog=Select Destination Directory
+ Dialog=Select Installation Type
+ Dialog=Select Components
+ Dialog=Select Program Manager Group
+ Variable=
+ Variable=
+ Variable=
+ Variable=TYPE
+ Variable=EXPLORER
+ Value=
+ Value=
+ Value=
+ Value=C
+ Value=1
+ Compare=0
+ Compare=0
+ Compare=0
+ Compare=1
+ Compare=0
+ Flags=00000011
+end
+item: Custom Dialog Set
+ Name=Welcome
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalación de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=271
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Static
+ Rectangle=86 8 258 42
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Welcome!
+ Text French=Bienvenue !
+ Text German=Willkommen!
+ Text Spanish=¡Bienvenido!
+ Text Italian=Benvenuti!
+ end
+ item: Push Button
+ Rectangle=150 187 195 202
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=105 187 150 202
+ Variable=DISABLED
+ Value=!
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zurück
+ Text Spanish=< &Atrás
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=211 187 256 202
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=85 41 255 130
+ Create Flags=01010000000000000000000000000000
+ Text=This installation program will install %APPTITLE%.
+ Text=
+ Text=Press the Next button to start the installation. You can press the Exit Setup button now if you do not want to install %APPTITLE% at this time.
+ Text=
+ Text=It is strongly recommended that you exit all Windows programs before running this installation program.
+ Text French=Ce programme d'installation va installer %APPTITLE%.
+ Text French=
+ Text French=Cliquez sur le bouton Suite pour démarrer l'installation. Vous pouvez cliquer sur le bouton Quitter l'installation si vous ne voulez pas installer %APPTITLE% tout de suite.
+ Text German=Mit diesem Installationsprogramm wird %APPTITLE% installiert.
+ Text German=
+ Text German=Klicken Sie auf "Weiter", um mit der Installation zu beginnen. Klicken Sie auf "Abbrechen", um die Installation von %APPTITLE% abzubrechen.
+ Text Spanish=Este programa de instalación instalará %APPTITLE%.
+ Text Spanish=
+ Text Spanish=Presione el botón Siguiente para iniciar la instalación. Puede presionar el botón Salir de instalación si no desea instalar %APPTITLE% en este momento.
+ Text Italian=Questo programma installerà %APPTITLE%.
+ Text Italian=
+ Text Italian=Per avvviare l'installazione premere il pulsante Avanti. Se non si desidera installare %APPTITLE% ora, premere il pulsante Esci dall'installazione.
+ end
+ item: Static
+ Rectangle=8 180 256 181
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Select Destination Directory
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalación de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=271
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=150 187 195 202
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=105 187 150 202
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Flags=0000000000000001
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zurück
+ Text Spanish=< &Atrás
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=211 187 256 202
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=8 180 256 181
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=86 8 258 42
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Select Destination Directory
+ Text French=Sélectionner le répertoire de destination
+ Text German=Zielverzeichnis wählen
+ Text Spanish=Seleccione el directorio de destino
+ Text Italian=Selezionare Directory di destinazione
+ end
+ item: Static
+ Rectangle=86 39 256 114
+ Create Flags=01010000000000000000000000000000
+ Text=Please select the directory where the %APPTITLE% files are to be installed.
+ Text=
+ Text=To install in the default directory below, click Next.
+ Text=
+ Text=To install in a different directory, click Browse and select another directory.
+ Text French=Veuillez sélectionner le répertoire dans lequel les fichiers %APPTITLE% doivent être installés.
+ Text German=Geben Sie an, in welchem Verzeichnis die %APPTITLE%-Dateien installiert werden sollen.
+ Text Spanish=Por favor seleccione el directorio donde desee instalar los archivos de %APPTITLE%.
+ Text Italian=Selezionare la directory dove verranno installati i file %APPTITLE%.
+ end
+ item: Static
+ Rectangle=86 130 256 157
+ Action=1
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Push Button
+ Rectangle=205 138 250 153
+ Variable=MAINDIR_SAVE
+ Value=%MAINDIR%
+ Destination Dialog=1
+ Action=2
+ Create Flags=01010000000000010000000000000000
+ Text=Browse
+ Text French=Parcourir
+ Text German=Durchsuchen
+ Text Spanish=Buscar
+ Text Italian=Sfoglie
+ end
+ item: Static
+ Rectangle=91 140 198 151
+ Create Flags=01010000000000000000000000000000
+ Text=%MAINDIR%
+ Text French=%MAINDIR%
+ Text German=%MAINDIR%
+ Text Spanish=%MAINDIR%
+ Text Italian=%MAINDIR%
+ end
+ end
+ item: Dialog
+ Title=Select Destination Directory
+ Title French=Sélectionner le répertoire de destination
+ Title German=Zielverzeichnis wählen
+ Title Spanish=Seleccione el directorio de destino
+ Title Italian=Selezionare Directory di destinazione
+ Width=221
+ Height=173
+ Font Name=Helv
+ Font Size=8
+ item: Listbox
+ Rectangle=5 5 163 149
+ Variable=MAINDIR
+ Create Flags=01010000100000010000000101000000
+ Flags=0000110000100010
+ Text=%MAINDIR%
+ Text French=%MAINDIR%
+ Text German=%MAINDIR%
+ Text Spanish=%MAINDIR%
+ Text Italian=%MAINDIR%
+ end
+ item: Push Button
+ Rectangle=167 6 212 21
+ Create Flags=01010000000000010000000000000001
+ Text=OK
+ Text French=OK
+ Text German=OK
+ Text Spanish=Aceptar
+ Text Italian=OK
+ end
+ item: Push Button
+ Rectangle=167 25 212 40
+ Variable=MAINDIR
+ Value=%MAINDIR_SAVE%
+ Create Flags=01010000000000010000000000000000
+ Flags=0000000000000001
+ Text=Cancel
+ Text French=Annuler
+ Text German=Abbrechen
+ Text Spanish=Cancelar
+ Text Italian=Annulla
+ end
+ end
+end
+remarked item: Custom Dialog Set
+ Name=Select Installation Type
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalación de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=271
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=150 187 195 202
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=105 187 150 202
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zurück
+ Text Spanish=< &Atrás
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=211 187 256 202
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=8 180 256 181
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=86 8 258 42
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Select Installation Type
+ Text French=Sélectionner les composants
+ Text German=Komponenten auswählen
+ Text Spanish=Seleccione componentes
+ Text Italian=Selezionare i componenti
+ end
+ item: Static
+ Rectangle=194 162 242 172
+ Variable=COMPONENTS
+ Value=MAINDIR
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=194 153 242 162
+ Variable=COMPONENTS
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=107 153 196 164
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Required:
+ Text French=Espace disque requis :
+ Text German=Notwendiger Speicherplatz:
+ Text Spanish=Espacio requerido en el disco:
+ Text Italian=Spazio su disco necessario:
+ end
+ item: Static
+ Rectangle=107 162 196 172
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Remaining:
+ Text French=Espace disque disponible :
+ Text German=Verbleibender Speicherplatz:
+ Text Spanish=Espacio en disco disponible:
+ Text Italian=Spazio su disco disponibile:
+ end
+ item: Static
+ Rectangle=86 145 256 175
+ Action=1
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=86 42 256 61
+ Create Flags=01010000000000000000000000000000
+ Text=Choose which type of installation to perform by selecting one of the buttons below.
+ Text French=Choisissez les composants que vous voulez installer en cochant les cases ci-dessous.
+ Text German=Wählen Sie die zu installierenden Komponenten, indem Sie in die entsprechenden Kästchen klicken.
+ Text Spanish=Elija los componentes que desee instalar marcando los cuadros de abajo.
+ Text Italian=Scegliere quali componenti installare selezionando le caselle sottostanti.
+ end
+ item: Radio Button
+ Rectangle=86 74 256 128
+ Variable=TYPE
+ Create Flags=01010000000000010000000000001001
+ Text=&Full Installation (Recommended)
+ Text=&Minimal Installation
+ Text=C&ustom Installation
+ Text=
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Select Components
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalación de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=271
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=150 187 195 202
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=105 187 150 202
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zurück
+ Text Spanish=< &Atrás
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=211 187 256 202
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=8 180 256 181
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=86 8 258 42
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Select Components
+ Text French=Sélectionner les composants
+ Text German=Komponenten auswählen
+ Text Spanish=Seleccione componentes
+ Text Italian=Selezionare i componenti
+ end
+ item: Checkbox
+ Rectangle=86 75 256 129
+ Variable=COMPONENTS
+ Create Flags=01010000000000010000000000000011
+ Flags=0000000000000110
+ Text=Tcl Run-Time Files
+ Text=Example Scripts
+ Text=Help Files
+ Text=Header and Library Files
+ Text=
+ Text French=Tcl Run-Time Files
+ Text French=Example Scripts
+ Text French=Help Files
+ Text French=Header and Library Files
+ Text French=
+ Text German=Tcl Run-Time Files
+ Text German=Example Scripts
+ Text German=Help Files
+ Text German=Header and Library Files
+ Text German=
+ Text Spanish=Tcl Run-Time Files
+ Text Spanish=Example Scripts
+ Text Spanish=Help Files
+ Text Spanish=Header and Library Files
+ Text Spanish=
+ Text Italian=Tcl Run-Time Files
+ Text Italian=Example Scripts
+ Text Italian=Help Files
+ Text Italian=Header and Library Files
+ Text Italian=
+ end
+ item: Static
+ Rectangle=194 162 242 172
+ Variable=COMPONENTS
+ Value=MAINDIR
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=194 153 242 162
+ Variable=COMPONENTS
+ Create Flags=01010000000000000000000000000010
+ end
+ item: Static
+ Rectangle=107 153 196 164
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Required:
+ Text French=Espace disque requis :
+ Text German=Notwendiger Speicherplatz:
+ Text Spanish=Espacio requerido en el disco:
+ Text Italian=Spazio su disco necessario:
+ end
+ item: Static
+ Rectangle=107 162 196 172
+ Create Flags=01010000000000000000000000000000
+ Text=Disk Space Remaining:
+ Text French=Espace disque disponible :
+ Text German=Verbleibender Speicherplatz:
+ Text Spanish=Espacio en disco disponible:
+ Text Italian=Spazio su disco disponibile:
+ end
+ item: Static
+ Rectangle=86 145 256 175
+ Action=1
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=86 42 256 61
+ Create Flags=01010000000000000000000000000000
+ Text=Choose which components to install by checking the boxes below.
+ Text French=Choisissez les composants que vous voulez installer en cochant les cases ci-dessous.
+ Text German=Wählen Sie die zu installierenden Komponenten, indem Sie in die entsprechenden Kästchen klicken.
+ Text Spanish=Elija los componentes que desee instalar marcando los cuadros de abajo.
+ Text Italian=Scegliere quali componenti installare selezionando le caselle sottostanti.
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Select Program Manager Group
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalación de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=271
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=150 187 195 202
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=105 187 150 202
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Flags=0000000000000001
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zurück
+ Text Spanish=< &Atrás
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=211 187 256 202
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=8 180 256 181
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=86 8 258 42
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Select ProgMan Group
+ Text French=Sélectionner le groupe du Gestionnaire de programme
+ Text German=Bestimmung der Programm-Managergruppe
+ Text Spanish=Seleccione grupo del Administrador de programas
+ Text Italian=Selezionare il gruppo ProgMan
+ end
+ item: Static
+ Rectangle=86 44 256 68
+ Create Flags=01010000000000000000000000000000
+ Text=Enter the name of the Program Manager group to add the %APPTITLE% icons to:
+ Text French=Entrez le nom du groupe du Gestionnaire de programme dans lequel vous souhaitez ajouter les icônes de %APPTITLE% :
+ Text German=Geben Sie den Namen der Programmgruppe ein, der das Symbol %APPTITLE% hinzugefügt werden soll:
+ Text Spanish=Escriba el nombre del grupo del Administrador de programas en el que desea agregar los iconos de %APPTITLE%:
+ Text Italian=Inserire il nome del gruppo Program Manager per aggiungere le icone %APPTITLE% a:
+ end
+ item: Combobox
+ Rectangle=86 69 256 175
+ Variable=GROUP
+ Create Flags=01010000000000010000001000000001
+ Flags=0000000000000001
+ Text=%GROUP%
+ Text French=%GROUP%
+ Text German=%GROUP%
+ Text Spanish=%GROUP%
+ Text Italian=%GROUP%
+ end
+ end
+end
+item: Custom Dialog Set
+ Name=Start Installation
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalación de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=271
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=150 187 195 202
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Next >
+ Text French=&Suite >
+ Text German=&Weiter >
+ Text Spanish=&Siguiente >
+ Text Italian=&Avanti >
+ end
+ item: Push Button
+ Rectangle=105 187 150 202
+ Variable=DIRECTION
+ Value=B
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zurück
+ Text Spanish=< &Atrás
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=211 187 256 202
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=8 180 256 181
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=86 8 258 42
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Ready to Install!
+ Text French=Prêt à installer !
+ Text German=Installationsbereit!
+ Text Spanish=¡Preparado para la instalación!
+ Text Italian=Pronto per l'installazione!
+ end
+ item: Static
+ Rectangle=86 42 256 102
+ Create Flags=01010000000000000000000000000000
+ Text=You are now ready to install %APPTITLE%.
+ Text=
+ Text=Press the Next button to begin the installation or the Back button to reenter the installation information.
+ Text French=Vous êtes maintenant prêt à installer les fichiers %APPTITLE%.
+ Text French=
+ Text French=Cliquez sur le bouton Suite pour commencer l'installation ou sur le bouton Retour pour entrer les informations d'installation à nouveau.
+ Text German=Sie können %APPTITLE% nun installieren.
+ Text German=
+ Text German=Klicken Sie auf "Weiter", um mit der Installation zu beginnen. Klicken Sie auf "Zurück", um die Installationsinformationen neu einzugeben.
+ Text Spanish=Ya está listo para instalar %APPTITLE%.
+ Text Spanish=
+ Text Spanish=Presione el botón Siguiente para comenzar la instalación o presione Atrás para volver a ingresar la información para la instalación.
+ Text Italian=Ora è possibile installare %APPTITLE%.
+ Text Italian=
+ Text Italian=Premere il pulsante Avanti per avviare l'installazione o il pulsante Indietro per reinserire le informazioni di installazione.
+ end
+ end
+end
+item: If/While Statement
+ Variable=DISPLAY
+ Value=Select Destination Directory
+end
+item: Set Variable
+ Variable=BACKUP
+ Value=%MAINDIR%\BACKUP
+end
+item: End Block
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=TYPE
+ Value=B
+end
+item: Set Variable
+ Variable=COMPONENTS
+ Value=A
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=DOBACKUP
+ Value=A
+end
+item: Set Variable
+ Variable=BACKUPDIR
+ Value=%BACKUP%
+end
+item: End Block
+end
+remarked item: If/While Statement
+ Variable=BRANDING
+ Value=1
+end
+remarked item: If/While Statement
+ Variable=DOBRAND
+ Value=1
+end
+remarked item: Edit INI File
+ Pathname=%INST%\CUSTDATA.INI
+ Settings=[Registration]
+ Settings=NAME=%NAME%
+ Settings=COMPANY=%COMPANY%
+ Settings=
+end
+remarked item: End Block
+end
+remarked item: End Block
+end
+item: Set Variable
+ Variable=MAINDIRSHORT
+ Value=%MAINDIR%
+ Flags=00010100
+end
+item: Open/Close INSTALL.LOG
+end
+item: Check Disk Space
+ Component=COMPONENTS
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\license.txt
+ Destination=%MAINDIR%\license.txt
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\win\Readme.txt
+ Destination=%MAINDIR%\Readme.txt
+ Flags=0000000000000010
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=D
+ Flags=00001010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\win\release\tk85.lib
+ Destination=%MAINDIR%\lib\tk85.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\win\release\tkstub85.lib
+ Destination=%MAINDIR%\lib\tkstub85.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\win\release\tcl85.lib
+ Destination=%MAINDIR%\lib\tcl85.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\win\release\tclstub85.lib
+ Destination=%MAINDIR%\lib\tclstub85.lib
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\xlib\X11\Xutil.h
+ Destination=%MAINDIR%\include\X11\Xutil.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\xlib\X11\Xlib.h
+ Destination=%MAINDIR%\include\X11\Xlib.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\xlib\X11\Xfuncproto.h
+ Destination=%MAINDIR%\include\X11\Xfuncproto.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\xlib\X11\Xatom.h
+ Destination=%MAINDIR%\include\X11\Xatom.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\xlib\X11\X.h
+ Destination=%MAINDIR%\include\X11\X.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\xlib\X11\keysymdef.h
+ Destination=%MAINDIR%\include\X11\keysymdef.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\xlib\X11\keysym.h
+ Destination=%MAINDIR%\include\X11\keysym.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\xlib\X11\cursorfont.h
+ Destination=%MAINDIR%\include\X11\cursorfont.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\generic\tk.h
+ Destination=%MAINDIR%\include\tk.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\generic\tkDecls.h
+ Destination=%MAINDIR%\include\tkDecls.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\generic\tkPlatDecls.h
+ Destination=%MAINDIR%\include\tkPlatDecls.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\generic\tkIntXlibDecls.h
+ Destination=%MAINDIR%\include\tkIntXlibDecls.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\generic\tcl.h
+ Destination=%MAINDIR%\include\tcl.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\generic\tclDecls.h
+ Destination=%MAINDIR%\include\tclDecls.h
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\generic\tclPlatDecls.h
+ Destination=%MAINDIR%\include\tclPlatDecls.h
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00001010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\msgcat\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\msgcat1.5\pkgIndex.tcl
+ Flags=0000000010000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\msgcat\msgcat.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\msgcat1.5\msgcat.tcl
+ Flags=0000000010000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\tcltest\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\tcltest2.0\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\tcltest\tcltest.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\tcltest2.0\tcltest.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\symbol.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\symbol.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\shiftjis.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\shiftjis.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macUkraine.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macUkraine.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macTurkish.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macTurkish.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macThai.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macThai.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macRomania.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macRomania.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macRoman.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macRoman.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macJapan.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macJapan.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macIceland.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macIceland.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macGreek.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macGreek.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macDingbats.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macDingbats.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macCyrillic.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macCyrillic.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macCroatian.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macCroatian.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\macCentEuro.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\macCentEuro.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\ksc5601.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\ksc5601.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\koi8-r.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\koi8-r.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\jis0212.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\jis0212.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\jis0208.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\jis0208.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\jis0201.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\jis0201.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-15.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-15.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-9.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-9.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-8.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-8.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-7.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-7.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-6.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-6.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-5.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-5.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-4.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-4.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-3.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-3.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-2.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-2.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso8859-1.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso8859-1.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso2022.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso2022.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso2022-kr.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso2022-kr.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\iso2022-jp.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\iso2022-jp.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\gb2312.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\gb2312.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\gb1988.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\gb1988.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\gb12345.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\gb12345.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\euc-cn.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\euc-cn.enc
+ Flags=0000000010000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\euc-jp.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\euc-jp.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\euc-kr.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\euc-kr.enc
+ Flags=0000000010000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\dingbats.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\dingbats.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp950.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp950.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp949.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp949.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp936.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp936.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp932.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp932.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp874.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp874.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp869.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp869.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp866.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp866.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp865.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp865.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp864.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp864.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp863.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp863.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp862.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp862.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp861.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp861.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp860.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp860.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp857.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp857.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp855.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp855.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp852.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp852.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp850.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp850.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp775.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp775.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp737.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp737.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp437.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp437.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp1258.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp1258.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp1257.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp1257.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp1256.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp1256.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp1255.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp1255.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp1254.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp1254.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp1253.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp1253.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp1252.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp1252.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp1251.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp1251.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\cp1250.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\cp1250.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\ascii.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\ascii.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\encoding\big5.enc
+ Destination=%MAINDIR%\lib\tcl%VER%\encoding\big5.enc
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\opt\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\opt0.4\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\opt\optparse.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\opt0.4\optparse.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\http\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\http2.4\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\http\http.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\http2.4\http.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\msgbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\msgbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\optMenu.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\optMenu.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\clrpick.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\clrpick.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\entry.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\entry.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\spinbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\spinbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\comdlg.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\comdlg.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\bgerror.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\bgerror.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\obsolete.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\obsolete.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\button.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\button.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\xmfbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\xmfbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\console.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\console.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\listbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\listbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\menu.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\menu.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\dialog.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\dialog.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\focus.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\focus.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\palette.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\palette.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\tkfbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\tkfbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\tk.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\tk.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\text.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\text.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\tearoff.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\tearoff.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\tclIndex
+ Destination=%MAINDIR%\lib\tk%VER%\tclIndex
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\scrlbar.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\scrlbar.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\scale.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\scale.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\safetk.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\safetk.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\http1.0\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\http1.0\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\http1.0\http.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\http1.0\http.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\reg\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\reg1.0\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\win\release\tclreg10.dll
+ Destination=%MAINDIR%\lib\tcl%VER%\reg1.0\tclreg10.dll
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\dde\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\dde1.2\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\win\release\tcldde12.dll
+ Destination=%MAINDIR%\lib\tcl%VER%\dde1.2\tcldde12.dll
+ Flags=0000000000000010
+end
+item: Install File
+ Source=C:\WINNT\SYSTEM32\Msvcrt.dll
+ Destination=%MAINDIR%\bin\msvcrt.dll
+ Flags=0010001000000011
+end
+item: Install File
+ Source=${__TKBASEDIR__}\win\release\wish85.exe
+ Destination=%MAINDIR%\bin\wish85.exe
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\win\release\tclsh85.exe
+ Destination=%MAINDIR%\bin\tclsh85.exe
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\win\release\tclpip85.dll
+ Destination=%MAINDIR%\bin\tclpip85.dll
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\win\release\tcl85.dll
+ Destination=%MAINDIR%\bin\tcl85.dll
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\win\release\tk85.dll
+ Destination=%MAINDIR%\bin\tk85.dll
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\auto.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\auto.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\history.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\history.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\init.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\init.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\package.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\package.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\parray.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\parray.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\safe.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\safe.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\tclIndex
+ Destination=%MAINDIR%\lib\tcl%VER%\tclIndex
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\library\word.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\word.tcl
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=B
+ Flags=00001010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\tai-ku.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\tai-ku.gif
+ Flags=0000000010000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\teapot.ppm
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\teapot.ppm
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\tcllogo.gif
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\tcllogo.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\pattern.bmp
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\pattern.bmp
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\noletter.bmp
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\noletter.bmp
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\letters.bmp
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\letters.bmp
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\gray25.bmp
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\gray25.bmp
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\flagup.bmp
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\flagup.bmp
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\flagdown.bmp
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\flagdown.bmp
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\face.bmp
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\face.bmp
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\earthris.gif
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\earthris.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\images\earth.gif
+ Destination=%MAINDIR%\lib\tk%VER%\demos\images\earth.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\vscale.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\vscale.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\twind.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\twind.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\text.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\text.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\style.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\style.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\states.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\states.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\search.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\search.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\sayings.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\sayings.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\ruler.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\ruler.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\radio.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\radio.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\puzzle.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\puzzle.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\plot.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\plot.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\msgbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\msgbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\menubu.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\menubu.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\menu.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\menu.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\label.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\label.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\items.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\items.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\image2.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\image2.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\image1.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\image1.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\icon.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\icon.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\hscale.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\hscale.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\form.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\form.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\ixset
+ Destination=%MAINDIR%\lib\tk%VER%\demos\ixset.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\rolodex
+ Destination=%MAINDIR%\lib\tk%VER%\demos\rolodex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\square
+ Destination=%MAINDIR%\lib\tk%VER%\demos\square.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\Readme
+ Destination=%MAINDIR%\lib\tk%VER%\demos\Readme
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\hello
+ Destination=%MAINDIR%\lib\tk%VER%\demos\hello.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\tclIndex
+ Destination=%MAINDIR%\lib\tk%VER%\demos\tclIndex
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\browse
+ Destination=%MAINDIR%\lib\tk%VER%\demos\browse.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\timer
+ Destination=%MAINDIR%\lib\tk%VER%\demos\timer.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\widget
+ Destination=%MAINDIR%\lib\tk%VER%\demos\widget.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\tcolor
+ Destination=%MAINDIR%\lib\tk%VER%\demos\tcolor.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\rmt
+ Destination=%MAINDIR%\lib\tk%VER%\demos\rmt.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\floor.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\floor.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\filebox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\filebox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\pwrdLogo75.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\pwrdLogo75.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\pwrdLogo200.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\pwrdLogo200.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\pwrdLogo175.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\pwrdLogo175.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\pwrdLogo150.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\pwrdLogo150.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\pwrdLogo100.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\pwrdLogo100.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\logoMed.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\logoMed.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\logoLarge.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\logoLarge.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\logo64.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\logo64.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\logo100.gif
+ Destination=%MAINDIR%\lib\tk%VER%\images\logo100.gif
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\images\Readme
+ Destination=%MAINDIR%\lib\tk%VER%\images\Readme
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\arrow.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\arrow.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\bind.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\bind.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\bitmap.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\bitmap.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\button.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\button.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\check.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\check.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\clrpick.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\clrpick.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\colors.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\colors.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\cscroll.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\cscroll.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\ctext.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\ctext.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\dialog1.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\dialog1.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\dialog2.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\dialog2.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\entry1.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\entry1.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TKBASEDIR__}\library\demos\entry2.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\demos\entry2.tcl
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=C
+ Flags=00001010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\tools\tcl85.cnt
+ Destination=%MAINDIR%\doc\tcl85.cnt
+ Flags=0000000000000010
+end
+item: Install File
+ Source=${__TCLBASEDIR__}\tools\tcl85.hlp
+ Destination=%MAINDIR%\doc\tcl85.hlp
+ Flags=0000000000000010
+end
+item: End Block
+end
+item: Set Variable
+ Variable=MAINDIR
+ Value=%MAINDIR%
+ Flags=00010100
+end
+item: Include Script
+ Pathname=\\pop\tools\1.2\win32-ix86\wise\INCLUDE\uninstal.wse
+end
+item: Check Configuration
+ Flags=10111011
+end
+item: Get Registry Key Value
+ Variable=GROUPDIR
+ Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
+ Default=%WIN%\Start Menu\Programs
+ Value Name=Programs
+ Flags=00000010
+end
+item: Set Variable
+ Variable=GROUP
+ Value=%GROUPDIR%\%GROUP%
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00001010
+end
+item: Create Shortcut
+ Source=%MAINDIR%\bin\wish85.exe
+ Destination=%GROUP%\Wish.lnk
+ Working Directory=%MAINDIR%
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00001010
+end
+item: Create Shortcut
+ Source=%MAINDIR%\bin\tclsh85.exe
+ Destination=%GROUP%\Tclsh.lnk
+ Working Directory=%MAINDIR%
+ Key Type=1536
+ Flags=00000001
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=C
+ Flags=00001010
+end
+item: Create Shortcut
+ Source=%MAINDIR%\doc\tcl85.hlp
+ Destination=%GROUP%\Tcl Help.lnk
+ Working Directory=%MAINDIR%
+end
+item: End Block
+end
+item: Create Shortcut
+ Source=%MAINDIR%\Readme.txt
+ Destination=%GROUP%\Readme.lnk
+ Working Directory=%MAINDIR%
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=B
+ Flags=00001010
+end
+item: Create Shortcut
+ Source=%MAINDIR%\lib\tk%VER%\demos\widget.tcl
+ Destination=%GROUP%\Widget Tour.lnk
+ Working Directory=%MAINDIR%
+ Key Type=1536
+ Flags=00000001
+end
+item: End Block
+end
+item: Else Statement
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=B
+ Flags=00001010
+end
+item: Add ProgMan Icon
+ Group=%GROUP%
+ Icon Name=Widget Tour
+ Command Line=%MAINDIR%\lib\tk%VER%\demos\widget.tcl
+ Icon Pathname=%MAINDIR%\bin\wish85.exe
+ Default Directory=%MAINDIR%
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=C
+ Flags=00001010
+end
+item: Add ProgMan Icon
+ Group=%GROUP%
+ Icon Name=Tcl Help
+ Command Line=%MAINDIR%\doc\tcl85.hlp
+ Default Directory=%MAINDIR%
+end
+item: End Block
+end
+item: Add ProgMan Icon
+ Group=%GROUP%
+ Icon Name=Readme
+ Command Line=%MAINDIR%\Readme.txt
+ Default Directory=%MAINDIR%
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00001010
+end
+item: Add ProgMan Icon
+ Group=%GROUP%
+ Icon Name=Wish
+ Command Line=%MAINDIR%\bin\wish85.exe
+ Default Directory=%MAINDIR%
+end
+item: End Block
+end
+item: If/While Statement
+ Variable=COMPONENTS
+ Value=A
+ Flags=00001010
+end
+item: Add ProgMan Icon
+ Group=%GROUP%
+ Icon Name=Tclsh
+ Command Line=%MAINDIR%\bin\tclsh85.exe
+ Default Directory=%MAINDIR%
+end
+item: End Block
+end
+item: End Block
+end
+item: Self-Register OCXs/DLLs
+ Description=Updating System Configuration, Please Wait...
+end
+item: Edit Registry
+ Total Keys=1
+ Key=SOFTWARE\Scriptics\Tcl\%VER%
+ New Value=%MAINDIR%
+ Value Name=Root
+ Root=2
+end
+item: Edit Registry
+ Total Keys=1
+ Key=TclScript\DefaultIcon
+ New Value=%MAINDIR%\bin\tk85.dll
+end
+item: Edit Registry
+ Total Keys=1
+ Key=.tcl
+ New Value=TclScript
+end
+item: Edit Registry
+ Total Keys=1
+ Key=TclScript
+ New Value=TclScript
+end
+item: Edit Registry
+ Total Keys=1
+ Key=TclScript\shell\open\command
+ New Value=%MAINDIRSHORT%\bin\wish85.exe "%%1" %%*
+end
+item: Edit Registry
+ Total Keys=1
+ Key=TclScript\shell\edit
+ New Value=&Edit
+end
+item: Edit Registry
+ Total Keys=1
+ Key=TclScript\shell\edit\command
+ New Value=notepad "%%1"
+end
+item: Add Directory to Path
+ Directory=%MAINDIR%\bin
+end
+item: Check Configuration
+ Flags=10111011
+end
+item: Set Variable
+ Variable=TO_SCRIPTICS
+ Value=A
+end
+item: Else Statement
+end
+item: Set Variable
+ Variable=TO_SCRIPTICS
+end
+item: End Block
+end
+item: Wizard Block
+ Direction Variable=DIRECTION
+ Display Variable=DISPLAY
+ Bitmap Pathname=%_WISE_%\DIALOGS\TEMPLATE\WIZARD.BMP
+ X Position=9
+ Y Position=10
+ Filler Color=8421440
+ Flags=00000011
+end
+item: Custom Dialog Set
+ Name=Finished
+ Display Variable=DISPLAY
+ item: Dialog
+ Title=%APPTITLE% Installation
+ Title French=Installation de %APPTITLE%
+ Title German=Installation von %APPTITLE%
+ Title Spanish=Instalación de %APPTITLE%
+ Title Italian=Installazione di %APPTITLE%
+ Width=271
+ Height=224
+ Font Name=Helv
+ Font Size=8
+ item: Push Button
+ Rectangle=150 187 195 202
+ Variable=DIRECTION
+ Value=N
+ Create Flags=01010000000000010000000000000001
+ Text=&Finish
+ Text French=&Fin
+ Text German=&Weiter
+ Text Spanish=&Terminar
+ Text Italian=&Fine
+ end
+ item: Push Button
+ Rectangle=105 187 150 202
+ Variable=DISABLED
+ Value=!
+ Create Flags=01010000000000010000000000000000
+ Text=< &Back
+ Text French=< &Retour
+ Text German=< &Zurück
+ Text Spanish=< &Atrás
+ Text Italian=< &Indietro
+ end
+ item: Push Button
+ Rectangle=211 187 256 202
+ Variable=DISABLED
+ Value=!
+ Action=3
+ Create Flags=01010000000000010000000000000000
+ Text=&Cancel
+ Text French=&Annuler
+ Text German=&Abbrechen
+ Text Spanish=&Cancelar
+ Text Italian=&Annulla
+ end
+ item: Static
+ Rectangle=8 180 256 181
+ Action=3
+ Create Flags=01010000000000000000000000000111
+ end
+ item: Static
+ Rectangle=86 8 258 42
+ Create Flags=01010000000000000000000000000000
+ Flags=0000000000000001
+ Name=Times New Roman
+ Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
+ Text=Installation Completed!
+ Text French=Installation terminée !
+ Text German=Die Installation ist abgeschlossen!
+ Text Spanish=¡Instalación terminada!
+ Text Italian=Installazione completata!
+ end
+ item: Static
+ Rectangle=86 42 256 153
+ Create Flags=01010000000000000000000000000000
+ Text=%APPTITLE% has been successfully installed.
+ Text=
+ Text=Click the Finish button to exit this installation.
+ Text=
+ Text=You can learn more about Tcl/Tk %VER%, including release notes, updates, tutorials, and more at %URL%. Check the box below to start your web browser and go there now.
+ Text=
+ Text=The installer may ask you to reboot your computer, this is to update your PATH and is not necessary to do immediately.
+ Text French=%APPTITLE% est maintenant installé.
+ Text French=
+ Text French=Cliquez sur le bouton Fin pour quitter l'installation.
+ Text German=%APPTITLE% wurde erfolgreich installiert.
+ Text German=
+ Text German=Klicken Sie auf "Weiter", um die Installation zu beenden.
+ Text Spanish=%APPTITLE% se ha instalado con éxito.
+ Text Spanish=
+ Text Spanish=Presione el botón Terminar para salir de esta instalación.
+ Text Italian=L'installazione %APPTITLE% è stata portata a termine con successo.
+ Text Italian=
+ Text Italian=Premere il pulsante Fine per uscire dall'installazione.
+ end
+ item: Checkbox
+ Rectangle=88 143 245 157
+ Variable=TO_SCRIPTICS
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000010000000000000011
+ Text=Show me important information about
+ Text=
+ end
+ item: Static
+ Rectangle=99 156 245 170
+ Enabled Color=00000000000000001111111111111111
+ Create Flags=01010000000000000000000000000000
+ Text=Tcl/Tk %VER% and TclPro
+ end
+ end
+end
+item: End Block
+end
+item: Check Configuration
+ Flags=10111011
+end
+item: If/While Statement
+ Variable=TO_SCRIPTICS
+ Value=A
+ Flags=00000010
+end
+item: Execute Program
+ Command Line=%URL%
+end
+item: End Block
+end
+item: Execute Program
+ Pathname=explorer
+ Command Line=%GROUP%
+end
+item: End Block
+end
diff --git a/tools/tclOOScript.tcl b/tools/tclOOScript.tcl
deleted file mode 100644
index 0b75882..0000000
--- a/tools/tclOOScript.tcl
+++ /dev/null
@@ -1,798 +0,0 @@
-# tclOOScript.h --
-#
-# This file contains support scripts for TclOO. They are defined here so
-# that the code can be definitely run even in safe interpreters; TclOO's
-# core setup is safe.
-#
-# Copyright © 2012-2019 Donal K. Fellows
-# Copyright © 2013 Andreas Kupries
-# Copyright © 2017 Gerald Lester
-#
-# See the file "license.terms" for information on usage and redistribution of
-# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-
-::namespace eval ::oo {
- ::namespace path {}
-
- #
- # Commands that are made available to objects by default.
- #
- namespace eval Helpers {
- namespace path {}
-
- # ------------------------------------------------------------------
- #
- # callback, mymethod --
- #
- # Create a script prefix that calls a method on the current
- # object. Same operation, two names.
- #
- # ------------------------------------------------------------------
-
- proc callback {method args} {
- list [uplevel 1 {::namespace which my}] $method {*}$args
- }
-
- # Make the [callback] command appear as [mymethod] too.
- namespace export callback
- namespace eval tmp {namespace import ::oo::Helpers::callback}
- namespace export -clear
- rename tmp::callback mymethod
- namespace delete tmp
-
- # ------------------------------------------------------------------
- #
- # classvariable --
- #
- # Link to a variable in the class of the current object.
- #
- # ------------------------------------------------------------------
-
- proc classvariable {name args} {
- # Get a reference to the class's namespace
- set ns [info object namespace [uplevel 1 {self class}]]
- # Double up the list of variable names
- foreach v [list $name {*}$args] {
- if {[string match *(*) $v]} {
- set reason "can't create a scalar variable that looks like an array element"
- return -code error -errorcode {TCL UPVAR LOCAL_ELEMENT} \
- [format {bad variable name "%s": %s} $v $reason]
- }
- if {[string match *::* $v]} {
- set reason "can't create a local variable with a namespace separator in it"
- return -code error -errorcode {TCL UPVAR INVERTED} \
- [format {bad variable name "%s": %s} $v $reason]
- }
- lappend vs $v $v
- }
- # Lastly, link the caller's local variables to the class's variables
- tailcall namespace upvar $ns {*}$vs
- }
-
- # ------------------------------------------------------------------
- #
- # link --
- #
- # Make a command that invokes a method on the current object.
- # The name of the command and the name of the method match by
- # default.
- #
- # ------------------------------------------------------------------
-
- proc link {args} {
- set ns [uplevel 1 {::namespace current}]
- foreach link $args {
- if {[llength $link] == 2} {
- lassign $link src dst
- } elseif {[llength $link] == 1} {
- lassign $link src
- set dst $src
- } else {
- return -code error -errorcode {TCL OO CMDLINK_FORMAT} \
- "bad link description; must only have one or two elements"
- }
- if {![string match ::* $src]} {
- set src [string cat $ns :: $src]
- }
- interp alias {} $src {} ${ns}::my $dst
- trace add command ${ns}::my delete [list \
- ::oo::UnlinkLinkedCommand $src]
- }
- return
- }
- }
-
- # ----------------------------------------------------------------------
- #
- # UnlinkLinkedCommand --
- #
- # Callback used to remove linked command when the underlying mechanism
- # that supports it is deleted.
- #
- # ----------------------------------------------------------------------
-
- proc UnlinkLinkedCommand {cmd args} {
- if {[namespace which $cmd] ne {}} {
- rename $cmd {}
- }
- }
-
- # ----------------------------------------------------------------------
- #
- # DelegateName --
- #
- # Utility that gets the name of the class delegate for a class. It's
- # trivial, but makes working with them much easier as delegate names are
- # intentionally hard to create by accident.
- #
- # ----------------------------------------------------------------------
-
- proc DelegateName {class} {
- string cat [info object namespace $class] {:: oo ::delegate}
- }
-
- # ----------------------------------------------------------------------
- #
- # MixinClassDelegates --
- #
- # Support code called *after* [oo::define] inside the constructor of a
- # class that patches in the appropriate class delegates.
- #
- # ----------------------------------------------------------------------
-
- proc MixinClassDelegates {class} {
- if {![info object isa class $class]} {
- return
- }
- set delegate [DelegateName $class]
- if {![info object isa class $delegate]} {
- return
- }
- foreach c [info class superclass $class] {
- set d [DelegateName $c]
- if {![info object isa class $d]} {
- continue
- }
- define $delegate ::oo::define::superclass -appendifnew $d
- }
- objdefine $class ::oo::objdefine::mixin -appendifnew $delegate
- }
-
- # ----------------------------------------------------------------------
- #
- # UpdateClassDelegatesAfterClone --
- #
- # Support code that is like [MixinClassDelegates] except for when a
- # class is cloned.
- #
- # ----------------------------------------------------------------------
-
- proc UpdateClassDelegatesAfterClone {originObject targetObject} {
- # Rebuild the class inheritance delegation class
- set originDelegate [DelegateName $originObject]
- set targetDelegate [DelegateName $targetObject]
- if {
- [info object isa class $originDelegate]
- && ![info object isa class $targetDelegate]
- } then {
- copy $originDelegate $targetDelegate
- objdefine $targetObject ::oo::objdefine::mixin -set \
- {*}[lmap c [info object mixin $targetObject] {
- if {$c eq $originDelegate} {set targetDelegate} {set c}
- }]
- }
- }
-
- # ----------------------------------------------------------------------
- #
- # oo::define::classmethod --
- #
- # Defines a class method. See define(n) for details.
- #
- # Note that the ::oo::define namespace is semi-public and a bit weird
- # anyway, so we don't regard the namespace path as being under control:
- # fully qualified names are used for everything.
- #
- # ----------------------------------------------------------------------
-
- proc define::classmethod {name args} {
- # Create the method on the class if the caller gave arguments and body
- ::set argc [::llength [::info level 0]]
- ::if {$argc == 3} {
- ::return -code error -errorcode {TCL WRONGARGS} [::format \
- {wrong # args: should be "%s name ?args body?"} \
- [::lindex [::info level 0] 0]]
- }
- ::set cls [::uplevel 1 self]
- ::if {$argc == 4} {
- ::oo::define [::oo::DelegateName $cls] method $name {*}$args
- }
- # Make the connection by forwarding
- ::tailcall forward $name myclass $name
- }
-
- # ----------------------------------------------------------------------
- #
- # oo::define::initialise, oo::define::initialize --
- #
- # Do specific initialisation for a class. See define(n) for details.
- #
- # Note that the ::oo::define namespace is semi-public and a bit weird
- # anyway, so we don't regard the namespace path as being under control:
- # fully qualified names are used for everything.
- #
- # ----------------------------------------------------------------------
-
- proc define::initialise {body} {
- ::set clsns [::info object namespace [::uplevel 1 self]]
- ::tailcall apply [::list {} $body $clsns]
- }
-
- # Make the [initialise] definition appear as [initialize] too
- namespace eval define {
- ::namespace export initialise
- ::namespace eval tmp {::namespace import ::oo::define::initialise}
- ::namespace export -clear
- ::rename tmp::initialise initialize
- ::namespace delete tmp
- }
-
- # ----------------------------------------------------------------------
- #
- # Slot --
- #
- # The class of slot operations, which are basically lists at the low
- # level of TclOO; this provides a more consistent interface to them.
- #
- # ----------------------------------------------------------------------
-
- define Slot {
- # ------------------------------------------------------------------
- #
- # Slot Get --
- #
- # Basic slot getter. Retrieves the contents of the slot.
- # Particular slots must provide concrete non-erroring
- # implementation.
- #
- # ------------------------------------------------------------------
-
- method Get -unexport {} {
- return -code error -errorcode {TCL OO ABSTRACT_SLOT} "unimplemented"
- }
-
- # ------------------------------------------------------------------
- #
- # Slot Set --
- #
- # Basic slot setter. Sets the contents of the slot. Particular
- # slots must provide concrete non-erroring implementation.
- #
- # ------------------------------------------------------------------
-
- method Set -unexport list {
- return -code error -errorcode {TCL OO ABSTRACT_SLOT} "unimplemented"
- }
-
- # ------------------------------------------------------------------
- #
- # Slot Resolve --
- #
- # Helper that lets a slot convert a list of arguments of a
- # particular type to their canonical forms. Defaults to doing
- # nothing (suitable for simple strings).
- #
- # ------------------------------------------------------------------
-
- method Resolve -unexport list {
- return $list
- }
-
- # ------------------------------------------------------------------
- #
- # Slot -set, -append, -clear, --default-operation --
- #
- # Standard public slot operations. If a slot can't figure out
- # what method to call directly, it uses --default-operation.
- #
- # ------------------------------------------------------------------
-
- method -set -export args {
- set my [namespace which my]
- set args [lmap a $args {uplevel 1 [list $my Resolve $a]}]
- tailcall my Set $args
- }
- method -append -export args {
- set my [namespace which my]
- set args [lmap a $args {uplevel 1 [list $my Resolve $a]}]
- set current [uplevel 1 [list $my Get]]
- tailcall my Set [list {*}$current {*}$args]
- }
- method -appendifnew -export args {
- set my [namespace which my]
- set current [uplevel 1 [list $my Get]]
- foreach a $args {
- set a [uplevel 1 [list $my Resolve $a]]
- if {$a ni $current} {
- lappend current $a
- }
- }
- tailcall my Set $current
- }
- method -clear -export {} {tailcall my Set {}}
- method -prepend -export args {
- set my [namespace which my]
- set args [lmap a $args {uplevel 1 [list $my Resolve $a]}]
- set current [uplevel 1 [list $my Get]]
- tailcall my Set [list {*}$args {*}$current]
- }
- method -remove -export args {
- set my [namespace which my]
- set args [lmap a $args {uplevel 1 [list $my Resolve $a]}]
- set current [uplevel 1 [list $my Get]]
- tailcall my Set [lmap val $current {
- if {$val in $args} continue else {set val}
- }]
- }
-
- # Default handling
- forward --default-operation my -append
- method unknown -unexport {args} {
- set def --default-operation
- if {[llength $args] == 0} {
- tailcall my $def
- } elseif {![string match -* [lindex $args 0]]} {
- tailcall my $def {*}$args
- }
- next {*}$args
- }
-
- # Hide destroy
- unexport destroy
- }
-
- # Set the default operation differently for these slots
- objdefine define::superclass forward --default-operation my -set
- objdefine define::mixin forward --default-operation my -set
- objdefine objdefine::mixin forward --default-operation my -set
-
- # ----------------------------------------------------------------------
- #
- # oo::object <cloned> --
- #
- # Handler for cloning objects that clones basic bits (only!) of the
- # object's namespace. Non-procedures, traces, sub-namespaces, etc. need
- # more complex (and class-specific) handling.
- #
- # ----------------------------------------------------------------------
-
- define object method <cloned> -unexport {originObject} {
- # Copy over the procedures from the original namespace
- foreach p [info procs [info object namespace $originObject]::*] {
- set args [info args $p]
- set idx -1
- foreach a $args {
- if {[info default $p $a d]} {
- lset args [incr idx] [list $a $d]
- } else {
- lset args [incr idx] [list $a]
- }
- }
- set b [info body $p]
- set p [namespace tail $p]
- proc $p $args $b
- }
- # Copy over the variables from the original namespace
- foreach v [info vars [info object namespace $originObject]::*] {
- upvar 0 $v vOrigin
- namespace upvar [namespace current] [namespace tail $v] vNew
- if {[info exists vOrigin]} {
- if {[array exists vOrigin]} {
- array set vNew [array get vOrigin]
- } else {
- set vNew $vOrigin
- }
- }
- }
- # General commands, sub-namespaces and advancd variable config (traces,
- # etc) are *not* copied over. Classes that want that should do it
- # themselves.
- }
-
- # ----------------------------------------------------------------------
- #
- # oo::class <cloned> --
- #
- # Handler for cloning classes, which fixes up the delegates.
- #
- # ----------------------------------------------------------------------
-
- define class method <cloned> -unexport {originObject} {
- next $originObject
- # Rebuild the class inheritance delegation class
- ::oo::UpdateClassDelegatesAfterClone $originObject [self]
- }
-
- # ----------------------------------------------------------------------
- #
- # oo::singleton --
- #
- # A metaclass that is used to make classes that only permit one instance
- # of them to exist. See singleton(n).
- #
- # ----------------------------------------------------------------------
-
- class create singleton {
- superclass class
- variable object
- unexport create createWithNamespace
- method new args {
- if {![info exists object] || ![info object isa object $object]} {
- set object [next {*}$args]
- ::oo::objdefine $object {
- method destroy {} {
- ::return -code error -errorcode {TCL OO SINGLETON} \
- "may not destroy a singleton object"
- }
- method <cloned> -unexport {originObject} {
- ::return -code error -errorcode {TCL OO SINGLETON} \
- "may not clone a singleton object"
- }
- }
- }
- return $object
- }
- }
-
- # ----------------------------------------------------------------------
- #
- # oo::abstract --
- #
- # A metaclass that is used to make classes that can't be directly
- # instantiated. See abstract(n).
- #
- # ----------------------------------------------------------------------
-
- class create abstract {
- superclass class
- unexport create createWithNamespace new
- }
-
- # ----------------------------------------------------------------------
- #
- # oo::configuresupport --
- #
- # Namespace that holds all the implementation details of TIP #558.
- # Also includes the commands:
- #
- # * readableproperties
- # * writableproperties
- # * objreadableproperties
- # * objwritableproperties
- #
- # Those are all slot implementations that provide access to the C layer
- # of property support (i.e., very fast cached lookup of property names).
- #
- # ----------------------------------------------------------------------
-
- ::namespace eval configuresupport {
- namespace path ::tcl
-
- # ------------------------------------------------------------------
- #
- # oo::configuresupport --
- #
- # A metaclass that is used to make classes that can be configured.
- #
- # ------------------------------------------------------------------
-
- proc PropertyImpl {readslot writeslot args} {
- for {set i 0} {$i < [llength $args]} {incr i} {
- # Parse the property name
- set prop [lindex $args $i]
- if {[string match "-*" $prop]} {
- return -code error -level 2 \
- -errorcode {TCL OO PROPERTY_FORMAT} \
- "bad property name \"$prop\": must not begin with -"
- }
- if {$prop ne [list $prop]} {
- return -code error -level 2 \
- -errorcode {TCL OO PROPERTY_FORMAT} \
- "bad property name \"$prop\": must be a simple word"
- }
- if {[string first "::" $prop] != -1} {
- return -code error -level 2 \
- -errorcode {TCL OO PROPERTY_FORMAT} \
- "bad property name \"$prop\": must not contain namespace separators"
- }
- if {[string match {*[()]*} $prop]} {
- return -code error -level 2 \
- -errorcode {TCL OO PROPERTY_FORMAT} \
- "bad property name \"$prop\": must not contain parentheses"
- }
- set realprop [string cat "-" $prop]
- set getter [format {::set [my varname %s]} $prop]
- set setter [format {::set [my varname %s] $value} $prop]
- set kind readwrite
-
- # Parse the extra options
- while {[set next [lindex $args [expr {$i + 1}]]
- string match "-*" $next]} {
- set arg [lindex $args [incr i 2]]
- switch [prefix match -error [list -level 2 -errorcode \
- [list TCL LOOKUP INDEX option $next]] {-get -kind -set} $next] {
- -get {
- if {$i >= [llength $args]} {
- return -code error -level 2 \
- -errorcode {TCL WRONGARGS} \
- "missing body to go with -get option"
- }
- set getter $arg
- }
- -set {
- if {$i >= [llength $args]} {
- return -code error -level 2 \
- -errorcode {TCL WRONGARGS} \
- "missing body to go with -set option"
- }
- set setter $arg
- }
- -kind {
- if {$i >= [llength $args]} {
- return -code error -level 2\
- -errorcode {TCL WRONGARGS} \
- "missing kind value to go with -kind option"
- }
- set kind [prefix match -message "kind" -error [list \
- -level 2 \
- -errorcode [list TCL LOOKUP INDEX kind $arg]] {
- readable readwrite writable
- } $arg]
- }
- }
- }
-
- # Install the option
- set reader <ReadProp$realprop>
- set writer <WriteProp$realprop>
- switch $kind {
- readable {
- uplevel 2 [list $readslot -append $realprop]
- uplevel 2 [list $writeslot -remove $realprop]
- uplevel 2 [list method $reader -unexport {} $getter]
- }
- writable {
- uplevel 2 [list $readslot -remove $realprop]
- uplevel 2 [list $writeslot -append $realprop]
- uplevel 2 [list method $writer -unexport {value} $setter]
- }
- readwrite {
- uplevel 2 [list $readslot -append $realprop]
- uplevel 2 [list $writeslot -append $realprop]
- uplevel 2 [list method $reader -unexport {} $getter]
- uplevel 2 [list method $writer -unexport {value} $setter]
- }
- }
- }
- }
-
- # ------------------------------------------------------------------
- #
- # oo::configuresupport::configurableclass,
- # oo::configuresupport::configurableobject --
- #
- # Namespaces used as implementation vectors for oo::define and
- # oo::objdefine when the class/instance is configurable.
- #
- # ------------------------------------------------------------------
-
- namespace eval configurableclass {
- ::proc property args {
- ::oo::configuresupport::PropertyImpl \
- ::oo::configuresupport::readableproperties \
- ::oo::configuresupport::writableproperties {*}$args
- }
- # Plural alias just in case; deliberately NOT documented!
- ::proc properties args {::tailcall property {*}$args}
- ::namespace path ::oo::define
- ::namespace export property
- }
-
- namespace eval configurableobject {
- ::proc property args {
- ::oo::configuresupport::PropertyImpl \
- ::oo::configuresupport::objreadableproperties \
- ::oo::configuresupport::objwritableproperties {*}$args
- }
- # Plural alias just in case; deliberately NOT documented!
- ::proc properties args {::tailcall property {*}$args}
- ::namespace path ::oo::objdefine
- ::namespace export property
- }
-
- # ------------------------------------------------------------------
- #
- # oo::configuresupport::ReadAll --
- #
- # The implementation of [$o configure] with no extra arguments.
- #
- # ------------------------------------------------------------------
-
- proc ReadAll {object my} {
- set result {}
- foreach prop [info object properties $object -all -readable] {
- try {
- dict set result $prop [$my <ReadProp$prop>]
- } on error {msg opt} {
- dict set opt -level 2
- return -options $opt $msg
- } on return {msg opt} {
- dict incr opt -level 2
- return -options $opt $msg
- } on break {} {
- return -code error -level 2 -errorcode {TCL OO SHENANIGANS} \
- "property getter for $prop did a break"
- } on continue {} {
- return -code error -level 2 -errorcode {TCL OO SHENANIGANS} \
- "property getter for $prop did a continue"
- }
- }
- return $result
- }
-
- # ------------------------------------------------------------------
- #
- # oo::configuresupport::ReadOne --
- #
- # The implementation of [$o configure -prop] with that single
- # extra argument.
- #
- # ------------------------------------------------------------------
-
- proc ReadOne {object my propertyName} {
- set props [info object properties $object -all -readable]
- try {
- set prop [prefix match -message "property" $props $propertyName]
- } on error {msg} {
- catch {
- set wps [info object properties $object -all -writable]
- set wprop [prefix match $wps $propertyName]
- set msg "property \"$wprop\" is write only"
- }
- return -code error -level 2 -errorcode [list \
- TCL LOOKUP INDEX property $propertyName] $msg
- }
- try {
- set value [$my <ReadProp$prop>]
- } on error {msg opt} {
- dict set opt -level 2
- return -options $opt $msg
- } on return {msg opt} {
- dict incr opt -level 2
- return -options $opt $msg
- } on break {} {
- return -code error -level 2 -errorcode {TCL OO SHENANIGANS} \
- "property getter for $prop did a break"
- } on continue {} {
- return -code error -level 2 -errorcode {TCL OO SHENANIGANS} \
- "property getter for $prop did a continue"
- }
- return $value
- }
-
- # ------------------------------------------------------------------
- #
- # oo::configuresupport::WriteMany --
- #
- # The implementation of [$o configure -prop val ?-prop val...?].
- #
- # ------------------------------------------------------------------
-
- proc WriteMany {object my setterMap} {
- set props [info object properties $object -all -writable]
- foreach {prop value} $setterMap {
- try {
- set prop [prefix match -message "property" $props $prop]
- } on error {msg} {
- catch {
- set rps [info object properties $object -all -readable]
- set rprop [prefix match $rps $prop]
- set msg "property \"$rprop\" is read only"
- }
- return -code error -level 2 -errorcode [list \
- TCL LOOKUP INDEX property $prop] $msg
- }
- try {
- $my <WriteProp$prop> $value
- } on error {msg opt} {
- dict set opt -level 2
- return -options $opt $msg
- } on return {msg opt} {
- dict incr opt -level 2
- return -options $opt $msg
- } on break {} {
- return -code error -level 2 -errorcode {TCL OO SHENANIGANS} \
- "property setter for $prop did a break"
- } on continue {} {
- return -code error -level 2 -errorcode {TCL OO SHENANIGANS} \
- "property setter for $prop did a continue"
- }
- }
- return
- }
-
- # ------------------------------------------------------------------
- #
- # oo::configuresupport::configurable --
- #
- # The class that contains the implementation of the actual
- # 'configure' method (mixed into actually configurable classes).
- # Great care needs to be taken in these methods as they are
- # potentially used in classes where the current namespace is set
- # up very strangely.
- #
- # ------------------------------------------------------------------
-
- ::oo::class create configurable {
- private variable my
- #
- # configure --
- # Method for providing client access to the property mechanism.
- # Has a user-facing API similar to that of [chan configure].
- #
- method configure -export args {
- ::if {![::info exists my]} {
- ::set my [::namespace which my]
- }
- ::if {[::llength $args] == 0} {
- # Read all properties
- ::oo::configuresupport::ReadAll [self] $my
- } elseif {[::llength $args] == 1} {
- # Read a single property
- ::oo::configuresupport::ReadOne [self] $my \
- [::lindex $args 0]
- } elseif {[::llength $args] % 2 == 0} {
- # Set properties, one or several
- ::oo::configuresupport::WriteMany [self] $my $args
- } else {
- # Invalid call
- ::return -code error -errorcode {TCL WRONGARGS} \
- [::format {wrong # args: should be "%s"} \
- "[self] configure ?-option value ...?"]
- }
- }
-
- definitionnamespace -instance configurableobject
- definitionnamespace -class configurableclass
- }
- }
-
- # ----------------------------------------------------------------------
- #
- # oo::configurable --
- #
- # A metaclass that is used to make classes that can be configured in
- # their creation phase (and later too). All the metaclass itself does is
- # arrange for the class created to have a 'configure' method and for
- # oo::define and oo::objdefine (on the class and its instances) to have
- # a property definition for setting things up for 'configure'.
- #
- # ----------------------------------------------------------------------
-
- class create configurable {
- superclass class
-
- constructor {{definitionScript ""}} {
- next {mixin ::oo::configuresupport::configurable}
- next $definitionScript
- }
-
- definitionnamespace -class configuresupport::configurableclass
- }
-}
-
-# Local Variables:
-# mode: tcl
-# c-basic-offset: 4
-# fill-column: 78
-# End:
diff --git a/tools/tclSplash.bmp b/tools/tclSplash.bmp
new file mode 100644
index 0000000..db8a17e
--- /dev/null
+++ b/tools/tclSplash.bmp
Binary files differ
diff --git a/tools/tclZIC.tcl b/tools/tclZIC.tcl
index b3dd667..1b19d82 100755
--- a/tools/tclZIC.tcl
+++ b/tools/tclZIC.tcl
@@ -3,14 +3,14 @@
# tclZIC.tcl --
#
# Take the time zone data source files from Arthur Olson's
-# repository at https://www.iana.org/time-zones, and prepare time zone
+# repository at elsie.nci.nih.gov, and prepare time zone
# information files for Tcl.
#
# Usage:
# tclsh tclZIC.tcl inputDir outputDir
#
# Parameters:
-# inputDir - Directory (e.g., tzdata2022a) where Olson's source
+# inputDir - Directory (e.g., tzdata2003e) where Olson's source
# files are to be found.
# outputDir - Directory (e.g., ../library/tzdata) where
# the time zone information files are to be placed.
@@ -25,18 +25,20 @@
#
#----------------------------------------------------------------------
#
-# Copyright © 2004 Kevin B. Kenny. All rights reserved.
+# Copyright (c) 2004 by Kevin B. Kenny. All rights reserved.
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#----------------------------------------------------------------------
+package require Tcl 8.5
+
# Define the names of the Olson files that we need to load.
# We avoid the solar time files and the leap seconds.
set olsonFiles {
africa antarctica asia australasia
backward etcetera europe northamerica
- southamerica
+ pacificnew southamerica systemv
}
# Define the year at which the DST information will stop.
@@ -356,7 +358,7 @@ proc parseON {on} {
# third possibility - lastWeekday - field 5
last([[:alpha:]]+)
)$
- } $on -> dom1 wday2 dir2 num2 wday3]} {
+ } $on -> dom1 wday2 dir2 num2 wday3]} then {
error "can't parse ON field \"$on\""
}
if {$dom1 ne ""} {
@@ -507,7 +509,7 @@ proc parseTOD {tod} {
(?:
([wsugz]) # field 4 - type indicator
)?
- } $tod -> hour minute second ind]} {
+ } $tod -> hour minute second ind]} then {
puts stderr "$fileName:$lno:can't parse time field \"$tod\""
incr errorCount
}
@@ -556,7 +558,7 @@ proc parseOffsetTime {offset} {
:([[:digit:]]{2}) # field 4 - second
)?
)?
- } $offset -> signum hour minute second]} {
+ } $offset -> signum hour minute second]} then {
puts stderr "$fileName:$lno:can't parse offset time \"$offset\""
incr errorCount
}
@@ -938,7 +940,7 @@ proc applyRules {ruleSet year startSecs stdGMTOffset DSTOffset nextGMTOffset
if {
$earliestSecs > $startSecs &&
($until eq "" || $earliestSecs < $untilSecs)
- } {
+ } then {
# Test if the initial transition has been done.
# If not, do it now.
@@ -987,7 +989,7 @@ proc applyRules {ruleSet year startSecs stdGMTOffset DSTOffset nextGMTOffset
set date [::tcl::clock::GetJulianDayFromEraYearMonthDay \
[dict create era CE year $year month 1 dayOfMonth 1] 2361222]
set startSecs [expr {
- [dict get $date julianDay] * wide(86400) - 210866803200
+ [dict get $date julianDay] * wide(86400) - 210866803200
- $stdGMTOffset - $DSTOffset
}]
@@ -1263,7 +1265,7 @@ proc writeZones {outDir} {
# Write the data to the information file
set f [open $fileName w]
- fconfigure $f -translation lf -encoding utf-8
+ fconfigure $f -translation lf
puts $f "\# created by $::argv0 - do not edit"
puts $f ""
puts $f [list set TZData(:$zoneName) $data]
@@ -1316,7 +1318,7 @@ proc writeLinks {outDir} {
# Write the file
set f [open $fileName w]
- fconfigure $f -translation lf -encoding utf-8
+ fconfigure $f -translation lf
puts $f "\# created by $::argv0 - do not edit"
puts $f $ifCmd
puts $f $setCmd
diff --git a/tools/tclmin.wse b/tools/tclmin.wse
new file mode 100644
index 0000000..2fd8185
--- /dev/null
+++ b/tools/tclmin.wse
@@ -0,0 +1,247 @@
+Document Type: WSE
+item: Global
+ Version=5.0
+ Flags=00000100
+ Split=1420
+ Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ Japanese Font Name=MS Gothic
+ Japanese Font Size=10
+ Start Gradient=0 0 255
+ End Gradient=0 0 0
+ Windows Flags=00000000000000010010110000001000
+ Message Font=MS Sans Serif
+ Font Size=8
+ Disk Filename=SETUP
+ Patch Flags=0000000000000001
+ Patch Threshold=85
+ Patch Memory=4000
+end
+item: Remark
+ Text=-------
+end
+item: Remark
+ Text=Tcl 8.0 Minimal Installation
+end
+item: Remark
+ Text=-------
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\opt0.4\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\opt0.4\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\opt0.4\optparse.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\opt0.4\optparse.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\http\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\http2.4\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\http\http.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\http2.4\http.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\safe.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\safe.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\history.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\history.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\msgbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\msgbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\optMenu.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\optMenu.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\clrpick.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\clrpick.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\entry.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\entry.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\comdlg.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\comdlg.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\bgerror.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\bgerror.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\obsolete.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\obsolete.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\button.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\button.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\xmfbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\xmfbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\console.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\console.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\listbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\listbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\menu.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\menu.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\dialog.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\dialog.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\focus.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\focus.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\palette.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\palette.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\tkfbox.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\tkfbox.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\tk.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\tk.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\text.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\text.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\tearoff.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\tearoff.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\tclIndex
+ Destination=%MAINDIR%\lib\tk%VER%\tclIndex
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\scrlbar.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\scrlbar.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\scale.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\scale.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\library\safetk.tcl
+ Destination=%MAINDIR%\lib\tk%VER%\safetk.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\http1.0\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\http1.0\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\http1.0\http.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\http1.0\http.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\win\pkgIndex.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\reg1.0\pkgIndex.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\win\tclreg80.dll
+ Destination=%MAINDIR%\lib\tcl%VER%\reg1.0\tclreg80.dll
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\win\Tcl1680.dll
+ Destination=%SYS32%\Tcl1680.dll
+ Flags=0000001000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\win\tcl80.dll
+ Destination=%SYS32%\tcl80.dll
+ Flags=0000001000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\win\tclpip80.dll
+ Destination=%SYS32%\tclpip80.dll
+ Flags=0000001000000010
+end
+item: Install File
+ Source=n:\dist\Bc45\Bin\cw3215.dll
+ Destination=%SYS32%\cw3215.dll
+ Flags=0000001000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\win\tk80.dll
+ Destination=%SYS32%\tk80.dll
+ Flags=0000001000000010
+end
+item: Install File
+ Source=n:\dist\tk8.0\win\wish80.exe
+ Destination=%MAINDIR%\bin\wish80.exe
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\win\tclsh80.exe
+ Destination=%MAINDIR%\bin\tclsh80.exe
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\tclIndex
+ Destination=%MAINDIR%\lib\tcl%VER%\tclIndex
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\init.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\init.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\parray.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\parray.tcl
+ Flags=0000000000000010
+end
+item: Install File
+ Source=n:\dist\tcl8.0\library\word.tcl
+ Destination=%MAINDIR%\lib\tcl%VER%\word.tcl
+ Flags=0000000000000010
+end
diff --git a/tools/tclsh.svg b/tools/tclsh.svg
deleted file mode 100644
index 34d45a4..0000000
--- a/tools/tclsh.svg
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="256"
- height="256"
- id="svg2309"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:modified="true"
- version="1.0"
- sodipodi:docname="tcl.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- inkscape:export-filename="tcl.png"
- inkscape:export-xdpi="8.4399996"
- inkscape:export-ydpi="8.4399996">
- <defs
- id="defs2311" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- gridtolerance="10000"
- guidetolerance="10"
- objecttolerance="10"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.8096812"
- inkscape:cx="110.83011"
- inkscape:cy="132.34375"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- inkscape:window-width="993"
- inkscape:window-height="669"
- inkscape:window-x="5"
- inkscape:window-y="49"
- showgrid="false" />
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(-311.79308,-365.73272)">
- <g
- id="g2392"
- transform="matrix(0.9671783,0,0,0.9671783,10.08245,12.003966)">
- <path
- id="path4426"
- d="M 499.58925,374.01397 C 499.97085,397.34606 499.27848,420.4264 479.08925,442.35772 L 478.33925,443.20147 L 479.46425,443.20147 L 487.71425,443.32647 C 474.30875,471.21288 465.58677,499.02017 446.308,526.79522 L 445.6205,527.79522 L 446.808,527.57647 L 456.9955,525.63897 C 449.7786,543.94928 437.43792,556.07176 424.058,560.13897 C 420.3754,508.57034 446.11026,463.05191 467.96425,417.67022 C 467.98435,417.62848 468.00666,417.58696 468.02675,417.54522 L 467.21425,416.98272 C 431.42858,456.99623 415.30305,513.43153 409.21425,559.98272 C 397.08579,553.13549 393.04346,544.06962 388.933,531.73272 L 397.40175,535.29522 L 398.27675,535.67022 L 398.08925,534.73272 C 391.65291,506.11299 401.64573,485.57026 411.33925,458.57647 L 418.308,463.23272 L 419.1205,463.79522 L 419.08925,462.82647 C 418.54325,440.89528 433.31028,418.87866 452.90175,399.23272 L 455.6205,406.51397 L 455.9955,407.48272 L 456.52675,406.57647 L 462.4955,396.63897 L 462.52675,396.57647 C 472.37862,383.00695 482.79421,378.58965 499.58925,374.01397 z"
- style="opacity:1;fill:#3465a4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
- <path
- sodipodi:nodetypes="ccccccccccccccccccccccc"
- id="path7600"
- d="M 499.59927,374.00103 C 482.86154,378.56724 472.31963,383.0333 462.48689,396.57647 L 462.45564,396.63897 L 456.48689,406.57647 L 455.95564,407.48272 L 455.58064,406.51397 L 452.86189,399.23272 C 433.27042,418.87866 418.50339,440.89528 419.04939,462.82647 L 419.08064,463.79522 L 418.26814,463.23272 L 411.29939,458.57647 C 401.60587,485.57026 391.61305,506.11299 398.04939,534.73272 L 398.23689,535.67022 L 397.36189,535.29522 L 388.98689,531.76397 C 389.01386,531.93545 389.0525,532.09443 389.08064,532.26397 C 393.12974,544.32172 397.22634,553.23735 409.17439,559.98272 C 409.64601,556.37703 410.17162,552.69478 410.76814,548.98272 C 396.17755,514.81858 408.84232,489.70162 414.61189,467.10772 L 423.48689,472.23272 C 422.26097,451.07724 434.68113,428.26233 450.83064,408.35772 L 455.51814,416.60772 C 467.52689,391.90688 477.02451,381.99197 499.59927,374.00103 z"
- style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#eff1cb;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
- <path
- style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
- d="M 505.90485,365.73272 L 505.3736,365.82647 C 485.689,369.25998 466.41815,376.49266 457.96735,393.79522 L 454.40485,387.57647 L 454.09235,387.01397 L 453.6236,387.48272 C 443.92989,396.7586 433.52309,408.77328 425.84235,420.57647 C 418.63263,431.65584 413.85062,442.49956 414.3736,450.79522 L 409.34235,444.51397 L 408.84235,443.88897 L 408.4986,444.60772 C 402.37467,457.83671 396.19429,474.11179 392.4986,489.04522 C 388.9946,503.20407 387.73979,516.09228 390.9986,524.20147 L 382.71735,519.38897 L 382.02985,518.98272 L 381.96735,519.79522 C 380.40824,543.41224 390.00555,554.68855 401.02985,565.57647 L 391.84235,567.85772 L 389.9986,568.32647 L 391.84235,568.82647 C 397.11688,570.2558 402.11758,571.86507 405.59235,574.54522 C 409.06712,577.22537 411.06333,580.91104 410.46735,586.79522 L 410.46735,586.82647 L 410.46735,612.32647 L 410.46735,612.48272 L 410.5611,612.60772 L 422.0611,629.10772 L 422.96735,630.42022 L 422.96735,628.82647 L 422.96735,589.95147 C 424.48916,583.40757 426.27542,578.90352 428.84235,575.92022 C 431.40928,572.93692 434.74946,571.40505 439.52985,570.82647 L 441.2486,570.60772 L 439.6861,569.88897 L 433.6236,567.01397 C 448.07909,558.31023 464.26865,536.97467 468.52985,516.70147 L 468.71735,515.88897 L 467.9361,516.10772 L 460.4361,518.13897 C 467.09909,511.88271 473.81127,499.48743 480.1861,485.04522 C 486.94715,469.72802 493.25982,452.38054 498.4361,438.51397 L 498.71735,437.76397 L 497.9361,437.82647 L 492.15485,438.23272 C 499.30195,430.64691 503.27438,418.11982 505.21735,404.88897 C 507.23962,391.11815 507.0977,376.61792 505.96735,366.26397 L 505.90485,365.73272 z M 500.46735,374.01397 C 500.84895,397.34606 500.15658,420.4264 479.96735,442.35772 L 479.21735,443.20147 L 480.34235,443.20147 L 488.59235,443.32647 C 475.18685,471.21288 466.46487,499.02017 447.1861,526.79522 L 446.4986,527.79522 L 447.6861,527.57647 L 457.8736,525.63897 C 450.6567,543.94928 438.31602,556.07176 424.9361,560.13897 C 421.2535,508.57034 446.98836,463.05191 468.84235,417.67022 C 468.86245,417.62848 468.88476,417.58696 468.90485,417.54522 L 468.09235,416.98272 C 432.30668,456.99623 416.18115,513.43153 410.09235,559.98272 C 397.96389,553.13549 393.92156,544.06962 389.8111,531.73272 L 398.27985,535.29522 L 399.15485,535.67022 L 398.96735,534.73272 C 392.53101,506.11299 402.52383,485.57026 412.21735,458.57647 L 419.1861,463.23272 L 419.9986,463.79522 L 419.96735,462.82647 C 419.42135,440.89528 434.18838,418.87866 453.77985,399.23272 L 456.4986,406.51397 L 456.8736,407.48272 L 457.40485,406.57647 L 463.3736,396.63897 L 463.40485,396.57647 C 473.25672,383.00695 483.67231,378.58965 500.46735,374.01397 z"
- id="path2177" />
- </g>
- </g>
-</svg>
diff --git a/tools/tcltk-man2html-utils.tcl b/tools/tcltk-man2html-utils.tcl
deleted file mode 100644
index c658d71..0000000
--- a/tools/tcltk-man2html-utils.tcl
+++ /dev/null
@@ -1,1704 +0,0 @@
-##
-## Utility functions for Man->HTML converter. Note that these
-## functions are specifically intended to work with the format as used
-## by Tcl and Tk; they do not cope with arbitrary nroff markup.
-##
-## Copyright © 1995-1997 Roger E. Critchlow Jr
-## Copyright © 2004-2011 Donal K. Fellows
-
-set ::manual(report-level) 1
-
-proc manerror {msg} {
- global manual
- set name {}
- set subj {}
- set procname [lindex [info level -1] 0]
- if {[info exists manual(name)]} {
- set name $manual(name)
- }
- if {[info exists manual(section)] && [string length $manual(section)]} {
- puts stderr "$name: $manual(section): $procname: $msg"
- } else {
- puts stderr "$name: $procname: $msg"
- }
-}
-
-proc manreport {level msg} {
- global manual
- if {$level < $manual(report-level)} {
- uplevel 1 [list manerror $msg]
- }
-}
-
-proc fatal {msg} {
- global manual
- uplevel 1 [list manerror $msg]
- exit 1
-}
-
-##
-## templating
-##
-proc indexfile {} {
- if {[info exists ::TARGET] && $::TARGET eq "devsite"} {
- return "index.tml"
- } else {
- return "index.html"
- }
-}
-
-proc copyright {copyright {level {}}} {
- # We don't actually generate a separate copyright page anymore
- #set page "${level}copyright.html"
- #return "<a href=\"$page\">Copyright</a> &copy; [htmlize-text [lrange $copyright 2 end]]"
- # obfuscate any email addresses that may appear in name
- set who [string map {@ (at)} [lrange $copyright 2 end]]
- return "Copyright &copy; [htmlize-text $who]"
-}
-
-proc copyout {copyrights {level {}}} {
- set count 0
- set out "<div class=\"copy\">"
- foreach c $copyrights {
- if {$count > 0} {
- append out <br>
- }
- append out "[copyright $c $level]\n"
- incr count
- }
- append out "</div>"
- return $out
-}
-
-proc CSS {{level ""}} {
- return "<link rel=\"stylesheet\" href=\"${level}$::CSSFILE\" type=\"text/css\" media=\"all\">\n"
-}
-
-proc htmlhead {title header args} {
- set level ""
- if {[lindex $args end] eq "../[indexfile]"} {
- # XXX hack - assume same level for CSS file
- set level "../"
- }
- set out "<!DOCTYPE html>\n<html lang=\"en\">\n<head><meta charset=\"utf-8\"><title>$title</title>\n[CSS $level]</head>\n"
- foreach {uptitle url} $args {
- set header "<a href=\"$url\">$uptitle</a> <small>&gt;</small> $header"
- }
- append out "<body><h2>$header</h2>"
- global manual
- if {[info exists manual(subheader)]} {
- set subs {}
- foreach {name subdir} $manual(subheader) {
- if {$name eq $title} {
- lappend subs $name
- } else {
- lappend subs "<a href=\"${level}$subdir/[indexfile]\">$name</a>"
- }
- }
- append out "\n<h3>[join $subs { | }]</h3>"
- }
- return $out
-}
-
-##
-## parsing
-##
-proc unquote arg {
- return [string map [list \" {}] $arg]
-}
-
-proc parse-directive {line codename restname} {
- upvar 1 $codename code $restname rest
- return [regexp {^(\.[.a-zA-Z0-9]*) *(.*)} $line all code rest]
-}
-
-proc nospace-text {text} {
- return [regsub -all " " $text _]
-}
-
-proc htmlize-text {text {charmap {}}} {
- # contains some extras for use in nroff->html processing
- # build on the list passed in, if any
- lappend charmap \
- "&ndash;" "&ndash;" \
- {&} {&amp;} \
- {\\} "&#92;" \
- {\e} "&#92;" \
- {\ } {&nbsp;} \
- {\|} {&nbsp;} \
- {\0} { } \
- \" {&quot;} \
- {<} {&lt;} \
- {>} {&gt;} \
- \u201C "&ldquo;" \
- \u201D "&rdquo;"
-
- return [string map $charmap $text]
-}
-
-proc process-text {text} {
- global manual
- # preprocess text; note that this is an incomplete map, and will probably
- # need to have things added to it as the manuals expand to use them.
- set charmap [list \
- {\&} "\t" \
- {\%} {} \
- "\\\n" "\n" \
- {\(r!} "&iexcl;" \
- {\(ct} "&cent;" \
- {\(Po} "&pound;" \
- {\(Cs} "&curren;" \
- {\(Ye} "&yen;" \
- {\(bb} "&brvbar;" \
- {\(sc} "&sect;" \
- {\(ad} "&die;" \
- {\(co} "&copy;" \
- {\(Of} "&ordf;" \
- {\(Fo} "&laquo;" \
- {\(no} "&not;" \
- {\(rg} "&reg;" \
- {\(a-} "&macr;" \
- {\(de} "&deg;" \
- {\(+-} "&plusmn;" \
- {\(S2} "&sup2;" \
- {\(S3} "&sup3;" \
- {\(aa} "&acute;" \
- {\(mc} "&micro;" \
- {\(ps} "&para;" \
- {\(pc} "&middot;" \
- {\(ac} "&cedil;" \
- {\(S1} "&sup1;" \
- {\(Om} "&ordm;" \
- {\(Fc} "&raquo;" \
- {\(14} "&frac14;" \
- {\(12} "&frac12;" \
- {\(34} "&frac34;" \
- {\(r?} "&iquest;" \
- {\(AE} "&AElig;" \
- {\(-D} "&ETH;" \
- {\(mu} "&times;" \
- {\(TP} "&THORN;" \
- {\(ss} "&szlig;" \
- {\(ae} "&aelig;" \
- {\(Sd} "&eth;" \
- {\(di} "&divide;" \
- {\(Tp} "&thorn;" \
- {\(em} "&mdash;" \
- {\(en} "&ndash;" \
- {\(fm} "&prime;" \
- {\(mi} "&minus;" \
- {\(.i} "&imath;" \
- {\(.j} "&jmath;" \
- {\(Fn} "&fnof;" \
- {\(OE} "&OElig;" \
- {\(oe} "&oelig;" \
- {\(IJ} "&IJlig;" \
- {\(ij} "&ijlig;" \
- {\(<-} "<font size=\"+1\">&larr;</font>" \
- {\(->} "<font size=\"+1\">&rarr;</font>" \
- {\(eu} "&euro;" \
- {\fP} {\fR} \
- {\.} . \
- {\(bu} "&bull;" \
- {\*(qo} "&ocirc;" \
- ]
- # This might make a few invalid mappings, but we don't use them
- foreach c {a c e g i l n o s t u y z A C E G I L N O S T U Y Z} {
- foreach {prefix suffix} {
- o ring / slash : uml ' acute ^ circ ` grave ~ tilde , cedil v caron
- } {
- lappend charmap "\\\[${prefix}${c}\]" "&${c}${suffix};"
- lappend charmap "\\(${prefix}${c}" "&${c}${suffix};"
- }
- }
- lappend charmap {\-\|\-} -- ; # two hyphens
- lappend charmap {\-} - ; # a hyphen
-
- set text [htmlize-text $text $charmap]
- # General quoted entity
- regsub -all {\\N'(\d+)'} $text "\\&#\\1;" text
- while {[string first "\\" $text] >= 0} {
- # C R
- if {[regsub {^([^\\]*)\\fC([^\\]*)\\fR(.*)$} $text \
- {\1<tt>\2</tt>\3} text]} continue
- # B R
- if {[regsub {^([^\\]*)\\fB([^\\]*)\\fR(.*)$} $text \
- {\1<b>\2</b>\3} text]} continue
- # B I
- if {[regsub {^([^\\]*)\\fB([^\\]*)\\fI(.*)$} $text \
- {\1<b>\2</b>\\fI\3} text]} continue
- # I R
- if {[regsub {^([^\\]*)\\fI([^\\]*)\\fR(.*)$} $text \
- {\1<i>\2</i>\3} text]} continue
- # I B
- if {[regsub {^([^\\]*)\\fI([^\\]*)\\fB(.*)$} $text \
- {\1<i>\2</i>\\fB\3} text]} continue
- # B B, I I, R R
- if {
- [regsub {^([^\\]*)\\fB([^\\]*)\\fB(.*)$} $text \
- {\1\\fB\2\3} ntext]
- || [regsub {^([^\\]*)\\fI([^\\]*)\\fI(.*)$} $text \
- {\1\\fI\2\3} ntext]
- || [regsub {^([^\\]*)\\fR([^\\]*)\\fR(.*)$} $text \
- {\1\\fR\2\3} ntext]
- } {
- manerror "impotent font change: $text"
- set text $ntext
- continue
- }
- # unrecognized
- manerror "uncaught backslash: $text"
- set text [string map [list "\\" "&#92;"] $text]
- }
- return $text
-}
-
-##
-## pass 2 text input and matching
-##
-proc open-text {} {
- global manual
- set manual(text-length) [llength $manual(text)]
- set manual(text-pointer) 0
-}
-
-proc more-text {} {
- global manual
- return [expr {$manual(text-pointer) < $manual(text-length)}]
-}
-
-proc next-text {} {
- global manual
- if {[more-text]} {
- set text [lindex $manual(text) $manual(text-pointer)]
- incr manual(text-pointer)
- return $text
- }
- manerror "read past end of text"
- error "fatal"
-}
-
-proc is-a-directive {line} {
- return [string match .* $line]
-}
-
-proc split-directive {line opname restname} {
- upvar 1 $opname op $restname rest
- set op [string range $line 0 2]
- set rest [string trim [string range $line 3 end]]
-}
-
-proc next-op-is {op restname} {
- global manual
- upvar 1 $restname rest
- if {[more-text]} {
- set text [lindex $manual(text) $manual(text-pointer)]
- if {[string equal -length 3 $text $op]} {
- set rest [string range $text 4 end]
- incr manual(text-pointer)
- return 1
- }
- }
- return 0
-}
-
-proc backup-text {n} {
- global manual
- if {$manual(text-pointer)-$n >= 0} {
- incr manual(text-pointer) -$n
- }
-}
-
-proc match-text args {
- global manual
- set nargs [llength $args]
- if {$manual(text-pointer) + $nargs > $manual(text-length)} {
- return 0
- }
- set nback 0
- foreach arg $args {
- if {![more-text]} {
- backup-text $nback
- return 0
- }
- set arg [string trim $arg]
- set targ [string trim [lindex $manual(text) $manual(text-pointer)]]
- if {$arg eq $targ} {
- incr nback
- incr manual(text-pointer)
- continue
- }
- if {[regexp {^@(\w+)$} $arg all name]} {
- upvar 1 $name var
- set var $targ
- incr nback
- incr manual(text-pointer)
- continue
- }
- if {[regexp -nocase {^(\.[A-Z][A-Z])@(\w+)$} $arg all op name]\
- && [string equal $op [lindex $targ 0]]} {
- upvar 1 $name var
- set var [lrange $targ 1 end]
- incr nback
- incr manual(text-pointer)
- continue
- }
- backup-text $nback
- return 0
- }
- return 1
-}
-
-proc expand-next-text {n} {
- global manual
- return [join [lrange $manual(text) $manual(text-pointer) \
- [expr {$manual(text-pointer)+$n-1}]] \n\n]
-}
-
-##
-## pass 2 output
-##
-proc man-puts {text} {
- global manual
- lappend manual(output-$manual(wing-file)-$manual(name)) $text
-}
-
-##
-## build hypertext links to tables of contents
-##
-proc long-toc {text} {
- global manual
- set here M[incr manual(section-toc-n)]
- set manual($manual(name)-id-$text) $here
- set there L[incr manual(long-toc-n)]
- lappend manual(section-toc) \
- "<dd><a href=\"$manual(name).html#$here\" name=\"[nospace-text $there]\" id=\"[nospace-text $there]\">$text</a>"
- return "<a name=\"[nospace-text $here]\" id=\"[nospace-text $here]\">$text</a>"
-}
-
-proc option-toc {name class switch} {
- global manual
- # Special case handling, oh we hate it but must do it
- if {[string match "*OPTIONS" $manual(section)]} {
- if {$manual(name) ne "ttk_widget" && ($manual(name) ne "ttk_entry" ||
- ![string match validate* $name])} {
- # link the defined option into the long table of contents
- set link [long-toc "$switch, $name, $class"]
- regsub -- "$switch, $name, $class" $link "$switch" link
- return $link
- }
- } elseif {"$manual(name):$manual(section)" ne "options:DESCRIPTION"} {
- error "option-toc in $manual(name) section $manual(section)"
- }
-
- # link the defined standard option to the long table of contents and make
- # a target for the standard option references from other man pages.
-
- set first [lindex $switch 0]
- set here M$first
- set there L[incr manual(long-toc-n)]
- set manual(standard-option-$manual(name)-$first) \
- "<a href=\"$manual(name).html#$here\">$switch, $name, $class</a>"
- lappend manual(section-toc) \
- "<dd><a href=\"$manual(name).html#$here\" name=\"[nospace-text $there]\" id=\"[nospace-text $there]\">$switch, $name, $class</a>"
- return "<a name=\"[nospace-text $here]\" id=\"[nospace-text $here]\">$switch</a>"
-}
-
-proc std-option-toc {name page} {
- global manual
- if {[info exists manual(standard-option-$page-$name)]} {
- lappend manual(section-toc) <dd>$manual(standard-option-$page-$name)
- return $manual(standard-option-$page-$name)
- }
- manerror "missing reference to \"$name\" in $page.n"
- set here M[incr manual(section-toc-n)]
- set there L[incr manual(long-toc-n)]
- set other M$name
- lappend manual(section-toc) "<dd><a href=\"$page.html#$other\">$name</a>"
- return "<a href=\"$page.html#$other\">$name</a>"
-}
-
-##
-## process the widget option section
-## in widget and options man pages
-##
-proc output-widget-options {rest} {
- global manual
- man-puts <dl>
- lappend manual(section-toc) <dl>
- backup-text 1
- set para {}
- while {[next-op-is .OP rest]} {
- switch -exact -- [llength $rest] {
- 3 {
- lassign $rest switch name class
- }
- 5 {
- set switch [lrange $rest 0 2]
- set name [lindex $rest 3]
- set class [lindex $rest 4]
- }
- default {
- fatal "bad .OP $rest"
- }
- }
- if {![regexp {^(<.>)([-\w ]+)(</.>)$} $switch \
- all oswitch switch cswitch]} {
- if {![regexp {^(<.>)([-\w ]+) or ([-\w ]+)(</.>)$} $switch \
- all oswitch switch1 switch2 cswitch]} {
- error "not Switch: $switch"
- }
- set switch "$switch1$cswitch or $oswitch$switch2"
- }
- if {![regexp {^(<.>)([\w]*)(</.>)$} $name all oname name cname]} {
- error "not Name: $name"
- }
- if {![regexp {^(<.>)([\w]*)(</.>)$} $class all oclass class cclass]} {
- error "not Class: $class"
- }
- man-puts "$para<dt>Command-Line Name: $oswitch[option-toc $name $class $switch]$cswitch"
- man-puts "<dt>Database Name: $oname$name$cname"
- man-puts "<dt>Database Class: $oclass$class$cclass"
- man-puts <dd>[next-text]
- set para <p>
-
- if {[next-op-is .RS rest]} {
- while {[more-text]} {
- set line [next-text]
- if {[is-a-directive $line]} {
- split-directive $line code rest
- switch -exact -- $code {
- .RE {
- break
- }
- .SH - .SS {
- manerror "unbalanced .RS at section end"
- backup-text 1
- break
- }
- default {
- output-directive $line
- }
- }
- } else {
- man-puts $line
- }
- }
- }
- }
- man-puts </dl>
- lappend manual(section-toc) </dl>
-}
-
-##
-## process .RS lists
-##
-proc output-RS-list {} {
- global manual
- if {[next-op-is .IP rest]} {
- output-IP-list .RS .IP $rest
- if {[match-text .RE .sp .RS @rest .IP @rest2]} {
- man-puts <p>$rest
- output-IP-list .RS .IP $rest2
- }
- if {[match-text .RE .sp .RS @rest .RE]} {
- man-puts <p>$rest
- return
- }
- if {[next-op-is .RE rest]} {
- return
- }
- }
- man-puts <dl><dd>
- while {[more-text]} {
- set line [next-text]
- if {[is-a-directive $line]} {
- split-directive $line code rest
- switch -exact -- $code {
- .RE {
- break
- }
- .SH - .SS {
- manerror "unbalanced .RS at section end"
- backup-text 1
- break
- }
- default {
- output-directive $line
- }
- }
- } else {
- man-puts $line
- }
- }
- man-puts </dl>
-}
-
-##
-## process .IP lists which may be plain indents,
-## numeric lists, or definition lists
-##
-proc output-IP-list {context code rest} {
- global manual
- if {![string length $rest]} {
- # blank label, plain indent, no contents entry
- man-puts <dl><dd>
- while {[more-text]} {
- set line [next-text]
- if {[is-a-directive $line]} {
- split-directive $line code rest
- if {$code eq ".IP" && $rest eq {}} {
- man-puts "<p>"
- continue
- }
- if {$code in {.br .DS .RS}} {
- output-directive $line
- } else {
- backup-text 1
- break
- }
- } else {
- man-puts $line
- }
- }
- man-puts </dl>
- } else {
- # labelled list, make contents
- if {$context ne ".SH" && $context ne ".SS"} {
- man-puts <p>
- }
- set dl "<dl class=\"[string tolower $manual(section)]\">"
- set enddl "</dl>"
- if {$code eq ".IP"} {
- if {[regexp {^\[[\da-f]+\]|\(?[\da-f]+\)$} $rest]} {
- set dl "<ol class=\"[string tolower $manual(section)]\">"
- set enddl "</ol>"
- } elseif {"&bull;" eq $rest} {
- set dl "<ul class=\"[string tolower $manual(section)]\">"
- set enddl "</ul>"
- }
- }
- man-puts $dl
- lappend manual(section-toc) $dl
- backup-text 1
- set accept_RE 0
- set para {}
- while {[more-text]} {
- set line [next-text]
- if {[is-a-directive $line]} {
- split-directive $line code rest
- switch -exact -- $code {
- .IP {
- if {$accept_RE} {
- output-IP-list .IP $code $rest
- continue
- }
- if {$manual(section) eq "ARGUMENTS"} {
- man-puts "$para<dt>$rest<dd>"
- } elseif {[regexp {^\[([\da-f]+)\]$} $rest -> value]} {
- man-puts "$para<li value=\"$value\">"
- } elseif {[regexp {^\(?([\da-f]+)\)$} $rest -> value]} {
- man-puts "$para<li value=\"$value\">"
- } elseif {"&bull;" eq $rest} {
- man-puts "$para<li>"
- } else {
- man-puts "$para<dt>[long-toc $rest]<dd>"
- }
- }
- .sp - .br - .DS - .CS {
- output-directive $line
- }
- .RS {
- if {[match-text .RS]} {
- output-directive $line
- incr accept_RE 1
- } elseif {[match-text .CS]} {
- output-directive .CS
- incr accept_RE 1
- } elseif {[match-text .PP]} {
- output-directive .PP
- incr accept_RE 1
- } elseif {[match-text .DS]} {
- output-directive .DS
- incr accept_RE 1
- } else {
- output-directive $line
- }
- }
- .PP {
- if {[match-text @rest1 .br @rest2 .RS]} {
- # yet another nroff kludge as above
- man-puts "$para<dt>[long-toc $rest1]"
- man-puts "<dt>[long-toc $rest2]<dd>"
- incr accept_RE 1
- } elseif {[match-text @rest .RE]} {
- # gad, this is getting ridiculous
- if {!$accept_RE} {
- man-puts "$enddl<p>$rest$dl"
- backup-text 1
- set para {}
- break
- }
- man-puts "<p>$rest"
- incr accept_RE -1
- } elseif {$accept_RE} {
- output-directive $line
- } else {
- backup-text 1
- break
- }
- }
- .RE {
- if {!$accept_RE} {
- backup-text 1
- break
- }
- incr accept_RE -1
- }
- default {
- backup-text 1
- break
- }
- }
- } else {
- man-puts $line
- }
- set para <p>
- }
- man-puts "$para$enddl"
- lappend manual(section-toc) $enddl
- if {$accept_RE} {
- manerror "missing .RE in output-IP-list"
- }
- }
-}
-
-##
-## handle the NAME section lines
-## there's only one line in the NAME section,
-## consisting of a comma separated list of names,
-## followed by a hyphen and a short description.
-##
-proc output-name {line} {
- global manual
- # split name line into pieces
- regexp {^([^-]+) - (.*)$} [regsub -all {[ \n\r\t]+} $line " "] -> head tail
- # output line to manual page untouched
- man-puts "$head &mdash; $tail"
- # output line to long table of contents
- lappend manual(section-toc) "<dl><dd>$head &mdash; $tail</dd></dl>"
- # separate out the names for future reference
- foreach name [split $head ,] {
- set name [string trim $name]
- if {[llength $name] > 1} {
- manerror "name has a space: {$name}\nfrom: $line"
- }
- lappend manual(wing-toc) $name
- lappend manual(name-$name) $manual(wing-file)/$manual(name)
- }
- set manual(tooltip-$manual(wing-file)/$manual(name).html) $line
-}
-
-##
-## build a cross-reference link if appropriate
-##
-proc cross-reference {ref} {
- global manual remap_link_target
- global ensemble_commands exclude_refs_map exclude_when_followed_by_map
- set manname $manual(name)
- set mantail $manual(tail)
- if {[string match "Tcl_*" $ref] || [string match "Tk_*" $ref] || [string match "Ttk_*" $ref] || [string match "Itcl_*" $ref] || [string match "Tdbc_*" $ref]} {
- regexp {^\w+} $ref lref
- ##
- ## apply a link remapping if available
- ##
- if {[info exists remap_link_target($lref)]} {
- set lref $remap_link_target($lref)
- }
- } elseif {$ref eq "Tcl"} {
- set lref $ref
- } elseif {
- [regexp {^[A-Z0-9 ?!]+$} $ref]
- && [info exists manual($manname-id-$ref)]
- } {
- return "<a href=\"#$manual($manname-id-$ref)\">$ref</a>"
- } else {
- set lref [string tolower $ref]
- ##
- ## apply a link remapping if available
- ##
- if {[info exists remap_link_target($lref)]} {
- set lref $remap_link_target($lref)
- }
- }
- ##
- ## nothing to reference
- ##
- if {![info exists manual(name-$lref)]} {
- foreach name $ensemble_commands {
- if {
- [regexp "^$name \[a-z0-9]*\$" $lref] &&
- [info exists manual(name-$name)] &&
- $mantail ne "$name.n" &&
- (![info exists exclude_refs_map($mantail)] ||
- $manual(name-$name) ni $exclude_refs_map($mantail))
- } {
- return "<a href=\"../$manual(name-$name).html\">$ref</a>"
- }
- }
- if {$lref in {end}} {
- # no good place to send this tcl token?
- }
- return $ref
- }
- set manref $manual(name-$lref)
- ##
- ## would be a self reference
- ##
- foreach name $manref {
- if {"$manual(wing-file)/$manname" in $name} {
- return $ref
- }
- }
- ##
- ## multiple choices for reference
- ##
- if {[llength $manref] > 1} {
- set tcl_i [lsearch -glob $manref *TclCmd*]
- if {$tcl_i >= 0 && $manual(wing-file) eq "TclCmd"
- || $manual(wing-file) eq "TclLib"} {
- set tcl_ref [lindex $manref $tcl_i]
- return "<a href=\"../$tcl_ref.html\">$ref</a>"
- }
- set tk_i [lsearch -glob $manref *TkCmd*]
- if {$tk_i >= 0 && $manual(wing-file) eq "TkCmd"
- || $manual(wing-file) eq "TkLib"} {
- set tk_ref [lindex $manref $tk_i]
- return "<a href=\"../$tk_ref.html\">$ref</a>"
- }
- if {$lref eq "exit" && $mantail eq "tclsh.1" && $tcl_i >= 0} {
- set tcl_ref [lindex $manref $tcl_i]
- return "<a href=\"../$tcl_ref.html\">$ref</a>"
- }
- puts stderr "multiple cross reference to $ref in $manref from $manual(wing-file)/$mantail"
- return $ref
- }
- ##
- ## exceptions, sigh, to the rule
- ##
- if {[info exists exclude_when_followed_by_map($mantail)]} {
- upvar 1 text tail
- set following_word [lindex [regexp -inline {\S+} $tail] 0]
- foreach {this that} $exclude_when_followed_by_map($mantail) {
- # only a ref if $this is not followed by $that
- if {$lref eq $this && [string match $that* $following_word]} {
- return $ref
- }
- }
- }
- if {
- [info exists exclude_refs_map($mantail)]
- && $lref in $exclude_refs_map($mantail)
- } {
- return $ref
- }
- ##
- ## return the cross reference
- ##
- return "<a href=\"../$manref.html\">$ref</a>"
-}
-
-##
-## reference generation errors
-##
-proc reference-error {msg text} {
- global manual
- puts stderr "$manual(tail): $msg: {$text}"
- return $text
-}
-
-##
-## insert as many cross references into this text string as are appropriate
-##
-proc insert-cross-references {text} {
- global manual
- set result ""
-
- while 1 {
- ##
- ## we identify cross references by:
- ## ``quotation''
- ## <b>emboldening</b>
- ## Tcl_ prefix
- ## Tk_ prefix
- ## [a-zA-Z0-9]+ manual entry
- ## and we avoid messing with already anchored text
- ##
- ##
- ## find where each item lives - EXPENSIVE - and accumulate a list
- ##
- unset -nocomplain offsets
- foreach {name pattern} {
- anchor {<a } end-anchor {</a>}
- quote {``} end-quote {''}
- bold {<b>} end-bold {</b>}
- c.tcl {Tcl_}
- c.tk {Tk_}
- c.ttk {Ttk_}
- c.tdbc {Tdbc_}
- c.itcl {Itcl_}
- Tcl1 {Tcl manual entry}
- Tcl2 {Tcl overview manual entry}
- url {http://}
- } {
- set o [string first $pattern $text]
- if {[set offset($name) $o] >= 0} {
- set invert($o) $name
- lappend offsets $o
- }
- }
- ##
- ## if nothing, then we're done.
- ##
- if {![info exists offsets]} {
- return [append result $text]
- }
- ##
- ## sort the offsets
- ##
- set offsets [lsort -integer $offsets]
- ##
- ## see which we want to use
- ##
- switch -exact -- $invert([lindex $offsets 0]) {
- anchor {
- if {$offset(end-anchor) < 0} {
- return [reference-error {Missing end anchor} $text]
- }
- append result [string range $text 0 $offset(end-anchor)]
- set text [string range $text[set text ""] \
- [expr {$offset(end-anchor)+1}] end]
- continue
- }
- quote {
- if {$offset(end-quote) < 0} {
- return [reference-error "Missing end quote" $text]
- }
- if {$invert([lindex $offsets 1]) in {tcl tk ttk}} {
- set offsets [lreplace $offsets 1 1]
- }
- switch -exact -- $invert([lindex $offsets 1]) {
- end-quote {
- if {$offset(quote) > 0} {
- append result [string range $text 0 [expr {$offset(quote)-1}]]
- }
- set body [string range $text [expr {$offset(quote)+2}] \
- [expr {$offset(end-quote)-1}]]
- set text [string range $text[set text ""] \
- [expr {$offset(end-quote)+2}] end]
- append result `` [cross-reference $body] ''
- continue
- }
- bold - anchor {
- append result [string range $text \
- 0 [expr {$offset(end-quote)+1}]]
- set text [string range $text[set text ""] \
- [expr {$offset(end-quote)+2}] end]
- continue
- }
- }
- return [reference-error "Uncaught quote case" $text]
- }
- bold {
- if {$offset(end-bold) < 0} {
- return [append result $text]
- }
- if {[string match "c.*" $invert([lindex $offsets 1])]} {
- set offsets [lreplace $offsets 1 1]
- }
- switch -exact -- $invert([lindex $offsets 1]) {
- url - end-bold {
- if {$offset(bold) > 0} {
- append result \
- [string range $text 0 [expr {$offset(bold)-1}]]
- }
- set body [string range $text [expr {$offset(bold)+3}] \
- [expr {$offset(end-bold)-1}]]
- set text [string range $text[set text ""] \
- [expr {$offset(end-bold)+4}] end]
- regsub {http://[\w/.-]+} $body {<a href="&">&</a>} body
- append result <b> [cross-reference $body] </b>
- continue
- }
- anchor {
- append result \
- [string range $text 0 [expr {$offset(end-bold)+3}]]
- set text [string range $text[set text ""] \
- [expr {$offset(end-bold)+4}] end]
- continue
- }
- default {
- return [reference-error "Uncaught bold case" $text]
- }
- }
- }
- c.tk - c.ttk - c.tcl - c.tdbc - c.itcl {
- if {[lindex $offsets 0] > 0} {
- append result [string range $text 0 \
- [expr {[lindex $offsets 0]-1}]]
- }
- regexp -indices -start [lindex $offsets 0] {\w+} $text range
- set body [string range $text {*}$range]
- set text [string range $text[set text ""] \
- [expr {[lindex $range 1]+1}] end]
- append result [cross-reference $body]
- continue
- }
- Tcl1 - Tcl2 {
- set off [lindex $offsets 0]
- if {$off > 0} {
- append result [string range $text 0 [expr {$off-1}]]
- }
- set text [string range $text[set text ""] [expr {$off+3}] end]
- append result [cross-reference Tcl]
- continue
- }
- url {
- set off [lindex $offsets 0]
- if {$off > 0} {
- append result [string range $text 0 [expr {$off-1}]]
- }
- regexp -indices -start $off {http://[\w/.-]+} $text range
- set url [string range $text {*}$range]
- append result "<a href=\"[string trimright $url .]\">$url</a>"
- set text [string range $text[set text ""] \
- [expr {[lindex $range 1]+1}] end]
- continue
- }
- end-anchor - end-bold - end-quote {
- return [reference-error "Out of place $invert([lindex $offsets 0])" $text]
- }
- }
- }
-}
-
-##
-## process formatting directives
-##
-proc output-directive {line} {
- global manual
- # process format directive
- split-directive $line code rest
- switch -exact -- $code {
- .BS - .BE {
- # man-puts <hr>
- }
- .SH - .SS {
- # drain any open lists
- # announce the subject
- set manual(section) $rest
- # start our own stack of stuff
- set manual($manual(name)-$manual(section)) {}
- lappend manual(has-$manual(section)) $manual(name)
- if {$code ne ".SS"} {
- man-puts "<h3>[long-toc $manual(section)]</h3>"
- } else {
- man-puts "<h4>[long-toc $manual(section)]</h4>"
- }
- # some sections can simply free wheel their way through the text
- # some sections can be processed in their own loops
- switch -exact -- [string index $code end]:$manual(section) {
- H:NAME {
- set names {}
- while {1} {
- set line [next-text]
- if {[is-a-directive $line]} {
- backup-text 1
- if {[llength $names]} {
- output-name [join $names { }]
- }
- return
- }
- lappend names [string trim $line]
- }
- }
- H:SYNOPSIS {
- lappend manual(section-toc) <dl>
- while {1} {
- if {
- [next-op-is .nf rest]
- || [next-op-is .br rest]
- || [next-op-is .fi rest]
- } {
- continue
- }
- if {
- [next-op-is .SH rest]
- || [next-op-is .SS rest]
- || [next-op-is .BE rest]
- || [next-op-is .SO rest]
- } {
- backup-text 1
- break
- }
- if {[next-op-is .sp rest]} {
- #man-puts <p>
- continue
- }
- set more [next-text]
- if {[is-a-directive $more]} {
- manerror "in SYNOPSIS found $more"
- backup-text 1
- break
- }
- foreach more [split $more \n] {
- regexp {^(\s*)(.*)} $more -> spaces more
- set spaces [string map {" " "&nbsp;"} $spaces]
- if {[string length $spaces]} {
- set spaces <tt>$spaces</tt>
- }
- man-puts $spaces$more<br>
- if {$manual(wing-file) in {TclLib TkLib}} {
- lappend manual(section-toc) <dd>$more
- }
- }
- }
- lappend manual(section-toc) </dl>
- return
- }
- {H:SEE ALSO} {
- while {[more-text]} {
- if {[next-op-is .SH rest] || [next-op-is .SS rest]} {
- backup-text 1
- return
- }
- set more [next-text]
- if {[is-a-directive $more]} {
- manerror "$more"
- backup-text 1
- return
- }
- set nmore {}
- foreach cr [split $more ,] {
- set cr [string trim $cr]
- if {![regexp {^<b>.*</b>$} $cr]} {
- set cr <b>$cr</b>
- }
- if {[regexp {^<b>(.*)\([13n]\)</b>$} $cr all name]} {
- set cr <b>$name</b>
- }
- lappend nmore $cr
- }
- man-puts [join $nmore {, }]
- }
- return
- }
- H:KEYWORDS {
- while {[more-text]} {
- if {[next-op-is .SH rest] || [next-op-is .SS rest]} {
- backup-text 1
- return
- }
- set more [next-text]
- if {[is-a-directive $more]} {
- manerror "$more"
- backup-text 1
- return
- }
- set keys {}
- foreach key [split $more ,] {
- set key [string trim $key]
- lappend manual(keyword-$key) [list $manual(name) \
- $manual(wing-file)/$manual(name).html]
- set initial [string toupper [string index $key 0]]
- lappend keys "<a href=\"../Keywords/$initial.html\#$key\">$key</a>"
- }
- man-puts [join $keys {, }]
- }
- return
- }
- }
- if {[next-op-is .IP rest]} {
- output-IP-list $code .IP $rest
- return
- }
- if {[next-op-is .PP rest]} {
- return
- }
- return
- }
- .SO {
- # When there's a sequence of multiple .SO chunks, process into one
- set optslist {}
- while 1 {
- if {[match-text @stuff .SE]} {
- foreach opt [split $stuff \n\t] {
- lappend optslist [list $opt $rest]
- }
- } else {
- manerror "unexpected .SO format:\n[expand-next-text 2]"
- }
- if {![next-op-is .SO rest]} {
- break
- }
- }
- output-directive {.SH STANDARD OPTIONS}
- man-puts <dl>
- lappend manual(section-toc) <dl>
- foreach optionpair [lsort -dictionary -index 0 $optslist] {
- lassign $optionpair option targetPage
- man-puts "<dt><b>[std-option-toc $option $targetPage]</b>"
- }
- man-puts </dl>
- lappend manual(section-toc) </dl>
- }
- .OP {
- output-widget-options $rest
- return
- }
- .IP {
- output-IP-list .IP .IP $rest
- return
- }
- .PP - .sp {
- man-puts <p>
- }
- .RS {
- output-RS-list
- return
- }
- .br {
- man-puts <br>
- return
- }
- .DS {
- if {[next-op-is .ta rest]} {
- # skip the leading .ta directive if it is there
- }
- if {[match-text @stuff .DE]} {
- set td "<td><p class=\"tablecell\">"
- set bodyText [string map [list \n <tr>$td \t $td] \n$stuff]
- man-puts "<dl><dd><table border=\"0\">$bodyText</table></dl>"
- #man-puts <pre>$stuff</pre>
- } elseif {[match-text .fi @ul1 @ul2 .nf @stuff .DE]} {
- man-puts "<pre>[lindex $ul1 1][lindex $ul2 1]\n$stuff</pre>"
- } else {
- manerror "unexpected .DS format:\n[expand-next-text 2]"
- }
- return
- }
- .CS {
- if {[next-op-is .ta rest]} {
- # ???
- }
- if {[match-text @stuff .CE]} {
- man-puts <pre>$stuff</pre>
- } else {
- manerror "unexpected .CS format:\n[expand-next-text 2]"
- }
- return
- }
- .nf {
- if {[match-text @more .fi]} {
- foreach more [split $more \n] {
- man-puts $more<br>
- }
- } elseif {[match-text .RS @more .RE .fi]} {
- man-puts <dl><dd>
- foreach more [split $more \n] {
- man-puts $more<br>
- }
- man-puts </dl>
- } elseif {[match-text .RS @more .RS @more2 .RE .RE .fi]} {
- man-puts <dl><dd>
- foreach more [split $more \n] {
- man-puts $more<br>
- }
- man-puts <dl><dd>
- foreach more2 [split $more2 \n] {
- man-puts $more2<br>
- }
- man-puts </dl></dl>
- } elseif {[match-text .RS @more .RS @more2 .RE @more3 .RE .fi]} {
- man-puts <dl><dd>
- foreach more [split $more \n] {
- man-puts $more<br>
- }
- man-puts <dl><dd>
- foreach more2 [split $more2 \n] {
- man-puts $more2<br>
- }
- man-puts </dl><dd>
- foreach more3 [split $more3 \n] {
- man-puts $more3<br>
- }
- man-puts </dl>
- } elseif {[match-text .sp .RS @more .RS @more2 .sp .RE .RE .fi]} {
- man-puts <p><dl><dd>
- foreach more [split $more \n] {
- man-puts $more<br>
- }
- man-puts <dl><dd>
- foreach more2 [split $more2 \n] {
- man-puts $more2<br>
- }
- man-puts </dl></dl><p>
- } elseif {[match-text .RS .sp @more .sp .RE .fi]} {
- man-puts <p><dl><dd>
- foreach more [split $more \n] {
- man-puts $more<br>
- }
- man-puts </dl><p>
- } else {
- manerror "ignoring $line"
- }
- }
- .RE - .DE - .CE {
- manerror "unexpected $code"
- return
- }
- .ta - .fi - .na - .ad - .UL - .ie - .el - .ne {
- manerror "ignoring $line"
- }
- default {
- manerror "unrecognized format directive: $line"
- }
- }
-}
-
-##
-## merge copyright listings
-##
-proc merge-copyrights {l1 l2} {
- set merge {}
- set re1 {^Copyright +(?:\(c\)|\\\(co|©|&copy;) +(\w.*?)(?:all rights reserved)?(?:\. )*$}
- set re2 {^(\d+) +(?:by +)?(\w.*)$} ;# date who
- set re3 {^(\d+)-(\d+) +(?:by +)?(\w.*)$} ;# from to who
- set re4 {^(\d+), *(\d+) +(?:by +)?(\w.*)$} ;# date1 date2 who
- foreach copyright [concat $l1 $l2] {
- if {[regexp -nocase -- $re1 $copyright -> info]} {
- set info [string trimright $info ". "] ; # remove extra period
- if {[regexp -- $re2 $info -> date who]} {
- lappend dates($who) $date
- continue
- } elseif {[regexp -- $re3 $info -> from to who]} {
- for {set date $from} {$date <= $to} {incr date} {
- lappend dates($who) $date
- }
- continue
- } elseif {[regexp -- $re3 $info -> date1 date2 who]} {
- lappend dates($who) $date1 $date2
- continue
- }
- }
- puts "oops: $copyright"
- }
- foreach who [array names dates] {
- set list [lsort -dictionary $dates($who)]
- if {[llength $list] == 1 || [lindex $list 0] eq [lrange $list end end]} {
- lappend merge "Copyright &copy; [lindex $list 0] $who"
- } else {
- lappend merge "Copyright &copy; [lindex $list 0]-[lrange $list end end] $who"
- }
- }
- return [lsort -dictionary $merge]
-}
-
-##
-## foreach of the man pages in the section specified by
-## sectionDescriptor, convert manpages into hypertext in
-## the directory specified by outputDir.
-##
-proc make-manpage-section {outputDir sectionDescriptor} {
- global manual overall_title tcltkdesc verbose
- global excluded_pages forced_index_pages process_first_patterns
-
- set LQ \u201C
- set RQ \u201D
-
- lassign $sectionDescriptor \
- manual(wing-glob) \
- manual(wing-name) \
- manual(wing-file) \
- manual(wing-description)
- set manual(wing-copyrights) {}
- makedirhier $outputDir/$manual(wing-file)
- set manual(wing-toc-fp) [open $outputDir/$manual(wing-file)/[indexfile] w]
- fconfigure $manual(wing-toc-fp) -translation lf -encoding utf-8
- # whistle
- puts stderr "scanning section $manual(wing-name)"
- # put the entry for this section into the short table of contents
- if {[regexp {^(.+), version (.+)$} $manual(wing-name) -> name version]} {
- puts $manual(short-toc-fp) "<dt><a href=\"$manual(wing-file)/[indexfile]\" title=\"version $version\">$name</a></dt><dd>$manual(wing-description)</dd>"
- } else {
- puts $manual(short-toc-fp) "<dt><a href=\"$manual(wing-file)/[indexfile]\">$manual(wing-name)</a></dt><dd>$manual(wing-description)</dd>"
- }
- # initialize the wing table of contents
- puts $manual(wing-toc-fp) [htmlhead $manual(wing-name) \
- $manual(wing-name) $overall_title "../[indexfile]"]
- # initialize the short table of contents for this section
- set manual(wing-toc) {}
- # initialize the man directory for this section
- makedirhier $outputDir/$manual(wing-file)
- # initialize the long table of contents for this section
- set manual(long-toc-n) 1
- # get the manual pages for this section
- set manual(pages) [lsort -dictionary [glob -nocomplain $manual(wing-glob)]]
- # Some pages have to go first so that their links override others
- foreach pat $process_first_patterns {
- set n [lsearch -glob $manual(pages) $pat]
- if {$n >= 0} {
- set f [lindex $manual(pages) $n]
- puts stderr "shuffling [file tail $f] to front of processing queue"
- set manual(pages) \
- [linsert [lreplace $manual(pages) $n $n] 0 $f]
- }
- }
- # set manual(pages) [lrange $manual(pages) 0 5]
- foreach manual_page $manual(pages) {
- set manual(page) [file normalize $manual_page]
- # whistle
- if {$verbose} {
- puts stderr "scanning page $manual(page)"
- } else {
- puts -nonewline stderr .
- }
- set manual(tail) [file tail $manual(page)]
- set manual(name) [file root $manual(tail)]
- set manual(section) {}
- if {$manual(name) in $excluded_pages} {
- # obsolete
- if {!$verbose} {
- puts stderr ""
- }
- manerror "discarding $manual(name)"
- continue
- }
- set manual(infp) [open $manual(page)]
- fconfigure $manual(infp) -encoding utf-8
- set manual(text) {}
- set manual(partial-text) {}
- foreach p {.RS .DS .CS .SO} {
- set manual($p) 0
- }
- set manual(stack) {}
- set manual(section) {}
- set manual(section-toc) {}
- set manual(section-toc-n) 1
- set manual(copyrights) {}
- lappend manual(all-pages) $manual(wing-file)/$manual(tail)
- lappend manual(all-page-domains) $manual(wing-name)
- manreport 100 $manual(name)
- while {[gets $manual(infp) line] >= 0} {
- manreport 100 $line
- if {[regexp {^[`'][/\\]} $line]} {
- if {[regexp {Copyright (?:\(c\)|\\\(co).*$} $line copyright]} {
- lappend manual(copyrights) $copyright
- }
- # comment
- continue
- }
- if {"$line" eq {'}} {
- # comment
- continue
- }
- if {![parse-directive $line code rest]} {
- addbuffer $line
- continue
- }
- switch -exact -- $code {
- .if - .nr - .ti - .in - .ie - .el -
- .ad - .na - .so - .ne - .AS - .HS - .VE - .VS - . {
- # ignore
- continue
- }
- }
- switch -exact -- $code {
- .SH - .SS {
- flushbuffer
- if {[llength $rest] == 0} {
- gets $manual(infp) rest
- }
- lappend manual(text) "$code [unquote $rest]"
- }
- .TH {
- flushbuffer
- lappend manual(text) "$code [unquote $rest]"
- }
- .QW {
- lassign [regexp -all -inline {\"(?:[^""]+)\"|\S+} $rest] \
- inQuote afterwards
- addbuffer $LQ [unquote $inQuote] $RQ [unquote $afterwards]
- }
- .PQ {
- lassign [regexp -all -inline {\"(?:[^""]+)\"|\S+} $rest] \
- inQuote punctuation afterwards
- addbuffer ( $LQ [unquote $inQuote] $RQ \
- [unquote $punctuation] ) [unquote $afterwards]
- }
- .QR {
- lassign [regexp -all -inline {\"(?:[^""]+)\"|\S+} $rest] \
- rangeFrom rangeTo afterwards
- addbuffer $LQ [unquote $rangeFrom] "&ndash;" \
- [unquote $rangeTo] $RQ [unquote $afterwards]
- }
- .MT {
- addbuffer $LQ$RQ
- }
- .HS - .UL - .ta {
- flushbuffer
- lappend manual(text) "$code [unquote $rest]"
- }
- .BS - .BE - .br - .fi - .sp - .nf {
- flushbuffer
- if {$rest ne ""} {
- if {!$verbose} {
- puts stderr ""
- }
- manerror "unexpected argument: $line"
- }
- lappend manual(text) $code
- }
- .AP {
- flushbuffer
- lappend manual(text) [concat .IP [process-text \
- "[lindex $rest 0] \\fB[lindex $rest 1]\\fR ([lindex $rest 2])"]]
- }
- .IP {
- flushbuffer
- regexp {^(.*) +\d+$} $rest all rest
- lappend manual(text) ".IP [process-text \
- [unquote [string trim $rest]]]"
- }
- .TP {
- flushbuffer
- while {[is-a-directive [set next [gets $manual(infp)]]]} {
- if {!$verbose} {
- puts stderr ""
- }
- manerror "ignoring $next after .TP"
- }
- if {"$next" ne {'}} {
- lappend manual(text) ".IP [process-text $next]"
- }
- }
- .OP {
- flushbuffer
- lassign $rest cmdName dbName dbClass
- lappend manual(text) [concat .OP [process-text \
- "\\fB$cmdName\\fR \\fB$dbName\\fR \\fB$dbClass\\fR"]]
- }
- .PP - .LP {
- flushbuffer
- lappend manual(text) {.PP}
- }
- .RS {
- flushbuffer
- incr manual(.RS)
- lappend manual(text) $code
- }
- .RE {
- flushbuffer
- incr manual(.RS) -1
- lappend manual(text) $code
- }
- .SO {
- flushbuffer
- incr manual(.SO)
- if {[llength $rest] == 0} {
- lappend manual(text) "$code options"
- } else {
- lappend manual(text) "$code [unquote $rest]"
- }
- }
- .SE {
- flushbuffer
- incr manual(.SO) -1
- lappend manual(text) $code
- }
- .DS {
- flushbuffer
- incr manual(.DS)
- lappend manual(text) $code
- }
- .DE {
- flushbuffer
- incr manual(.DS) -1
- lappend manual(text) $code
- }
- .CS {
- flushbuffer
- incr manual(.CS)
- lappend manual(text) $code
- }
- .CE {
- flushbuffer
- incr manual(.CS) -1
- lappend manual(text) $code
- }
- .de {
- while {[gets $manual(infp) line] >= 0} {
- if {[string match "..*" $line]} {
- break
- }
- }
- }
- .. {
- if {!$verbose} {
- puts stderr ""
- }
- error "found .. outside of .de"
- }
- default {
- if {!$verbose} {
- puts stderr ""
- }
- flushbuffer
- manerror "unrecognized format directive: $line"
- }
- }
- }
- flushbuffer
- close $manual(infp)
- # fixups
- if {$manual(.RS) != 0} {
- if {!$verbose} {
- puts stderr ""
- }
- puts "unbalanced .RS .RE"
- }
- if {$manual(.DS) != 0} {
- if {!$verbose} {
- puts stderr ""
- }
- puts "unbalanced .DS .DE"
- }
- if {$manual(.CS) != 0} {
- if {!$verbose} {
- puts stderr ""
- }
- puts "unbalanced .CS .CE"
- }
- if {$manual(.SO) != 0} {
- if {!$verbose} {
- puts stderr ""
- }
- puts "unbalanced .SO .SE"
- }
- # output conversion
- open-text
- set haserror 0
- if {[next-op-is .HS rest]} {
- set manual($manual(wing-file)-$manual(name)-title) \
- "[join [lrange $rest 1 end] { }] [lindex $rest 0] manual page"
- } elseif {[next-op-is .TH rest]} {
- set manual($manual(wing-file)-$manual(name)-title) \
- "[lindex $rest 0] manual page - [join [lrange $rest 4 end] { }]"
- } else {
- set haserror 1
- if {!$verbose} {
- puts stderr ""
- }
- manerror "no .HS or .TH record found"
- }
- if {!$haserror} {
- while {[more-text]} {
- set line [next-text]
- if {[is-a-directive $line]} {
- output-directive $line
- } else {
- man-puts $line
- }
- }
- man-puts [copyout $manual(copyrights) "../"]
- set manual(wing-copyrights) [merge-copyrights \
- $manual(wing-copyrights) $manual(copyrights)]
- }
- #
- # make the long table of contents for this page
- #
- set manual(toc-$manual(wing-file)-$manual(name)) \
- [concat <dl> $manual(section-toc) </dl>]
- }
- if {!$verbose} {
- puts stderr ""
- }
-
- if {![llength $manual(wing-toc)]} {
- fatal "not table of contents."
- }
-
- #
- # make the wing table of contents for the section
- #
- set width 0
- foreach name $manual(wing-toc) {
- if {[string length $name] > $width} {
- set width [string length $name]
- }
- }
- set perline [expr {118 / $width}]
- set nrows [expr {([llength $manual(wing-toc)]+$perline)/$perline}]
- set n 0
- catch {unset rows}
- foreach name [lsort -dictionary $manual(wing-toc)] {
- set tail $manual(name-$name)
- if {[llength $tail] > 1} {
- manerror "$name is defined in more than one file: $tail"
- set tail [lindex $tail [expr {[llength $tail]-1}]]
- }
- set tail [file tail $tail]
- if {[info exists manual(tooltip-$manual(wing-file)/$tail.html)]} {
- set tooltip $manual(tooltip-$manual(wing-file)/$tail.html)
- set tooltip [string map {[ {\[} ] {\]} $ {\$} \\ \\\\} $tooltip]
- regsub {^[^-]+-\s*(.)} $tooltip {[string totitle \1]} tooltip
- append rows([expr {$n%$nrows}]) \
- "<td> <a href=\"$tail.html\" title=\"[subst $tooltip]\">$name</a> </td>"
- } else {
- append rows([expr {$n%$nrows}]) \
- "<td> <a href=\"$tail.html\">$name</a> </td>"
- }
- incr n
- }
- puts $manual(wing-toc-fp) <table>
- foreach row [lsort -integer [array names rows]] {
- puts $manual(wing-toc-fp) <tr>$rows($row)</tr>
- }
- puts $manual(wing-toc-fp) </table>
-
- #
- # insert wing copyrights
- #
- puts $manual(wing-toc-fp) [copyout $manual(wing-copyrights) "../"]
- puts $manual(wing-toc-fp) "</body></html>"
- close $manual(wing-toc-fp)
- set manual(merge-copyrights) \
- [merge-copyrights $manual(merge-copyrights) $manual(wing-copyrights)]
-}
-
-proc makedirhier {dir} {
- try {
- if {![file isdirectory $dir]} {
- file mkdir $dir
- }
- } on error msg {
- return -code error "cannot create directory $dir: $msg"
- }
-}
-
-proc addbuffer {args} {
- global manual
- if {$manual(partial-text) ne ""} {
- append manual(partial-text) \n
- }
- append manual(partial-text) [join $args ""]
-}
-proc flushbuffer {} {
- global manual
- if {$manual(partial-text) ne ""} {
- lappend manual(text) [process-text $manual(partial-text)]
- set manual(partial-text) ""
- }
-}
-
-return
diff --git a/tools/tcltk-man2html.tcl b/tools/tcltk-man2html.tcl
index 2dec0a6..59a2a63 100755
--- a/tools/tcltk-man2html.tcl
+++ b/tools/tcltk-man2html.tcl
@@ -1,12 +1,8 @@
-#!/usr/bin/env tclsh
+#!/bin/sh
+# The next line is executed by /bin/sh, but not tcl \
+exec tclsh "$0" ${1+"$@"}
-if {[catch {package require Tcl 8.6-} msg]} {
- puts stderr "ERROR: $msg"
- puts stderr "If running this script from 'make html', set the\
- NATIVE_TCLSH environment\nvariable to point to an installed\
- tclsh8.6 (or the equivalent tclsh86.exe\non Windows)."
- exit 1
-}
+package require Tcl 8.5
# Convert Ousterhout format man pages into highly crosslinked hypertext.
#
@@ -19,70 +15,18 @@ if {[catch {package require Tcl 8.6-} msg]} {
# into hypertext, not as a general solution to the problem. If you
# try to use this, you'll be very much on your own.
#
-# Copyright © 1995-1997 Roger E. Critchlow Jr
-# Copyright © 2004-2010 Donal K. Fellows
-
-set ::Version "50/8.7"
-set ::CSSFILE "docs.css"
+# Copyright (c) 1995-1997 Roger E. Critchlow Jr
-##
-## Source the utility functions that provide most of the
-## implementation of the transformation from nroff to html.
-##
-source -encoding utf-8 [file join [file dirname [info script]] tcltk-man2html-utils.tcl]
-
-proc getversion {tclh {name {}}} {
- if {[file exists $tclh]} {
- set chan [open $tclh]
- set data [read $chan]
- close $chan
- if {$name eq ""} {
- set name [string toupper [file root [file tail $tclh]]]
- }
- # backslash isn't required in front of quote, but it keeps syntax
- # highlighting straight in some editors
- if {[regexp -lineanchor \
- [string map [list @name@ $name] \
- {^#\s*define\s+@name@_VERSION\s+\"([^.])+\.([^.\"]+)}] \
- $data -> major minor]} {
- return [list $major $minor]
- }
- }
-}
-proc findversion {top name useversion} {
- # Default search version is a glob pattern, switch it for string match:
- if {$useversion eq {{,[8-9].[0-9]{,[.ab][0-9]{,[0-9]}}}}} {
- set useversion {[8-9].[0-9]}
- }
- # Search:
- set upper [string toupper $name]
- foreach top1 [list $top $top/..] sub {{} generic} {
- foreach dirname [
- glob -nocomplain -tails -type d -directory $top1 *] {
+set Version "0.40"
- set tclh [join [list $top1 $dirname {*}$sub ${name}.h] /]
- set v [getversion $tclh $upper]
- if {[llength $v]} {
- lassign $v major minor
- # to do
- # use glob matching instead of string matching or add
- # brace handling to [string matcch]
- if {$useversion eq "" || [string match $useversion $major.$minor]} {
- set top [file dirname [file dirname $tclh]]
- set prefix [file dirname $top]
- return [list $prefix [file tail $top] $major $minor]
- }
- }
- }
- }
-}
+set ::CSSFILE "docs.css"
proc parse_command_line {} {
global argv Version
# These variables determine where the man pages come from and where
# the converted pages go to.
- global tcltkdir tkdir tcldir webdir build_tcl build_tk verbose
+ global tcltkdir tkdir tcldir webdir build_tcl build_tk
# Set defaults based on original code.
set tcltkdir ../..
@@ -90,10 +34,7 @@ proc parse_command_line {} {
set tcldir {}
set webdir ../html
set build_tcl 0
- set opt_build_tcl 0
set build_tk 0
- set opt_build_tk 0
- set verbose 0
# Default search version is a glob pattern
set useversion {{,[8-9].[0-9]{,[.ab][0-9]{,[0-9]}}}}
@@ -120,7 +61,6 @@ proc parse_command_line {} {
puts " --tcl build tcl help"
puts " --tk build tk help"
puts " --useversion version of tcl/tk to search for"
- puts " --verbose whether to print longer messages"
exit 0
}
@@ -141,18 +81,12 @@ proc parse_command_line {} {
--tcl {
set build_tcl 1
- set opt_build_tcl 1
}
--tk {
set build_tk 1
- set opt_build_tk 1
}
- --verbose=* {
- set verbose [string range $option \
- [string length --verbose=] end]
- }
default {
puts stderr "tcltk-man-html: unrecognized option -- `$option'"
exit 1
@@ -165,57 +99,33 @@ proc parse_command_line {} {
set build_tk 1
}
- set major ""
- set minor ""
-
if {$build_tcl} {
- # Find Tcl (firstly using glob pattern / backwards compatible way)
+ # Find Tcl.
set tcldir [lindex [lsort [glob -nocomplain -tails -type d \
-directory $tcltkdir tcl$useversion]] end]
- if {$tcldir ne ""} {
- # obtain version from generic header if we can:
- lassign [getversion [file join $tcltkdir $tcldir generic tcl.h]] major minor
- } else {
- lassign [findversion $tcltkdir tcl $useversion] tcltkdir tcldir major minor
- }
- if {$tcldir eq "" && $opt_build_tcl} {
+ if {$tcldir eq ""} {
puts stderr "tcltk-man-html: couldn't find Tcl below $tcltkdir"
exit 1
}
- puts "using Tcl source directory [file join $tcltkdir $tcldir]"
+ puts "using Tcl source directory $tcldir"
}
-
if {$build_tk} {
- # Find Tk (firstly using glob pattern / backwards compatible way)
+ # Find Tk.
set tkdir [lindex [lsort [glob -nocomplain -tails -type d \
- -directory $tcltkdir tk$useversion]] end]
- if {$tkdir ne ""} {
- if {$major eq ""} {
- # obtain version from generic header if we can:
- lassign [getversion [file join $tcltkdir $tkdir generic tk.h]] major minor
- }
- } else {
- lassign [findversion $tcltkdir tk $useversion] tcltkdir tkdir major minor
- }
- if {$tkdir eq "" && $opt_build_tk} {
+ -directory $tcltkdir tk$useversion]] end]
+ if {$tkdir eq ""} {
puts stderr "tcltk-man-html: couldn't find Tk below $tcltkdir"
exit 1
}
- puts "using Tk source directory [file join $tcltkdir $tkdir]"
+ puts "using Tk source directory $tkdir"
}
- puts "verbose messages are [expr {$verbose ? {on} : {off}}]"
-
# the title for the man pages overall
global overall_title
set overall_title ""
if {$build_tcl} {
- if {$major ne ""} {
- append overall_title "Tcl $major.$minor"
- } else {
- append overall_title "Tcl [capitalize $tcldir]"
- }
+ append overall_title "[capitalize $tcldir]"
}
if {$build_tcl && $build_tk} {
append overall_title "/"
@@ -229,150 +139,1684 @@ proc parse_command_line {} {
proc capitalize {string} {
return [string toupper $string 0]
}
-
-##
-## Returns the style sheet.
-##
-proc css-style args {
- upvar 1 style style
- set body [uplevel 1 [list subst [lindex $args end]]]
- set tokens [join [lrange $args 0 end-1] ", "]
- append style $tokens " \{" $body "\}\n"
-}
-proc css-stylesheet {} {
- set hBd "1px dotted #11577B"
-
- css-style body div p th td li dd ul ol dl dt blockquote {
- font-family: Verdana, sans-serif;
- }
- css-style pre code {
- font-family: 'Courier New', Courier, monospace;
- }
- css-style pre {
- background-color: #F6FCEC;
- border-top: 1px solid #6A6A6A;
- border-bottom: 1px solid #6A6A6A;
- padding: 1em;
- overflow: auto;
- }
- css-style body {
- background-color: #FFFFFF;
- font-size: 12px;
- line-height: 1.25;
- letter-spacing: .2px;
- padding-left: .5em;
- }
- css-style h1 h2 h3 h4 {
- font-family: Georgia, serif;
- padding-left: 1em;
- margin-top: 1em;
- }
- css-style h1 {
- font-size: 18px;
- color: #11577B;
- border-bottom: $hBd;
- margin-top: 0px;
- }
- css-style h2 {
- font-size: 14px;
- color: #11577B;
- background-color: #C5DCE8;
- padding-left: 1em;
- border: 1px solid #6A6A6A;
- }
- css-style h3 h4 {
- color: #1674A4;
- background-color: #E8F2F6;
- border-bottom: $hBd;
- border-top: $hBd;
- }
- css-style h3 {
- font-size: 12px;
- }
- css-style h4 {
- font-size: 11px;
- }
- css-style ".keylist dt" ".arguments dt" {
- width: 25em;
- float: left;
- padding: 2px;
- border-top: 1px solid #999999;
- }
- css-style ".keylist dt" { font-weight: bold; }
- css-style ".keylist dd" ".arguments dd" {
- margin-left: 25em;
- padding: 2px;
- border-top: 1px solid #999999;
- }
- css-style .copy {
- background-color: #F6FCFC;
- white-space: pre;
- font-size: 80%;
- border-top: 1px solid #6A6A6A;
- margin-top: 2em;
- }
- css-style .tablecell {
- font-size: 12px;
- padding-left: .5em;
- padding-right: .5em;
- }
-}
-
+
+##
+##
+##
+set manual(report-level) 1
+
+proc manerror {msg} {
+ global manual
+ set name {}
+ set subj {}
+ set procname [lindex [info level -1] 0]
+ if {[info exists manual(name)]} {
+ set name $manual(name)
+ }
+ if {[info exists manual(section)] && [string length $manual(section)]} {
+ puts stderr "$name: $manual(section): $procname: $msg"
+ } else {
+ puts stderr "$name: $procname: $msg"
+ }
+}
+
+proc manreport {level msg} {
+ global manual
+ if {$level < $manual(report-level)} {
+ uplevel 1 [list manerror $msg]
+ }
+}
+
+proc fatal {msg} {
+ global manual
+ uplevel 1 [list manerror $msg]
+ exit 1
+}
+
+##
+## templating
+##
+proc indexfile {} {
+ if {[info exists ::TARGET] && $::TARGET eq "devsite"} {
+ return "index.tml"
+ } else {
+ return "contents.htm"
+ }
+}
+proc copyright {copyright {level {}}} {
+ # We don't actually generate a separate copyright page anymore
+ #set page "${level}copyright.htm"
+ #return "<A HREF=\"$page\">Copyright</A> &#169; [htmlize-text [lrange $copyright 2 end]]"
+ # obfuscate any email addresses that may appear in name
+ set who [string map {@ (at)} [lrange $copyright 2 end]]
+ return "Copyright &copy; [htmlize-text $who]"
+}
+proc copyout {copyrights {level {}}} {
+ set out "<div class=\"copy\">"
+ foreach c $copyrights {
+ append out "[copyright $c $level]\n"
+ }
+ append out "</div>"
+ return $out
+}
+proc CSS {{level ""}} {
+ return "<link rel=\"stylesheet\" href=\"${level}$::CSSFILE\" type=\"text/css\" media=\"all\">\n"
+}
+proc DOCTYPE {} {
+ return "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"
+}
+proc htmlhead {title header args} {
+ set level ""
+ if {[lindex $args end] eq "../[indexfile]"} {
+ # XXX hack - assume same level for CSS file
+ set level "../"
+ }
+ set out "[DOCTYPE]\n<HTML>\n<HEAD><TITLE>$title</TITLE>\n[CSS $level]</HEAD>\n"
+ foreach {uptitle url} $args {
+ set header "<a href=\"$url\">$uptitle</a> <small>&gt;</small> $header"
+ }
+ append out "<BODY><H2>$header</H2>"
+ global manual
+ if {[info exists manual(subheader)]} {
+ set subs {}
+ foreach {name subdir} $manual(subheader) {
+ if {$name eq $title} {
+ lappend subs $name
+ } else {
+ lappend subs "<A HREF=\"${level}$subdir/[indexfile]\">$name</A>"
+ }
+ }
+ append out "\n<H3>[join $subs { | }]</H3>"
+ }
+ return $out
+}
+proc gencss {} {
+ set hBd "1px dotted #11577b"
+ return "
+body, div, p, th, td, li, dd, ul, ol, dl, dt, blockquote {
+ font-family: Verdana, sans-serif;
+}
+
+pre, code { font-family: 'Courier New', Courier, monospace; }
+
+pre {
+ background-color: #f6fcec;
+ border-top: 1px solid #6A6A6A;
+ border-bottom: 1px solid #6A6A6A;
+ padding: 1em;
+ overflow: auto;
+}
+
+body {
+ background-color: #FFFFFF;
+ font-size: 12px;
+ line-height: 1.25;
+ letter-spacing: .2px;
+ padding-left: .5em;
+}
+
+h1, h2, h3, h4 {
+ font-family: Georgia, serif;
+ padding-left: 1em;
+ margin-top: 1em;
+}
+
+h1 {
+ font-size: 18px;
+ color: #11577b;
+ border-bottom: $hBd;
+ margin-top: 0px;
+}
+
+h2 {
+ font-size: 14px;
+ color: #11577b;
+ background-color: #c5dce8;
+ padding-left: 1em;
+ border: 1px solid #6A6A6A;
+}
+
+h3, h4 {
+ color: #1674A4;
+ background-color: #e8f2f6;
+ border-bottom: $hBd;
+ border-top: $hBd;
+}
+
+h3 { font-size: 12px; }
+h4 { font-size: 11px; }
+
+.keylist dt, .arguments dt {
+ width: 20em;
+ float: left;
+ padding: 2px;
+ border-top: 1px solid #999;
+}
+
+.keylist dt { font-weight: bold; }
+
+.keylist dd, .arguments dd {
+ margin-left: 20em;
+ padding: 2px;
+ border-top: 1px solid #999;
+}
+
+.copy {
+ background-color: #f6fcfc;
+ white-space: pre;
+ font-size: 80%;
+ border-top: 1px solid #6A6A6A;
+ margin-top: 2em;
+}
+"
+}
+
+##
+## parsing
+##
+proc unquote arg {
+ return [string map [list \" {}] $arg]
+}
+
+proc parse-directive {line codename restname} {
+ upvar 1 $codename code $restname rest
+ return [regexp {^(\.[.a-zA-Z0-9]*) *(.*)} $line all code rest]
+}
+
+proc htmlize-text {text {charmap {}}} {
+ # contains some extras for use in nroff->html processing
+ # build on the list passed in, if any
+ lappend charmap \
+ {&} {&amp;} \
+ {\\} "&#92;" \
+ {\e} "&#92;" \
+ {\ } {&nbsp;} \
+ {\|} {&nbsp;} \
+ {\0} { } \
+ \" {&quot;} \
+ {<} {&lt;} \
+ {>} {&gt;} \
+ \u201c "&#8220;" \
+ \u201d "&#8221;"
+
+ return [string map $charmap $text]
+}
+
+proc process-text {text} {
+ global manual
+ # preprocess text
+ set charmap [list \
+ {\&} "\t" \
+ {\%} {} \
+ "\\\n" "\n" \
+ {\(+-} "&#177;" \
+ {\(co} "&copy;" \
+ {\(em} "&#8212;" \
+ {\(fm} "&#8242;" \
+ {\(mu} "&#215;" \
+ {\(->} "<font size=\"+1\">&#8594;</font>" \
+ {\fP} {\fR} \
+ {\.} . \
+ {\(bu} "&#8226;" \
+ ]
+ lappend charmap {\o'o^'} {&ocirc;} ; # o-circumflex in re_syntax.n
+ lappend charmap {\-\|\-} -- ; # two hyphens
+ lappend charmap {\-} - ; # a hyphen
+
+ set text [htmlize-text $text $charmap]
+ # General quoted entity
+ regsub -all {\\N'(\d+)'} $text "\\&#\\1;" text
+ while {[string first "\\" $text] >= 0} {
+ # C R
+ if {[regsub {^([^\\]*)\\fC([^\\]*)\\fR(.*)$} $text \
+ {\1<TT>\2</TT>\3} text]} continue
+ # B R
+ if {[regsub {^([^\\]*)\\fB([^\\]*)\\fR(.*)$} $text \
+ {\1<B>\2</B>\3} text]} continue
+ # B I
+ if {[regsub {^([^\\]*)\\fB([^\\]*)\\fI(.*)$} $text \
+ {\1<B>\2</B>\\fI\3} text]} continue
+ # I R
+ if {[regsub {^([^\\]*)\\fI([^\\]*)\\fR(.*)$} $text \
+ {\1<I>\2</I>\3} text]} continue
+ # I B
+ if {[regsub {^([^\\]*)\\fI([^\\]*)\\fB(.*)$} $text \
+ {\1<I>\2</I>\\fB\3} text]} continue
+ # B B, I I, R R
+ if {
+ [regsub {^([^\\]*)\\fB([^\\]*)\\fB(.*)$} $text \
+ {\1\\fB\2\3} ntext]
+ || [regsub {^([^\\]*)\\fI([^\\]*)\\fI(.*)$} $text \
+ {\1\\fI\2\3} ntext]
+ || [regsub {^([^\\]*)\\fR([^\\]*)\\fR(.*)$} $text \
+ {\1\\fR\2\3} ntext]
+ } then {
+ manerror "impotent font change: $text"
+ set text $ntext
+ continue
+ }
+ # unrecognized
+ manerror "uncaught backslash: $text"
+ set text [string map [list "\\" "&#92;"] $text]
+ }
+ return $text
+}
+##
+## pass 2 text input and matching
+##
+proc open-text {} {
+ global manual
+ set manual(text-length) [llength $manual(text)]
+ set manual(text-pointer) 0
+}
+proc more-text {} {
+ global manual
+ return [expr {$manual(text-pointer) < $manual(text-length)}]
+}
+proc next-text {} {
+ global manual
+ if {[more-text]} {
+ set text [lindex $manual(text) $manual(text-pointer)]
+ incr manual(text-pointer)
+ return $text
+ }
+ manerror "read past end of text"
+ error "fatal"
+}
+proc is-a-directive {line} {
+ return [string match .* $line]
+}
+proc split-directive {line opname restname} {
+ upvar 1 $opname op $restname rest
+ set op [string range $line 0 2]
+ set rest [string trim [string range $line 3 end]]
+}
+proc next-op-is {op restname} {
+ global manual
+ upvar 1 $restname rest
+ if {[more-text]} {
+ set text [lindex $manual(text) $manual(text-pointer)]
+ if {[string equal -length 3 $text $op]} {
+ set rest [string range $text 4 end]
+ incr manual(text-pointer)
+ return 1
+ }
+ }
+ return 0
+}
+proc backup-text {n} {
+ global manual
+ if {$manual(text-pointer)-$n >= 0} {
+ incr manual(text-pointer) -$n
+ }
+}
+proc match-text args {
+ global manual
+ set nargs [llength $args]
+ if {$manual(text-pointer) + $nargs > $manual(text-length)} {
+ return 0
+ }
+ set nback 0
+ foreach arg $args {
+ if {![more-text]} {
+ backup-text $nback
+ return 0
+ }
+ set arg [string trim $arg]
+ set targ [string trim [lindex $manual(text) $manual(text-pointer)]]
+ if {$arg eq $targ} {
+ incr nback
+ incr manual(text-pointer)
+ continue
+ }
+ if {[regexp {^@(\w+)$} $arg all name]} {
+ upvar 1 $name var
+ set var $targ
+ incr nback
+ incr manual(text-pointer)
+ continue
+ }
+ if {[regexp -nocase {^(\.[A-Z][A-Z])@(\w+)$} $arg all op name]\
+ && [string equal $op [lindex $targ 0]]} {
+ upvar 1 $name var
+ set var [lrange $targ 1 end]
+ incr nback
+ incr manual(text-pointer)
+ continue
+ }
+ backup-text $nback
+ return 0
+ }
+ return 1
+}
+proc expand-next-text {n} {
+ global manual
+ return [join [lrange $manual(text) $manual(text-pointer) \
+ [expr {$manual(text-pointer)+$n-1}]] \n\n]
+}
+##
+## pass 2 output
+##
+proc man-puts {text} {
+ global manual
+ lappend manual(output-$manual(wing-file)-$manual(name)) $text
+}
+
+##
+## build hypertext links to tables of contents
+##
+proc long-toc {text} {
+ global manual
+ set here M[incr manual(section-toc-n)]
+ set there L[incr manual(long-toc-n)]
+ lappend manual(section-toc) \
+ "<DD><A HREF=\"$manual(name).htm#$here\" NAME=\"$there\">$text</A>"
+ return "<A NAME=\"$here\">$text</A>"
+}
+proc option-toc {name class switch} {
+ global manual
+ if {[string match "*OPTIONS" $manual(section)]} {
+ if {
+ $manual(name) ne "ttk_widget"
+ && $manual(section) ne "WIDGET-SPECIFIC OPTIONS"
+ } then {
+ # link the defined option into the long table of contents
+ set link [long-toc "$switch, $name, $class"]
+ regsub -- "$switch, $name, $class" $link "$switch" link
+ return $link
+ }
+ } elseif {"$manual(name):$manual(section)" ne "options:DESCRIPTION"} {
+ error "option-toc in $manual(name) section $manual(section)"
+ }
+
+ # link the defined standard option to the long table of contents and make
+ # a target for the standard option references from other man pages.
+
+ set first [lindex $switch 0]
+ set here M$first
+ set there L[incr manual(long-toc-n)]
+ set manual(standard-option-$manual(name)-$first) \
+ "<A HREF=\"$manual(name).htm#$here\">$switch, $name, $class</A>"
+ lappend manual(section-toc) \
+ "<DD><A HREF=\"$manual(name).htm#$here\" NAME=\"$there\">$switch, $name, $class</A>"
+ return "<A NAME=\"$here\">$switch</A>"
+}
+proc std-option-toc {name page} {
+ global manual
+ if {[info exists manual(standard-option-$page-$name)]} {
+ lappend manual(section-toc) <DD>$manual(standard-option-$page-$name)
+ return $manual(standard-option-$page-$name)
+ }
+ manerror "missing reference to \"$name\" in $page.n"
+ set here M[incr manual(section-toc-n)]
+ set there L[incr manual(long-toc-n)]
+ set other M$name
+ lappend manual(section-toc) "<DD><A HREF=\"$page.htm#$other\">$name</A>"
+ return "<A HREF=\"$page.htm#$other\">$name</A>"
+}
+##
+## process the widget option section
+## in widget and options man pages
+##
+proc output-widget-options {rest} {
+ global manual
+ man-puts <DL>
+ lappend manual(section-toc) <DL>
+ backup-text 1
+ set para {}
+ while {[next-op-is .OP rest]} {
+ switch -exact -- [llength $rest] {
+ 3 {
+ lassign $rest switch name class
+ }
+ 5 {
+ set switch [lrange $rest 0 2]
+ set name [lindex $rest 3]
+ set class [lindex $rest 4]
+ }
+ default {
+ fatal "bad .OP $rest"
+ }
+ }
+ if {![regexp {^(<.>)([-\w ]+)(</.>)$} $switch \
+ all oswitch switch cswitch]} {
+ if {![regexp {^(<.>)([-\w ]+) or ([-\w ]+)(</.>)$} $switch \
+ all oswitch switch1 switch2 cswitch]} {
+ error "not Switch: $switch"
+ }
+ set switch "$switch1$cswitch or $oswitch$switch2"
+ }
+ if {![regexp {^(<.>)([\w]*)(</.>)$} $name all oname name cname]} {
+ error "not Name: $name"
+ }
+ if {![regexp {^(<.>)([\w]*)(</.>)$} $class all oclass class cclass]} {
+ error "not Class: $class"
+ }
+ man-puts "$para<DT>Command-Line Name: $oswitch[option-toc $name $class $switch]$cswitch"
+ man-puts "<DT>Database Name: $oname$name$cname"
+ man-puts "<DT>Database Class: $oclass$class$cclass"
+ man-puts <DD>[next-text]
+ set para <P>
+
+ if {[next-op-is .RS rest]} {
+ while {[more-text]} {
+ set line [next-text]
+ if {[is-a-directive $line]} {
+ split-directive $line code rest
+ switch -exact -- $code {
+ .RE {
+ break
+ }
+ .SH - .SS {
+ manerror "unbalanced .RS at section end"
+ backup-text 1
+ break
+ }
+ default {
+ output-directive $line
+ }
+ }
+ } else {
+ man-puts $line
+ }
+ }
+ }
+ }
+ man-puts </DL>
+ lappend manual(section-toc) </DL>
+}
+
+##
+## process .RS lists
+##
+proc output-RS-list {} {
+ global manual
+ if {[next-op-is .IP rest]} {
+ output-IP-list .RS .IP $rest
+ if {[match-text .RE .sp .RS @rest .IP @rest2]} {
+ man-puts <P>$rest
+ output-IP-list .RS .IP $rest2
+ }
+ if {[match-text .RE .sp .RS @rest .RE]} {
+ man-puts <P>$rest
+ return
+ }
+ if {[next-op-is .RE rest]} {
+ return
+ }
+ }
+ man-puts <DL><DD>
+ while {[more-text]} {
+ set line [next-text]
+ if {[is-a-directive $line]} {
+ split-directive $line code rest
+ switch -exact -- $code {
+ .RE {
+ break
+ }
+ .SH - .SS {
+ manerror "unbalanced .RS at section end"
+ backup-text 1
+ break
+ }
+ default {
+ output-directive $line
+ }
+ }
+ } else {
+ man-puts $line
+ }
+ }
+ man-puts </DL>
+}
+
+##
+## process .IP lists which may be plain indents,
+## numeric lists, or definition lists
+##
+proc output-IP-list {context code rest} {
+ global manual
+ if {![string length $rest]} {
+ # blank label, plain indent, no contents entry
+ man-puts <DL><DD>
+ while {[more-text]} {
+ set line [next-text]
+ if {[is-a-directive $line]} {
+ split-directive $line code rest
+ if {$code eq ".IP" && $rest eq {}} {
+ man-puts "<P>"
+ continue
+ }
+ if {$code in {.br .DS .RS}} {
+ output-directive $line
+ } else {
+ backup-text 1
+ break
+ }
+ } else {
+ man-puts $line
+ }
+ }
+ man-puts </DL>
+ } else {
+ # labelled list, make contents
+ if {$context ne ".SH" && $context ne ".SS"} {
+ man-puts <P>
+ }
+ set dl "<DL class=\"[string tolower $manual(section)]\">"
+ man-puts $dl
+ lappend manual(section-toc) $dl
+ backup-text 1
+ set accept_RE 0
+ set para {}
+ while {[more-text]} {
+ set line [next-text]
+ if {[is-a-directive $line]} {
+ split-directive $line code rest
+ switch -exact -- $code {
+ .IP {
+ if {$accept_RE} {
+ output-IP-list .IP $code $rest
+ continue
+ }
+ if {$manual(section) eq "ARGUMENTS" || \
+ [regexp {^\[\d+\]$} $rest]} {
+ man-puts "$para<DT>$rest<DD>"
+ } elseif {"&#8226;" eq $rest} {
+ man-puts "$para<DT><DD>$rest&nbsp;"
+ } else {
+ man-puts "$para<DT>[long-toc $rest]<DD>"
+ }
+ if {"$manual(name):$manual(section)" eq \
+ "selection:DESCRIPTION"} {
+ if {[match-text .RE @rest .RS .RS]} {
+ man-puts <DT>[long-toc $rest]<DD>
+ }
+ }
+ }
+ .sp - .br - .DS - .CS {
+ output-directive $line
+ }
+ .RS {
+ if {[match-text .RS]} {
+ output-directive $line
+ incr accept_RE 1
+ } elseif {[match-text .CS]} {
+ output-directive .CS
+ incr accept_RE 1
+ } elseif {[match-text .PP]} {
+ output-directive .PP
+ incr accept_RE 1
+ } elseif {[match-text .DS]} {
+ output-directive .DS
+ incr accept_RE 1
+ } else {
+ output-directive $line
+ }
+ }
+ .PP {
+ if {[match-text @rest1 .br @rest2 .RS]} {
+ # yet another nroff kludge as above
+ man-puts "$para<DT>[long-toc $rest1]"
+ man-puts "<DT>[long-toc $rest2]<DD>"
+ incr accept_RE 1
+ } elseif {[match-text @rest .RE]} {
+ # gad, this is getting ridiculous
+ if {!$accept_RE} {
+ man-puts "</DL><P>$rest<DL>"
+ backup-text 1
+ set para {}
+ break
+ } else {
+ man-puts "<P>$rest"
+ incr accept_RE -1
+ }
+ } elseif {$accept_RE} {
+ output-directive $line
+ } else {
+ backup-text 1
+ break
+ }
+ }
+ .RE {
+ if {!$accept_RE} {
+ backup-text 1
+ break
+ }
+ incr accept_RE -1
+ }
+ default {
+ backup-text 1
+ break
+ }
+ }
+ } else {
+ man-puts $line
+ }
+ set para <P>
+ }
+ man-puts "$para</DL>"
+ lappend manual(section-toc) </DL>
+ if {$accept_RE} {
+ manerror "missing .RE in output-IP-list"
+ }
+ }
+}
+##
+## handle the NAME section lines
+## there's only one line in the NAME section,
+## consisting of a comma separated list of names,
+## followed by a hyphen and a short description.
+##
+proc output-name {line} {
+ global manual
+ # split name line into pieces
+ regexp {^([^-]+) - (.*)$} $line all head tail
+ # output line to manual page untouched
+ man-puts $line
+ # output line to long table of contents
+ lappend manual(section-toc) <DL><DD>$line</DD></DL>
+ # separate out the names for future reference
+ foreach name [split $head ,] {
+ set name [string trim $name]
+ if {[llength $name] > 1} {
+ manerror "name has a space: {$name}\nfrom: $line"
+ }
+ lappend manual(wing-toc) $name
+ lappend manual(name-$name) $manual(wing-file)/$manual(name)
+ }
+}
+##
+## build a cross-reference link if appropriate
+##
+proc cross-reference {ref} {
+ global manual
+ if {[string match "Tcl_*" $ref]} {
+ set lref $ref
+ } elseif {[string match "Tk_*" $ref]} {
+ set lref $ref
+ } elseif {$ref eq "Tcl"} {
+ set lref $ref
+ } else {
+ set lref [string tolower $ref]
+ }
+ ##
+ ## nothing to reference
+ ##
+ if {![info exists manual(name-$lref)]} {
+ foreach name {
+ array file history info interp string trace after clipboard grab
+ image option pack place selection tk tkwait update winfo wm
+ } {
+ if {[regexp "^$name \[a-z0-9]*\$" $lref] && \
+ [info exists manual(name-$name)] && \
+ $manual(tail) ne "$name.n"} {
+ return "<A HREF=\"../$manual(name-$name).htm\">$ref</A>"
+ }
+ }
+ if {$lref in {stdin stdout stderr end}} {
+ # no good place to send these
+ # tcl tokens?
+ # also end
+ }
+ return $ref
+ }
+ ##
+ ## would be a self reference
+ ##
+ foreach name $manual(name-$lref) {
+ if {"$manual(wing-file)/$manual(name)" in $name} {
+ return $ref
+ }
+ }
+ ##
+ ## multiple choices for reference
+ ##
+ if {[llength $manual(name-$lref)] > 1} {
+ set tcl_i [lsearch -glob $manual(name-$lref) *TclCmd*]
+ set tcl_ref [lindex $manual(name-$lref) $tcl_i]
+ set tk_i [lsearch -glob $manual(name-$lref) *TkCmd*]
+ set tk_ref [lindex $manual(name-$lref) $tk_i]
+ if {$tcl_i >= 0 && $manual(wing-file) eq "TclCmd"
+ || $manual(wing-file) eq "TclLib"} {
+ return "<A HREF=\"../$tcl_ref.htm\">$ref</A>"
+ }
+ if {$tk_i >= 0 && $manual(wing-file) eq "TkCmd"
+ || $manual(wing-file) eq "TkLib"} {
+ return "<A HREF=\"../$tk_ref.htm\">$ref</A>"
+ }
+ if {$lref eq "exit" && $manual(tail) eq "tclsh.1" && $tcl_i >= 0} {
+ return "<A HREF=\"../$tcl_ref.htm\">$ref</A>"
+ }
+ puts stderr "multiple cross reference to $ref in $manual(name-$lref) from $manual(wing-file)/$manual(tail)"
+ return $ref
+ }
+ ##
+ ## exceptions, sigh, to the rule
+ ##
+ switch -exact -- $manual(tail) {
+ canvas.n {
+ if {$lref eq "focus"} {
+ upvar 1 tail tail
+ set clue [string first command $tail]
+ if {$clue < 0 || $clue > 5} {
+ return $ref
+ }
+ }
+ if {$lref in {bitmap image text}} {
+ return $ref
+ }
+ }
+ checkbutton.n - radiobutton.n {
+ if {$lref in {image}} {
+ return $ref
+ }
+ }
+ menu.n {
+ if {$lref in {checkbutton radiobutton}} {
+ return $ref
+ }
+ }
+ options.n {
+ if {$lref in {bitmap image set}} {
+ return $ref
+ }
+ }
+ regexp.n {
+ if {$lref in {string}} {
+ return $ref
+ }
+ }
+ source.n {
+ if {$lref in {text}} {
+ return $ref
+ }
+ }
+ history.n {
+ if {$lref in {exec}} {
+ return $ref
+ }
+ }
+ return.n {
+ if {$lref in {error continue break}} {
+ return $ref
+ }
+ }
+ scrollbar.n {
+ if {$lref in {set}} {
+ return $ref
+ }
+ }
+ safe.n {
+ if {$lref in {options}} {
+ return $ref
+ }
+ }
+ }
+ ##
+ ## return the cross reference
+ ##
+ return "<A HREF=\"../$manual(name-$lref).htm\">$ref</A>"
+}
+##
+## reference generation errors
+##
+proc reference-error {msg text} {
+ global manual
+ puts stderr "$manual(tail): $msg: {$text}"
+ return $text
+}
+##
+## insert as many cross references into this text string as are appropriate
+##
+proc insert-cross-references {text} {
+ global manual
+ ##
+ ## we identify cross references by:
+ ## ``quotation''
+ ## <B>emboldening</B>
+ ## Tcl_ prefix
+ ## Tk_ prefix
+ ## [a-zA-Z0-9]+ manual entry
+ ## and we avoid messing with already anchored text
+ ##
+ ##
+ ## find where each item lives
+ ##
+ array set offset [list \
+ anchor [string first {<A } $text] \
+ end-anchor [string first {</A>} $text] \
+ quote [string first {``} $text] \
+ end-quote [string first {''} $text] \
+ bold [string first {<B>} $text] \
+ end-bold [string first {</B>} $text] \
+ tcl [string first {Tcl_} $text] \
+ tk [string first {Tk_} $text] \
+ Tcl1 [string first {Tcl manual entry} $text] \
+ Tcl2 [string first {Tcl overview manual entry} $text] \
+ ]
+ ##
+ ## accumulate a list
+ ##
+ foreach name [array names offset] {
+ if {$offset($name) >= 0} {
+ set invert($offset($name)) $name
+ lappend offsets $offset($name)
+ }
+ }
+ ##
+ ## if nothing, then we're done.
+ ##
+ if {![info exists offsets]} {
+ return $text
+ }
+ ##
+ ## sort the offsets
+ ##
+ set offsets [lsort -integer $offsets]
+ ##
+ ## see which we want to use
+ ##
+ switch -exact -- $invert([lindex $offsets 0]) {
+ anchor {
+ if {$offset(end-anchor) < 0} {
+ return [reference-error {Missing end anchor} $text]
+ }
+ set head [string range $text 0 $offset(end-anchor)]
+ set tail [string range $text [expr {$offset(end-anchor)+1}] end]
+ return $head[insert-cross-references $tail]
+ }
+ quote {
+ if {$offset(end-quote) < 0} {
+ return [reference-error "Missing end quote" $text]
+ }
+ if {$invert([lindex $offsets 1]) eq "tk"} {
+ set offsets [lreplace $offsets 1 1]
+ }
+ if {$invert([lindex $offsets 1]) eq "tcl"} {
+ set offsets [lreplace $offsets 1 1]
+ }
+ switch -exact -- $invert([lindex $offsets 1]) {
+ end-quote {
+ set head [string range $text 0 [expr {$offset(quote)-1}]]
+ set body [string range $text [expr {$offset(quote)+2}] \
+ [expr {$offset(end-quote)-1}]]
+ set tail [string range $text \
+ [expr {$offset(end-quote)+2}] end]
+ return "$head``[cross-reference $body]''[insert-cross-references $tail]"
+ }
+ bold -
+ anchor {
+ set head [string range $text \
+ 0 [expr {$offset(end-quote)+1}]]
+ set tail [string range $text \
+ [expr {$offset(end-quote)+2}] end]
+ return "$head[insert-cross-references $tail]"
+ }
+ }
+ return [reference-error "Uncaught quote case" $text]
+ }
+ bold {
+ if {$offset(end-bold) < 0} {
+ return $text
+ }
+ if {$invert([lindex $offsets 1]) eq "tk"} {
+ set offsets [lreplace $offsets 1 1]
+ }
+ if {$invert([lindex $offsets 1]) eq "tcl"} {
+ set offsets [lreplace $offsets 1 1]
+ }
+ switch -exact -- $invert([lindex $offsets 1]) {
+ end-bold {
+ set head [string range $text 0 [expr {$offset(bold)-1}]]
+ set body [string range $text [expr {$offset(bold)+3}] \
+ [expr {$offset(end-bold)-1}]]
+ set tail [string range $text \
+ [expr {$offset(end-bold)+4}] end]
+ return "$head<B>[cross-reference $body]</B>[insert-cross-references $tail]"
+ }
+ anchor {
+ set head [string range $text \
+ 0 [expr {$offset(end-bold)+3}]]
+ set tail [string range $text \
+ [expr {$offset(end-bold)+4}] end]
+ return "$head[insert-cross-references $tail]"
+ }
+ }
+ return [reference-error "Uncaught bold case" $text]
+ }
+ tk {
+ set head [string range $text 0 [expr {$offset(tk)-1}]]
+ set tail [string range $text $offset(tk) end]
+ if {![regexp {^(Tk_\w+)(.*)$} $tail all body tail]} {
+ return [reference-error "Tk regexp failed" $text]
+ }
+ return $head[cross-reference $body][insert-cross-references $tail]
+ }
+ tcl {
+ set head [string range $text 0 [expr {$offset(tcl)-1}]]
+ set tail [string range $text $offset(tcl) end]
+ if {![regexp {^(Tcl_\w+)(.*)$} $tail all body tail]} {
+ return [reference-error {Tcl regexp failed} $text]
+ }
+ return $head[cross-reference $body][insert-cross-references $tail]
+ }
+ Tcl1 -
+ Tcl2 {
+ set off [lindex $offsets 0]
+ set head [string range $text 0 [expr {$off-1}]]
+ set body Tcl
+ set tail [string range $text [expr {$off+3}] end]
+ return $head[cross-reference $body][insert-cross-references $tail]
+ }
+ end-anchor -
+ end-bold -
+ end-quote {
+ return [reference-error "Out of place $invert([lindex $offsets 0])" $text]
+ }
+ }
+}
+##
+## process formatting directives
+##
+proc output-directive {line} {
+ global manual
+ # process format directive
+ split-directive $line code rest
+ switch -exact -- $code {
+ .BS - .BE {
+ # man-puts <HR>
+ }
+ .SH - .SS {
+ # drain any open lists
+ # announce the subject
+ set manual(section) $rest
+ # start our own stack of stuff
+ set manual($manual(name)-$manual(section)) {}
+ lappend manual(has-$manual(section)) $manual(name)
+ if {$code ne ".SS"} {
+ man-puts "<H3>[long-toc $manual(section)]</H3>"
+ } else {
+ man-puts "<H4>[long-toc $manual(section)]</H4>"
+ }
+ # some sections can simply free wheel their way through the text
+ # some sections can be processed in their own loops
+ switch -exact -- $manual(section) {
+ NAME {
+ if {$manual(tail) in {CrtImgType.3 CrtItemType.3 CrtPhImgFmt.3}} {
+ # these manual pages have two NAME sections
+ if {[info exists manual($manual(tail)-NAME)]} {
+ return
+ }
+ set manual($manual(tail)-NAME) 1
+ }
+ set names {}
+ while {1} {
+ set line [next-text]
+ if {[is-a-directive $line]} {
+ backup-text 1
+ output-name [join $names { }]
+ return
+ } else {
+ lappend names [string trim $line]
+ }
+ }
+ }
+ SYNOPSIS {
+ lappend manual(section-toc) <DL>
+ while {1} {
+ if {
+ [next-op-is .nf rest]
+ || [next-op-is .br rest]
+ || [next-op-is .fi rest]
+ } then {
+ continue
+ }
+ if {
+ [next-op-is .SH rest]
+ || [next-op-is .SS rest]
+ || [next-op-is .BE rest]
+ || [next-op-is .SO rest]
+ } then {
+ backup-text 1
+ break
+ }
+ if {[next-op-is .sp rest]} {
+ #man-puts <P>
+ continue
+ }
+ set more [next-text]
+ if {[is-a-directive $more]} {
+ manerror "in SYNOPSIS found $more"
+ backup-text 1
+ break
+ }
+ foreach more [split $more \n] {
+ man-puts $more<BR>
+ if {$manual(wing-file) in {TclLib TkLib}} {
+ lappend manual(section-toc) <DD>$more
+ }
+ }
+ }
+ lappend manual(section-toc) </DL>
+ return
+ }
+ {SEE ALSO} {
+ while {[more-text]} {
+ if {[next-op-is .SH rest] || [next-op-is .SS rest]} {
+ backup-text 1
+ return
+ }
+ set more [next-text]
+ if {[is-a-directive $more]} {
+ manerror "$more"
+ backup-text 1
+ return
+ }
+ set nmore {}
+ foreach cr [split $more ,] {
+ set cr [string trim $cr]
+ if {![regexp {^<B>.*</B>$} $cr]} {
+ set cr <B>$cr</B>
+ }
+ if {[regexp {^<B>(.*)\([13n]\)</B>$} $cr all name]} {
+ set cr <B>$name</B>
+ }
+ lappend nmore $cr
+ }
+ man-puts [join $nmore {, }]
+ }
+ return
+ }
+ KEYWORDS {
+ while {[more-text]} {
+ if {[next-op-is .SH rest] || [next-op-is .SS rest]} {
+ backup-text 1
+ return
+ }
+ set more [next-text]
+ if {[is-a-directive $more]} {
+ manerror "$more"
+ backup-text 1
+ return
+ }
+ set keys {}
+ foreach key [split $more ,] {
+ set key [string trim $key]
+ lappend manual(keyword-$key) [list $manual(name) $manual(wing-file)/$manual(name).htm]
+ set initial [string toupper [string index $key 0]]
+ lappend keys "<A href=\"../Keywords/$initial.htm\#$key\">$key</A>"
+ }
+ man-puts [join $keys {, }]
+ }
+ return
+ }
+ }
+ if {[next-op-is .IP rest]} {
+ output-IP-list $code .IP $rest
+ return
+ }
+ if {[next-op-is .PP rest]} {
+ return
+ }
+ return
+ }
+ .SO {
+ set targetPage $rest
+ if {[match-text @stuff .SE]} {
+ output-directive {.SH STANDARD OPTIONS}
+ set opts [split $stuff \n\t]
+ man-puts <DL>
+ lappend manual(section-toc) <DL>
+ foreach option [lsort -dictionary $opts] {
+ man-puts "<DT><B>[std-option-toc $option $targetPage]</B>"
+ }
+ man-puts </DL>
+ lappend manual(section-toc) </DL>
+ } else {
+ manerror "unexpected .SO format:\n[expand-next-text 2]"
+ }
+ }
+ .OP {
+ output-widget-options $rest
+ return
+ }
+ .IP {
+ output-IP-list .IP .IP $rest
+ return
+ }
+ .PP {
+ man-puts <P>
+ }
+ .RS {
+ output-RS-list
+ return
+ }
+ .RE {
+ manerror "unexpected .RE"
+ return
+ }
+ .br {
+ man-puts <BR>
+ return
+ }
+ .DE {
+ manerror "unexpected .DE"
+ return
+ }
+ .DS {
+ if {[next-op-is .ta rest]} {
+ # skip the leading .ta directive if it is there
+ }
+ if {[match-text @stuff .DE]} {
+ set td "<td><p style=\"font-size:12px;padding-left:.5em;padding-right:.5em;\">"
+ set bodyText [string map [list \n <tr>$td \t $td] \n$stuff]
+ man-puts "<dl><dd><table border=\"0\">$bodyText</table></dl>"
+ #man-puts <PRE>$stuff</PRE>
+ } elseif {[match-text .fi @ul1 @ul2 .nf @stuff .DE]} {
+ man-puts "<PRE>[lindex $ul1 1][lindex $ul2 1]\n$stuff</PRE>"
+ } else {
+ manerror "unexpected .DS format:\n[expand-next-text 2]"
+ }
+ return
+ }
+ .CS {
+ if {[next-op-is .ta rest]} {
+ # ???
+ }
+ if {[match-text @stuff .CE]} {
+ man-puts <PRE>$stuff</PRE>
+ } else {
+ manerror "unexpected .CS format:\n[expand-next-text 2]"
+ }
+ return
+ }
+ .CE {
+ manerror "unexpected .CE"
+ return
+ }
+ .sp {
+ man-puts <P>
+ }
+ .ta {
+ # these are tab stop settings for short tables
+ switch -exact -- $manual(name):$manual(section) {
+ {bind:MODIFIERS} -
+ {bind:EVENT TYPES} -
+ {bind:BINDING SCRIPTS AND SUBSTITUTIONS} -
+ {expr:OPERANDS} -
+ {expr:MATH FUNCTIONS} -
+ {history:DESCRIPTION} -
+ {history:HISTORY REVISION} -
+ {switch:DESCRIPTION} -
+ {upvar:DESCRIPTION} {
+ return; # fix.me
+ }
+ default {
+ manerror "ignoring $line"
+ }
+ }
+ }
+ .nf {
+ if {[match-text @more .fi]} {
+ foreach more [split $more \n] {
+ man-puts $more<BR>
+ }
+ } elseif {[match-text .RS @more .RE .fi]} {
+ man-puts <DL><DD>
+ foreach more [split $more \n] {
+ man-puts $more<BR>
+ }
+ man-puts </DL>
+ } elseif {[match-text .RS @more .RS @more2 .RE .RE .fi]} {
+ man-puts <DL><DD>
+ foreach more [split $more \n] {
+ man-puts $more<BR>
+ }
+ man-puts <DL><DD>
+ foreach more2 [split $more2 \n] {
+ man-puts $more2<BR>
+ }
+ man-puts </DL></DL>
+ } elseif {[match-text .RS @more .RS @more2 .RE @more3 .RE .fi]} {
+ man-puts <DL><DD>
+ foreach more [split $more \n] {
+ man-puts $more<BR>
+ }
+ man-puts <DL><DD>
+ foreach more2 [split $more2 \n] {
+ man-puts $more2<BR>
+ }
+ man-puts </DL><DD>
+ foreach more3 [split $more3 \n] {
+ man-puts $more3<BR>
+ }
+ man-puts </DL>
+ } elseif {[match-text .sp .RS @more .RS @more2 .sp .RE .RE .fi]} {
+ man-puts <P><DL><DD>
+ foreach more [split $more \n] {
+ man-puts $more<BR>
+ }
+ man-puts <DL><DD>
+ foreach more2 [split $more2 \n] {
+ man-puts $more2<BR>
+ }
+ man-puts </DL></DL><P>
+ } elseif {[match-text .RS .sp @more .sp .RE .fi]} {
+ man-puts <P><DL><DD>
+ foreach more [split $more \n] {
+ man-puts $more<BR>
+ }
+ man-puts </DL><P>
+ } else {
+ manerror "ignoring $line"
+ }
+ }
+ .fi {
+ manerror "ignoring $line"
+ }
+ .na -
+ .ad -
+ .UL -
+ .ne {
+ manerror "ignoring $line"
+ }
+ default {
+ manerror "unrecognized format directive: $line"
+ }
+ }
+}
+##
+## merge copyright listings
+##
+proc merge-copyrights {l1 l2} {
+ set merge {}
+ set re1 {^Copyright +(?:\(c\)|\\\(co|&copy;) +(\w.*?)(?:all rights reserved)?(?:\. )*$}
+ set re2 {^(\d+) +(?:by +)?(\w.*)$} ;# date who
+ set re3 {^(\d+)-(\d+) +(?:by +)?(\w.*)$} ;# from to who
+ set re4 {^(\d+), *(\d+) +(?:by +)?(\w.*)$} ;# date1 date2 who
+ foreach copyright [concat $l1 $l2] {
+ if {[regexp -nocase -- $re1 $copyright -> info]} {
+ set info [string trimright $info ". "] ; # remove extra period
+ if {[regexp -- $re2 $info -> date who]} {
+ lappend dates($who) $date
+ continue
+ } elseif {[regexp -- $re3 $info -> from to who]} {
+ for {set date $from} {$date <= $to} {incr date} {
+ lappend dates($who) $date
+ }
+ continue
+ } elseif {[regexp -- $re3 $info -> date1 date2 who]} {
+ lappend dates($who) $date1 $date2
+ continue
+ }
+ }
+ puts "oops: $copyright"
+ }
+ foreach who [array names dates] {
+ set list [lsort -dictionary $dates($who)]
+ if {[llength $list] == 1 || [lindex $list 0] eq [lrange $list end end]} {
+ lappend merge "Copyright &copy; [lindex $list 0] $who"
+ } else {
+ lappend merge "Copyright &copy; [lindex $list 0]-[lrange $list end end] $who"
+ }
+ }
+ return [lsort -dictionary $merge]
+}
+
+proc makedirhier {dir} {
+ if {![file isdirectory $dir] && \
+ [catch {file mkdir $dir} error]} {
+ return -code error "cannot create directory $dir: $error"
+ }
+}
+
+proc addbuffer {args} {
+ global manual
+ if {$manual(partial-text) ne ""} {
+ append manual(partial-text) \n
+ }
+ append manual(partial-text) [join $args ""]
+}
+proc flushbuffer {} {
+ global manual
+ if {$manual(partial-text) ne ""} {
+ lappend manual(text) [process-text $manual(partial-text)]
+ set manual(partial-text) ""
+ }
+}
+
##
## foreach of the man directories specified by args
## convert manpages into hypertext in the directory
## specified by html.
##
proc make-man-pages {html args} {
- global manual overall_title tcltkdesc verbose
- global excluded_pages forced_index_pages process_first_patterns
-
+ global manual overall_title tcltkdesc
makedirhier $html
set cssfd [open $html/$::CSSFILE w]
- fconfigure $cssfd -translation lf -encoding utf-8
- puts $cssfd [css-stylesheet]
+ puts $cssfd [gencss]
close $cssfd
set manual(short-toc-n) 1
set manual(short-toc-fp) [open $html/[indexfile] w]
- fconfigure $manual(short-toc-fp) -translation lf -encoding utf-8
puts $manual(short-toc-fp) [htmlhead $overall_title $overall_title]
- puts $manual(short-toc-fp) "<dl class=\"keylist\">"
+ puts $manual(short-toc-fp) "<DL class=\"keylist\">"
set manual(merge-copyrights) {}
-
foreach arg $args {
# preprocess to set up subheader for the rest of the files
if {![llength $arg]} {
continue
}
- lassign $arg -> name file
- if {[regexp {(.*)(?: Package)? Commands(?:, version .*)?} $name -> pkg]} {
- set name "$pkg Commands"
- } elseif {[regexp {(.*)(?: Package)? C API(?:, version .*)?} $name -> pkg]} {
- set name "$pkg C API"
- }
+ set name [lindex $arg 1]
+ set file [lindex $arg 2]
lappend manual(subheader) $name $file
}
-
- ##
- ## parse the manpages in a section of the docs (split by
- ## package) and construct formatted manpages
- ##
foreach arg $args {
- if {[llength $arg]} {
- make-manpage-section $html $arg
+ if {![llength $arg]} {
+ continue
+ }
+ set manual(wing-glob) [lindex $arg 0]
+ set manual(wing-name) [lindex $arg 1]
+ set manual(wing-file) [lindex $arg 2]
+ set manual(wing-description) [lindex $arg 3]
+ set manual(wing-copyrights) {}
+ makedirhier $html/$manual(wing-file)
+ set manual(wing-toc-fp) [open $html/$manual(wing-file)/[indexfile] w]
+ # whistle
+ puts stderr "scanning section $manual(wing-name)"
+ # put the entry for this section into the short table of contents
+ puts $manual(short-toc-fp) "<DT><A HREF=\"$manual(wing-file)/[indexfile]\">$manual(wing-name)</A></DT><DD>$manual(wing-description)</DD>"
+ # initialize the wing table of contents
+ puts $manual(wing-toc-fp) [htmlhead $manual(wing-name) \
+ $manual(wing-name) $overall_title "../[indexfile]"]
+ # initialize the short table of contents for this section
+ set manual(wing-toc) {}
+ # initialize the man directory for this section
+ makedirhier $html/$manual(wing-file)
+ # initialize the long table of contents for this section
+ set manual(long-toc-n) 1
+ # get the manual pages for this section
+ set manual(pages) [lsort -dictionary [glob $manual(wing-glob)]]
+ set n [lsearch -glob $manual(pages) */ttk_widget.n]
+ if {$n >= 0} {
+ set manual(pages) "[lindex $manual(pages) $n] [lreplace $manual(pages) $n $n]"
+ }
+ set n [lsearch -glob $manual(pages) */options.n]
+ if {$n >= 0} {
+ set manual(pages) "[lindex $manual(pages) $n] [lreplace $manual(pages) $n $n]"
+ }
+ # set manual(pages) [lrange $manual(pages) 0 5]
+ set LQ \u201c
+ set RQ \u201d
+ foreach manual_page $manual(pages) {
+ set manual(page) $manual_page
+ # whistle
+ puts stderr "scanning page $manual(page)"
+ set manual(tail) [file tail $manual(page)]
+ set manual(name) [file root $manual(tail)]
+ set manual(section) {}
+ if {$manual(name) in {case pack-old menubar}} {
+ # obsolete
+ manerror "discarding $manual(name)"
+ continue
+ }
+ set manual(infp) [open $manual(page)]
+ set manual(text) {}
+ set manual(partial-text) {}
+ foreach p {.RS .DS .CS .SO} {
+ set manual($p) 0
+ }
+ set manual(stack) {}
+ set manual(section) {}
+ set manual(section-toc) {}
+ set manual(section-toc-n) 1
+ set manual(copyrights) {}
+ lappend manual(copyrights) "Copyright &copy; 1995-1997 Roger E. Critchlow Jr."
+ lappend manual(all-pages) $manual(wing-file)/$manual(tail)
+ manreport 100 $manual(name)
+ while {[gets $manual(infp) line] >= 0} {
+ manreport 100 $line
+ if {[regexp {^[`'][/\\]} $line]} {
+ if {[regexp {Copyright (?:\(c\)|\\\(co).*$} $line copyright]} {
+ lappend manual(copyrights) $copyright
+ }
+ # comment
+ continue
+ }
+ if {"$line" eq {'}} {
+ # comment
+ continue
+ }
+ if {![parse-directive $line code rest]} {
+ addbuffer $line
+ continue
+ }
+ switch -exact -- $code {
+ .ad - .na - .so - .ne - .AS - .VE - .VS - . {
+ # ignore
+ continue
+ }
+ }
+ switch -exact -- $code {
+ .SH - .SS {
+ flushbuffer
+ if {[llength $rest] == 0} {
+ gets $manual(infp) rest
+ }
+ lappend manual(text) "$code [unquote $rest]"
+ }
+ .TH {
+ flushbuffer
+ lappend manual(text) "$code [unquote $rest]"
+ }
+ .QW {
+ set rest [regexp -all -inline {\"(?:[^""]+)\"|\S+} $rest]
+ addbuffer $LQ [unquote [lindex $rest 0]] $RQ \
+ [unquote [lindex $rest 1]]
+ }
+ .PQ {
+ set rest [regexp -all -inline {\"(?:[^""]+)\"|\S+} $rest]
+ addbuffer ( $LQ [unquote [lindex $rest 0]] $RQ \
+ [unquote [lindex $rest 1]] ) \
+ [unquote [lindex $rest 2]]
+ }
+ .QR {
+ set rest [regexp -all -inline {\"(?:[^""]+)\"|\S+} $rest]
+ addbuffer $LQ [unquote [lindex $rest 0]] - \
+ [unquote [lindex $rest 1]] $RQ \
+ [unquote [lindex $rest 2]]
+ }
+ .MT {
+ addbuffer $LQ$RQ
+ }
+ .HS - .UL - .ta {
+ flushbuffer
+ lappend manual(text) "$code [unquote $rest]"
+ }
+ .BS - .BE - .br - .fi - .sp - .nf {
+ flushbuffer
+ if {"$rest" ne {}} {
+ manerror "unexpected argument: $line"
+ }
+ lappend manual(text) $code
+ }
+ .AP {
+ flushbuffer
+ lappend manual(text) [concat .IP [process-text "[lindex $rest 0] \\fB[lindex $rest 1]\\fR ([lindex $rest 2])"]]
+ }
+ .IP {
+ flushbuffer
+ regexp {^(.*) +\d+$} $rest all rest
+ lappend manual(text) ".IP [process-text [unquote [string trim $rest]]]"
+ }
+ .TP {
+ flushbuffer
+ while {[is-a-directive [set next [gets $manual(infp)]]]} {
+ manerror "ignoring $next after .TP"
+ }
+ if {"$next" ne {'}} {
+ lappend manual(text) ".IP [process-text $next]"
+ }
+ }
+ .OP {
+ flushbuffer
+ lappend manual(text) [concat .OP [process-text \
+ "\\fB[lindex $rest 0]\\fR \\fB[lindex $rest 1]\\fR \\fB[lindex $rest 2]\\fR"]]
+ }
+ .PP - .LP {
+ flushbuffer
+ lappend manual(text) {.PP}
+ }
+ .RS {
+ flushbuffer
+ incr manual(.RS)
+ lappend manual(text) $code
+ }
+ .RE {
+ flushbuffer
+ incr manual(.RS) -1
+ lappend manual(text) $code
+ }
+ .SO {
+ flushbuffer
+ incr manual(.SO)
+ if {[llength $rest] == 0} {
+ lappend manual(text) "$code options"
+ } else {
+ lappend manual(text) "$code [unquote $rest]"
+ }
+ }
+ .SE {
+ flushbuffer
+ incr manual(.SO) -1
+ lappend manual(text) $code
+ }
+ .DS {
+ flushbuffer
+ incr manual(.DS)
+ lappend manual(text) $code
+ }
+ .DE {
+ flushbuffer
+ incr manual(.DS) -1
+ lappend manual(text) $code
+ }
+ .CS {
+ flushbuffer
+ incr manual(.CS)
+ lappend manual(text) $code
+ }
+ .CE {
+ flushbuffer
+ incr manual(.CS) -1
+ lappend manual(text) $code
+ }
+ .de {
+ while {[gets $manual(infp) line] >= 0} {
+ if {[string match "..*" $line]} {
+ break
+ }
+ }
+ }
+ .. {
+ error "found .. outside of .de"
+ }
+ default {
+ flushbuffer
+ manerror "unrecognized format directive: $line"
+ }
+ }
+ }
+ flushbuffer
+ close $manual(infp)
+ # fixups
+ if {$manual(.RS) != 0} {
+ puts "unbalanced .RS .RE"
+ }
+ if {$manual(.DS) != 0} {
+ puts "unbalanced .DS .DE"
+ }
+ if {$manual(.CS) != 0} {
+ puts "unbalanced .CS .CE"
+ }
+ if {$manual(.SO) != 0} {
+ puts "unbalanced .SO .SE"
+ }
+ # output conversion
+ open-text
+ set haserror 0
+ if {[next-op-is .HS rest]} {
+ set manual($manual(name)-title) \
+ "[lrange $rest 1 end] [lindex $rest 0] manual page"
+ } elseif {[next-op-is .TH rest]} {
+ set manual($manual(name)-title) "[lindex $rest 0] manual page - [lrange $rest 4 end]"
+ } else {
+ set haserror 1
+ manerror "no .HS or .TH record found"
+ }
+ if {!$haserror} {
+ while {[more-text]} {
+ set line [next-text]
+ if {[is-a-directive $line]} {
+ output-directive $line
+ } else {
+ man-puts $line
+ }
+ }
+ man-puts [copyout $manual(copyrights) "../"]
+ set manual(wing-copyrights) [merge-copyrights $manual(wing-copyrights) $manual(copyrights)]
+ }
+ #
+ # make the long table of contents for this page
+ #
+ set manual(toc-$manual(wing-file)-$manual(name)) [concat <DL> $manual(section-toc) </DL>]
+ }
+
+ #
+ # make the wing table of contents for the section
+ #
+ set width 0
+ foreach name $manual(wing-toc) {
+ if {[string length $name] > $width} {
+ set width [string length $name]
+ }
+ }
+ set perline [expr {120 / $width}]
+ set nrows [expr {([llength $manual(wing-toc)]+$perline)/$perline}]
+ set n 0
+ catch {unset rows}
+ foreach name [lsort -dictionary $manual(wing-toc)] {
+ set tail $manual(name-$name)
+ if {[llength $tail] > 1} {
+ manerror "$name is defined in more than one file: $tail"
+ set tail [lindex $tail [expr {[llength $tail]-1}]]
+ }
+ set tail [file tail $tail]
+ append rows([expr {$n%$nrows}]) \
+ "<td> <a href=\"$tail.htm\">$name</a>"
+ incr n
}
+ puts $manual(wing-toc-fp) <table>
+ foreach row [lsort -integer [array names rows]] {
+ puts $manual(wing-toc-fp) <tr>$rows($row)</tr>
+ }
+ puts $manual(wing-toc-fp) </table>
+
+ #
+ # insert wing copyrights
+ #
+ puts $manual(wing-toc-fp) [copyout $manual(wing-copyrights) "../"]
+ puts $manual(wing-toc-fp) "</BODY></HTML>"
+ close $manual(wing-toc-fp)
+ set manual(merge-copyrights) [merge-copyrights $manual(merge-copyrights) $manual(wing-copyrights)]
}
##
## build the keyword index.
##
- if {!$verbose} {
- puts stderr "Assembling index"
- }
file delete -force -- $html/Keywords
makedirhier $html/Keywords
set keyfp [open $html/Keywords/[indexfile] w]
- fconfigure $keyfp -translation lf -encoding utf-8
puts $keyfp [htmlhead "$tcltkdesc Keywords" "$tcltkdesc Keywords" \
$overall_title "../[indexfile]"]
set letters {A B C D E F G H I J K L M N O P Q R S T U V W X Y Z}
@@ -381,13 +1825,13 @@ proc make-man-pages {html args} {
foreach a $letters {
set keys [array names manual "keyword-\[[string totitle $a$a]\]*"]
if {[llength $keys]} {
- lappend keyheader "<a href=\"$a.html\">$a</a>"
+ lappend keyheader "<A HREF=\"$a.htm\">$a</A>"
} else {
# No keywords for this letter
lappend keyheader $a
}
}
- set keyheader <h3>[join $keyheader " |\n"]</h3>
+ set keyheader "<H3>[join $keyheader " |\n"]</H3>"
puts $keyfp $keyheader
foreach a $letters {
set keys [array names manual "keyword-\[[string totitle $a$a]\]*"]
@@ -395,440 +1839,124 @@ proc make-man-pages {html args} {
continue
}
# Per-keyword page
- set afp [open $html/Keywords/$a.html w]
- fconfigure $afp -translation lf -encoding utf-8
+ set afp [open $html/Keywords/$a.htm w]
puts $afp [htmlhead "$tcltkdesc Keywords - $a" \
"$tcltkdesc Keywords - $a" \
$overall_title "../[indexfile]"]
puts $afp $keyheader
- puts $afp "<dl class=\"keylist\">"
+ puts $afp "<DL class=\"keylist\">"
foreach k [lsort -dictionary $keys] {
set k [string range $k 8 end]
- puts $afp "<dt><a name=\"[nospace-text $k]\" id=\"[nospace-text $k]\">$k</a></dt>"
- puts $afp "<dd>"
+ puts $afp "<DT><A NAME=\"$k\">$k</A></DT>"
+ puts $afp "<DD>"
set refs {}
foreach man $manual(keyword-$k) {
set name [lindex $man 0]
set file [lindex $man 1]
- if {[info exists manual(tooltip-$file)]} {
- set tooltip $manual(tooltip-$file)
- if {[string match {*[<>""]*} $tooltip]} {
- manerror "bad tooltip for $file: \"$tooltip\""
- }
- lappend refs "<a href=\"../$file\" title=\"$tooltip\">$name</a>"
- } else {
- lappend refs "<a href=\"../$file\">$name</a>"
- }
+ lappend refs "<A HREF=\"../$file\">$name</A>"
}
- puts $afp "[join $refs {, }]</dd>"
+ puts $afp "[join $refs {, }]</DD>"
}
- puts $afp "</dl>"
+ puts $afp "</DL>"
# insert merged copyrights
puts $afp [copyout $manual(merge-copyrights)]
- puts $afp "</body></html>"
+ puts $afp "</BODY></HTML>"
close $afp
}
# insert merged copyrights
puts $keyfp [copyout $manual(merge-copyrights)]
- puts $keyfp "</body></html>"
+ puts $keyfp "</BODY></HTML>"
close $keyfp
##
## finish off short table of contents
##
- puts $manual(short-toc-fp) "<dt><a href=\"Keywords/[indexfile]\">Keywords</a><dd>The keywords from the $tcltkdesc man pages."
- puts $manual(short-toc-fp) "</dl>"
+ puts $manual(short-toc-fp) "<DT><A HREF=\"Keywords/[indexfile]\">Keywords</A><DD>The keywords from the $tcltkdesc man pages."
+ puts $manual(short-toc-fp) "</DL>"
# insert merged copyrights
puts $manual(short-toc-fp) [copyout $manual(merge-copyrights)]
- puts $manual(short-toc-fp) "</body></html>"
+ puts $manual(short-toc-fp) "</BODY></HTML>"
close $manual(short-toc-fp)
##
## output man pages
##
unset manual(section)
- if {!$verbose} {
- puts stderr "Rescanning [llength $manual(all-pages)] pages to build cross links and write out"
- }
- foreach path $manual(all-pages) wing_name $manual(all-page-domains) {
+ foreach path $manual(all-pages) {
set manual(wing-file) [file dirname $path]
set manual(tail) [file tail $path]
set manual(name) [file root $manual(tail)]
- try {
- set text $manual(output-$manual(wing-file)-$manual(name))
- set ntext 0
- foreach item $text {
- incr ntext [llength [split $item \n]]
- incr ntext
- }
- set toc $manual(toc-$manual(wing-file)-$manual(name))
- set ntoc 0
- foreach item $toc {
- incr ntoc [llength [split $item \n]]
- incr ntoc
+ set text $manual(output-$manual(wing-file)-$manual(name))
+ set ntext 0
+ foreach item $text {
+ incr ntext [llength [split $item \n]]
+ incr ntext
+ }
+ set toc $manual(toc-$manual(wing-file)-$manual(name))
+ set ntoc 0
+ foreach item $toc {
+ incr ntoc [llength [split $item \n]]
+ incr ntoc
+ }
+ puts stderr "rescanning page $manual(name) $ntoc/$ntext"
+ set outfd [open $html/$manual(wing-file)/$manual(name).htm w]
+ puts $outfd [htmlhead "$manual($manual(name)-title)" \
+ $manual(name) $manual(wing-file) "[indexfile]" \
+ $overall_title "../[indexfile]"]
+ if {
+ (($ntext > 60) && ($ntoc > 32)) || $manual(tail) in {
+ Hash LinkVar SetVar TraceVar ConfigWidg CrtImgType CrtItemType
+ CrtPhImgFmt DoOneEvent GetBitmap GetColor GetCursor GetDash
+ GetJustify GetPixels GetVisual ParseArgv QueueEvent
}
- if {$verbose} {
- puts stderr "rescanning page $manual(name) $ntoc/$ntext"
- } else {
- puts -nonewline stderr .
- }
- set outfd [open $html/$manual(wing-file)/$manual(name).html w]
- fconfigure $outfd -translation lf -encoding utf-8
- puts $outfd [htmlhead "$manual($manual(wing-file)-$manual(name)-title)" \
- $manual(name) $wing_name "[indexfile]" \
- $overall_title "../[indexfile]"]
- if {($ntext > 60) && ($ntoc > 32)} {
- foreach item $toc {
- puts $outfd $item
- }
- } elseif {$manual(name) in $forced_index_pages} {
- if {!$verbose} {puts stderr ""}
- manerror "forcing index generation"
- foreach item $toc {
- puts $outfd $item
- }
- }
- foreach item $text {
- puts $outfd [insert-cross-references $item]
- }
- puts $outfd "</body></html>"
- } on error msg {
- if {$verbose} {
- puts stderr $msg
- } else {
- puts stderr "\nError when processing $manual(name): $msg"
+ } then {
+ foreach item $toc {
+ puts $outfd $item
}
- } finally {
- catch {close $outfd}
}
- }
- if {!$verbose} {
- puts stderr "\nDone"
- }
- return {}
-}
-
-##
-## Helper for assembling the descriptions of base packages (i.e., Tcl and Tk).
-##
-proc plus-base {var root glob name dir desc} {
- global tcltkdir
- if {$var} {
- if {[file exists $tcltkdir/$root/README.md]} {
- set f [open $tcltkdir/$root/README.md]
- fconfigure $f -encoding utf-8
- set d [read $f]
- close $f
- if {[regexp {This is the \*\*\w+ (\S+)\*\* source distribution} $d -> version]} {
- append name ", version $version"
- }
+ foreach item $text {
+ puts $outfd [insert-cross-references $item]
}
- set glob $root/$glob
- return [list $tcltkdir/$glob $name $dir $desc]
+ puts $outfd "</BODY></HTML>"
+ close $outfd
}
+ return {}
}
-##
-## Helper for assembling the descriptions of contributed packages.
-##
-proc plus-pkgs {type args} {
- global build_tcl tcltkdir tcldir
- if {$type ni {n 3}} {
- error "unknown type \"$type\": must be 3 or n"
- }
- if {!$build_tcl} return
- set result {}
- set pkgsdir $tcltkdir/$tcldir/pkgs
- foreach {dir name version} $args {
- set globpat $pkgsdir/$dir/doc/*.$type
- if {![llength [glob -type f -nocomplain $globpat]]} {
- # Fallback for manpages generated using doctools
- set globpat $pkgsdir/$dir/doc/man/*.$type
- if {![llength [glob -type f -nocomplain $globpat]]} {
- continue
- }
- }
- set dir [string trimright $dir "0123456789-."]
- switch $type {
- n {
- set title "$name Package Commands"
- if {$version ne ""} {
- append title ", version $version"
- }
- set dir [string totitle $dir]Cmd
- set desc \
- "The additional commands provided by the $name package."
- }
- 3 {
- set title "$name Package C API"
- if {$version ne ""} {
- append title ", version $version"
- }
- set dir [string totitle $dir]Lib
- set desc \
- "The additional C functions provided by the $name package."
- }
- }
- lappend result [list $globpat $title $dir $desc]
- }
- return $result
-}
-
-##
-## Set up some special cases. It would be nice if we didn't have them,
-## but we do...
-##
-set excluded_pages {case menubar pack-old}
-set forced_index_pages {GetDash}
-set process_first_patterns {*/ttk_widget.n */options.n}
-set ensemble_commands {
- after array binary chan clock dde dict encoding file history info interp
- memory namespace package registry self string trace update zlib
- clipboard console font grab grid image option pack place selection tk
- tkwait ttk::style winfo wm itcl::delete itcl::find itcl::is
-}
-array set remap_link_target {
- stdin Tcl_GetStdChannel
- stdout Tcl_GetStdChannel
- stderr Tcl_GetStdChannel
- style ttk::style
- {style map} ttk::style
- {tk busy} busy
- library auto_execok
- safe-tcl safe
- tclvars env
- tcl_break catch
- tcl_continue catch
- tcl_error catch
- tcl_ok catch
- tcl_return catch
- int() mathfunc
- wide() mathfunc
- packagens pkg::create
- pkgMkIndex pkg_mkIndex
- pkg_mkIndex pkg_mkIndex
- Tcl_Obj Tcl_NewObj
- Tcl_ObjType Tcl_RegisterObjType
- Tcl_OpenFileChannelProc Tcl_FSOpenFileChannel
- errorinfo env
- errorcode env
- tcl_pkgpath env
- Tcl_Command Tcl_CreateObjCommand
- Tcl_CmdProc Tcl_CreateObjCommand
- Tcl_CmdDeleteProc Tcl_CreateObjCommand
- Tcl_ObjCmdProc Tcl_CreateObjCommand
- Tcl_Channel Tcl_OpenFileChannel
- Tcl_WideInt Tcl_NewIntObj
- Tcl_ChannelType Tcl_CreateChannel
- Tcl_DString Tcl_DStringInit
- Tcl_Namespace Tcl_AppendExportList
- Tcl_Object Tcl_NewObjectInstance
- Tcl_Class Tcl_GetObjectAsClass
- Tcl_Event Tcl_QueueEvent
- Tcl_Time Tcl_GetTime
- Tcl_ThreadId Tcl_CreateThread
- Tk_Window Tk_WindowId
- Tk_3DBorder Tk_Get3DBorder
- Tk_Anchor Tk_GetAnchor
- Tk_Cursor Tk_GetCursor
- Tk_Dash Tk_GetDash
- Tk_Font Tk_GetFont
- Tk_Image Tk_GetImage
- Tk_ImageMaster Tk_GetImage
- Tk_ImageModel Tk_GetImage
- Tk_ItemType Tk_CreateItemType
- Tk_Justify Tk_GetJustify
- Ttk_Theme Ttk_GetTheme
-}
-array set exclude_refs_map {
- bind.n {button destroy option}
- clock.n {next}
- history.n {exec}
- next.n {unknown}
- zlib.n {binary close filename text}
- canvas.n {bitmap text}
- console.n {eval}
- checkbutton.n {image}
- clipboard.n {string}
- entry.n {string}
- event.n {return}
- font.n {menu}
- getOpenFile.n {file open text}
- grab.n {global}
- interp.n {time}
- menu.n {checkbutton radiobutton}
- messageBox.n {error info}
- options.n {bitmap image set}
- radiobutton.n {image}
- safe.n {join split}
- scale.n {label variable}
- scrollbar.n {set}
- selection.n {string}
- tcltest.n {error}
- text.n {bind image lower raise}
- tkvars.n {tk}
- tkwait.n {variable}
- tm.n {exec}
- ttk_checkbutton.n {variable}
- ttk_combobox.n {selection}
- ttk_entry.n {focus variable}
- ttk_intro.n {focus text}
- ttk_label.n {font text}
- ttk_labelframe.n {text}
- ttk_menubutton.n {flush}
- ttk_notebook.n {image text}
- ttk_progressbar.n {variable}
- ttk_radiobutton.n {variable}
- ttk_scale.n {variable}
- ttk_scrollbar.n {set}
- ttk_spinbox.n {format}
- ttk_treeview.n {text open focus selection}
- ttk_widget.n {image text variable}
- TclZlib.3 {binary flush filename text}
-}
-array set exclude_when_followed_by_map {
- canvas.n {
- bind widget
- focus widget
- image are
- lower widget
- raise widget
- }
- selection.n {
- clipboard selection
- clipboard ;
- }
- ttk_image.n {
- image imageSpec
- }
- fontchooser.n {
- tk fontchooser
- }
-}
-
-try {
- # Parse what the user told us to do
- parse_command_line
-
- # Some strings depend on what options are specified
- set tcltkdesc ""; set cmdesc ""; set appdir ""
- if {$build_tcl} {
- append tcltkdesc "Tcl"
- append cmdesc "Tcl"
- append appdir "$tcldir"
- }
- if {$build_tcl && $build_tk} {
- append tcltkdesc "/"
- append cmdesc " and "
- append appdir ","
- }
- if {$build_tk} {
- append tcltkdesc "Tk"
- append cmdesc "Tk"
- append appdir "$tkdir"
- }
-
- apply {{} {
- global packageBuildList tcltkdir tcldir build_tcl
-
- # When building docs for Tcl, try to build docs for bundled packages too
- set packageBuildList {}
- if {$build_tcl} {
- set pkgsDir [file join $tcltkdir $tcldir pkgs]
- set subdirs [glob -nocomplain -types d -tails -directory $pkgsDir *]
-
- foreach dir [lsort $subdirs] {
- # Parse the subdir name into (name, version) as fallback...
- set description [split $dir -]
- if {2 != [llength $description]} {
- regexp {([^0-9]*)(.*)} $dir -> n v
- set description [list $n $v]
- }
-
- # ... but try to extract (name, version) from subdir contents
- try {
- try {
- set f [open [file join $pkgsDir $dir configure.in]]
- } trap {POSIX ENOENT} {} {
- set f [open [file join $pkgsDir $dir configure.ac]]
- }
- fconfigure $f -encoding utf-8
- foreach line [split [read $f] \n] {
- if {2 == [scan $line \
- { AC_INIT ( [%[^]]] , [%[^]]] ) } n v]} {
- set description [list $n $v]
- break
- }
- }
- } finally {
- catch {close $f; unset f}
- }
+parse_command_line
- if {[file exists [file join $pkgsDir $dir configure]]} {
- # Looks like a package, record our best extraction attempt
- lappend packageBuildList $dir {*}$description
- }
- }
- }
+set tcltkdesc ""; set cmdesc ""; set appdir ""
+if {$build_tcl} {
+ append tcltkdesc "Tcl"
+ append cmdesc "Tcl"
+ append appdir "$tcldir"
+}
+if {$build_tcl && $build_tk} {
+ append tcltkdesc "/"
+ append cmdesc " and "
+ append appdir ","
+}
+if {$build_tk} {
+ append tcltkdesc "Tk"
+ append cmdesc "Tk"
+ append appdir "$tkdir"
+}
- # Get the list of packages to try, and what their human-readable names
- # are. Note that the package directory list should be version-less.
- try {
- set packageDirNameMap {}
- if {$build_tcl} {
- set f [open $tcltkdir/$tcldir/pkgs/package.list.txt]
- fconfigure $f -encoding utf-8
- try {
- foreach line [split [read $f] \n] {
- if {[string trim $line] eq ""} continue
- if {[string match #* $line]} continue
- lassign $line dir name
- lappend packageDirNameMap $dir $name
- }
- } finally {
- close $f
- }
- }
- } trap {POSIX ENOENT} {} {
- set packageDirNameMap {
- itcl {[incr Tcl]}
- tdbc {TDBC}
- thread Thread
- }
- }
+set usercmddesc "The interpreters which implement $cmdesc."
+set tclcmddesc {The commands which the <B>tclsh</B> interpreter implements.}
+set tkcmddesc {The additional commands which the <B>wish</B> interpreter implements.}
+set tcllibdesc {The C functions which a Tcl extended C program may use.}
+set tklibdesc {The additional C functions which a Tk extended C program may use.}
- # Convert to human readable names, if applicable
- for {set idx 0} {$idx < [llength $packageBuildList]} {incr idx 3} {
- lassign [lrange $packageBuildList $idx $idx+2] d n v
- if {[dict exists $packageDirNameMap $n]} {
- lset packageBuildList $idx+1 [dict get $packageDirNameMap $n]
- }
+if {1} {
+ if {[catch {
+ make-man-pages $webdir \
+ "$tcltkdir/{$appdir}/doc/*.1 \"$tcltkdesc Applications\" UserCmd {$usercmddesc}" \
+ [expr {$build_tcl ? "$tcltkdir/$tcldir/doc/*.n {Tcl Commands} TclCmd {$tclcmddesc}" : ""}] \
+ [expr {$build_tk ? "$tcltkdir/$tkdir/doc/*.n {Tk Commands} TkCmd {$tkcmddesc}" : ""}] \
+ [expr {$build_tcl ? "$tcltkdir/$tcldir/doc/*.3 {Tcl Library} TclLib {$tcllibdesc}" : ""}] \
+ [expr {$build_tk ? "$tcltkdir/$tkdir/doc/*.3 {Tk Library} TkLib {$tklibdesc}" : ""}]
+ } error]} {
+ puts $error\n$errorInfo
}
- }}
-
- #
- # Invoke the scraper/converter engine.
- #
- make-man-pages $webdir \
- [list $tcltkdir/{$appdir}/doc/*.1 "$tcltkdesc Applications" UserCmd \
- "The interpreters which implement $cmdesc."] \
- [plus-base $build_tcl $tcldir doc/*.n {Tcl Commands} TclCmd \
- "The commands which the <b>tclsh</b> interpreter implements."] \
- [plus-base $build_tk $tkdir doc/*.n {Tk Commands} TkCmd \
- "The additional commands which the <b>wish</b> interpreter implements."] \
- {*}[plus-pkgs n {*}$packageBuildList] \
- [plus-base $build_tcl $tcldir doc/*.3 {Tcl C API} TclLib \
- "The C functions which a Tcl extended C program may use."] \
- [plus-base $build_tk $tkdir doc/*.3 {Tk C API} TkLib \
- "The additional C functions which a Tk extended C program may use."] \
- {*}[plus-pkgs 3 {*}$packageBuildList]
-} on error {msg opts} {
- # On failure make sure we show what went wrong. We're not supposed
- # to get here though; it represents a bug in the script.
- puts $msg\n[dict get $opts -errorinfo]
- exit 1
}
-
-# Local-Variables:
-# mode: tcl
-# End:
diff --git a/tools/tsdPerf.c b/tools/tsdPerf.c
deleted file mode 100644
index 4c96f28..0000000
--- a/tools/tsdPerf.c
+++ /dev/null
@@ -1,59 +0,0 @@
-#include <tcl.h>
-
-extern DLLEXPORT Tcl_LibraryInitProc Tsdperf_Init;
-
-static Tcl_ThreadDataKey key;
-
-typedef struct {
- Tcl_WideInt value;
-} TsdPerf;
-
-
-static int
-tsdPerfSetObjCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv) {
- TsdPerf *perf = Tcl_GetThreadData(&key, sizeof(TsdPerf));
- Tcl_WideInt i;
-
- if (2 != objc) {
- Tcl_WrongNumArgs(interp, 1, objv, "value");
- return TCL_ERROR;
- }
-
- if (TCL_OK != Tcl_GetWideIntFromObj(interp, objv[1], &i)) {
- return TCL_ERROR;
- }
-
- perf->value = i;
-
- return TCL_OK;
-}
-
-static int
-tsdPerfGetObjCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv) {
- TsdPerf *perf = Tcl_GetThreadData(&key, sizeof(TsdPerf));
-
-
- Tcl_SetObjResult(interp, Tcl_NewWideIntObj(perf->value));
-
- return TCL_OK;
-}
-
-int
-Tsdperf_Init(Tcl_Interp *interp) {
- if (Tcl_InitStubs(interp, "8.5-", 0) == NULL) {
- return TCL_ERROR;
- }
-
- Tcl_CreateObjCommand(interp, "tsdPerfSet", tsdPerfSetObjCmd, NULL, NULL);
- Tcl_CreateObjCommand(interp, "tsdPerfGet", tsdPerfGetObjCmd, NULL, NULL);
-
- return TCL_OK;
-}
-
-/*
- * Local Variables:
- * mode: c
- * c-basic-offset: 4
- * fill-column: 78
- * End:
- */
diff --git a/tools/tsdPerf.tcl b/tools/tsdPerf.tcl
deleted file mode 100644
index 360ca9c..0000000
--- a/tools/tsdPerf.tcl
+++ /dev/null
@@ -1,24 +0,0 @@
-
-package require Thread
-
-set ::tids [list]
-for {set i 0} {$i < 4} {incr i} {
- lappend ::tids [thread::create [string map [list IVALUE $i] {
- set curdir [file dirname [info script]]
- load [file join $curdir tsdPerf[info sharedlibextension]]
-
- while 1 {
- tsdPerfSet IVALUE
- }
- }]]
-}
-
-puts TIDS:$::tids
-
-set curdir [file dirname [info script]]
-load [file join $curdir tsdPerf[info sharedlibextension]]
-
-tsdPerfSet 1234
-while 1 {
- puts "TIME:[time {set value [tsdPerfGet]} 1000] VALUE:$value"
-}
diff --git a/tools/ucm2tests.tcl b/tools/ucm2tests.tcl
deleted file mode 100644
index dc878ef..0000000
--- a/tools/ucm2tests.tcl
+++ /dev/null
@@ -1,352 +0,0 @@
-# ucm2tests.tcl
-#
-# Parses given ucm files (from ICU) to generate test data
-# for encodings.
-#
-# tclsh ucm2tests.tcl PATH_TO_ICU_UCM_DIRECTORY ?OUTPUTPATH?
-#
-
-namespace eval ucm {
- # No means to change these currently but ...
- variable outputPath
- variable outputChan
- variable errorChan stderr
- variable verbose 0
-
- # Map Tcl encoding name to ICU UCM file name
- variable encNameMap
- array set encNameMap {
- cp1250 glibc-CP1250-2.1.2
- cp1251 glibc-CP1251-2.1.2
- cp1252 glibc-CP1252-2.1.2
- cp1253 glibc-CP1253-2.1.2
- cp1254 glibc-CP1254-2.1.2
- cp1255 glibc-CP1255-2.1.2
- cp1256 glibc-CP1256-2.1.2
- cp1257 glibc-CP1257-2.1.2
- cp1258 glibc-CP1258-2.1.2
- gb1988 glibc-GB_1988_80-2.3.3
- iso8859-1 glibc-ISO_8859_1-2.1.2
- iso8859-2 glibc-ISO_8859_2-2.1.2
- iso8859-3 glibc-ISO_8859_3-2.1.2
- iso8859-4 glibc-ISO_8859_4-2.1.2
- iso8859-5 glibc-ISO_8859_5-2.1.2
- iso8859-6 glibc-ISO_8859_6-2.1.2
- iso8859-7 glibc-ISO_8859_7-2.3.3
- iso8859-8 glibc-ISO_8859_8-2.3.3
- iso8859-9 glibc-ISO_8859_9-2.1.2
- iso8859-10 glibc-ISO_8859_10-2.1.2
- iso8859-11 glibc-ISO_8859_11-2.1.2
- iso8859-13 glibc-ISO_8859_13-2.3.3
- iso8859-14 glibc-ISO_8859_14-2.1.2
- iso8859-15 glibc-ISO_8859_15-2.1.2
- iso8859-16 glibc-ISO_8859_16-2.3.3
- }
-
- # Array keyed by Tcl encoding name. Each element contains mapping of
- # Unicode code point -> byte sequence for that encoding as a flat list
- # (or dictionary). Both are stored as hex strings
- variable charMap
-
- # Array keyed by Tcl encoding name. List of invalid code sequences
- # each being a hex string.
- variable invalidCodeSequences
-
- # Array keyed by Tcl encoding name. List of unicode code points that are
- # not mapped, each being a hex string.
- variable unmappedCodePoints
-
- # The fallback character per encoding
- variable encSubchar
-}
-
-proc ucm::abort {msg} {
- variable errorChan
- puts $errorChan $msg
- exit 1
-}
-proc ucm::warn {msg} {
- variable errorChan
- puts $errorChan $msg
-}
-proc ucm::log {msg} {
- variable verbose
- if {$verbose} {
- variable errorChan
- puts $errorChan $msg
- }
-}
-proc ucm::print {s} {
- variable outputChan
- puts $outputChan $s
-}
-
-proc ucm::parse_SBCS {encName fd} {
- variable charMap
- variable invalidCodeSequences
- variable unmappedCodePoints
-
- set result {}
- while {[gets $fd line] >= 0} {
- if {[string match #* $line]} {
- continue
- }
- if {[string equal "END CHARMAP" [string trim $line]]} {
- break
- }
- if {![regexp {^\s*<U([[:xdigit:]]{4})>\s*((\\x[[:xdigit:]]{2})+)\s*(\|(0|1|2|3|4))} $line -> unichar bytes - - precision]} {
- error "Unexpected line parsing SBCS: $line"
- }
- set bytes [string map {\\x {}} $bytes]; # \xNN -> NN
- if {$precision eq "" || $precision eq "0"} {
- lappend result $unichar $bytes
- } else {
- # It is a fallback mapping - ignore
- }
- }
- set charMap($encName) $result
-
- # Find out invalid code sequences and unicode code points that are not mapped
- set valid {}
- set mapped {}
- foreach {unich bytes} $result {
- lappend mapped $unich
- lappend valid $bytes
- }
- set invalidCodeSequences($encName) {}
- for {set i 0} {$i <= 255} {incr i} {
- set hex [format %.2X $i]
- if {[lsearch -exact $valid $hex] < 0} {
- lappend invalidCodeSequences($encName) $hex
- }
- }
-
- set unmappedCodePoints($encName) {}
- for {set i 0} {$i <= 65535} {incr i} {
- set hex [format %.4X $i]
- if {[lsearch -exact $mapped $hex] < 0} {
- lappend unmappedCodePoints($encName) $hex
- # Only look for (at most) one below 256 and one above 1024
- if {$i < 255} {
- # Found one so jump past 8 bits
- set i 255
- } else {
- break
- }
- }
- if {$i == 255} {
- set i 1023
- }
- }
- lappend unmappedCodePoints($encName) D800 DC00 10000 10FFFF
-}
-
-proc ucm::generate_boilerplate {} {
- # Common procedures
- print {
-# This file is automatically generated by ucm2tests.tcl.
-# Edits will be overwritten on next generation.
-#
-# Generates tests comparing Tcl encodings to ICU.
-# The generated file is NOT standalone. It should be sourced into a test script.
-
-proc ucmConvertfromMismatches {enc map} {
- set mismatches {}
- foreach {unihex hex} $map {
- set unihex [string range 00000000$unihex end-7 end]; # Make 8 digits
- set unich [subst "\\U$unihex"]
- if {[encoding convertfrom -profile strict $enc [binary decode hex $hex]] ne $unich} {
- lappend mismatches "<[printable $unich],$hex>"
- }
- }
- return $mismatches
-}
-proc ucmConverttoMismatches {enc map} {
- set mismatches {}
- foreach {unihex hex} $map {
- set unihex [string range 00000000$unihex end-7 end]; # Make 8 digits
- set unich [subst "\\U$unihex"]
- if {[encoding convertto -profile strict $enc $unich] ne [binary decode hex $hex]} {
- lappend mismatches "<[printable $unich],$hex>"
- }
- }
- return $mismatches
-}
-if {[info commands printable] eq ""} {
- proc printable {s} {
- set print ""
- foreach c [split $s ""] {
- set i [scan $c %c]
- if {[string is print $c] && ($i <= 127)} {
- append print $c
- } elseif {$i <= 0xff} {
- append print \\x[format %02X $i]
- } elseif {$i <= 0xffff} {
- append print \\u[format %04X $i]
- } else {
- append print \\U[format %08X $i]
- }
- }
- return $print
- }
-}
- }
-} ; # generate_boilerplate
-
-proc ucm::generate_tests {} {
- variable encNameMap
- variable charMap
- variable invalidCodeSequences
- variable unmappedCodePoints
- variable outputPath
- variable outputChan
- variable encSubchar
-
- if {[info exists outputPath]} {
- set outputChan [open $outputPath w]
- fconfigure $outputChan -translation lf
- } else {
- set outputChan stdout
- }
-
- array set tclNames {}
- foreach encName [encoding names] {
- set tclNames($encName) ""
- }
-
- generate_boilerplate
- foreach encName [lsort -dictionary [array names encNameMap]] {
- if {![info exists charMap($encName)]} {
- warn "No character map read for $encName"
- continue
- }
- unset tclNames($encName)
-
- # Print the valid tests
- print "\n#\n# $encName (generated from $encNameMap($encName))"
- print "\ntest encoding-convertfrom-ucmCompare-$encName {Compare against ICU UCM} -body \{"
- print " ucmConvertfromMismatches $encName {$charMap($encName)}"
- print "\} -result {}"
- print "\ntest encoding-convertto-ucmCompare-$encName {Compare against ICU UCM} -body \{"
- print " ucmConverttoMismatches $encName {$charMap($encName)}"
- print "\} -result {}"
- if {0} {
- # This will generate individual tests for every char
- # and test in lead, tail, middle, solo configurations
- # but takes considerable time
- print "lappend encValidStrings \{*\}\{"
- foreach {unich hex} $charMap($encName) {
- print " $encName \\u$unich $hex {} {}"
- }
- print "\}; # $encName"
- }
-
- # Generate the invalidity checks
- print "\n# $encName - invalid byte sequences"
- print "lappend encInvalidBytes \{*\}\{"
- foreach hex $invalidCodeSequences($encName) {
- # Map XXXX... to \xXX\xXX...
- set uhex [regsub -all .. $hex {\\x\0}]
- set uhex \\U[string range 00000000$hex end-7 end]
- print " $encName $hex tcl8 $uhex -1 {} {}"
- print " $encName $hex replace \\uFFFD -1 {} {}"
- print " $encName $hex strict {} 0 {} {}"
- }
- print "\}; # $encName"
-
- print "\n# $encName - invalid byte sequences"
- print "lappend encUnencodableStrings \{*\}\{"
- if {[info exists encSubchar($encName)]} {
- set subchar $encSubchar($encName)
- } else {
- set subchar "3F"; # Tcl uses ? by default
- }
- foreach hex $unmappedCodePoints($encName) {
- set uhex \\U[string range 00000000$hex end-7 end]
- print " $encName $uhex tcl8 $subchar -1 {} {}"
- print " $encName $uhex replace $subchar -1 {} {}"
- print " $encName $uhex strict {} 0 {} {}"
- }
- print "\}; # $encName"
- }
-
- if {[array size tclNames]} {
- warn "Missing encoding: [lsort [array names tclNames]]"
- }
- if {[info exists outputPath]} {
- close $outputChan
- unset outputChan
- }
-}
-
-proc ucm::parse_file {encName ucmPath} {
- variable charMap
- variable encSubchar
-
- set fd [open $ucmPath]
- try {
- # Parse the metadata
- unset -nocomplain state
- while {[gets $fd line] >= 0} {
- if {[regexp {<(code_set_name|mb_cur_max|mb_cur_min|uconv_class|subchar)>\s+(\S+)} $line -> key val]} {
- set state($key) $val
- } elseif {[regexp {^\s*CHARMAP\s*$} $line]} {
- set state(charmap) ""
- break
- } else {
- # Skip all else
- }
- }
- if {![info exists state(charmap)]} {
- abort "Error: $ucmPath has No CHARMAP line."
- }
- foreach key {code_set_name uconv_class} {
- if {[info exists state($key)]} {
- set state($key) [string trim $state($key) {"}]
- }
- }
- if {[info exists charMap($encName)]} {
- abort "Duplicate file for $encName ($path)"
- }
- if {![info exists state(uconv_class)]} {
- abort "Error: $ucmPath has no uconv_class definition."
- }
- if {[info exists state(subchar)]} {
- # \xNN\xNN.. -> NNNN..
- set encSubchar($encName) [string map {\\x {}} $state(subchar)]
- }
- switch -exact -- $state(uconv_class) {
- SBCS {
- if {[catch {
- parse_SBCS $encName $fd
- } result]} {
- abort "Could not process $ucmPath. $result"
- }
- }
- default {
- log "Skipping $ucmPath -- not SBCS encoding."
- return
- }
- }
- } finally {
- close $fd
- }
-}
-
-proc ucm::run {} {
- variable encNameMap
- variable outputPath
- switch [llength $::argv] {
- 2 {set outputPath [lindex $::argv 1]}
- 1 {}
- default {
- abort "Usage: [info nameofexecutable] $::argv0 path/to/icu/ucm/data ?outputfile?"
- }
- }
- foreach {encName fname} [array get encNameMap] {
- ucm::parse_file $encName [file join [lindex $::argv 0] ${fname}.ucm]
- }
- generate_tests
-}
-
-ucm::run
diff --git a/tools/uniClass.tcl b/tools/uniClass.tcl
index a4a58c2..9b4819d 100644
--- a/tools/uniClass.tcl
+++ b/tools/uniClass.tcl
@@ -16,33 +16,33 @@ proc emitRange {first last} {
global ranges numranges chars numchars extchars extranges
if {$first < ($last-1)} {
- if {!$extranges && ($first) > 0xFFFF} {
+ if {!$extranges && ($first) > 0xffff} {
set extranges 1
set numranges 0
set ranges [string trimright $ranges " \n\r\t,"]
- append ranges "\n#if CHRBITS > 16\n ,"
+ append ranges "\n#if TCL_UTF_MAX > 4\n ,"
}
- append ranges [format "{0x%X, 0x%X}, " \
+ append ranges [format "{0x%x, 0x%x}, " \
$first $last]
if {[incr numranges] % 4 == 0} {
set ranges [string trimright $ranges]
append ranges "\n "
}
} else {
- if {!$extchars && ($first) > 0xFFFF} {
+ if {!$extchars && ($first) > 0xffff} {
set extchars 1
set numchars 0
set chars [string trimright $chars " \n\r\t,"]
- append chars "\n#if CHRBITS > 16\n ,"
+ append chars "\n#if TCL_UTF_MAX > 4\n ,"
}
- append chars [format "0x%X, " $first]
+ append chars [format "0x%x, " $first]
incr numchars
if {$numchars % 9 == 0} {
set chars [string trimright $chars]
append chars "\n "
}
if {$first != $last} {
- append chars [format "0x%X, " $last]
+ append chars [format "0x%x, " $last]
incr numchars
if {$numchars % 9 == 0} {
append chars "\n "
@@ -63,15 +63,11 @@ proc genTable {type} {
set extchars 0
set extranges 0
- for {set i 0} {$i <= 0xEFFFF} {incr i} {
- if {$i == 0xD800} {
- # Skip surrogates
- set i 0xE000
- }
- if {$i == 0xE000} {
- # Skip private
- set i 0xF900
- }
+ for {set i 0} {$i <= 0x10ffff} {incr i} {
+ if {$i == 0xd800} {
+ # Skip surrogates
+ set i 0xdc00
+ }
if {[string is $type [format %c $i]]} {
if {$i == ($last + 1)} {
set last $i
@@ -96,13 +92,13 @@ proc genTable {type} {
}
if {$ranges ne ""} {
puts "static const crange ${type}RangeTable\[\] = {\n$ranges\n};\n"
- puts "#define NUM_[string toupper $type]_RANGE ((int)(sizeof(${type}RangeTable)/sizeof(crange)))\n"
+ puts "#define NUM_[string toupper $type]_RANGE (sizeof(${type}RangeTable)/sizeof(crange))\n"
} else {
puts "/* no contiguous ranges of $type characters */\n"
}
if {$chars ne ""} {
puts "static const chr ${type}CharTable\[\] = {\n$chars\n};\n"
- puts "#define NUM_[string toupper $type]_CHAR ((int)(sizeof(${type}CharTable)/sizeof(chr)))\n"
+ puts "#define NUM_[string toupper $type]_CHAR (sizeof(${type}CharTable)/sizeof(chr))\n"
} else {
puts "/*\n * no singletons of $type characters.\n */\n"
}
diff --git a/tools/uniParse.tcl b/tools/uniParse.tcl
index 3acf19c..e33b3c7 100644
--- a/tools/uniParse.tcl
+++ b/tools/uniParse.tcl
@@ -6,7 +6,7 @@
# UnicodeData file from:
# ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.txt
#
-# Copyright © 1998-1999 Scriptics Corporation.
+# Copyright (c) 1998-1999 by Scriptics Corporation.
# All rights reserved.
@@ -68,7 +68,7 @@ proc uni::getGroup {value} {
variable groups
set gIndex [lsearch -exact $groups $value]
- if {$gIndex < 0} {
+ if {$gIndex == -1} {
set gIndex [llength $groups]
lappend groups $value
}
@@ -81,7 +81,7 @@ proc uni::addPage {info} {
variable shift
set pIndex [lsearch -exact $pages $info]
- if {$pIndex < 0} {
+ if {$pIndex == -1} {
set pIndex [llength $pages]
lappend pages $info
}
@@ -114,8 +114,8 @@ proc uni::buildTables {data} {
set items [split $line \;]
scan [lindex $items 0] %x index
- if {$index > 0x3FFFF} then {
- # Ignore characters > plane 3
+ if {$index > 0x2ffff} then {
+ # Ignore non-BMP characters, as long as Tcl doesn't support them
continue
}
set index [format %d $index]
@@ -177,7 +177,7 @@ proc uni::main {} {
puts "shift = $shift, space = $size"
set f [open [file join [lindex $argv 1] tclUniData.c] w]
- fconfigure $f -translation lf -encoding utf-8
+ fconfigure $f -translation lf
puts $f "/*
* tclUniData.c --
*
@@ -185,7 +185,7 @@ proc uni::main {} {
* automatically generated by the tools/uniParse.tcl script. Do not
* modify this file by hand.
*
- * Copyright © 1998 Scriptics Corporation.
+ * Copyright (c) 1998 by Scriptics Corporation.
* All rights reserved.
*/
@@ -212,7 +212,7 @@ static const unsigned short pageMap\[\] = {"
puts $f $line
set lastpage [expr {[lindex $line end] >> $shift}]
puts stdout "lastpage: $lastpage"
- puts $f "#if TCL_UTF_MAX > 3 || TCL_MAJOR_VERSION > 8 || TCL_MINOR_VERSION > 6"
+ puts $f "#if TCL_UTF_MAX > 3"
set line " ,"
}
append line [lindex $pMap $i]
@@ -242,7 +242,7 @@ static const unsigned char groupMap\[\] = {"
set lastj [expr {[llength $page] - 1}]
if {$i == ($lastpage + 1)} {
puts $f [string trimright $line " \t,"]
- puts $f "#if TCL_UTF_MAX > 3 || TCL_MAJOR_VERSION > 8 || TCL_MINOR_VERSION > 6"
+ puts $f "#if TCL_UTF_MAX > 3"
set line " ,"
}
for {set j 0} {$j <= $lastj} {incr j} {
@@ -272,7 +272,6 @@ static const unsigned char groupMap\[\] = {"
* 100 = subtract delta for title/upper
* 101 = sub delta for upper, sub 1 for title
* 110 = sub delta for upper, add delta for lower
- * 111 = subtract delta for upper
*
* Bits 8-31 Case delta: delta for case conversions. This should be the
* highest field so we can easily sign extend.
@@ -310,14 +309,10 @@ static const int groups\[\] = {"
}
}
} elseif {$toupper} {
+ # subtract delta for upper, add delta for lower
+ set case 6
set delta $toupper
- if {$tolower == $toupper} {
- # subtract delta for upper, add delta for lower
- set case 6
- } elseif {!$tolower} {
- # subtract delta for upper
- set case 7
- } else {
+ if {$tolower != $toupper} {
error "New case conversion type needed: $toupper $tolower $totitle"
}
} elseif {$tolower} {
@@ -342,10 +337,10 @@ static const int groups\[\] = {"
puts $f $line
puts -nonewline $f "};
-#if TCL_UTF_MAX > 3 || TCL_MAJOR_VERSION > 8 || TCL_MINOR_VERSION > 6
-# define UNICODE_OUT_OF_RANGE(ch) (((ch) & 0x1FFFFF) >= [format 0x%X $next])
+#if TCL_UTF_MAX > 3
+# define UNICODE_OUT_OF_RANGE(ch) (((ch) & 0x1fffff) >= [format 0x%x $next])
#else
-# define UNICODE_OUT_OF_RANGE(ch) (((ch) & 0x1F0000) != 0)
+# define UNICODE_OUT_OF_RANGE(ch) (((ch) & 0x1f0000) != 0)
#endif
/*
@@ -392,8 +387,8 @@ enum {
* to do sign extension on right shifts.
*/
-#define GetCaseType(info) (((info) & 0xE0) >> 5)
-#define GetCategory(ch) (GetUniCharInfo(ch) & 0x1F)
+#define GetCaseType(info) (((info) & 0xe0) >> 5)
+#define GetCategory(ch) (GetUniCharInfo(ch) & 0x1f)
#define GetDelta(info) ((info) >> 8)
/*
@@ -401,11 +396,7 @@ enum {
* Unicode character tables.
*/
-#if TCL_UTF_MAX > 3 || TCL_MAJOR_VERSION > 8 || TCL_MINOR_VERSION > 6
-# define GetUniCharInfo(ch) (groups\[groupMap\[pageMap\[((ch) & 0x1FFFFF) >> OFFSET_BITS\] | ((ch) & ((1 << OFFSET_BITS)-1))\]\])
-#else
-# define GetUniCharInfo(ch) (groups\[groupMap\[pageMap\[((ch) & 0xFFFF) >> OFFSET_BITS\] | ((ch) & ((1 << OFFSET_BITS)-1))\]\])
-#endif
+#define GetUniCharInfo(ch) (groups\[groupMap\[pageMap\[((ch) & 0xffff) >> OFFSET_BITS\] | ((ch) & ((1 << OFFSET_BITS)-1))\]\])
"
close $f
diff --git a/tools/valgrind_check_success b/tools/valgrind_check_success
deleted file mode 100644
index 24830d5..0000000
--- a/tools/valgrind_check_success
+++ /dev/null
@@ -1,30 +0,0 @@
-#! /usr/bin/env tclsh
-
-
-proc main {sourcetype source} {
- switch $sourcetype {
- file {
- set chan [open $source]
- try {
- set data [read $chan]
- } finally {
- close $chan
- }
- }
- string {
- set data $source
- }
- default {
- error [list {wrong # args}]
- }
- }
- set found [regexp -inline -all {blocks are\
- (?:(?:(?:definitely|indirectly|possibly) lost)|still reachable)} $data]
- if {[llength $found]} {
- puts 0
- } else {
- puts 1
- }
- flush stdout
-}
-main {*}$argv
diff --git a/tools/valgrind_suppress b/tools/valgrind_suppress
deleted file mode 100644
index 11ca880..0000000
--- a/tools/valgrind_suppress
+++ /dev/null
@@ -1,263 +0,0 @@
-#{
-# Tcl_GetChannelOption/TcpGetOptionProc/TcphostPortList/getnameinfo/gethostbyaddr_r
-# Memcheck:Leak
-# match-leak-kinds: reachable
-# fun:malloc
-# fun:strdup
-# ...
-# fun:module_load
-# ...
-# fun:getnameinfo
-# ...
-# fun:Tcl_GetChannelOption
-#}
-
-{
- TclCreatesocketAddress/getaddrinfo/calloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:calloc
- ...
- fun:getaddrinfo
- fun:TclCreateSocketAddress
-}
-
-{
- TclCreatesocketAddress/getaddrinfo/malloc
- Memcheck:Leak
- match-leak-kinds: definite
- fun:malloc
- ...
- fun:getaddrinfo
- fun:TclCreateSocketAddress
-}
-
-{
- TclCreatesocketAddress/getaddrinfo/malloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- ...
- fun:getaddrinfo
- fun:TclCreateSocketAddress
-}
-
-{
- TclpDlopen/decompose_rpath
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- fun:decompose_rpath
- ...
- fun:dlopen_doit
- ...
- fun:TclpDlopen
-}
-
-{
- TclpDlopen/load
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:calloc
- ...
- fun:dlopen
- fun:TclpDlopen
-}
-
-{
- TclpDlopen/load
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- ...
- fun:dlopen
- fun:TclpDlopen
-}
-
-{
- TclpGetGrNam/__nss_next2/calloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:calloc
- ...
- fun:__nss_next2
- ...
- fun:TclpGetGrNam
-}
-
-{
- TclpGetGrNam/__nss_next2/malloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- ...
- fun:__nss_next2
- ...
- fun:TclpGetGrNam
-}
-
-{
- TclpGetGrNam/__nss_systemd_getfrname_r/malloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- ...
- fun:_nss_systemd_getgrnam_r
- ...
- fun:TclpGetGrNam
-}
-
-{
- TclpGeHostByName/gethostbyname_r/strdup/malloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- fun:strdup
- ...
- fun:dl_open_worker
- ...
- fun:do_dlopen
- ...
- fun:TclpGetHostByName
-}
-
-{
- TclpGeHostByName/gethostbyname_r/calloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:calloc
- ...
- fun:dl_open_worker
- ...
- fun:do_dlopen
- ...
- fun:TclpGetHostByName
-}
-
-{
- TclpGeHostByName/gethostbyname_r/malloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- ...
- fun:dl_open_worker
- ...
- fun:do_dlopen
- ...
- fun:TclpGetHostByName
-}
-
-{
- TclpGetPwNam/getpwname_r/__nss_next2/calloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:calloc
- ...
- fun:__nss_next2
- ...
- fun:TclpGetPwNam
-}
-
-{
- TclpGetPwNam/getpwname_r/__nss_next2/malloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- ...
- fun:__nss_next2
- ...
- fun:TclpGetPwNam
-}
-
-{
- TclpGetPwNam/getpwname_r/_nss_systemd_getpwnam_r/malloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- ...
- fun:_nss_systemd_getpwnam_r
- ...
- fun:TclpGetPwNam
-}
-
-{
- TclpGetGrGid/getgrgid_r/module_load
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:calloc
- ...
- fun:module_load
- ...
- fun:TclpGetGrGid
-}
-
-{
- TclpGetGrGid/getgrgid_r/module_load
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- ...
- fun:module_load
- ...
- fun:TclpGetGrGid
-}
-
-{
- TcphostPortList/getnameinfo/module_load/calloc
- Memcheck:Leak
- match-leak-kinds: definite,reachable
- fun:calloc
- ...
- fun:dl_open_worker_begin
- ...
- fun:module_load
- ...
- fun:getnameinfo
- fun:TcpHostPortList
-}
-
-{
- # see sourceware glibc Bug 14984 - getnameinfo() might be leaking memory
- TcphostPortList/getnameinfo/module_load/mallco
- Memcheck:Leak
- match-leak-kinds: definite,reachable
- fun:malloc
- ...
- fun:dl_open_worker_begin
- ...
- fun:module_load
- ...
- fun:getnameinfo
- fun:TcpHostPortList
-}
-
-{
- TclpThreadExit/pthread_exit/calloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:calloc
- ...
- fun:pthread_exit
- fun:TclpThreadExit
-}
-
-{
- TclpThreadExit/pthread_exit/malloc
- Memcheck:Leak
- match-leak-kinds: reachable
- fun:malloc
- ...
- fun:pthread_exit
- fun:TclpThreadExit
-}
-
-{
- TclpThreadExit/pthread_exit/malloc
- Memcheck:Leak
- match-leak-kinds: definite
- fun:malloc
- ...
- fun:pthread_exit
- fun:TclpThreadExit
-}
-